![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Правильная организация циклов Неправильная–циклы перекрываются.Содержание книги
Поиск на нашем сайте
Рис. 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 =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.)
4.5 Пример выполнения задания лабораторной работы № 4 Тема: Работа с двумерными массивами. Цель работы: Составление программы для обработки элементов двумерных массивов. Теория: Краткие сведения из теории ………
Пример варианта задания: Составить блок-схему (рис 9.) и программу выборки минимального элементаизмассива А (М, N), используя форматный вывод. (М, N≤ 20)
PROGRAM MIN_EL
READ(5,*) N, M
-2 5 3 1 0 25 7 11 9
Ответ: AMIN -2 Рис. 9
РАЗДЕЛ V. Лабораторная работа № 5
Программные единицы Все рассмотренные до сих пор программы состояли из одной программной единицы, начинавшейся с оператора PROGRAM. Однако программа на Фортране может состоять из нескольких программных единиц. Такая составная программа всегда содержит главную программную единицу, или главную программу, и одну или несколько подпрограмм. Главная программа, как следует из названия, является ведущей программной единицей, и обработка всей программы начинается с первого исполняемого оператора главной программы. При записи на диске или на бумаге главную программу обычно располагают в начале всей программы, за главной программой следуют подпрограммы. Порядок следования подпрограмм значения не имеет. Нередко последовательность команд, выполняющих конкретное вычисление, необходимо повторить в нескольких различных точках программной единицы. Записывать эту последовательность команд несколько раз слишком трудоемко. Существует специальный механизм, позволяющий записать последовательность команд только один раз и выполнить ее в тех точках программы, где это необходимо. Для этого нужная последовательность команд соответствующим образом оформляется, в виде отдельной программной единицы, называемой подпрограммой. Идея подпрограммы оказалась очень плодотворной, стало возможным создание больших библиотек подпрограмм, написанных специалистами, компоновка сложных программ из библиотечных подпрограмм и подпрограмм, написанных программистом. Программист избавлен, таким образом, от необходимости тратить массу времени на написание своих собственных программ, выполняющих стандартные, математические вычисления. Эта идея использована и при построении стандартных функций Фортрана. Например, в операторе Х = - В + SQRT(В*В - 4.0*А*С) находится значение аргумента функции SQRT (т.е. делаются вычисления в скобках). Затем переход ко встроенной функции (т.е. подпрограмме) SQRT, которая выполняет последовательность команд по вычислению квадратного корня. Найденное значение корня возвращается в арифметическое выражение и вычисление значения этого выражения продолжается.
Имеются два основных типа подпрограмм: FUNCTION (подпрограммы – функции) и SUBROUTINE подпрограммы. FUNCTION во многом подобна стандартным функциям языка Фортран, вычисляет единственное значение и возвращает управление в вызывающую программную единицу вместе с вычисленным значением. SUBROUTINE - подпрограммы позволяют решать более сложные задачи, например, такие как сортировка чисел в массиве, вычислять координаты центра тяжести тел сложной формы, выполнять сложные операции вывода и т.п. Программная единица, из которой осуществляется вызов подпрограммы, называется вызывающей программной единицей или программным модулем. Часто это главная программа, но вызывающей программной единицей может быть и подпрограмма. В Фортране запрещен вызов подпрограммы из самой себя непосредственно или через другую программную единицу. 5.2. Оператор FUNCTION Определение подпрограммы - функции всегда начинается с оператора FUNCTION. За ним указывается имя функции, а затем - список аргументов в скобках. Перед ним может быть описатель типа REAL или INTEGER. Таким образом, общая форма оператора определения функции имеет вид: тип FUNCTION имя (список аргументов) Имя функции дается по общим правилам для имен переменных. Следует избегать употребления в операторе FUNCTION имен стандартных функций. Если выбранное имя функции совпадает с именем стандартной функции, то будет вычисляться значение стандартной функции, за исключением случаев, которые будут рассмотрены позже. Возвращаемое в вызывающую программную единицу вычисленное значение связано с именем функции, поэтому тип этого значения определяется либо по имени функции в соответствии со стандартным соглашением о типах, либо типом функции, явно указанным в операторе FUNCTION. Информация, необходимая для вычисления значения функции, передается из вызывающей программной единицы через аргумент функции. Тип аргументов и их количество зависят от назначения функции. В качестве аргументов функции чаще всего используются простые вещественные и целые переменные. Аргументы отделяются друг от друга запятыми. Весь список аргументов заключается в скобки. Скобки обязательно должны быть, даже если аргументов нет. Теперь рассмотрим примеры операторов FUNCTION F(X) Этот оператор определяет функцию с именем F, вычисляющую вещественное значение. Она имеет один вещественный аргумент, обозначенный в определении функции буквой X. Оператор REAL FUNCTION LONG(А, В) определяет функцию с именем LONG, которая вычисляет вещественное значение и имеет два аргумента вещественных, обозначенных буквами А и В. Если бы не был указан тип функции REAL, то функция LONG в соответствии с соглашением о типах вычисляла бы целое значение. При использовании этой функции необходимо в вызывающей программной единице объявить имя - LONG вещественным при помощи оператораREAL.
Оператор INTEGER FUNCTION COUNT (I, J, Y) определяет функцию с именем COUNT, которая выдает целое значение и имеет два целых аргумента I и J и один вещественный аргумент Y. Оператор FUNCSION NCHEK () определяет функцию с именем NCHEK, которая выдает целое значение и не имеет аргументов, однако скобки в записи оператора опустить нельзя.
|
||||||||||||||||
Последнее изменение этой страницы: 2016-04-07; просмотров: 319; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.221.84.179 (0.008 с.) |