01 (Метода по фортрану), страница 12

2015-07-18СтудИзба

Описание файла

Файл "01" внутри архива находится в папке "metoda_fortran_2_cem". Документ из архива "Метода по фортрану", который расположен в категории "". Всё это находится в предмете "информатика" из 2 семестр, которые можно найти в файловом архиве МПУ. Не смотря на прямую связь этого архива с МПУ, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "информатика (программирование)" в общих файлах.

Онлайн просмотр документа "01"

Текст 12 страницы из документа "01"

Типовой алгоритм построения графического изображения на экране монитора должен включать следующие операции:

  • установка графического режима работы монитора;

  • задание базовой точки построения изображения;

  • построение изображения с помощью подпрограмм используемого пакета и вывод поясняющих текстов;

  • возврат к текстовому режиму перед завершением работы.

Все эти операции могут быть выполнены подпрограммами графического пакета Connell Scientific Graphics. К ним относятся следующие подпрограммы общего вида:

Init(Md)

– установка графического режима работы, где Md – номер режима. Рекомендуемое значение – 7. Это обеспечивает режим вывода информации 64048016;

Finit()

– завершение работы в графическом режиме;

Dcolor(Nc)

– установка цвета вывода изображения, где Nc – номер цвета;

Moveab(Nx, Ny)

– установка базовой точки построения изображения, где Nx и Ny – экранные координаты точки;

Drawab(Mx, My)

– построение линии из базовой точки в точку с экранными координатами Mx и My;

Polyab(Nv, Pnt, Lp)

– построение многоугольника, где Nv - число его вершин; Pnt – массив экранных координат его вершин длиной 2. Nv, сформированный следующим образом: Pnt(1)=xэ1, Pnt(2)=yэ1 – первая вершина, Pnt(3)=xэ2, Pnt(4)=yэ2 – вторая и т.д.; Lp – параметр, указывающий на необходимость закрашивания многоугольника (0 – не закрашивать, 1 – закрашивать ранее установленным цветом). Эта подпрограмма может быть использована для построения ломаной линии. Для этого в массиве Pnt указываются координаты точек, через которые проходит ломаная, параметр Lp принимается равным нулю, и подпрограммой Moveab указывается базовая точка построения ломаной, в качестве которой берется первая ее точка с координатами (xэ1, yэ1).

Patbcl(Ns)

– установка цвета фона символов при выводе текстовой информации. Ns – номер используемого цвета фона, если он требуется. При указании Ns = -1 текст наносится на существующий фон;

Rectab(Nx, Ny, Mx, My, Lt)

– построение прямоугольника, где (Nx, Ny) и (Mx, My) – экранные координаты его левого верхнего и правого нижнего углов; Lt – признак закрашивания многоугольника (0 – не закрашивать, 1 – закрашивать ранее установленным цветом);

Text('Str....', N)

– вывод на экран монитора первых N символов текста из символьной переменной или константы, начиная с базовой точки;

Derase()

– очистка экрана;

Flood(Ix, Iy)

– закрашивание области, ограниченной замкнутым контуром, установленным ранее цветом. Закрашиваемая область задается своей внутренней точкой с экранными координатами Ix и Iy;

Setcur(Fn, Nx, Ny)

– установка курсора на экране монитора, где Fn – признак действия: Fn = 1 – установка; Fn = 0 – гашение. При Fn = 1 курсор устанавливается на экране в точке с экранными координатами Nx и Ny;

Vwait(Nt)

– перевод программы в режим ожидания на Nt/18 секунд.

***Замечание: формальные параметры вышеперечисленных подпрограмм Md, Nc, Nv, Nt, N и Pnt имеют тип Integer*2, параметры Lp и Lt - Logical, а остальные - Integer.

При выводе на экран монитора реальных изображений и графиков функций необходимо масштабировать их размеры с целью перевода их значений в экранные координаты и корректировать с учетом положения поля рисунка на экране. При этом необходимо учитывать, что ось ординат изображения y имеет противоположное направление экранной оси yэ. Если в системе координат (x, y) известно поле рисунка [xmin, xmax] и [ymin, ymax], то в первую очередь надо выбрать место его расположения на экране монитора в координатах (xэ, yэ), задав левую xэл и правую xэп, верхнюю yэв и нижнюю yэн границы, как это показано на рис.2 и 3 (xэп > xэл и yэн > yэв). При этом на экране монитора под рисунок будет отводиться nx = xэп - xэл пикселов по горизонтали и ny = yэн - yэв пикселов по вертикали.

Рис.2.

Рис.3.


После этого для пересчета реальных координат точек рисунка A(x, y) в экранные координаты Aэ(xэ, yэ) можно воспользоваться формулами

