Решение задач с одномерными массивами

Задание

Написать программу, в которой:

1. Ввести 12 вещественных чисел из файла in.txt в одномерный массив и вывести этот массив в результирующий файл out.txt.

2. Дополнительные параметры, если они есть в варианте задания, ввести в диалоге с клавиатуры и вывести в файл out.txt.

3. Вычислить значения трех переменных, которые входят в состав выражения, и значение выражения.

4. По мере вычисления переменных и выражения выводить их значения в файл out.txt, поясняя фразами из индивидуального задания.

Комментарии к заданию

1. При подготовке исходных данных в файле In.txt воспользуйтесь любым текстовым редактором. Для отладки в файле подготовьте числа, значения которых соответствуют индивидуальному заданию - среди них должны быть числа отрицательные, положительные, большие D и т. д.

2. Исходные данные и результаты выводите в файл out.txt только по формату.

3. Если вычисление какой-либо переменной невозможно из-за отсутствия в массиве подходящих элементов, вывести соответствующее сообщение (смотри пример программы).

4. Все переменные, используемые как индексы элементов массива и счетчики, должны быть целого типа.

5. Имена переменных в программе не должны совпадать с именами встроенных функций Фортрана.

Содержание отчета

1. Название работы и номер варианта задания.

2. Фамилия, имя, отчество и номер группы студента.

3. Текст варианта индивидуального задания.

4. Единая блок-схема программы, cоставленная из фрагментов.

5. Распечатка текста программы.

6. Распечатка файла out.txt.

Справочная информация

Таблица 9.

Средние значения множества вещественных чисел а1, а2, а3, …, аn

Среднее арифметическое Решение задач с одномерными массивами - student2.ru
Среднее геометрическое Решение задач с одномерными массивами - student2.ru
Среднее квадратичное Решение задач с одномерными массивами - student2.ru
Среднее гармоническое Решение задач с одномерными массивами - student2.ru где ai ¹0, n – количество ненулевых элементов

Пример

В массиве M из 12 вещественных чисел (должны быть отрицательные, положительные и равные нулю) найти:

1. A – среднее арифметическое отрицательных элементов, больших D (D <0, ввести с клавиатуры),

2. B – номер минимального положительного элемента,

3. C – среднее гармоническое ненулевых элементов с четными номерами.

Вычислить Z = A + B – C.

Блок-схемы

Далее приведены 3 фрагмента блок-схемы программы. Для отчета следует из фрагментов составить единую блок-схему программы Vector.

Решение задач с одномерными массивами - student2.ru
Рис.4. A – среднеарифметическое отрицательных, больших D * - сообщение: «В массиве нет отрицательных элементов, больших D»
Решение задач с одномерными массивами - student2.ru Рис.5. B – номер минимального положительного элемента ** - сообщение: «В массиве нет положительных элементов»
 
Решение задач с одномерными массивами - student2.ru
Рис.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?

Пример контрольного задания

1. Дан массив из 20 элементов. Написать программу нахождения номера максимального по модулю среди первых 8 элементов массива (аналогичные задачи смотри в вариантах заданий). Блок-схема обязательна. Вывести значение по формату.

2. В программе используется вещественный массив из 100 элементов. Напишите операторы для вывода элементов массива в виде:

a) Заголовок «Исходный массив»;

b) Элементы массива по четыре в строке.

3. В файле data.txt – 12 чисел натурального ряда. Как будут выглядеть выведенные на экран строки (с пробелами)?

Integer, dimension(1:12):: Mas = 0

Open(1,file = ’data.txt’)

Read(1,*) Mas(3), Mas(5)

Write(*,11) Mas(3:5)

11 Format (I4)

Таблица 10.

Варианты индивидуальных заданий «Одномерные массивы»

