русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Программирование алгоритмов циклической структуры


Дата добавления: 2014-12-02; просмотров: 637; Нарушение авторских прав


 

Номера примеров указаны в соответствии с номерами схем вычислений данных задач, разработанных в пункте 4.2. Циклические вычислительные процессы.

Пример 4. Задан массив по имени А, состоящий из 20 элементов, Аi , i = 1,2,…,20. Написать программу вычисления суммы и произведения элементов этого массива.

Алгоритм вычисления разобран в п. 4.2, схема вычисления представлена на рис.4. имена переменных в программе выбраны в соответствии со схемой.

Исходные данные элементы массива А - это переменные действительного типа. Разместим элементы в файле. При вводе используем 1-й способ. Результаты вычисления сумму S и произведение P выведем на дисплей под управлением списка. Для “читаемости” программы запишем ее с комментариями. Причем в первой строке программы расположен комментарий, в котором указана постановка задачи (в дополнении можно указать автора программы и любую другую информацию). Такой подход реализован и в последующих программах.

Текст программы представлен ниже.

 

* Вычисление суммы S и произведения P массива

DIMENSION A(20)

* Ввод массива.

READ(1,*)A

* Задание начальных значений S и P

S = 0

P = 1

* Организация цикла

DO I = 1,20,1

S = S + A(I)

P = P * A(I)

ENDDO

* Печать результатов

WRITE(*,*)’ S=’,S,’ P=’,P

STOP

END

 

Пример 5. Задан массив X, состоящий из 10 элементов, Xj, j=1,…,10. Написать программу вычисления произведения положительных элементов этого массива.

Алгоритм вычисления разобран в п. 4.2, схема представлена на рис.5.

Исходные данные – переменные действительного типа. Разместим элементы массива в файле. При вводе массива используем 1-й способ, результат выведем на дисплей под управлением списка.

При вычислении произведения положительных элементов используем структурный логический оператор IF. Текст программы с комментариями представлен ниже.



 

* Вычисление произведения положительных элементов массива

DIMENSION X(10)

* Ввод массива

READ(1,*)X

* Задание начального значения P

P = 1

* Организация цикла

DO J = 1,10,1

* Выбор положительных элементов и вычисление произведения

IF(X(J) > 0)THEN ! или IF(X(J) .GT. 0) THEN

P = P*X(J)

ENDIF

ENDDO

* Печать результата.

WRITE(*,*)’ P=’,P

STOP

END

 

Пример 7. Задан массив X, состоящий из 20 элементов, XI, I=1,…,20. Составить программу вычисления среднего арифметического значения положительных элементов.

Алгоритм вычисления разобран в п. 4.2, схема вычисления представлена на рис.7. Имена переменных в программе выбраны в соответствии со схемой.

Исходные данные – элементы массива X разместим в файле. При вводе используем 1-й способ, т.е. введем по имени массива. Результат выведем на дисплей под управлением списка. При написании программы используем комментарии. Текст программы представлен ниже.

 

* Вычисление среднего арифм. значения положительных элементов

DIMENSION X(20)

* Ввод массива

READ(1,*)X

* Задание начальных значений

S = 0

K = 0

* Организация цикла

DO I = 1,20

* Выбор положительных элементов и подсчет их суммы и количества

IF(X(I) >= 0)THEN ! или IF(X(J) .GE. 0) THEN

S = S + X(I)

K = K + 1

ENDIF

ENDDO

* Проверка числа элементов К=0? Печать результата

IF(K = = 0)THEN ! или IF((K .EQ. 0)) THEN

WRITE(*,*)’ Положительных элементов нет’

ELSE

R = S/K

WRITE(*,*)’ Среднее арифметическое R=',R

ENDIF

STOP

END

 

Пример 8. Заданы два массива AI, I = 1,…,25, и BJ, J = 1,…,30. Составить программу вычисления количества положительных элементов в каждом массиве. Определить в каком массиве больше положительных элементов.

Алгоритм вычисления представлен в п. 4.2, схема вычисления – на рис. 8. Имена переменных в программе соответствуют именам переменных в схеме.

Элементы исходных массивов разместим в файле и введем по имени массивов. Результаты выведем на дисплей под управлением списка.

Текст программы с комментариями представлен ниже.

 

* Вычисление количества положительных элементов в массивах

DIMENSION A(25),B(30)

* Ввод массивов

READ(1,*)A

READ(1,*)B

* Задание начальных значений

KA = 0

KB = 0

* Организация цикла по параметру I

DO I = 1,25

* Выбор положительных элементов массива A и подсчет их количества

IF(A(I) > = 0)THEN ! или IF(A(I) .GE. 0) THEN

KA = KA + 1

ENDIF

ENDDO

* Организация цикла по параметру J

DO J = 1,30

* Выбор положительных элементов массива B и подсчет их количества

IF(B(J) > = 0)THEN ! или IF(B(J) .GE. 0) THEN

KB = KB + 1

ENDIF

ENDDO

* Печать количества положительных элементов KA и KB

WRITE(*,*)KA,KB

* Определение числового соотношения положительных элементов

IF(KA > KB )THEN ! или IF(KA .GT. KB) THEN

WRITE(*,*)’ В массиве A больше пол. элементов’

ELSE

IF(KA < KB)THEN ! или IF(KA .LT. KB) THEN

WRITE(*,*)’ В массиве B больше пол. элементов’

ELSE

WRITE(*,*)’ Количество пол. элементов совладает’

ENDIF

ENDIF

STOP

END

 

Пример 9. Задан массив YJ, J=1,…,30. Составить программу нахождения максимального (наибольшего) элемента этого массива.

Алгоритм вычисления представлен в п. 4.2, схема вычисления – на рис.9. Имена переменных в программе выбраны в соответствии с именами переменных в схеме. Элементы массива разместим в файле и введем по имени массива. Результат выведем на дисплей под управлением списка.

Текст программы представлен ниже.

 

* Нахождение максимального элемента массива

DIMENSION Y(30)

* Ввод массива

READ(1,*)Y

* Задание начального значения максимального элемента

YMAX = Y(1)

* Организация цикла

DO J = 2,30

* Выбор максимума из текущего элемента Y(J) и YMAX

IF(Y(J) >= YMAX)THEN ! или IF(Y(I) .GE. YMAX) THEN

YMAX = Y(J)

ENDIF

ENDDO

* Печать результата.

WRITE(*,*)’ YMAX=’,YMAX

STOP

END

 

 



<== предыдущая лекция | следующая лекция ==>
Ввод – вывод одномерных массивов | Переменные и константы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.067 сек.