Основные приемы работ в среде msdev. Константы, переменные, выражения, функции в языке Fortran. Линейные алгоритмы. Управляющие конструкции языка Fortran


Скачать 320.07 Kb.
НазваниеОсновные приемы работ в среде msdev. Константы, переменные, выражения, функции в языке Fortran. Линейные алгоритмы. Управляющие конструкции языка Fortran
страница1/4
ТипДокументы
  1   2   3   4




Основные приемы работ в среде MSDEV. Константы, переменные, выражения, функции в языке Fortran. Линейные алгоритмы. Управляющие конструкции языка Fortran. Простые циклы (с применением Do – цикла и While – цикла), циклы с условием (с применением бесконечного цикла Do) в языке Fortran. Работа с массивами в языке Fortran.
1. Основные приемы работ в среде MS-DEV
Запускается MSDEF через главное меню или с помощью ярлыка. После загрузки системы на экране появляется примерно такое изображение (см. рис. 2).





В поле редактирования вводится и редактируется текст программы. Для присваивания имени файлу программы, запуска транслятора и построителя задач нужно установить курсор на строку меню и выбрать в списке нужную функцию. Результаты работы системных функций выводятся в окне отладчика (сообщения об ошибках) и в окнах диалога, в которых предлагается выбрать какое-либо действие из предлагаемого списка.

Вызывать функции из строки меню можно при помощи левой кнопки мыши или с помощью нажатия клавиши и первой буквы названия пункта меню (например, +F вызывает меню File), после чего появляется список функций данной группы, на первой из которых установлен курсор. Нужно перевести курсор стрелками или мышью на название требуемой функции и нажать или левую кнопку мыши. Появится окно диалога с функцией. Задав все нужные ответы (опции), следует нажать или выбрать ответ и нажать левую кнопку мыши. Переход между полями диалога с функциями выполняется мышью или с помощью клавиши . Для отказа от работы с функцией (или целым меню) нужно нажать .

Инструменты предоставляют удобный доступ к наиболее часто требующимся функциям меню, функции выбираются при помощи мыши.

Правила оформления текста программы на языке Фортран

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

  1. Каждый оператор (команда) должен располагаться в отдельной строке (кроме оператора IF в краткой форме). В одной строке программы в свободном формате можно расположить несколько операторов присваивания, отделив их точкой с запятой.

  2. В строке должно быть не больше 72 символов при фиксированном формате записи (файлы типа FOR) или не больше 132 символов при свободном формате (файлы типа F90). Если строка имеет большую длину, ее следует разбить на части (строки продолжения). В строках продолжения в 6 позиции должен быть символ “*” (фиксированный формат). При свободном формате записи в конце строки, имеющей продолжение, ставится символ “&”. Место разбивки строки не имеет значения.

  3. Первые шесть позиций строки отводятся под метки и служебные символы. Если их нет, то в первых 6 позициях должны быть пробелы (в фиксированном формате). Текст команды (оператора) начинается не раньше чем с 7 позиции строки.

  4. При фиксированном формате записи метка (номер) оператора, если она есть, может занимать 1-5 позиции строки. В свободном формате метка может размещаться с любой позиции, а оператор должен быть отделен от нее хотя бы одним пробелом.

  5. Ввод каждой строки заканчивается нажатием .

  6. Программа может содержать комментарии (пояснения к тексту программы). Строки комментариев должны иметь в 1 позиции символ “С”. Если комментарий располагается в одной строке с командой, он отделяется от команды символом “!”.


Последовательность действий по вводу, трансляции, построению и исполнению программы

Программы в FPS создаются как проекты. Проект в простейшем случае может состоять из одного файла с исходным текстом программы. Более сложные проекты включают в себя множество файлов программ (подпрограмм, функций), библиотеки, модули и т.д. По типу проекты подразделяются на:

  • Console Application – консольное приложение (однооконный проект c алфавитно-цифровым вводом-выводом без использования графических функций);

  • Standard Graphics Application – стандартное графическое приложение (однооконный проект с применением графических функций);

  • QuickWin Application – приложение, использующее графический вывод и работающее со множеством окон;

  • Static Library - статическая библиотека (содержит подпрограммы в объектной форме), связывается с файлом на этапе построения;

  • Dynamic-Link Library - динамическая библиотека (подключается в процессе выполнения программы).

