Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Farionova_Fortran

.pdf
Скачиваний:
18
Добавлен:
15.02.2015
Размер:
2.71 Mб
Скачать

МИНИСТЕРСТВООБРАЗОВАНИЯИНАУКИ, МОЛОДЕЖИИСПОРТАУКРАИНЫ Национальныйуниверситеткораблестроения имени адмирала Макарова

Т. А. ФАРИОНОВА, В. А. ОПАНАСЕНКО

ОСНОВЫ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И ПРОГРАММИРОВАНИЯ

(язык программирования Фортран)

Учебное пособие

Рекомендовано Методическим советом НУК

Электронноеизданиекомбинированного использования на DVD-ROM

НИКОЛАЕВ • НУК • 2011

УДК004.41: 004.42: 004.43

ББК73

Ф24

Автори: Т. А. Фаріонова, канд. техн. наук, доцент; В. А. Опанасенко, ст. викладач

Рецензенти: К. В. Кошкін, д-ртехн. наук, професор; Л. О. Латанська, канд. фіз.-мат. наук, доцент

ФаріоноваТ. А.

Ф24 Основиінформаційнихтехнологійтапрограмування(мовапрограмуванняФортран) : навч. посібник/ Т. А. Фаріонова, В. А. Опанасен-

ко. – Миколаїв: ВидавництвоНУК, 2011. – 109 c.

Посібник містить теоретичний матеріал, приклади розв'язання задач, питання для самоконтролю, список літератури, необхідної при вивченні курсу, а також основні визначення, принципи побудови алгоритмів, опис основних керуючих структур та типів даних для написання обчислювальних програм мовою програмування Фортран.

Призначено для студентів інженерних спеціальностей, а також буде корисним для студентів, аспірантів, чия професійна діяльність пов'язана з розрахунками на комп'ютерах за програмами власної розробки з використанням алго-

ритмічної мови Фортран.

УДК 004.41: 004.42: 004.43

ББК 73

Навчальне видання

ФАРІОНОВАТетянаАнатоліївна ОПАНАСЕНКОВікторіяАнатоліївна

ОСНОВИ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ ТА ПРОГРАМУВАННЯ

(мова програмування Фортран) Навчальнийпосібник

(російською мовою)

РедакторН.О. Шайкіна

Комп'ютернескладаннятаверстанняВ.Г. Мазанко

КоректорМ.О. Паненко

ФаріоноваТ. А., ОпанасенкоВ. А., 2011

ВидавництвоНУК, 2011

р Фоам т06 ×84/16м. У р. дкук..ар3 . 6,

Обсяг даних 2671бк .

Тираж 14. Вид. № 12.

Зам. № 305.

ВидавецьівиготівникНаціональнийуніверситеткораблебудування, 54025, м. Миколаїв, просп. Героїв Сталінграда, 9

E-mail : publishing@nuos.edu.ua

Свідоцтвопровнесеннясуб'єктавидавничоїсправидоДержавного реєстру видавців, виготівників і розповсюджувачів видавничої продукції ДК № 2506 від 25.05.2006 р.

2

3

ВВЕДЕНИЕ

Вычислительная техника, использование передовых программных продуктов являются необходимой и неотъемлемой частью работы современного инженера. Широкое и разнообразное применение ЭВМ выдвигает высокие требования к их программному обеспечению. В то же время процесс создания программ требует от специалиста как проявления творчества, так и владения специальными знаниями и навыками.

Общепризнано, что с момента разработки и до сих пор Фортран является лучшим языком для решения инженерных и научных задач, получивширокоераспространениесредипользователей, занимающихся вопросамичисленногомоделирования.

Название языка Фортран произошло от Formula Translator – переводчикформул. ВисториипрограммированияФортран– живойклассический язык. Не одно поколение программистов выросло на Фортране. Многие критиковали этот язык за "примитивность", но, как оказалось, именнопростотаичеткостьпомоглиемужитьипостоянноразвиваться, сохраняяпреемственность, совершенствуясьипроходястандартизацию.

Это объясняется следующим:

1)существованиемогромныхфондовприкладныхпрограммнаФортране, накопленныхзапредыдущийпериод;

2)наличием эффективных трансляторов для различных типов машин, высокойэффективностьюпрограммногокода;

3)переносимостью надругиетипыЭВМ, работающиевразличных операционных системах, что достигается благодаря наличию стандартов языка;

4)простотойконструкцииязыка.

