
- •Методические указания
- •Введение
- •1. Операционная система (ос)
- •1.1. Семейство операционных систем Windows
- •1.3 Магнитные диски
- •Раздел I. Контрольная работа (части I и II). Лабораторная работа №1
- •1.1. Общие сведения о языке Фортран. Этапы обработки программ
- •1.1.2 Основные символы и ключевые слова фортраНа
- •1.1.3 Основные элементы фортраНа
- •1.1.4 Типы данных в фортраНе
- •1.1.5 Арифметические выражения и операции
- •1.1.6 Операции над вещественными и целыми величинами
- •1.1.7 Возведение в вещественную степень ( )
- •1.1.8 Возведение в отрицательную степень
- •1.1.9 Корень квадратный
- •1.1.9.1 Таблицы с примерами записей выражений на Фортране:
- •1.1.9.2 Операции отношения
- •1.1.9.3 Логические значения
- •1.1.10 Тригонометрические функции
- •1.1.11 Обратные тригонометрические функции
- •1.1.12 Арифметический оператор присваивания
- •1.2 Запись программ на Фортране
- •1.2.1 Обработка программ на компьютере
- •1.2.2 Оператор бесформатного ввода read
- •Read(5,*) список
- •1.2.3 Операторы вывода
- •1.2.4 Отчет по лабораторной работе
- •1.2.5 Оператор parameter
- •1.2.6 Блок-схемы
- •1.2.7 Алгоритм выполнение практической работы
- •1.2.8 Консоль- проект
- •1.3 Задания к контрольной работе (часть 1)
- •1.3.1 Оператор format
- •Вывод по спецификации е12.5 Таблица №10
- •1.3.2 Задания к контрольной работе (часть 2)
- •1.3.3 Пример выполнения контрольной работы (часть1, 2)
- •Вопрос 1. (часть 1)
- •Вопрос 2.
- •Логическое выражение на фортране
- •Вопрос 3.
- •Вопрос 4. (часть 2.)
- •1.3.4 Задания к лабораторной работе № 1
- •1.3.5 Пример выполнения лабораторной работы № 1
- •1.3.6 Метки операторов
- •1.3.7 Форматный ввод
- •Раздел II. Лабораторная работа № 2
- •2.1. Алгоритмы
- •2.2 Рассмотрим пример составления схем алгоритмов.
- •2.3 Операторы передачи управления.
- •2.4 Вычисляемый оператор перехода
- •2.5 Условный арифметический оператор if:
- •2.6 Логический условный оператор if.
- •2.8 Задания к лабораторной работе № 2
- •Раздел III. Лабораторная работа № 3
- •3.1 Циклический алгоритм
- •3.2 Вспомогательные операторы управления
- •3.3 Оператор паузы
- •3.4 Массивы. Общие сведения о массивах
- •3.5 Оператор dimension
- •3.6 Индексные выражения
- •3.7 Ввод – вывод одномерных массивов (в/в)
- •3.8 Оператор цикла do
- •3.9 Задания к лабораторной работе № 3
- •3.10 Пример выполнения задания лабораторной работы № 3
- •Раздел IV. Лабораторная работа № 4
- •4.1 Дополнение к оператору цикла do
- •4.2 Двумерные массивы
- •4.2.1 Вод/вывод елементов матрицы
- •4.3 Вложенные циклы
- •4.4 Задания к лабораторной работе № 4
- •4.5 Пример выполнения задания лабораторной работы № 4
- •Раздел V. Лабораторная работа № 5
- •5.1. Программные единицы
- •5.2. Оператор function
- •5.3 Другие операторы, входящие в подпрограммную–функцию
- •5.4. Обращение к подпрограмме – функции
- •5.5 Примеры решения заданий к лабораторной работе № 5
- •5.6 Задания на тему: составление подпрограмм типа function .
- •Раздел VI. Лабораторная работа № 6
- •6.1 Подпрограммы типа subr0utine
- •6.2 Правила установления соответствия между формальными и фактическими аргументами при обращении к подпрограммам
- •6.3 Примеры выполнения задания к лабораторной работе № 6
- •6.4 Задания на тему: составление подпрограмм типа subr0utine.
- •Рекомендуемая литература
- •Раздел 5.6 ; задание 2)
- •Раздел 6.4 ; задание 1)
- •Раздел 6.4 ; задание 2)
- •Раздел 6.4 ; задание 3)
- •Раздел 5.6 ; задание 2)
- •Введение…………………………………………............………………..…….……......3
- •1. Операционная система (ос)…………..………..………….…………..………..…...3
- •Раздел I. Контрольная работа (части I II). Лабораторная работа №1…………......5
- •Раздел II. Лабораторная работа № 2..……………..…………………………….....33
- •Раздел III. Лабораторная работа № 3 ………………………………………........40
- •Раздел IV. Лабораторная работа № 4 …………………………………………......48
- •Раздел V. Лабораторная работа № 5………………………………..………........52
- •Раздел VI. Лабораторная работа № 6……………………………..…………..…..58
4.2.1 Вод/вывод елементов матрицы
Ввод элементов матрицы: DIMENSION A(20,20)
DIMENSION A(20,20) ЛИБО READ *, M, N
READ (5, *) M, N DO 11 I=1, M
READ (5, *) ((A (I, J), J = 1, N), I =1, M) READ *, (А(I,J), J=1, N)
11 CONTINUE
Здесь должно выполняться условие М ≤ 20, и N≤ 20. Кроме вложенного неявного цикла, возможен ввод с использованием явного оператора цикла.
Вывод элементов матрицы:
PRINT*, ((A (I, J), J = 1, N), I =1, M)
* Либо с автоматическим созданием файла на диске для вывода данных:
WRITE (7,1) ((A (I, J), J = 1, N), I =1, M)
1 FORMAT (5X, 4F10.3)
4.3 Вложенные циклы
Оператор цикла может содержать в себе другие операторы цикла: вложенные (или внутренние). В таком случае области вложенных операторов циклов должны полностью покрываться внешним циклом. Управляющие переменные операторов внутренних циклов должны быть различными, а их области не должны перекрывать друг друга. Эти положения можно изобразить схематично (рис.8):
DO
100 I
= 1, 20,2 DO
80 I=2,
20, 2 DO
80 I=1,10
……………………. …………………… ………………
……………………. DO
95 J = 1,7
………………
DO
90 K = 1, 5 ……………………
DO 60 J=1,25
…………………….
95 CONTINUE
………………
90
ONTINUE ……………………
50 CONTINUE
…………………… DO 80 K = I, N ………………
…………………… …………………… 60 CONTINUE
100 CONTINUE 80 CONTINUE
Правильная организация циклов Неправильная–циклы перекрываются.
Рис. 8
Конечный оператор цикла не может быть оператором: перехода, цикла, условным оператором, возврата, паузы и останова. Если цикл, по условию задачи, должен быть закончен одним из “запрещенных ” операторов, то в качестве конечного оператора цикла рекомендуется использовать оператор продолжения CONTINUE, разместив его после “запрещенного” оператора.
Пример: вычислить сумму элементов каждого столбца прямоугольной матрицы. Суммы разметить в массиве S.
В программе необходимо оператором DIMENSION зарезервировать место в памяти ЭВМ для массивов А и S, т.е. двумерный массив А(50, 40)и одномерный массив S(40). Тогда программа может иметь следующий вид:
PROGRAM SUMSTO
DIMENSION A (50,40), S (40)
PRINT*, ‘Введите количество строк N и столбцов К в массиве А’
READ (5, *) N, K
PRINT*, ‘Введите элементы массива А по строкам ’
READ (5, *) ((A (I, J), J=1,K), I=1,N)
PRINT*, ((A(I,J), J=1,K), I=1,N)
* PRINT 50, ((A(I,J), J=1,K), I=1,N)
* 50 FORMAT(2X, ' ИСХОДНАЯ МАТРИЦА A ' , / (2X,3F6.1))
J
K I
N
SUM = 0.
DO
10 J=1, N
SUM =SUM + A (J, I)
10 CONTINUE
S (I) =SUM
15 CONTINUE
PRINT *, ‘ СУММЫ ЭЛЕМЕНТОВ СТОЛБЦОВ’
PRINT*,‘ S (I)= ’, (S(I), I=1,K)
END
В этой программе ввод элементов матрицы осуществляется по строкам, оператором ввода: READ(5, *) ((A (I, J), J=1,K), I=1,N) (неявный цикл). Затем занулением создается ячейка SUM, для суммирования элементов каждого столбца, что выполняется вложенным циклом DO. Сумма элементов каждого столбца заносится в массив S, в результате работы внешнего цикла DO. Когда все столбцы просуммированы и занесены в массив S, он (его содержимое) выводится на печать.