При выполнении лабораторных работ используются первые три типа проектов.

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

  1. Запустить систему программирования на Фортране FPS. Обычно в окне редактирования появляется текст программы, которая обрабатывалась при последнем запуске FPS. Чтобы не было проблем при попытке создать новую программу в не относящемся к ней проекте, прежде чем начать работу над своей программой, нужно закрыть предыдущий проект по команде Close Workspace меню File.

  2. Выбрать группу функций File, функцию New. Появится диалоговое окно со списком возможных типов новых объектов. Выбрать Project Workspace, затем в диалоговом окне задать имя (поле Name) и тип проекта (выбрать из списка Console Application) и нажать . В информационном поле слева на экране появится папка с именем нового проекта, поле редактирования должно быть свободным.

  3. Выбрать группу функций File, функцию New. Появится диалоговое окно со списком возможных типов новых объектов. Выбрать Text File и нажать .

  4. Ввести текст программы (в файл [Text1]).

  5. Сохранить файл программы: выбрать в группе File функцию Save As, ввести имя файла в окне диалога. В имени файла лучше использовать буквы латинского алфавита. Тип файла должен быть FOR или F90 (например, COUNTER1.FOR).

  6. Выполнить трансляцию: в группе Build выбрать функцию Compile, подтвердить включение нового файла в проектное пространство по .

  7. Если появились сообщения об ошибках, исправить их с помощью редактора и повторить шаг 6.

  8. Если ошибок не было, выбрать в окне Build функцию Build для построения задачи. При наличии сообщений об ошибках исправить их и вернуться к шагу 6.

  9. Запустить программу с помощью функции Execute меню Build и проанализировать результаты; если они ошибочны, отредактировать программу и повторить шаги 6-9.

При отладке многозадачного проекта возможна такая последовательность шагов:

  1. Запустить систему программирования на Фортране FPS.

  2. Выбрать группу функций File, функцию New. Выбрать Project Workspace, затем в диалоговом окне задать имя (поле Name) и тип проекта (выбрать из списка Application) и нажать .

  3. Выбрать группу функций File, функцию New, объект Text File и нажать .

  4. Ввести текст программы.

  5. Сохранить файл: выбрать в группе File функцию Save As, задать имя файла.

  6. Выполнить трансляцию: в группе Build выбрать функцию Compile, подтвердить включение нового файла в проектное пространство по .

  7. Если появились сообщения об ошибках, исправить их с помощью редактора и повторить шаг 6.

  8. Если ошибок не было, выбрать в окне Build функцию Build(Rebuild All) для построения задачи из всех файлов проекта. При наличии сообщений об ошибках исправить их и вернуться к шагу 6 для файла, содержащего ошибки.

  9. Запустить программу с помощью функции Execute меню Build и проанализировать результаты; если они ошибочны, отредактировать программу и повторить шаги 6-9.

2. Организация данных в языке Фортран

К организации данных в языке Фортран можно отнести: рассмотрение типов данных, способы объявления типов данных и способы инициализации (задание начальных значений) данных.

Объектами данных являются переменные, константы и функции. Термины константы и переменные распространяются на скаляры, массивы, а также на элементы массивов, сечения массивов, подстроки, компоненты структур. Диапазон рассмотрения в данной лабораторной работе ограничен скалярами.

Типы данных разделяются на встроенные и производные (создаваемые пользователем). Производные типы данных будут рассматриваться в дальнейших работах.

Каждый встроенный тип данных характеризуется параметром разновидности KIND. Для числовых типов данных этот параметр описывает точность и диапазон изменения. Для символьного типа данных в FPS (Fortran Power Station) существует только одна разновидность (KIND=1). Параметр KIND указывается в скобках после имени типа. Каждый встроенный тип имеет стандартную, задаваемую по умолчанию разновидность. Стандартная разновидность, как правило, в скобках не указывается.

Каждой разновидности соответствует число байт памяти, отводимое под объект.

Встроенные типы данных:

  1. Целый – INTEGER (стандартная разновидность), BYTE, INTEGER(1), INTEGER(2), INTEGER(4)

Число байт памяти под объекты целого типа для перечисленных разновидностей соответственно равны 4, 1, 1, 2, 4.

  1. Вещественный – REAL (стандартная разновидность), REAL(4), REAL(8), DOUBLE PRECISION

Число байт памяти под объекты вещественного типа для перечисленных разновидностей соответствуют значениям - 4, 4, 8, 8. При KIND=8 вещественные данные имеют двойную точность.

  1. Комплексный – COMPLEX (стандартная разновидность), COMPLEX(4), COMPLEX(8).

Число байт памяти, отводимое под комплексные объекты, для перечисленных разновидностей соответственно равны – 8, 8, 16. При этом одна половина памяти отводится под реальную часть, а другая под мнимую.

  1. Логический – LOGICAL (стандартная разновидность), LOGICAL(1), LOGICAL(2), LOGICAL(4)

