Описание языка Fortran

Структура Fortran-программы. Описание переменных, правила умолчания и операторы. Стандартные математические функции. Вычисляемый оператор перехода. Общие области, подпрограмма Block Data. Обработка внешних файлов. Файлы с графическими шрифтами.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 10.06.2013
Размер файла 46,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

INTEGER*2 mode ! текущий видеорежим

INTEGER*2 adapter ! активный адаптер дисплея

INTEGER*2 monitor ! активный монитор

INTEGER*2 memory ! видеопамять адаптера в килобайтах

END STRUCTURE

RECORD/videoconfig/s

Процедура возвращает текущую графическую конфигурацию через структуру s. Поле mode возвращает установленный графический режим. Поле adapter возвращает тип графического адаптера, например, $VGA = 8 . Поле monitor возвращает тип монитора, например, $COLOR или $ENHCOLOR .Фоновый цвет экрана устанавливается функцией

INTEGER*4 FUNCTION SetBkColor (color)

INTEGER*4 color

Подпрограмма

SUBROUTINE ClearScreen(area)

INTEGER*2 area

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

$GCLEARSCREEN - весь экран,

$GVIEWPORT - текущий видеопорт,

$GWINDOW - текущее текстовое окно.

Текущий цвет для линий и закраски устанавливает функция

INTEGER*2 FUNCTION SetColor(color)

INTEGER*2 color

Вывод пиксела на экран (с использованием текущего цвета) выполняется функцией

INTEGER*2 FUNCTION SetPixel (x,y)

INTEGER*2 x,y

Отрезок прямой от текущего положения графического курсора до точки с координатами x,y рисует функция

INTEGER*2 FUNCTION LineTo (x,y)

INTEGER*2 x,y

Графический курсор перемещается процедурой

SUBROUTINE MoveTo(x,y,s)

INTEGER*2 x,y

STRUCTURE/xycoord/

INTEGER*2 xcoord

INTEGER*2 ycoord

END STRUCTURE

RECORD/xycoord/s

Процедура возвращает через параметр s предыдущее положение графического курсора. Шаблон линии задается процедурой

SUBROUTINE SetLineStyle (mask)

INTEGER*2 mask

Эллиптическая дуга рисуется функцией

INTEGER*2 FUNCTION Arc(x1,y1,x2,y2,x3,y3,x4,y4)

INTEGER*2 x1,y1,x2,y2,x3,y3,x4,y4

Центром эллипса является центр прямоугольника, который определяется точками (x1,y1) и (x2,y2), дуга начинается в точке, (x3,y3), и заканчивается в точке (x4,y4). Эллипс рисуется функцией

INTEGER*2 FUNCTION Ellipse(control,x1,y1,x2,y2)

INTEGER*2 control,x1,y1,x2,y2

Центром эллипса является центр ограничивающего прямоугольника, определяемого точками (x1,y1) и (x2,y2). Аргумент control может быть одной из двух констант:

$GFILLINTERIOR - эллипс закрашивается,

$GBORDER - эллипс не закрашивается.

Прямоугольник рисуется функцией

INTEGER*2 FUNCTION Rectangle (control,x1,y1,x2,y2)

INTEGER*2 control,x1,y1,x2,y2

Замкнутая область закрашивается функцией

INTEGER*2 FUNCTION FloodFill(x,y,boundary)

INTEGER*2 x,y,boundary

Функция аналогична FloodFill в языках PASCAL и C. Способ закрашивания устанавливается процедурой

SUBROUTINE SetFillMask(mask)

INTEGER*1 mask

где mask - массив из 8 элементов типа INTEGER*1, который определяет шаблон закраски области 8 на 8 пикселов. Если маска заполнения не установлена или массив нулевой, то для заполнения используется текущий цвет. Текст на графический экран выводится процедурой

SUBROUTINE OutGText(text)

CHARACTER*(*) text

Текст выводится с использованием текущего шрифта, текущей графической позиции и текущего цвета. После вывода текста сохраняется текущая графическая позиция. Текст позиционируется по левому верхнему краю. Кроме того язык FORTRAN позволяет пользоваться в графическом режиме и обычными операторами PRINT и WRITE. Текущее положение графического курсора возвращает процедура

