Справочная информация
Таблица 9.
Средние значения множества вещественных чисел а1, а2, а3, …, аn
Среднее арифметическое | |
Среднее геометрическое | |
Среднее квадратичное | |
Среднее гармоническое | где ai ¹0, n – количество ненулевых элементов |
Пример
В массиве M из 12 вещественных чисел (должны быть отрицательные, положительные и равные нулю) найти:
1. A – среднее арифметическое отрицательных элементов, больших D (D <0, ввести с клавиатуры),
2. B – номер минимального положительного элемента,
3. C – среднее гармоническое ненулевых элементов с четными номерами.
Вычислить Z = A + B – C.
Блок-схемы
Далее приведены 3 фрагмента блок-схемы программы. Для отчета следует из фрагментов составить единую блок-схему программы Vector.
Рис.4. A – среднеарифметическое отрицательных, больших D * - сообщение: «В массиве нет отрицательных элементов, больших D» |
Рис.5. B – номер минимального положительного элемента ** - сообщение: «В массиве нет положительных элементов» |
Рис.6. C – средне гармоническое ненулевых элементов с четными номерами *** - сообщение: «Все элементы массива с четными номерами = 0» |
Программа (пример)
Program Vector
! студент (фамилия, имя) группа № работа № вариант №
Implicit None
Real,dimension(1:12):: M
Real:: A, C, D, Z
Integer B, i, Notr, Cnt
Open(1,FILE=’In.txt’) ! файл с исходным массивом
Open(2,FILE =’Out.txt’) ! результирующий файл
Write(2,*) ’Программа Vector’
Read(1,*)M ! ввод массива
Write(2,10) M ! вывод массива в 2 колонки с заголовком
10 Format (?????)! допишите оператор Format
Write(*,*) ’Input D < 0’ ! диалог для ввода значения D <0
Read(*,*) D
Write(2,14) ’D =’, D, ’- должно быть отрицательным’
14 Format (?????)! допишите оператор Format
! *****
По блок-схемам, составленным с учетом индивидуального задания, написать операторы программы Vector для вычисления и форматного вывода трех переменных и результирующего выражения. Выводить значения переменных по мере их вычисления, поясняя формулировками из индивидуального задания.
! *****
End ProgramVector
Результаты программы Vector
Содержимое файла Out.txt в результате работы программы Vector для приведенного примера задания, пояснения пишите по-русски:
Программа Vector
Исходный массив
× × × 6 строк в 2 колонки
D = -12.00 - должно быть отрицательным
A = -17.05 - среднее арифметическое элементов D<M<0
B = 10 - номер минимального положительного элемента
C = 25.13 - средне гармоническое элементов с нечетными номерами
Z = 34.77 = A + B – C
Контрольные вопросы
1. Что в программировании называют массивом?
2. Основные характеристики одномерногомассива.
3. Ранг массива; приведите примеры массивов 0, 1, 2 ранга и их математическую интерпретацию.
4. Примеры описания одномерного массива, диапазон индекса. Что в программе объявляют операторы?
Logical C(7), D(7), B(-7:0), U(0:7)
Integer A(-3:3)
Real Е(0:6)
Какие массивы конформны?
Как лучше описать эти массивы в Фортран-90?
5. Порядок размещения элементов массива в памяти ПК.
6. В программе объявлен одномерный массив A с нумерацией элементов от 1 до 12. Какой триплет задаёт секцию:
- из всех элементов массива в обратном порядке?
- из последних 8 элементов массива?
- из первой трети массива?
- из элементов массива с нечетными номерами?
7. Как работает оператор where?Приведитепримеры оператора where а) без блока; в) с одним блоком; с) с двумяблоками.
8. В программе объявлен массив: Real,dimension(1:10)::A
Что произойдет при выполнении каждого из операторов?
Read(1,*) A(10)
Write(*,*) A(10)
Read(*,*) A(11)
Write(*,*) A(11)
Write(*,11) A(8:10)
Напишите оператор format для последнего оператора Write.
Как вывести 6 последних элементов массива A?
Дата добавления: 2016-02-13; просмотров: 709;