Число байт памяти, отводимое под логические объекты, для перечисленных разновидностей соответственно равны – 4, 1, 2, 4. Первый байт содержит значение либо 0 (.FALSE), либо 1 (.TRUE). Остальные байты имеют значение – null.

  1. Символьный (текстовый) – CHARACTER, CHARACTER(n).

Разновидность KIND для символьного типа всегда равна 1. Число байт, отводимое под символьный объект, равно соответственно 1 или n. При этом n принимает значения 1 n 32767.

Тип данных задается с помощью операторов объявления типов данных. В самом общем виде оператор объявления типа данных может быть представлен как:

имя типа [[[(KIND=значение)][, attrs]::] list
Имя типа – один из перечисленных выше типов данных: INTEGER, REAL, REAL(8), COMPLEX, LOGICAL, CHARACTER. KIND задает значение разновидностей для каждого типа. Слово KIND может быть опущено, при этом в скобках указывается только значение разновидности. Если используется стандартный тип разновидности, то значение разновидности совсем отсутствует.

attrs – один или более атрибут, описывающий представленные в list объекты данных. Если хотя бы один атрибут указан, то должен быть использован разделитель::. Атрибуты определяют дополнительные свойства данных. Возможные атрибуты: ALLOCATABLE, PARAMETR, POINTER, TARGET, DIMENSION, PRIVATE, PUBLIC и др.

list – разделенный запятыми список имен объектов данных (переменных, констант, а также внешних, внутренних, операторных и встроенных функций).

В Фортране допускается не объявлять данные целого и вещественного типа. При этом действует правило по умолчанию: данные, которые начинаются с букв I, J, K, L, M, N, имеют встроенных или производных типов данных

letters – список одиночных букв или диапазонов букв.

В Фортране различают буквальные и именованные константы. Возможно задание арифметических (целых, вещественных, комплексных), логических и символьных буквальных констант.
Целые константы – целые числа со знаком или без знака. +10, 10, -10_2 (после знака подчеркивания “_“ указано значение разновидности KIND = 2 для константы -10).
Вещественные константы могут быть заданы в F-форме, E-форме и D-форме. F-форма задает числа с фиксированной точкой. E-форма и D-форма задают числа с плавающей точкой. Например число –51.234 можно представить в десятичной системе счисления как . Мантисса задает точность представления, а показатель степени задает порядок числа. (F - форма: -51.234, E - форма: -0.51234Е+2, D - форма: -0.51234D+2).

F и E – формы могут задавать числа одинарной и двойной точности (4 и 8 байт памяти), например: 3.3_4; 3.3_8; 0.125E-4_8; 0.125E-4.

D - форма задает числа только двойной точности.

Комплексные константы – две целые или вещественные константы (реальная и мнимая часть), заключенные в скобки и разделенные запятой. Реальная и мнимая части могут быть заданы в F-форме, E-форме, D-форме: (2.33, 0.044), (0.233E1, 0.44E-1), (0.233D+1, 0.44D-1)
Логические константы – их всего две: .TRUE. и .FALSE. Наличие обрамляющих точек обязательно.
Символьные константы – последовательность одного или более символов 8-битового кода, заключенная в апострофы. Символьная строка + латинский символ С образуют СИ-строку. Существующие в СИ эскейп - последовательности можно использовать в FPS, представив их как СИ-строку (пример см. ниже)
Именованные константы применяются для защиты данных от изменения в процессе вычислений, т.е. их нельзя изменить в операторах присваивания и READ. Задаются именованные константы с помощью оператора или атрибута PARAMETER (пример см. ниже).
Инициализация статических данных в Фортране осуществляется на этапе компиляции программы, а динамических - в процессе выполнения программы. К динамическим данным относятся переменные, объявленные с атрибутом POINTER (ссылки) и атрибутом ALLOCATABLE. Выделение памяти под динамические данные осуществляется либо после его прикрепления к размещенному адресату, либо с помощью оператора ALLOCATE. Освобождение динамической памяти происходит после выполнения оператора DEALLOCATE. (примеры см. ниже).

Возможны два способа инициализации данных:

а) в операторах объявления типа

б) с помощью оператора DATA, общий формат которого:
DATA список имен /список значений/
Объекты в списке имен и в списке значений перечисляются через запятые и находятся в строгом соответствии слева направо.

3. Примеры объявления и инициализации данных

3.1 Объявление данных целого типа:

а) integer d1, d2

data d1, d2 /34, 100/ ! объявлены переменные d1 и d2 целого типа стандартной разновидности и инициированы оператором data;