SUBROUTINE GetCurrentPosition (s)

RECORD/xycoord/s

Ширину текста в пикселах возвращает функция

INTEGER*2 FUNCTION GetGTextExtent(text)

CHARACTER *(*) text

Подключение графических шрифтов осуществляет функция

INTEGER*2 FUNCTION RegisterFonts (PathToFiles)

CHARACTER*(*) PathToFiles

Файлы с графическими шрифтами имеют расширение fon и должны быть доступны программе. Функция возвращает положительное число, равное номеру последнего зарегистрированного шрифта при успешной регистрации. Отрицательное число означает : -1 - файл не найден; -2,-3 - один или несколько файлов ошибочны. Графические шрифты отключаются процедурой

SUBROUTINE UnRegisterFonts()

Текущий шрифт устанавливается функцией

INTEGER*2 FUNCTION SetFont (options)

CHARACTER *(*) options

Она устанавливает один из зарегистрированных шрифтов, который характеризуется параметром options. Строка options может содержать подстроки:

t'fontname' - имя шрифта;

hx - высота символа в пикселах для масштабируемых шрифтов;

wx - ширина символа в пикселах для масштабируемых шрифтов;

nx - номер шрифта.

1.19 Дополнительные возможности языка: дополнительные точки входа, свободный формат, строки отладки, средства консольного ввода-вывода, системное время, случайные числа

В подпрограммах SUBROUTINE и FUNCTION могут быть дополнительные точки входа, которые задаются оператором ENTRY :

ENTRY имя точки входа(список параметров)

Операторы ENTRY могут записываться в любом месте подпрограммы, но не внутри цикла и не внутри условного оператора. Список параметров дополнительной точки входа может не совпадать со списком параметров в заголовке подпрограммы. Тип вычисляемого значения (если это функция) также может отличаться от типа, указанного в заголовке. Но в самом операторе ENTRY задать вычисляемый тип нельзя, это нужно сделать в операторе описания в начале подпрограммы. Подпрограмму, имеющую дополнительные точки входа, можно вызвать через любую из этих точек, точно так же, как и по основному имени. Но дополнительные точки входа нельзя передавать другим подпрограммам как аргументы.

Метакоманда $FREEFORM позволяет записывать текст программы в так называемом свободном формате. При этом операторы можно размещать в позициях с 1-й по 80-ю; метки записываются начиная с 1-й позиции и могут не отделяться от оператора пробелом; если последний символ строки “-”, то следующая строка считается строкой продолжения; признак комментария -символ “ в 1-й позиции.

Строки отладки позволяют осуществлять так называемую условную компиляцию, т.е. компилировать не все операторы программы, а лишь некоторое их подмножество. Строка отладки - это любая строка программы, в первой позиции которой записана какая-нибудь латинская буква (кроме буквы C). Для включения режима условной компиляции используется метакоманда $DEBUG. Она может быть задана (в любом месте программы) либо без параметров : $DEBUG , либо с параметром - строкой, состоящей из латинских букв : $DEBUG:'буквы'. В первом случае метакоманда включает расширенную диагностику ошибок времени выполнения (целочисленное переполнение, проверка границ подстрок, проверка индексных выражений элементов массивов и т.д.). Во втором случае метакоманда включает режим условной компиляции - компилируются только те из строк отладки, которые начинаются буквой, входящей в строку, заданную в $DEBUG, остальные строки отладки считаются комментариями. Отменить действие метакоманды $DEBUG можно либо другой метакомандой $DEBUG, либо метакомандой $NODEBUG.

