Графическое программирование на Ms Fortran
Курс лекций по дисциплине по специальности «ПГС» после техникума
Факультет – строительный; кафедры – «Металлические и деревянные конструкции» и «Железобетонные и каменные конструкции»
Задачи курса
Усвоение основных принципов разработки инженерных алгоритмов и графических программ, реализуемых в дальнейшем на различных языках программирования. Язык Fortran рассматривается не как самоцель, а как инструмент обучения программированию.
Литература
1) Уорд Т., Бромхед Э. Фортран и искусство программирования персональных ЭВМ. - М.: Радио и связь, 1993.-352с.
2) Программирование на Фортране 77/ Дж. Ашкрофт, Р. Элдридж и др. - М.: Радио и связь, 1990.-272с.
3) Бартеньев О.В. Фортран для студентов. - М.: "Диалог-МИФИ", 1999.-400с.
4) Рыжиков Ю.И. Программирование на Фортране Pоwer Statiоn для инженеров. Практич. рук-во. - СПб.: КОРОНАпринт, 1999.-160с.
5) Н.А Рак, В.И Смех, С.Б. Щербак Программирование инженерных задач на FORTRANе: Уч. методич. пособие по дисц. "Выч. техн. и программир." - Мн.: БГПА, 1998.-45с.
6) Соловьев П.В. FORTRAN для персонального компьютера: Справ. пособие. - М.: Арист, 1991.-224с.
7) Н.А Рак, В.И Смех, С.Б. Щербак Графическое программирование: Уч. методич. пособие по дисц. "Выч. техн. и программир." - Мн.: БГПА, 1997.-40с.
8) Бартеньев О.В. Графика OрenGL: программирование на Фортране. М.: ДИАЛОГ-МИФИ, 2000.-368с.
Этапы разработки графических программ
Для разработки графических программ на Fortran необходимо иметь в наличии библиотеки графических процедур, содержащиеся в файле Graphics.lib.
Разработка графических программ состоит из следующих этапов:
Подключение графической библиотеки
Установка видео режима
Установка среды изображения
Создание и управление графическими объектами
Восстановление первоначальной конфигурации перед выходом из программы
Графические процедуры представляют собой функции и подпрограммы. Каждая программа, использующая графическую библиотеку должна ЯВНО объявить процедуры. Отдельную используемую графическую процедуру можно объявить, написав ее интерфейс (смотри справку NORTON GUIDE). Сразу все графические процедуры можно описать, включив в программу файлы FGRAPH.FI и FGRAPH.FD. FGRAPH.FI – содержит объявление процедур в операторах INTERFACE (см. далее).
Оператор INTERFACE объявляет имя процедуры (функции), ее атрибуты и типы формальных параметров. Оператор используется для обеспечения корректности вызовов п/п. Компилятор выполняет проверку числа и типов параметров в вызове п/п с параметрами, указанными в интерфейсе.
Пример:
INTERFACE TO INTEGER FUNCTION Func (p, d, q)
Integer*2 p
Real d типы параметров
Real*8q
END
где: INTEGER – тип функции; FUNCTION – функция; Func – имя функции; p, d, q – формальные параметры.
Здесь объявлена целая функция (возвращающая целое значение) Func с тремя входными параметрами p, d, q. Вызов данной функции обычен:
K = Func (p,d,q)
INTERFACE TO ________________ SUBROUTINE Mix (a,b,c) – объявляет п/п (находится в библиотечном файле с расширением .LIB), находящейся в другом файле.
Вызов п/п обычен CALL MIX (a,b,c)
Файл FGRAPH.FD содержит объявления структурных и символических констант и объявлений операторов EXTERNAL для графических процедур.
Пример, кода файл FGRAPH.FD:
имя структуры
STRUCTURE /videoconfig/
Integer*2 numxpixels элементы структуры
а) Integer*2 numypixels
………………………. операторы объявления типов и/или RECORD.
END STRUCTURE
б) INTEGER*2 setvideomode [extern] PARAMETER ($YELLOW = #153f3f)
в) EXTERNAL getvideoconfig PARAMETER ($BRIGHTWHITE = #3f3f3f)
г) INTEGER*4$YELLOW,$BRIGHTWHITE
а) Определение составного типа переменной (структуры).
Обратиться к элементу структуры (для присвоения или получения значения) можно следующим способом:
X = videoconfig.numxpixels
имя структуры элемент структуры
Структуры могут вкладываться друг в друга с использованием оператора RECORD – объявляет структуру для имен, определяемых пользователем.
Пример:
STRUCTURE /full_adress/ !объявление структуры
RECORD /full_name/ personsname !вложение структуры full_name под именем personsname.
INTEGER*1 age
INTEGER*4 phone
END STRUCTURE
Структура full_name может иметь следующий вид:
STRUCTURE /full_name/
Character*15 first_name
Character*20 last_name
END STRUCTURE
Обращение к элементам структуры может быть осуществлено следующим образом:
WRITE (5,*) ‘имя:’, full_adress.personsname.first_name
WRITE (5,*) ‘возраст:’ full_adress.age
б) Объявление целой функции setvideomode.
Атрибут EXTERN указывает, что переменная (в данном случае являющаяся именем функции) размещается в другом исходном файле. Вообще атрибут позволяет определить для переменной, типа переменной, п/п или формальных параметров п/п некоторую дополнительную информацию. Атрибут заключается в квадратные скобки [ ].
Ранее рассматривался пример с атрибутом ALLOCATABLE, указывающим, что массив является динамическим (“размещаемым”).
в) Объявление пользовательского имени как внешней п/п getvideoconfig.
г) Объявление символических констант. В данном случае, задаются значения цветов (в шестнадцатиричном виде) двум целым константам.
Указанные файлы содержат объявления, необходимые для использования графических процедур.
Файл FGRAPH.FI включается в начало каждого исходного файла программы, а FGRAPH.FD в каждую п/п, содержащую графическую процедуру. Включение производится оператором include – вставка содержимого указанного файла в позиции оператора include.
Пример:
include ‘fgraph.fi’ ! вставка текста файла fgraph.fi
………………….
program LINE
………………….
include ‘fgraph.fd’
…………………. символическая константа
I2 = setvideomode ($MAXRESMODE) ! графическая функция установки видеорежима
………………….
end
... набор процедур и функций языков программирования Basic и Pascal, позволяют управлять графическим режимом работы экрана, создавать разнооборазные графические изображения и выводить на экран текстовые надписи. ГЛАВА 2. ГРАФИЧЕСКИЕ ВОЗМОЖНОСТИ ЯЗЫКА ПРОГРАММИРОВАНИЯ В КУРСЕ ИНФОРМАТИКИ БАЗОВОЙ ШКОЛЫ (НА ПРИМЕРЕ BASIC И PASCAL) 2.1 Разработка мультимедиа курса «Графические возможности языков ...
... ООП. Сейчас язык С++ является языком публикаций по вопросам ООП. Практикум на С/С++:Фактически С++ содержит 2 языка: Полностью включает низкоуровневый Си, поддерживающий конструкции СП, и, собственно, С++ (Си с классами) – язык объектно-ориентированного программирования (ООП). Мы находимся сейчас на технологической ступени структурного программирования, поэтому начинаем с Си: Знакомство с С, ...
... # будет тесно интегрирован с языком XML[1]. 2.2 Паскаль Паскаль [PASCAL - акроним с французского - Program Applique a la Selection et la Compilation Automatique de la Litterature] - Процедурно-ориентированный язык программирования высокого уровня, разработанный в конце 1960-х гг. Никлаусом Виртом, первоначально для обучения программированию в университетах. Назван в честь французского ...
... проекта считается частично завершенной. Далее необходимо средствами той или иной визуальной системы программирования выполнить компиляцию, откладку и тестирование приложения. Прикладное программное обеспечение Прикладная программа или приложение — программа, предназначенная для выполнения определенных пользовательских задач и рассчитана на непосредственное взаимодействие с пользователем. ...
0 комментариев