б) integer(2) d1/4/, d2/5/ ! объявлены переменные d1, d2 целого типа (KIND=2), при таком инициировании наличие разделителя :: необязательно;

в) integer(1):: d1=4, d2=5 ! при такой форме инициирования разделитель :: обязателен;

г) integer, parameter:: m = 4, n = 5 ! объявлены две именованные константы m и n;

д) integer, pointer:: p ! объявлена динамическая переменная - ссылка p;

integer, target:: k = 5 ! объявлен адресат k (с атрибутом target);

p =>k ! ссылка прикрепленная к адресату.

3.2 Объявление данных вещественного типа

а) real d/123.5/, c/1.E-6/ ! объявлены и инициированы две переменные d и c вещественного типа стандартной разновидности;

б) real(8):: a = 2D0, b = 0.35D4, c ! объявлены переменные a, b, c двойной точности;

в) integer, parameter:: c = 4;

real(c) a, b ! значение разновидности задано как именованная константа c;

г) real, pointer:: c, d ! объявление ссылок c и d;

real, target:: e=10 ! объявление и инициирование адресата e;

allocate(c) ! выделение памяти переменной-ссылке c;

d =>e ! прикрепление ссылки d к адресату e.
3.3 Объявление данных комплексного типа.

а) complex:: C1, C2 = (10.5, 11.3) ! объявлены комплексные переменные C1, C2 стандартной разновидности KIND = 4;

б) complex (8):: C1=(10.5D0, -1.13D1), C2 ! объявлены комплексные переменные C1, C2 с KIND = 8.
3.4 Объявление логических данных

а) logical g1, g2

data g1,g2 /.true., .false./ ! объявлены логические переменные g1, g2 и инициированы в операторе data;

б) logical:: g1 = .true., g2 = .false.
3.5 Объявление символьных данных

а) character(15):: st1=’example’, st2*20/’example_2’/ ! объявлены и инициированы две символьные переменные st1 длиной 15 символов и st2 длиной 20 символов;

б) character(*), parameter:: st = ’example’ ! для задания длины используется символ * при определении именованной константы; в этом случае длина равна числу символов константы;

в) character:: bell = ’\ac – объявлена символьная переменная bell, которой присвоена СИ-константа, использующая эскейп – последовательность, соответствующую звуковому сигналу;

г) character(20):: tx1 = computer Pentium3’, tx2*8 ! объявлена

tx2 = tx1(10:17), строковая переменная tx1 длиной 20 символов и строковая переменная tx2 длиной 8 символов. Переменной tx2 присвоена подстрока переменной tx1. Подобно элементам в массиве, символы строки расположены в памяти компьютера последовательно один за другим. Обращение tx1(10:17) соответствует подстроке ‘Pentium3’. Запись tx1(i:i) обеспечивает доступ к i - му символу строки.
3.6 Объявление данных по правилу умолчания и с помощью оператора Implicit

а) i = 10.5 ! по умолчанию это целая переменная, результат присвоения =10;

y = 15 по умолчанию это вещественная переменная результат присвоения =15.000000;

б) Implicit integer(2) (p, c-e), real (k-m) ! переменные, которые будут начинаться с букв p или ce, будут иметь целый тип KIND=2, переменные, которые начинаются с букв km, будут иметь вещественный тип KIND=4.

3. Выражения, операции, встроенные функции

Арифметические выражения

Операндами арифметических выражений могут быть:

  • константы;

  • числовые переменные;

  • числовые массивы и их сечения;

  • вызовы функций целого вещественного и комплексного типа.

Арифметические операции по приоритету в порядке возрастания:

** - возведение в степень;

*, / - умножение, деление;

унарные + и - ;

+, - - сложение, вычитание.

Операции выполняются слева направо в соответствии с приоритетом, кроме операции возведения в степень, которая выполняется справа налево



.

Целочисленное деление. Результатом деления целых чисел в Фортране является целое число без дробной части, например, 3/2=1, 1/2 = 0. Чтобы результат был вещественным, надо целое число представлять как вещественное либо с помощью точки, либо через встроенную функцию: 3./2. или real(3)/real(2).

Возведение в целую отрицательную степень. (целочисленное деление). Чтобы этого избежать, надо 5.**(-3), тогда (результат вещественный).

Возведение в целую степень осуществляется как

Возведение в вещественную степень.

вычисляется как , поэтому А не может быть отрицательным числом, т.е. (-3)**1.5 неверная запись в арифметическом выражении.

Типы арифметических выражений .