ВВЕДЕНИЕ

СмоментасозданияпервойсистемыФортранфирмойIBM в1950 г. по сегодняшний день было принято три стандарта языка. Все они предусматривают полную совместимость "снизу–вверх". Первый стандарт Фортран66 былпринятв1966 г., второйстандартФортран77 – в1978 г. В 1992 г. был принят новый стандарт Fortran 90, который и является предметомизучения. Вконце2004 опубликованновыймеждународный стандарт языка Фортран 2003.

4

Часть 1. БАЗОВЫЕ ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕССЫ И ИХ РЕАЛИЗАЦИЯ НА ЯЗЫКЕ ФОРТРАН

Тема 1. Алгоритм и его свойства. Основные понятия

языка Фортран. Арифметические и логические выражения. Разработкаиреализацияпрограмм

слинейнойструктурой

1.1.Алгоритм и его свойства

Алгоритм – это точное предписание, которое задает процесс, начинающийсяспроизвольногоисходногоданногоинаправленныйнаполучение полностью определяемого этим исходным данным результата. Алгоритм есть формальное предписание (указание), однозначно определяющее содержание и последовательность операций, переводящих определенную совокупность исходных данных в искомый результат.

Процесс разработки алгоритма называется алгоритмизацией

ипредставляетсобойпроцедурупоследовательногопреобразованияданных, называемых конструктивными элементам, происходящую дискретными"шагами".

Свойства алгоритмов (требования к алгоритмам):

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

2.Понятность. Алгоритм должен быть понятен исполнителю,

иисполнитель должен быть в состоянии выполнить его команды.

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

полнителями дает неодинаковый результат.

4. Результативность. При точном исполнении всех команд алгоритма процесс решения задачи должен прекратиться за конечное число

5

Тема1. Алгоритмиегосвойства ...

шагов и при этом должен быть получен определенный постановкой задачи ответ.

5. Массовость. Необходимо разрабатывать алгоритмы, обеспечивающие решение всего класса задач данного типа. Например, если составляетсяалгоритмрешенияквадратногоуравненияах2 + вх+ с= 0, он должен обеспечивать возможность решения для любых допустимых исходныхзначенийкоэффициентова, в, с.

Алгоритм может быть представлен в текстовом или графическом виде.

Блок-схема – это графическое представление хода решения задачи на ЭВМ (табл. 1.1).

Таблица 1.1. Основные элементы блок-схем

 

Название

Символ (рисунок)

Выполняемая функция

 

(пояснение)

 

 

 

 

 

 

 

 

 

1.

Блок вычислений

 

 

 

 

 

 

 

Вычислительное действие или

 

 

 

 

 

 

 

 

 

 

 

 

 

 

группа действий

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выбор направления выполне-

2.

Логический блок

 

 

 

 

 

 

 

ния алгоритма в зависимости

 

 

 

 

 

 

 

 

 

от условия

 

 

3.

Блоки ввода/вывода

 

 

 

 

 

 

 

Ввод или вывод данных вне

 

 

 

 

 

 

 

зависимости

от

физического

 

 

 

 

 

 

 

 

 

носителя

 

 

 

 

 

 

 

 

 

 

 

Вывод данных на печатающее

 

 

 

 

 

 

 

 

 

устройство

 

 

 

 

 

 

 

 

 

 

 

 

4.

Начало/конец

 

 

 

 

 

 

 

Начало или конец программы,

 

 

 

 

 

 

 

вход или выход в подпрограм-

(вход/выход)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

му

 

 

 

 

 

 

 

 

 

 

 

 

 

5.

Предопределенный

 

 

 

 

 

 

 

Вычисления

по

стандартной

 

 

 

 

 

 

 

или пользовательской подпро-

процесс

 

 

 

 

 

 

 

 

 

 

 

 

 

 

грамме

 

 

 

 

 

 

 

 

 

 

 

 

 

6.

Блок модификации

 

 

 

 

 

 

 

Автоматическое изменение па-

 

 

 

 

 

 

 

раметров

 

 

 

 

 

 

 

 

 

 

 

 

 

7.

Соединитель

 

 

 

 

 

 

 

Указание связи между пре-

 

 

 

 

 

 

 

рванными линиями в пределах

 

 

 

 

 

 

 

 

 

одной страницы

 

8.

Межстраничный

 

 

 

 

 

 

 

Указание связи между частями

 

 

 

 

 

 

 