В языке FORTRAN есть некоторые средства для работы с текстовыми окнами на экране. Они находятся в той же библиотеке, что и графические процедуры и функции, поэтому для их использования необходимо подключить к программе файлы fgraph.fi и fgraph.fd. Процедура SetTextWindow (y1,x1,y2,x2) распределяет текстовое окно на экране, y1,y2 - номера строк, x1,x2 - номера позиций. Для очистки текстового окна используются функция SetBkColor и процедура ClearScreen, которые работают как в графическом, так и в текстовом режиме. Положение курсора устанавливает процедура SetTextPosition(y,x,OlpPos), где y,x - номер строки и номер позиции (координаты отсчитываются от левого верхнего угла окна), OldPos - структурная переменная, через которую возвращаются предыдущие координаты курсора, она должна быть описана как RECORD/rccoord/TextPos. Цвет текста устанавливает функция SetTextColor(Color). Вывод в текстовое окно осуществляется специальной процедурой OutText(text). Процедура выводит только символьные значения, числа должны быть предварительно преобразованы в строку. Не следует использовать совместно с процедурой OutText операторы PRINT и WRITE. Форму курсора можно установить функцией SetTextCursor. Она имеет один параметр типа INTEGER*2, значение #0707 задает тонкий курсор, #0007 - максимально большой (“блочный”) курсор, #0607 - нормальный курсор, #2000 - невидимый курсор. При работе с текстовыми окнами нежелательно использование оператора PAUSE, вместо него можно использовать оператор READ(*,*), который ожидает нажатия клавиши Enter (как ReadLn в языке PASCAL). Этот оператор работает и во всех других случаях.

Для получения системного времени служит стандартная подпрограмма-процедура

SUBROUTINE GetTim(h,m,s,s100)

INTEGER*2 h,m,s,s100

где h-часы, m-минуты, s-секунды и s100-сотые доли секунды.

Случайное вещественное число из отрезка (0,1) возвращает подпрограмма-процедура

SUBROUTINE Random(x)

REAL*4 x

Генератор случайных чисел можно инициализировать с помощью подпрограммы-процедуры

SUBROUTINE Seed(Init)

INTEGER*2 Init

При возрастании параметра Init от 0 до примерно 10000 первое значение, возвращаемое генератором случайных чисел, растет от почти нуля до почти единицы, а для больших значений Init этот цикл повторяется. В качестве хорошего инициализатора можно брать величину s100*100, где s100 - сотые доли секунды текущего системного времени.

Размещено на Allbest.ru

...

