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

Ввод с клавиатуры

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

Read(*,*)список ввода

Оператор состоит из ключевого слова Read, за которым следуетсписок ввода. Первый символ «*» после ключевого слова означает, что информация вводится с клавиатуры. Второй символ «*» означает, что формат ввода определяется компилятором по умолчанию. Переменные, значения которых вводятся, перечислены всписке вводаи разделены запятыми.

Пример:

Read(*,*) a, b

При выполнении оператора Readв программе возникает пауза, позволяющая набрать на экране вводимые значения переменных. Количества и типы набираемых значений должны соответствовать количеству и типам переменных в списке ввода оператора Read. После окончания набора и нажатия клавиши <Enter> данные с экрана вводятся в переменные из списка ввода и работа программы продолжается. Если список ввода пуст, для прекращения возникшей паузы следует нажать клавишу <Enter>.

Диалог для ввода исходных данных

Пауза, сопровождающая выполнение оператора Read(*,*), может обескуражить пользователя, если не пояснить, чем она вызвана. Грамотный ввод данных с клавиатуры предполагает запрос данных перед вводом. Для запроса используется операторWrite(*,*). Последовательное выполнение операторовWrite иRead будем называтьдиалогом. Пример диалога:

Write(*,*) "Введи два целых положительных числа"

Read(*,*) a, b

Во время паузы, возникшей при выполнении оператора Read,запрос на экране покажет пользователю, чего «ждет» компьютер.

Работа с файлами

Далеко не всегда удобно вводить данные в программу с клавиатуры и выводить их на экран компьютера. Для подготовки исходных данных и сохранения результатов работы программы используются файлы.

Файл – последовательный набор данных, хранящийся на каком-либо физическом носителе и имеющий собственное имя.

Перед началом работы с файломнеобходимо связать его имя с определенным номером (номером устройства). Для этого служит операторOpen. Примеры:

Open(1, file=in.txt)

Open(2, file=out.txt)

Здесь имя файла in.txtсвязано с номером устройства 1, а файлаout.txt– с номером устройства 2. Чтобы прочитать или записать информацию в файл, нужно в операторахreadилиwriteиспользовать номер устройства:

Read(1,*) a, b

Write(2,*) "a =", a, " b =", b, " a+b =", a+b

Второй символ «*» в операторах ReadиWriteозначает, что формат выбирается компилятором по умолчанию.

Оператор Closeотсоединяет файл от логического устройства (“закрывает” файл):

Close (номер устройства)

Не обязательно явно закрывать открытые файлы. При нормальном завершении программы каждый файл, открытый в ней, закрывается.

Оператор присваивания

Оператор присваивания записывается в виде: переменная = выражение.

Оператор выполняется следующим образом: сначала вычисляется значение выражениясправа от «=», затем полученный результат присваиваетсяпеременнойслева от «=». После выполнения присваивания прежнее значение переменной утрачивается.

В отличие от математических формул знак «=» трактуется не как тождество, а как присваивание. К моменту выполнения оператора переменные, входящие в выражение, должны быть определены.

Нечисловые типыпеременной и выражения должны быть одинаковы.

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

Примечание.Поскольку выражение вычисляется раньше, чем выполняется присваивание, одно и то же имя может быть указано в операторе одновременно слева и справа от знака «=». Например,k=k+1означает, что текущее значение переменнойkувеличивается на 1.

Примеры операторов присваивания.

Н=14

Y=sin(x)

Line = ‘Fortran’

Соседние файлы в папке Фортран_Лекции