
- •Краткие теоретические сведения
- •Основные этапы подготовки задачи для решения на эвм
- •Математическое описание задачи
- •Разработка алгоритма решения задачи
- •Программирование.
- •Отладка программы
- •Непосредственное решение задачи на эвм
- •Введение в алгоритмический язык Фортран 90/95
- •Алфавит языка Фортран 90/95 Для записи текста программы на Фортране 90/95 используется алфавит, состоящий из:
- •Правила записи текста программы
- •Типы данных
- •Константы
- •Переменные
- •Имена (идентификаторы)
- •Описание переменных
- •Тип :: список объектов данных, разделенных запятыми
- •Структура программы
- •Встроенные функции
- •Выражения. Арифметические выражения
- •Оператор присвоения
- •Простой ввод/вывод
- •Программирование задач линейной структуры
- •Обработка ошибоккомпиляции
Простой ввод/вывод
Операторы ввода и вывода (В/В) предназначены для обеспечения обмена данными между внешними устройствами и оперативной памятью компьютера.
Процесс передачи данных с внешнего устройства в оперативную память называется вводом или чтением. Основными устройствами ввода являются клавиатура и дисковый файл.
Процесс передачи данных из оперативной памяти на внешнее устройство называется выводом или записью. Основными устройствами вывода являются монитор, принтер и дисковый файл.
При вводе данные из текстового представления преобразуются во внутреннее, а при выводе – из внутреннего преобразовываются во внешнее (текстовое). При этом преобразования ввода-вывода можно задать дескрипторами (описателями) преобразований. В простейшем случае можно использовать ввод-вывод, в котором преобразования выполняются в соответствии с установленными по умолчанию правилами (бесформатный В/В). Такого рода преобразования обеспечиваются управляемым списком ввода-вывода.
В языке Фортран определены следующие операторы В/В: read,write иprint.
Операторы бесформатного ввода с клавиатуры и вывода на экран, управляемые списком, можно записать одним из следующих способов:
read (*, *) список ввода ! Ввод с клавиатуры
read *, список ввода ! Ввод с клавиатуры
write (*, *) список вывода ! Вывод на экран
print *, список вывода ! Вывод на экран
Список ввода устанавливает величины, которые нужно ввести. Элементами списка ввода могут быть только имена переменных, разделенные символом "запятая".
Список вывода устанавливает величины, которые надо вывести. Элементами списка вывода могут быть переменные и выражения любого типа и вида (константные, арифметические, логические).
Последняя или единственная звездочка в операторах означает, что В/В управляется списком (бесформатный).
В операторах, содержащих две звездочки, заключенные в скобки и разделенные запятой, первая задает устройство В/В:
- клавиатуру – для оператора read;
- экран – для операторов write иprint.
Некоторые правила бесформатноговводапод управлением списка ввода:
- в качестве разделителей вводимых с клавиатуры значений можно использовать пробел, запятую или запятую вместе с пробелом:
- ввод завершается нажатием клавиши Enter;
- каждый оператор ввода выполняет ввод с начала новой записи (запись –это строка символов, завершаемая символом ”Возврат каретки”;
- если число элементов списка больше числа полей записи, то для ввода недостающих значений оператор ввода перейдет к следующей записи;
- для ввода значения логической переменной достаточно набрать Т или F.
- символ "слэш" (/), введенный в поле записи означает конец информации, воспринимаемой данным оператором ввода.
Внимание!Операторreadприсваивает значения элементам списка в том порядке, в котором они располагаются в списке, слева направо.
Пример. Ввести значения а=2; b=5 и c =10,5
implicit none
integer :: a, b
real :: c
. . .
read *, a, b, c ! Предполагается ввод с клавиатуры значений переменных a,b, иc
. . .
Выполняем ввод с клавиатуры в виде:
2510.5! Используется одна запись (символозначает пробел)
или
2, 5, 10.5 ! Используется одна запись
или
2
5 ! Используются три записи
10
Ввод в виде 25 / 10.5 означает, что переменныеаиbпримут соответственно значения 2 и 5, а значение для переменнойс не будет введено.