Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Образец отчёта по работе №4.rtf
Скачиваний:
2
Добавлен:
17.11.2019
Размер:
1.17 Mб
Скачать
  1. Алгоритм решения задачи

При разработке алгоритме будем использовать метод декомпозиции: решение задачи сначала опишем в виде основного алгоритма, использующего вспомогательные алгоритмы решения задач частей задания. Затем опишем вспомогательные алгоритмы – модули решения задач каждой части. При разработке и описании алгоритмов используются элементарные структуры алгоритмов, составляющие основу структурного программирования.

    1. Основной алгоритм.

При разработке основного алгоритма нужно учесть обязательные требования, сформулированные в постановке задачи и рекомендации по разработке сложных программ:

  1. Необходимо задачу решать в общем виде, для любых допустимых значений исходных данных.

  2. Предусмотреть возможность выполнения 3 вариантов расчёта. Введём вспомогательную переменную Vr для управления вариантом расчёта: если Vr =0 – тестовый расчёт, Vr = 1 – без Randomize, любое другое значение Vr – расчёт с Randomize.

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

  4. Действия алгоритма поясняются на естественном языке, в обозначениях постановки задачи, не используются конструкции языка программирования

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

Одномерный массив