схемы, расположенной на раз-

соединитель

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ных страницах

 

 

 

 

 

 

 

 

 

 

 

6

1.2. ОсновныепонятияязыкаФортран

Правила построения блок-схем:

1. Блок-схемавыстраиваетсяводномнаправлениилибосверхувниз, либо слева направо.

2. Все повороты соединительных линий

Начало

выполняются под углом 90 град.

 

 

Линейным называется алгоритм, в кото-

 

 

Вводисходных

ром результат получается путем однократно-

данных

го выполнения заданной последовательности

 

 

 

 

действийприлюбыхзначенияхисходныхдан-

 

 

Блок

ных. Операторы программы выполняются по-

вычислений

следовательно, одинзадругим, всоответствии

 

 

 

 

с их расположением в программе (рис. 1.1).

Вывод

 

результата

Рис. 1.1. Алгоритмическая

 

 

Конец

структураследования

1.2. Основные понятия языка Фортран

Алгоритмический язык – это способ описания алгоритма, понятный человеку и машине.

Алфавит алгоритмического языка Фортран состоит из 26 букв английскогоалфавита, 10 цифр, символа"пробел" испециальныхсимволов:

=, +, -, *, /, (, ), ., $, ', :, _, #, &, <, >. При этом не имеет значения,

прописнаябукваилистрочная.

Элементы языка:

ключевые слова и имена;

переменные, константы;

выражения;

операторы;

программные блоки.

Ключевые слова – последовательность литер, имеющая определенный смысл в языке, например названия типов переменных, команды ввода/вывода и др. Примеры ключевых слов: integer, real, if, else, end, endif.

Имяможнодатьконстанте, переменной, массиву, производномутипу данных, конструкции, программе, процедуре, функции, модулю. Вотли-

7

Тема1. Алгоритмиегосвойства ...

чие от математики в программировании объекты принято не обозначать, а именовать. Например: velocity лучше, чем V.

В Фортране действует следующее соглашение об именах:

вименахразрешаетсяиспользоватьтолькоанглийскиебуквы, причем малые и большие буквы не различаются компилятором;

помимо букв разрешается использовать цифры 0…9 и специальныесимволы"_" и"$";

первым символом имени может быть только буква;

в Фортане 90 допускается длина имени до 31 символа, в Фортра-

не 77 – до 8;

пробелыизнакипрепинания, русскиебуквы, атакжезнакиоперацийвименахнедопустимы.

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

Перед использованием переменные и константы объявляют при помощинеисполняемыхоператоровописания. Этиоператорыназывают еще типами данных (табл. 1.2).

Таблица 1.2. Типы данных

Тип

Fortran

Пример

Целые

INTEGER

5

Вещественные

REAL

3.14159

Комплексные

COMPLEX

(1.3,0.00)

Логические

LOGICAL

.true.

Символьные

CHARACTER

'd'

Различают пять типов констант:

три числовых типа – целые, вещественные, комплексные;

логические;

строки.

Каждому типу соответствует своя область допустимых значений, особый способ хранения в памяти компьютера и набор команд для их обработки. Различают явные и именованные константы. Именованные константы, как и переменные, объявляют в описаниях типа. Тип явной константы понятен по ее внешнему виду.

8

1.2.ОсновныепонятияязыкаФортран

Целая константа:

записывается в виде последовательности цифр, которым предшествует знак "–" или "+" (его можно опустить);

лежитвдиапазонеот–2147483648 до2147483647;

в памяти компьютера представляется точно;

действия над целыми выполняются точно;

по умолчанию записывается в десятичной системе счисления, но можно указать и другую систему счисления;

примеры записи целых констант: 7 +15 –262.

Вещественная константа:

содержит не десятичную запятую, а десятичную точку ".", как принято в Англии и Америке, например: 3.14 или 3. , причем точку, как признаквещественнойконстанты, опускатьнельзя, втовремякакнулевую целую или дробную часть числа – можно;

для малых и больших по порядку чисел предпочтительна экспо-

ненциальная форма 1.0Е-7 (число с мантиссой и порядком, обозначаемым "Е", вместо "×10 в степени") вместо фиксированной формы

0.0000001;

лежит в диапазонах: либо отрицательных чисел из [–3.40*1038, –1.17*10–38], либо равно 0.0, либо положительных чисел из

[+1.17*10–38,+3.40*1038];

