
- •Часть 1. Вычислить значения 33 элементов одномерного целочисленного массива r в интервале (-7,6) с использованием генератора случайных чисел.
- •Часть 2. Вычислить среднегеометрическое значение четных по номеру элементов второй половины массива.
- •Часть 3. Определить наименьший по модулю элемент среди не принадлежащих отрезку [a/2;b/2] элементов второй трети массива.
- •Часть 4. Упорядочить не отрицательные элементы третьей четверти массива по убыванию обратных значений.
- •Алгоритм решения задачи
- •5. Текст программы на Паскале
- •6. Результаты расчета
Алгоритм решения задачи
При разработке алгоритме будем использовать метод декомпозиции: решение задачи сначала опишем в виде основного алгоритма, использующего вспомогательные алгоритмы решения задач частей задания. Затем опишем вспомогательные алгоритмы – модули решения задач каждой части. При разработке и описании алгоритмов используются элементарные структуры алгоритмов, составляющие основу структурного программирования.
Основной алгоритм.
При разработке основного алгоритма нужно учесть обязательные требования, сформулированные в постановке задачи и рекомендации по разработке сложных программ:
Необходимо задачу решать в общем виде, для любых допустимых значений исходных данных.
Предусмотреть возможность выполнения 3 вариантов расчёта. Введём вспомогательную переменную Vr для управления вариантом расчёта: если Vr =0 – тестовый расчёт, Vr = 1 – без Randomize, любое другое значение Vr – расчёт с Randomize.
Модули должны быть относительно независимы: обязательно иметь имя, свои входные, выходные и промежуточные данные, не использовать глобальные переменные, ввод и вывод данных в модуле может быть только в случае необходимости.
Действия алгоритма поясняются на естественном языке, в обозначениях постановки задачи, не используются конструкции языка программирования
3.1 Основной алгоритм
3.2 Алгоритм получения элементов вектора
1
Vr – вариант расчёта
n – количество элементов
a – нижняя граница
b – верхняя граница

2
нет
3
да
4
5
6
R(1:n) - вектор

3.3 Алгоритм вычисления среднегеометрического значения
нет
да
3.4 Алгоритм определения минимального по модулю элемента среди не принадлежащих [a/2,b/2] элементов второй трети массива
1


Part_3
2
3
нет

7
нет

4
да
да
нет

5
M>|Ri|
да
6
8
9
13
нет

10
да
11
12
3.5 Упорядочение массива
4. Таблицы переменных задачи
Таблица переменных основного алгоритма
Смысл переменных |
Обозначение |
Тип переменной |
Примечания |
||||
в алгоритме |
в программе |
||||||
Исходные данные: Вариант расчёта Размер массива Наименьшее значение элемента Наибольшее значение элемента |
Vr n a
b
|
Vr n a
b
|
Целый Целый Целый
Целый
|
VrÎZ 1< n <100 a Î[-32761; 32767]
b Î[-32761; 32767] a <=b |
|||
Промежуточные данные: Номер элемента массива |
i |
i |
Целый |
i= |
|||
Результаты: Среднегеометрическое значение вектор |
Sg
R |
sg
R |
Веществ.
Одномерный массив |
SgÎR
|
Таблица переменных алгоритма получения вектора (Part_1)
Смысл переменных |
Обозначение |
Тип переменной |
Примечания |
||||
в алгоритме |
в программе |
||||||
Входные данные: Вариант расчёта Наименьшее значение элемента Наибольшее значение элемента |
Vr n a
b
|
Vr n a
b
|
Целый Целый Целый
Целый
|
VrÎZ 1< n <100 a Î[-32761; 32767]
b Î[-32761; 32767] a <=b |
|||
Промежуточные данные: Номер элемента массива |
i |
i |
Целый |
i= |
|||
Выходные данные: Массив |
R |
R |
Одномерный массив |
riÎ[a;b]
|
Таблица переменных алгоритма вычисления среднегеометрического значения (Part_2)
Смысл переменных |
Обозначение |
Тип переменной |
Примечания |
|||
в алгоритме |
в программе |
|||||
Входные данные: Размер массива Массив |
n R |
n R |
Целый Одномерный массив |
nÎN riÎ[a;b]
|
||
Промежуточные данные: Номер элемента массива Количество нужных элементов Произведение |
i
k
P |
i
k
P |
Целый
Целый
Целый |
i=
k≥0
PÎ Z |
||
Выходные данные: среднегеометрическое значение |
Sg |
Sg |
Вещественный |
SgÎ R |
Таблица переменных алгоритма определения минимального элемента (Part_3)
Смысл переменных |
Обозначение |
Тип переменной |
Примечания |
|
в алгоритме |
в программе |
|||
Входные данные: Размер массива Наименьшее значение элемента Наибольшее значение элемента Массив |
n a
b R |
n a
b R |
Целый Целый
Целый Одномерный массив |
nÎN |
Промежуточные данные: Номер элемента Результаты: Номер наименьшего элемента Значение наименьшего элемента |
i
k
M |
i
k
M |
Целый
Целый
Целый |
i=
|
Таблица переменных алгоритма упорядочения массива (Part_4)
Смысл переменных |
Обозначение |
Тип переменной |
Примечания |
|||
в алгоритме |
в программе |
|||||
Входные данные: Размер массива Массив |
n R |
n R |
Целый Одномерный массив |
1<n<100 RiÎ[a;b] |
||
Промежуточные данные: Номер первого элемента в неупорядоченной части массива Номер следующего элемента в неупорядоченной части массива Номер нужного элемента Буфер обмена |
i
j
k
buf |
i
j
k
buf |
Целый
Целый
Целый
Целый |
i=
j=
|
||
Выходные данные: Вектор |
R |
R |
Одномерный массив |
|