Выражение Определение переменных
Решение задач с одномерными массивами - student2.ru A – сумма отрицательных элементов с четными номерами; B – максимальный элемент среди N первых элементов; C – среднее геометрическое положительных элементов.
Решение задач с одномерными массивами - student2.ru R – произведение положительных элементов с нечетными номерами; Q – последний положительный элемент с четным номером; S – среднее гармоническое положительных элементов.
Решение задач с одномерными массивами - student2.ru H – количество нулей среди N последних элементов; E – номер минимального элемента; G – среднее квадратичное элементов с четными номерами.
Решение задач с одномерными массивами - student2.ru S – сумма положительных элементов, меньших D; T – минимальный по модулю ненулевой элемент (со знаком); U – среднее арифметическое N первых элементов.
Решение задач с одномерными массивами - student2.ru X – количество элементов со значениями из интервала [A, B]; Y – модуль минимального элемента; Z – среднее арифметическое элементов с нечетными номерами.
Решение задач с одномерными массивами - student2.ru U – произведение элементов с четными номерами; R – номер максимального по модулю элемента; S – среднее арифметическое N последних элементов.
Решение задач с одномерными массивами - student2.ru A – произведение ненулевых элементов; B – последний отрицательный элемент с нечетным номером; C – среднее арифметическое положительных элементов.
Решение задач с одномерными массивами - student2.ru R – сумма всех элементов; Q – номер первого нулевого элемента; S – среднее геометрическое положительных среди N последних элементов.
Решение задач с одномерными массивами - student2.ru H – сумма положительных среди N первых элементов; E – номер первого отрицательного элемента; G – среднее арифметическое отрицательных элементов.
Решение задач с одномерными массивами - student2.ru A – первый положительный элемент с четным номером; B – сумма элементов с нечетными номерами; C – среднее гармоническое ненулевых среди N первых элементов.
Решение задач с одномерными массивами - student2.ru X – количество элементов, меньших D, с нечетными номерами; Y – максимальный по модулю элемент (со знаком); Z – среднее квадратичное положительных элементов.
Решение задач с одномерными массивами - student2.ru A – произведение положительных элементов; B – последний положительный элемент с четным номером; C – среднее квадратичное N первых элементов.
Решение задач с одномерными массивами - student2.ru V – сумма отрицательных элементов, больших D, (D<0) ; T – номер максимального элемента; U – среднее геометрическое положительных среди N первых элементов.
(U+T) (S+2) S – сумма модулей отрицательных элементов; T – номер минимального по модулю ненулевого элемента; U – среднее квадратичное N последних элементов.
Решение задач с одномерными массивами - student2.ru H – произведение модулей отрицательных элементов; E – номер последнего положительного элемента: G – среднее арифметическое элементов с четными номерами.
Решение задач с одномерными массивами - student2.ru X – сумма элементов, больших D, с четными номерами; Y – номер максимального отрицательного элемента; Z – среднее квадратичное всех элементов.
Решение задач с одномерными массивами - student2.ru A – среднее гармоническое отрицательных элементов; B – номер второго нулевого элемента; C – количество отрицательных элементов с четными номерами.
Решение задач с одномерными массивами - student2.ru A – сумма положительных элементов; B – номер минимального положительного элемента; C – среднее гармоническое ненулевых элементов.
Решение задач с одномерными массивами - student2.ru X – количество положительных элементов с четными номерами; Y – номер последнего нулевого элемента: Z – среднее гармоническое ненулевых элементов, больших D.
Решение задач с одномерными массивами - student2.ru A – произведение отрицательных элементов; B – максимальный по модулю элемент (со знаком); C – среднее арифметическое модулей отрицательных элементов.
Решение задач с одномерными массивами - student2.ru H – количество отрицательных элементов; E – минимальный элемент среди N последних элементов; G – среднее квадратичное элементов с четными номерами.
Решение задач с одномерными массивами - student2.ru S – количество положительных элементов; T – минимальный положительный элемент; U – среднее арифметическое элементов.
Решение задач с одномерными массивами - student2.ru U – произведение ненулевых среди N первых элементов; R – номер максимального по модулю элемента; S – среднее геометрическое положительных элементов.
Решение задач с одномерными массивами - student2.ru R – максимальный элемент с четным номером; Q – количество ненулевых элементов; S – среднее гармоническое положительных элементов.
(U+T) (S+2) S – сумма N последних элементов; T – максимальный отрицательный элемент; U – среднее квадратичное элементов с четными номерами.
Решение задач с одномерными массивами - student2.ru A – количество элементов, больших D; B – первый положительный элемент с четным номером; C – среднее арифметическое N первых элементов.
Решение задач с одномерными массивами - student2.ru H – сумма элементов со значениями из интервала [A, B]; E – последний положительный элемент с четным номером; C – среднее арифметическое положительных элементов.
Решение задач с одномерными массивами - student2.ru H – произведение элементов со значениями из интервала [A, B]; E – номер минимального по модулю ненулевого элемента; C – среднее геометрическое положительных среди N последних элементов.
Решение задач с одномерными массивами - student2.ru R – количество элементов, меньших D; Q – модуль минимального элемента; S – среднее квадратичное положительных элементов.
Решение задач с одномерными массивами - student2.ru U – минимальный элемент с номером из интервала [K, L]; T – среднее арифметическое элементов с нечетными номерами. R – сколько нулей среди N последних элементов.

Наши рекомендации