число в памяти компьютера представлено нормализованной мантиссой 0.1m<1, содержащей семь цифр, и порядком из диапазона ±38;

даже в допустимом диапазоне в памяти компьютера представимо не любое число, так что часто хранится приближенное значение;

действия над вещественными числами выполняются с ошибками округления;

примерызаписивещественныхконстант:

3.14–7.0 160000.0 0.0000001 1.6Е+5 –0.0000000000023;

нуль можно записать так: 0.0 0. .0 и даже просто точкой;

при двойной точности 1.6D+5 порядок обозначен D вместо Е.

Комплексная константа:

записываетсяввидеупорядоченнойпарывещественныхконстант, разделенных символом "," и заключенных в круглые скобки, например

(–10., 8.2);

–10. – соответствует действительной части комплексного числа

–10+8,2i;

8.2 – соответствует мнимой части комплексного числа –10+8,2i.

9

Тема1. Алгоритмиегосвойства ...

Логические константы: .TRUE.–"истина" и .FALSE.– "ложь".

Символьная (строковая) константа:

это последовательность символов, заключенная в апострофы ('текст') или двойные кавычки ("O'K");

количество символов в константе называется длиной строковой константы (максимум – 32767);

символ "пробел" является значащим;

пример: 'при х=' – это строковая константа из шести символов.

Именованные константы задаются в операторе parameter, на-

пример:

real, parameter :: pi=3.14, e=2.71.

ПеременныевФортранеразличаютпотипу: целые, вещественные, комплексные, логические, символьные. Перечисленные пять типов называют базовыми, на их основе программист может определять в операторе type производные типы по своему усмотрению. Целесообразно для каждой переменной объявлять ее тип, не полагаясь на принцип "по умолчанию", который отменяется оператором implicit none.

Переменную объявляют:

целуювinteger, пример: integer x1, y1, m – илисинициализациейнекоторыхпеременных:

integer :: number=1, sec=2, al;

вещественную в real , пример: real X,

I15, Z;

комплексную в complex, пример:

complZ;

complex

complX,

complY,

логическую в операторе logical , пример:

 

 

logical

L1, L2;

 

строковую в операторе character:

 

после"*" указывают длинустрокидлявсехпеременных изсписка,

например:

 

STIN, STOUT;

character *70

character без указания длины, например: character ONE, first

– подразумевает длину, равную одному символу.

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

Все описанные элементы подвергаются обработке компилятором. Комментарий – текст, который компилятор пропускает. Если программисту нужно записать в тексте программы любую информацию,

10

1.3. Арифметические и логические выражения

например поясняющую код программы, названия и суть модулей, заметки "на полях", он может сделать это с помощью комментариев. Комментарий начинается с восклицательного знака "!".

Программа – это запись последовательности инструкций (операторов). Операторыбываютисполняемыеинеисполняемые. Исполняемые операторы задают некоторые действия, которые должны быть выполнены. Неисполняемые определяют различные свойства и соглашения в программе. Объекты, которые подлежат описанию или над которыми выполняются действия, называются операндами.

Правила записи программы в свободном формате:

длина строки текста не превышает 132 символа;

запись оператора может начинаться с любой позиции строки;

на одной строке могут размещаться несколько разделенных точкой с запятой операторов;

если строка текста завершается символом "&", то последующая строка рассматривается как строка продолжения;

в операторе FPS может быть до 7200 символов; число строк продолжения при свободном формате не может быть более 54;

любые расположенные между восклицательным знаком и концом строки символы рассматриваются как комментарий.

Файл с программой на языке Фортран имеет расширение .F90.

1.3.Арифметические и логические выражения

Выражение– этоконструкция, определяющаяпоследовательность действий, которые необходимо выполнить для вычисления какой-либо величины. Выражениясостоятизконстант, переменных, ссылокнастандартные функции (прил. А) и функции пользователя, операций с одним операндом, например–Х, илинесколькими операндами, напримерX+Y, круглых скобок. Выражение соответствует осмысленной математической формуле, записанной, в отличие от математики, последовательно символ за символом, т. е. в строку. В отличие от математики, объекты не обозначают буквами, а функции спецзначками – все именуются. Выражения, взависимостиоттипаобъектов, входящихвних, разбиваютна

арифметические, выполняющие действия над числами целого, вещественногоиликомплексноготипа;

логические, выполняющие действия над логическими величинами;

строковые, выполняющие действия над строками из символов.

11

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]