Подобные документы

  • Основные приёмы и возможности алгоритмических языков программирования Fortran. Табуляция функции на языке Fortran, ее графический вид и блок-схема алгоритма. Выполнение расчетов на алгоритмическом языке Фортран. Текст (листинг) Fortran-программы.

    курсовая работа [31,9 K], добавлен 15.02.2011

  • Степень переносимости исходного кода между различными платформами. Первый язык программирования высокого уровня, имеющий транслятор. Программа Fortran, ее версии, отличия от других программ. Составление программ на языке программирования Fortran.

    курсовая работа [45,5 K], добавлен 04.06.2014

  • Характеристики операторов языка Си. Операторы безусловного и условного перехода: if, if-else, if-else if. Оператор переключатель switch. Оператор цикла с предусловием while, постусловием do-while. Упрощение логических выражений, взаимозаменяемость циклов.

    лабораторная работа [30,0 K], добавлен 06.07.2009

  • Принцип работы основных операторов языка программирования Turbo-Paskal: оператор присваивания, выбора Case, безусловного перехода, цикла, уловный, составной. Формальное описание и вызов функции и процедуры. Требования к списку фактических параметров.

    реферат [261,8 K], добавлен 09.02.2011

  • Машинные коды и ассемблер. Первые языки программирования высокого уровня. Язык программирования FORTRAN. Достоинства и недостатки ALGOL. Научные и бухгалтерские программы. Основные принципы, которые соблюдались при создании языка программирования Basic.

    курсовая работа [407,4 K], добавлен 21.06.2014

  • Общая характеристика языков программирования. Описание языка Паскаль: основные субъекты языка; структура Паскаль-программы; типизация и объявление данных. Операторы присваивания и выражения. Структурные операторы, организация ветвлений и циклов.

    дипломная работа [276,6 K], добавлен 26.01.2011

  • История создания и применение языка Basic. Стандартные математические и строковые функции. Операции и выражения языка. Блоки данных и подпрограммы. Операторы управления, цикла, ввода-вывода и преобразования информации. Константы, переменные, массивы.

    контрольная работа [2,3 M], добавлен 04.05.2015

  • Разработка блока распараллеливания последовательной программы с языка Fortran на язык Fortran-DVM/OpenMP. Реализация блока DVM/OpenMP-эксперт на основе компонента DVM-эксперт. Тестирование системы алгоритмами Якоби, верхней релаксации и методом Гаусса.

    дипломная работа [218,3 K], добавлен 15.10.2010

  • Программирование вычислительных процессов на языке FORTRAN для обеспечения взаимодействия системы "Человек-Производство-Природа". Использование массивов для составления циклов подсчета уровня экологического загрязнения, затрат на переработку отходов.

    курсовая работа [2,0 M], добавлен 30.05.2014

  • Краткая характеристика встроенного языка. Формат исходных текстов программных модулей. Комментарии, формат операторов, зарезервированные слова. Структура программного модуля. Базовые типы данных, правила их преобразования. Оператор объявления переменных.

    реферат [30,3 K], добавлен 23.01.2011

  • Особенности параллельного программирования высокопроизводительных многопроцессорных или многомашинных вычислительных комплексов. Основные положения и понятия стандартов MPI и OpenMP. Средства компиляции параллельных операторов для языков C и Fortran.

    лекция [177,9 K], добавлен 22.10.2014

  • Общая характеристика языка программирования Турбо Паскаль: операторы, циклы, файлы. Процедуры и функции модуля Crt. Структурная и функциональная схема программы учета учащихся, таблица идентификаторов. Список и описание использованных подпрограмм.

    курсовая работа [702,9 K], добавлен 29.01.2011

  • Разработка программы, моделирующей игру "Кости". Использование в программе генератора псевдослучайных чисел. Схема иерархии модулей. Описание работы программы. Регистрация игрока, окно программы. Определение языка программирования, основные операторы.

    курсовая работа [3,2 M], добавлен 29.07.2010

  • Процесс создания программы, разработка проекта программы и программирование. Лексическая обработка, синтаксический анализ, поэтапная генерация кода, использование библиотечного файла и кода. Стандартные функции библиотечного кода, математические ошибки.

    курсовая работа [26,4 K], добавлен 01.12.2009

  • Характеристика базовых конструкций языков программирования. Изучение истории их развития и классификации. Определение основных понятий языков программирования. Описание основных операторов, которые используются в языках программирования высокого уровня.

    курсовая работа [400,6 K], добавлен 10.11.2016

  • Разработка программы, которая выполняет удаление элементов внешних таблиц, а также очистку файлов, вывод таблиц на экран. Описание программного продукта. Выбор языка программирования. Схема информационных потоков. Комплект поставки и инсталляция.

    курсовая работа [180,0 K], добавлен 09.03.2009

  • Структура программы PL/SQL. Секция заголовка блока. Элементы, объявленные в секции объявлений базового блока. Приоритет операций выражения. Управление выполнением программы. Конструкция и синтаксис цикла LOOP. Оператор GOTO и метки, пример использования.

    лекция [356,3 K], добавлен 14.02.2014

  • Описание предметной области. Характеристика программных средств. Описание компонентов, интерфейс программы. Описание процедур и функций. Вызов и загрузка программы. Испытание методом белого и черного ящика на ошибки кода программного приложения.

    курсовая работа [2,2 M], добавлен 26.04.2015

  • Изучение строкового типа данных, построение классов обработки строк. Описание программы, выводящей слова, состоящие только из гласных латинских букв (a, e, i, o, u). Операторы для проверки корректности вводимых значений c помощью условного оператора if.

    контрольная работа [12,7 K], добавлен 26.05.2016

  • Символьные типы данных, работа со строками, составление блок-схемы алгоритма и программы для работы с массивами. Организация программы с использованием процедур и функций. Процедуры и функции, использующиеся при обработке файлов; компонентные файлы.

    контрольная работа [52,9 K], добавлен 03.10.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.