Информатика 1курс
Лаб.работа F2
Цель занятия:
1. Знакомство с ФОРТРАНОМ
2. Знакомство с оболочкой Compaq Development Studio
3. Операторы IF, DO
4. Вложенные циклы
5. Массивы в Фортране
6. Отладчик
7. Проверка лаб.F2
Чтобы Ваши файлы были Вам всегда доступны, ЗАВЕДИТЕ себе дискету или “флешку” и храните все свои исходные файлы на ней !!! Но никогда не работайте с дискеты (дискета – расходный материал).
0. Проверьте подключения сетевых дисков:
Работа выполняется с помощью файлового менеджера TotalCommander!!
Total Commander – Сеть - Подключить сетевой диск)
Откроется знакомое окно подключения к сетевым дискам.
Подключите сетевые диски: ( см. Lab_D1)
T: - Tasks - X-Files\ Students\Tasks – задания для студентов
E: - Exchange - X-Files\ Students\Exchange .
( Если эти буквы зарезервированы под другие сетевые диски, то ВНАЧАЛЕ отключите сетевой диск)
Проверьте свою работу с файлами:
У Вас на диске Z: должен быть каталог – Inform( создавали на 1 занятии).
Всё, что относится к Информатике должно быть в этом каталоге. Например, у Вас должен остаться каталог Inform\Lab_F1. ДРУГИХ каталогов и файлов быть НЕ ДОЛЖНО. Удалите ВСЁ лишнее. Правильность работы с файловой системой будет проверяться и ИСПРАВЛЯТЬСЯ ! во время приёма заданий по Фортрану.
Скопируйте каталог T:\Informatika\ Lab_F2 в свой каталог Inform (на диск Z: ).
Перейдите в каталог Z:\ Inform \ Lab_F2 (диск Z:)
Откройте текст лабораторной работы Lab_F2.doc
10 мин. От начала занятия:
1. Разбор работы программы F2_1.FOR
Загрузить программу F2_1.FOR
a) Нажать (2 раза) на имя файла F2_1.FOR, вызвав автоматически оболочку Fotran’a для файлов с расширением FOR (F90).
б) Или Пуск-Программы-Compaq Visual Fortran 6 – Developer Studio
(File – Open - … - F2_1.FOR)
Программа имеет расширение FOR и по умолчанию написана в позиционной форме записи: 1-5 позиции – метка, 6 - колонка продолжения, 7-… инструкция
Обратите внимание на структуру программы
Заголовок
НАЧАЛО
ОПИСАНИЯ
[ИНИЦИАЛИЗАЦИЯ]
Исполняемая часть
КОНЕЦ
- Блок: ИНСТРУКЦИИ ОПИСАНИЯ
DOUBLE PRECISION A,B - вещественные переменные двойной точности
Выделите мышкой оба слова DOUBLE PRECISION (или установите курсор внутрь слова) и нажмите F1 : загрузится окошко справки
COMPLEX - так вводятся комплексные переменные
CHARACTER - так вводятся текстовые переменные
- Блок: ИНСТРУКЦИИ ИНИЦИАЛИЗАЦИИ
PARAMETER(BOOL1=.FALSE.) ! инструкция параметр служит для задания значения именованных констант (логическая переменная BOOL1 теперь не может измениться в программе)
DATA I, A, B /10, 3, 123456789D+5/ ! инициализация списка переменных явным списком констант I=10, A=3, B=123456789D+5 (двойн.точность)
- Блок: ИНСТРУКЦИИ Присваивания
Обратите внимание, что в операции Y= 1/7, осуществляется целочисленное деление, целое делится на целое и поэтому результат имеет такой же тип – целый, и только затем происходит присваивание Y, с преобразованием целого значения к вещественному.
PAUSE – команда приостановки, может (или не может) сопровождаться отладочной информацией: числом или строкой, разной длины под разными компиляторами
Блоковое и логическое IF (повтор):
Блоковое – имеет условие в круглых скобках, затем !!! THEN. Множество альтернатив с условиями ELSE IF и одна безусловная альтернатива ELSE. Заканчивается оператор END IF
IF (Условие1) THEN
Действия1
ELSE IF (Условие2) THEN
Действия2
ELSE
Действия3
END IF
Логическое IF: запись в ! одну строку, поэтому нет THEN
Следует откомпилировать, скомпоновать и запустить программу F2_1.FOR.
2. Разбор работы программы F2_2.FOR
- Блок: МАССИВЫ
REAL ARRAY(5) в массиве ARRAY 5 элементов
REAL SUM(-5:30) ! SUM – массив вещественных переменных, индексы массивов могут быть отрицательными, в массиве SUM 36 элементов.
!!! Посмотрите справку для SUM (<F1>) . В Фортране НЕТ зарезервированных имен!!!, поэтому компилятор в данной программе будет использовать имя SUM, как идентификатор, а не как вызов функции. Такое двойное использование имен опасно из-за появления неконтролируемых ошибок. Существует простая рекомендация по именам переменных пользователя – имена переменных не должны совпадать с ключевыми словами !
INTEGER DIFF(3, 8, -1:5) ! массивы могут быть многомерными
(размерность до 7)
DIFF - трехмерный массив, по первым 2-м измерениям индексы меняются от 1 до 3 и от 1 до 8, а по 3-му от –1 до 5
CHARACTER *7 S1, S2 *4, S3 ! текстовые переменные S1,S3 длиной 7 знаков
и S2 длиной 4 знака, т.е. длина - *7 относится ко всем переменным в строке, а для S2 длина *4 указана отдельно.
CHARACTER * (*) NAME размер NAME будет задан позже, а пока описан с помощью (*)
- Блок: ИНСТРУКЦИИ ИНИЦИАЛИЗАЦИИ
PARAMETER(Name='FileName') ! инструкция параметр служит для задания значения именованных констант (не изменяются в программной компоненте)
DATA ARRAY/1.,2.,3.,4.,5./ ! инициализация списка переменных (здесь - массива ARRAY) явным списком ВЕЩЕСТВЕННЫХ констант
DATA DIFF/168*-1/ ! использование коэффициента повторения 168
DATA (SUM(I),I=-5,30)/-5.,-4.,-3.,-2.,-1.,31*0./
! использование «неявного» DO – цикла по I
! для перебора элементов массива SUM
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.