Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отчет 651.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1 Мб
Скачать
☆
  1. Алгоритм решения задачи

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

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

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

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

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

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

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

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

3.2 Алгоритм получения элементов вектора

1

Vr – вариант расчёта

n – количество элементов

a – нижняя граница

b – верхняя граница

Vector

Vr≠1

2

нет

3

да

Randomize

i=1, n, 1

4

ti=a+round((b–a)·

·random(100)/100)

5

Выход

6

T(1:n) - вектор

3.3 Алгоритм вычисления среднеарифметического значения нечетных по номеру элементов первой половины массива

1

function sa

n, t(1:n)

2

p=0

k=0

3

i=1,[n/2], 1

i-нечетно

4

нет

да

k=k+1

p=ti+p

5

k>0

6

нет

да

7

8

Sa

9

10

Выход

Sa

3.4 Алгоритм определения максимального значения элемента среди отрицательных элементов второй трети массива.

1

function max

2

mx=a

i=[n/3]+1,

2*[n/3]

3

max=mx

Ti<0

нет

4

да

5

7

Ti>mx

нет

да

mx=Ti

6

8

Выход