Приведенные выражения обеспечивают пропорциональное отображение поля рисунка с габаритами (xmax - xmin) на (ymax - ymin) единиц в экранное поле nx на ny пикселов. Так как для построения изображения требуется целая часть результата приведенных выражений, то для обеспечения математически строгого округления используется добавочный коэффициент 0,5. Но в целом данной поправкой можно пренебречь.

При оформлении разметки числовых осей графика функции требуется вывести на экран монитора шкалу изменения значений аргумента и функции. В данном случае значения шкалы обычно содержатся в числовых переменных, способов отображения значений которых в графическом режиме не существует. Требуется перевести числовые значения этих переменных в форму символьных констант и лишь затем вывести их на экран монитора. Для выполнения операции перевода чисел в форму символьных констант используется оператор Write в режиме работы с внутренним файлом. Под ним понимают некоторую символьную переменную, в которую оператор Write выводит значение числовой переменной в заданной форме. Например:

123456789.............................................................72 73......80

Character*4 Str

.................

Write(Str, 11) X

11 Format (F4.1)

Call Text(Str, 4)

.................

Работу в графическом режиме демонстрирует следующий пример: построить график функции y = (x - 1)2 + 4 для диапазона значений xmin = -1, xmax = 4.

На указанном отрезке значения функции меняются от 4 до 13. Поэтому для того, чтобы показать взаимное расположение графика функции и осей координат, следует выбрать поле рисунка с границами xmin = -1, xmax = 4, ymin = 0 и ymax = 13. Отображать это поле на экран монитора, который имеет 640 на 480 пикселов, удобно в прямоугольник nx = 400 на ny = 300 пикселов с границами xэл = 120, xэп = 520, yэв = 90 и yэн = 390. При этом на экране монитора останется свободное место под необходимые записи для пояснений. С учетом принятых граничных значений формулы пересчета реальных координат в экранные будут иметь вид:

При этом начало реальных координат (0,0) будет находиться на экране с координатами (200, 390). График функции строится в виде ломаной линии по 21-й точке с шагом 0,25 по длине отрезка [-1, 4]. Программа будет иметь вид:

123456789.................................................................72 73...80

Character*3 Str

Integer*2 Xe(42)

Integer Xe1, Xe2

Dimension Xr(2, 21)

Call Init(7)

C *** Установка фона, построение поля рисунка и осей коорд.***

Call Dcolor(15)

Call Rectab(0, 0, 639, 479, 1)

Call Dcolor(0)

Call Rectab(120, 90, 520, 390, 0)

Call Moveab(190, 390)

Call Drawab(190, 90)

Call Patbcl(-1)

Call Moveab(180, 94)

Call Text('Y',1)

Call Moveab(510, 374)

Call Text('X',1)

C *** Вычисление массивов значений аргумента и функции ***

Do 1 i = 1, 21

x = 0.25*(i - 1) - 1

Xr(1, i) = x

1 Xr(2, i) = (x - 1)**2 + 4

Do 2 i = 1, 21

Xe(2*i-1) = 200.5 + 80*Xr(1, i)

2 Xe(2*i) = 390.5 - 23.1*Xr(2, i)

C *** Построение графика функции ***

Xe1 = Xe(1)

Xe2 = Xe(2)

Call Moveab(Xe1, Xe2)

Call Polyab(21, Xe, 0)

C *** Разметка шкалы осей координат ***

Call Moveab(110, 394)

Call Text('-1', 2)

Call Moveab(185, 394)

Call Text('0',1)

Call Moveab(515, 394)

Call Text('4', 1)

Write(Str, 3) Xr(2, 21)

3 Format (F3.0)

Call Moveab(194, 94)

Call Text(Str, 3)

C *** Вывод подрисуночной надписи ***

Call Moveab(188, 420)

Call Text('График функции y = (x-1)(x-1) + 4.', 34)

C *** Организация задержки и окончание графического режима ***

Read (*,*)

Call Finit()

End

***Замечание: для того, чтобы зафиксировать изображение графика функции на экране монитора в программе используется оператор Read(*, *), который переводит ЭВМ в состояние ожидания ввода фиктивных данных. Продолжение работы программы возможно по нажатии клавиши "Enter".

Результаты работы программы представлены на рис.4.

Рис.4.

З а д а н и е к л а б о р а т о р н о й р а б о т е

Написать программу построения на экране графиков функций, описанных в вариантах задания к лабораторной работе № 2. Вывести на экран координатные оси с их обозначением и разметкой.

П Р И Л О Ж Е Н И Е

КРАТКИЙ ПЕРЕЧЕНЬ ОШИБОК ВЫПОЛНЕНИЯ ПРОГРАММЫ.

С о о б щ е н и я о п р о г р а м м н ы х п р е р ы в а н и я х

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5301
Авторов
на СтудИзбе
417
Средний доход
с одного платного файла
Обучение Подробнее