01 (537404)
Текст из файла
2
МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
(МАМИ)
Кафедра "Прикладная и вычислительная математика"
Е.А.Лопаницын,
С.Г.Сальков,
А.Б.Фролов
Программирование на языке Фортран MS 5.0
Сборник лабораторных работам
по курсу
"Информатика и программирование на ЭВМ"
для студентов всех специальностей
Под редакцией
заведующего кафедрой
чл.- корр. РАН Э.И.Григолюка
МОСКВА - 2003
Лопаницын Евгений Анатольевич, профессор, доктор физико-матема-тических наук;
Сальков Станислав Григорьевич, доцент, кандидат технических наук;
Фролов Александр Борисович, профессор, кандидат технических наук.
Методические указания к лабораторным работам по курсу "Информатика и программирование на ЭВМ" для студентов всех специальностей. Программирование на языке Фортран MS 5.0. - М.: МАМИ, 2002. - 92 с. Издание третье исправленное и дополненное.
Лабораторные работы ориентированы на изучение основ алгоритмического языка Фортран MS 5.О, программирования на этом языке и получение навыков в решении задач на ЭВМ.
Методические указания содержат описание восьми лабораторных работ, введения, в котором приведены требования к выполнению лабораторных заданий, и приложения с кратким перечнем ошибок выполнения программы.
Московский государственный технический университет (МАМИ)
2002 г.
В В Е Д Е Н И Е
Алгоритмический язык программирования Фортран (FORmula TRANslator) был разработан фирмой International Business Machines (IBM) в середине 50-х годов как программное средство для решения вычислительных задач. Работа над его усовершенствованием продолжается по сей день, и к настоящему времени используется несколько стандартов Фортранa (FORTRAN-66, FORTRAN-77, FORTRAN – 90, FORTRAN POWER STATION). Сегодня он является основным языком программирования при решении научно-технических задач. В данном пособии рассматривается стандарт FORTRAN-77 для персональных ЭВМ фирмы MicroSoft вер
сии 5.0, в котором реализованы многие положения стандарта FORTRAN-90, котрый вошел в новую систему FORTRAN POWER STATION.
С целью изучения основ программирования и получения практических навыков по составлению и отладке программ на алгоритмическом языке Фортран студентам предлагается выполнить представленные в данном пособии лабораторные работы. Для выполнения лабораторных работ студент обязан заранее подготовиться к ним:
-
используя конспект лекций и рекомендованную литературу, самостоятельно изучить синтаксис рассматриваемых в работе операторов и приемы их использования;
-
выполнить задание в соответствии со своим вариантом;
-
оформить отчет по лабораторной работе.
Отчет по лабораторной работе должен быть оформлен на листах формата А4 и включать в себя следующие разделы:
-
титульный лист;
-
справочную информацию о синтаксисе и работе изучаемых операторов;
-
условия задания;
-
решения задания в виде блок-схемы и текста программы;
-
результаты счета программы на ЭВМ.
Составленная студентом программа должна быть набрана им в одном из текстовых редакторов (NORTON EDIT или ЛЕКСИКОН) и записана в файл с именем, имеющим расширение for - исходный файл. Например: prog.for, test.for, и т.п. Кроме этого, если требуется, студент должен подготовить файл исходных данных с расширением dat. Например: prog.dat, test.dat.
Исходный файл должен быть обработан на ЭВМ программой-транслятором, который переведет его в машинные коды ЭВМ. Для выполнения этой операции, работая в Norton Commander, достаточно выделить курсором имя исходного файла и нажать клавишу "Enter".
На этапе трансляции в тексте программы в первую очередь выявляются синтаксические ошибки. Сообщение о них вывводится на экран. Их необходимо проанализировать и сразу же исправить в исходном тексте. После трансляции программу обрабатывает редактор связей, который обеспечивает подключение к ней необходимых внешних подпрограмм.
В случае затруднения распознавания ошибок рекомендуется использовать листинг программы, формируемый транслятором в виде файла с тем же именем, но расширением lst. Например: prog.lst, test.lst и т.п. После исправления ошибок исходный файл должен быть вновь обработан транслятором.
При успешном завершении трансляции образуются два файла с расширениями obj и exe. Например: prog.obj, test.obj и, соответственно, prog.exe, test.exe. Загрузочный файл с расширением exe является готовой к выполнению на ЭВМ программой.
Запуск программы на счет в Norton Commander'е осуществляется путем выделения курсором файла с расширением exe и нажатием клавиши "Enter". Результаты счета должны быть либо выведены на экран монитора, либо записаны в файл с именем исходного файла, но с расширением res. При запуске программы на счет возможно появление ошибок выполнения. Их краткий перечень приведен в Приложении.
В конце занятия студент должен удалить из директории все созданные им и ненужные для дальнейшей работы файлы.
Для каждой лабораторной работы студент в своей директории должен организовать поддиректории LR_1, LR_2, ..., LR_8. В них должны храниться файлы программ и, если требуется, файлы исходных данных. Файлы с расширениями exe, obj, lst, bak и res должны быть уничтожены.
Л А Б О Р А Т О Р Н А Я Р А Б О Т А № 1
ОСНОВНЫЕ ПОНЯТИЯ. ПРОГРАММИРОВАНИЕ РАСЧЕТОВ ПО
ФОРМУЛАМ
С п р а в о ч н а я и н ф о р м а ц и я
Программа для ЭВМ состоит из последовательности команд, реализующих алгоритм решения задачи. Каждая из команд языка Фортран состоит из ключевых слов, определяющих характер выполняемых действий над константами, переменными и выражениями. В Фортране используются пять основных типов команд (операторов): присваивание; ввод-вывод информации; передача управления; описание объектов; подпрограммы. Каждая команда на Фортране записывается в свою строку длиной 80 символов.
Основными символами языка Фортран, образующими его алфавит, являются: строчные и прописные латинские буквы A, B, C, ..., Z; цифры 0, 1, 2, ..., 9; пробел и специальные символы = + - * / ( _ ) , . $ ' :. Другие символы, в частности, буквы русского алфавита могут быть использованы только в качестве комментариев к программе.
Положение символа в строке нумеруется слева направо, начиная с 1-ой позиции. Строка условно делится на четыре зоны. Первая зона (с 1-й по 5-ю позиции) предназначена для метки оператора. Метка выполняет роль адреса оператора и может располагаться в любой позиции зоны. Метка оператора - целое положительное число, которое может содержать не более 5 цифр. Для большинства операторов метка является необязательным параметром. Вторая зона, состоящая из 6-ой позиции, используется как признак продолжения оператора, не умещающегося на одной строке. В качестве символа продолжения может использоваться любой символ, отличный от нуля или пробела. Строк продолжения не должно быть более 19-ти. Позиции с 7-й по 72-ю являются третьей зоной и служат для записи оператора. Последняя зона с 73-й по 80-ю позиции Фортраном не обрабатывается и может использоваться программистом по своему усмотрению. Например
123456789...................72 73.......80
24 y = sin(x**2) + 2*cos(1 - x)/
(метка) (о п е р а т о р)
* (1 + x)**2
(п р о д о л ж е н и е о п е р а т о р а )
В отличие от записи оператора, комментарии к программе записываются со 2-й по 80-ю позиции. Признаком комментария является наличие английской буквы "С" в первой позиции. Например
123456789.........................72 73.......80
С *** Программа к лабораторной работе № 1 ***
Комментарии могут присутствовать в конце строки записи операторов. Для этой цели используется восклицательный знак, после которого следует текст комментария:
123456789........................72 73.......80
24 y = sin(x) ! *** вычисление синуса ***
Константа – величина, значение которой задается в явном виде и в дальнейшем не меняется. Различают следующие типы констант: числовые, логические и символьные. Числовые константы бывают целыми и вещественными.
Целая константа представляет собой целое число:
81, -1230, 0, 225, ....
В Фортран-программе целые константы записываются в форме I (Integer), которая совпадает с записью целых чисел в алгебре.
Вещественная константа – действительное число:
562,401 0,362.10-4 2,57 -0,01276 1,0273.102
В программе вещественная константа может быть записана в одной из трех форм: F, E и D.
Форма F (Fixed) - форма с фиксированной точкой, представляет собой запись вещественной константы с десятичной точкой вместо запятой:
562.401 0.0000362 2.57 -0.01276 102.73
Формы Е (Exponential) и D (Double precision) – формы с плавающей точкой, представляют собой запись вещественной константы в виде мантиссы и порядка. Константа в форме Е имеет мантиссу длиной до 7 цифр и порядок в виде двузначного числа, обозначаемый буквой Е:
0.562401E+03 0.362E-04 0.257E+01 -0.1276E-01 0.10273E+03
а константа в форме D допускает мантиссу длиной до 15 цифр, ее порядок обозначается буквой D и может быть трехзначным числом:
0.562401D+003 0.362D-004 0.257D+01 -0.1276D-01 0.10273D+03
При записи порядка в формах E и D знак "+" и нуль в крайней левой позиции величины порядка могут быть опущены.
Логическая константа используется для обозначения одного из значений: "истина" или "ложь". Значения логической константы, соответственно, задаются ключевыми словами TRUE и FALSE, заключенными между точками:
.TRUE. или .FALSE.
Символьная константа представляет собой последовательность символов, заключенную в апострофы. Апострофы служат признаками начала и конца константы и не являются ее частью. Если последовательность символов содержит апостроф, то в константе он должен записываться в виде пары апострофов. Например, слова ForTran и O'Генри соответствуют символьным константам 'ForTran' и 'O''Генри'.
Переменная – символьное представление величины, которой могут присваиваться различные значения в процессе выполнения программы. Переменная характеризуется тремя параметрами: именем, типом и значением.
Имя переменной может включать в себя буквы латинского алфавита, цифры, знаки подчеркивания и $, но первым символом - всегда должна быть буква. Длина имени может быть от 1 до 31 символа, однако для распознавания используются только первые шесть. Строчные и прописные буквы в имени равносильны, а пробелы не рассматриваются как значащие. Например, имена переменных LONG, Long и L o n g воспринимаются транслятором как одно имя.
Тип переменной определяется по умолчанию или явно. По умолчанию тип переменной принимается числовым и определяется по первой букве ее имени. Если имя переменной, начинается с букв I, J, K, L, M, N, то ей приписывается целый тип, в противном случае - вещественный тип .
Явным способом тип переменной может быть определен с помощью операторов описания типов переменных:
тип[*длина] список
или
тип имя переменной[*длина] [[, имя переменной[*длина]]...],
где тип | – ключевое слово, определяющее тип переменной: Integer – числовой целый; Real – числовой вещественный; Logical – логический; Character – символьный; |
длина | – объем памяти в байтах, выделяемый для переменной указанного типа; |
список | – имя переменной [[,имя переменной]...] – перечень имен переменных данного типа, разделенных запятыми. |
Для переменных типа Integer и Real существуют две допустимые длины: стандартная – 4 байта, которая устанавливается по умолчанию, и дополнительная – 2 байта для целых переменных и 8 байт для вещественных. Переменным типа Logical указывать длину не требуется, так как она постоянна и равна 4 байтам. Длина символьных переменных может колебаться от 1 до 32767 байтов (символов). Например
Integer A, B, C*2
Real Lem, Io*8
Real Lambda
Logical R
Character First*15, SECOND*10
Операторы описания типов должны стоять в начале программы.
Выражение – это последовательность операндов (констант, переменных и функций), соединенных знаками операций и задающая некоторые вычисления. В зависимости от знаков операций, используемых в выражении, различают арифметические, логические и текстовые выражения.
Арифметическое выражение – это запись математической формулы с использованием констант, переменных, функций, знаков арифметических операций и круглых скобок. Для обозначения арифметических операций используются следующие знаки:
"+" | – сложение и | "-" | – вычитание; |
"*" | – умножение и | "/" | – деление; |
"**" – возведение в степень.
Правила составления арифметических выражений:
1. Все необходимые вычисления должны быть указаны явно, то есть все операнды должны быть разделены знаками арифметических операций. Например, запрещена запись 5.2A, требуется писать 5.2*A;
2. Два символа арифметических операций не могут следовать непосредственно друг за другом. Например, запрещена запись А*-B, требуется писать A*(-B);
3. Порядок выполнения арифметических операций следующий. В первую очередь вычисляются аргументы функций, затем вычисляются сами функции, затем производится возведение в степень, далее умножение и деление и, наконец, сложение и вычитание. Последовательно стоящие однотипные операции выполняются слева направо, кроме операций возведения в степень, которые выполняются справа налево;
1 2 3
D * C / K + D.
4. Использование скобок, как и в алгебре, изменяет последовательность выполнения операций;
2 1 3 4 1 3 4 2
A + B * K - D - 2; (A + B) * K - (D - 2)
5. Операция возведения в вещественную степень допустима только при положительном основании, в целую степень - при любом. Например, операция А**2.5 допустима при А > 0, а А**2 - при любых А;
6. Тип результата арифметического выражения соответствует типу одного из операндов, входящего в него и имеющего наивысший ранг. Ранги операндов определяются исходя из их типов и длин в соответствии с таблицей:
Integer*2 – ранг 1
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.