Определяются по следующим правилам:

  1. Если операнды арифметических операций имеют один и тот же тип, то результат операции имеет тот же тип.

  2. Если операнды имеют различный тип, то результат операции имеет тип операнда наивысшего ранга.

Ранг типов операндов в порядке убывания:

complex(8) или double complex

complex(4)

real(8) или double precision

real(4) или real

integer(4) или integer

integer(2)

integer(1) или byte

Пример:

Пусть: complex:: z1=(0.5,3.), z2=(3.4,0.3) !описаны две комплексные переменные

real:: a=100.3, b !описаны две вещественные переменные

integer(2):: c=5 !описана целая переменная

b=a**2 + a*c - z1*z2 ! имеем арифметическое выражение

тогда: a*a тип результата – real(4);

a*c целое с преобразуется к типу real(4), тип результата - real(4);

z1*z2 тип результата – complex(4);

a**2+a*c тип результата - real(4);

a**2+a*c-z1*z2 тип результата - complex(4);

b=a**2+a*c-z1*z2 тип результата присвоения - real(4).
  1   2   3   4

Похожие:

Основные приемы работ в среде msdev. Константы, переменные, выражения, функции в языке Fortran. Линейные алгоритмы. Управляющие конструкции языка Fortran iconЛитература Храмцов П. Б., Брик С. А., Русак А. М., Сурин А. И. Основы...
Курс посвящен изучению языка гипертекстовой разметки html. Рассматриваются основные конструкции языка, приемы разметки и связь с...

Основные приемы работ в среде msdev. Константы, переменные, выражения, функции в языке Fortran. Линейные алгоритмы. Управляющие конструкции языка Fortran iconВведение в науку о языке
Назовите основные разделы науки о языке и единицы языка, изучаемые в этих разделах

Основные приемы работ в среде msdev. Константы, переменные, выражения, функции в языке Fortran. Линейные алгоритмы. Управляющие конструкции языка Fortran iconСправочник по разговорному английскому языку ( материалы сайта http//teach-learn narod ru )
Данное пособие по английской разговорной речи содержит фразы, необходимые для общения в большинстве повседневных ситуаций. Предлагаемый...

Основные приемы работ в среде msdev. Константы, переменные, выражения, функции в языке Fortran. Линейные алгоритмы. Управляющие конструкции языка Fortran iconВопросы по учебной дисциплине
Как связаны язык и общество? Как связаны язык и речь? Каковы основные уровни языка?Как отражаются в русском языке материальная и...

Основные приемы работ в среде msdev. Константы, переменные, выражения, функции в языке Fortran. Линейные алгоритмы. Управляющие конструкции языка Fortran iconРабочая программа выполняет две основные функции
Программа рассчитана на изучение французского языка по 2 часа в неделю 68 часов в учебном году

Основные приемы работ в среде msdev. Константы, переменные, выражения, функции в языке Fortran. Линейные алгоритмы. Управляющие конструкции языка Fortran iconПрактичность теории Пресс-конференция Вопрос к тексту
Художник учится смешивать краски и наносит мазок на холст. Музыкант учится этюдам. Журналист и писатель осваивают приемы письменной...

Основные приемы работ в среде msdev. Константы, переменные, выражения, функции в языке Fortran. Линейные алгоритмы. Управляющие конструкции языка Fortran iconМетодическая разработка практического занятия для студентов пм 05...
Освоить основные приемы массажа, научиться использовать вспомогательные приемы массажа, освоить методику проведения массажа различных...

Основные приемы работ в среде msdev. Константы, переменные, выражения, функции в языке Fortran. Линейные алгоритмы. Управляющие конструкции языка Fortran iconКвалификация
В результате освоения дисциплины студенты должны уметь осуществлять коммуникации на иностранном языке в профессиональной среде и...

Основные приемы работ в среде msdev. Константы, переменные, выражения, функции в языке Fortran. Линейные алгоритмы. Управляющие конструкции языка Fortran iconМетодические указания к лабораторным работам по курсу «Программирование...
Цель работы: приобретение практических навыков работы в интегрированной среде C, изучение структуры программы на языке С

Основные приемы работ в среде msdev. Константы, переменные, выражения, функции в языке Fortran. Линейные алгоритмы. Управляющие конструкции языка Fortran iconНаша компания предлагает две программы получения высшего образования...
С обучением на венгерском языке. Данный вариант возможен даже для тех кто не знает венгерского языка, в данном случае наши специалисты...

Вы можете разместить ссылку на наш сайт:


Все бланки и формы на filling-form.ru




При копировании материала укажите ссылку © 2019
контакты
filling-form.ru

Поиск