Вод/вывод елементов матрицы
Ввод элементов матрицы: 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)
Вложенные циклы Оператор цикла может содержать в себе другие операторы цикла: вложенные (или внутренние). В таком случае области вложенных операторов циклов должны полностью покрываться внешним циклом. Управляющие переменные операторов внутренних циклов должны быть различными, а их области не должны перекрывать друг друга. Эти положения можно изобразить схематично (рис.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))
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, он (его содержимое) выводится на печать.
Задания к лабораторной работе № 4 Вариант № 1 Составить программу выборки минимального элемента из массива А (М, N). Использовать форматный вывод. ( М, N ≤ 20.) Вариант № 2 Составить программу выборки максимального элемента из массива А (М, N). Использовать форматный вывод. ( М, N ≤ 20.) Вариант № 3 Составить программу вычисления суммы отрицательных элементов из массива А (М, N). Использовать форматный вывод. ( М, N ≤ 20.) Вариант № 4 Составить программу вычисления суммы положительных элементов из массива А(М,N). Использовать форматный вывод. (М, N ≤ 20.) Вариант № 5 Составить программу вычисления количества положительных элементов в массиве А (М, N). Результат распечатать. (М, N ≤ 20.)
Вариант № 6 Составить программу вычисления количества отрицательных элементов в массиве А (М, N). Использовать форматный вывод. ( М, N ≤ 20.)
Популярное: Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... Почему стероиды повышают давление?: Основных причин три... Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (305)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |