Значения элементов 1 -1 -1 3

Квадрат значения 1 1 1 9

Упорядоченные элементы 3 -1 -1 1

Всего четыре числа подошло к необходимым нам условиям. В этом случае, массив будет упорядочен. Кроме этого, может возникнуть проблема, что таких чисел вообще не будет. В этом случае массив останется неизмененным.

Алгоритм решения задачи.

 

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

 

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

 

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

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

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

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

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

 

 

1

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

Начало
2
Ввод Vt
Vt – вариант расчёта
Vt=0
3
да
нет
Данные теста: 12, -1, 3, t(1:12)
4
Ввод n, a, b
5
Получение вектора t
6
Part_1(Vt, n, a, b, t)
 
 
Vt, n, i, a, b: integer t: vector St: real //Vt – вводимое число //a – вводимое число //b – вводимое число
2
Вывод ti
8
i=1, n, 1
7
Вычисление сред. ариф. St
Part_2(n, t, St)
Вывод St
Определение максимального элемента
1150900
Part_3(n, a, b, t)
9
10
да
нет
Вывод «нет..»
1250900
А6

 

 
13
Part_4(n, t)
Упорядочение вектора t
Конец
 
//t – массив (исх. и изм.) // St – искомая функция // M - искомая функция  
14
176
А6
Вывод ti
16
i=1, n, 1
15
St >0

 

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

Выход
6
Part_1
1
Vt≠1
2
i:integer //Vt – вариант расчёта //n – количество элементов //a – нижняя граница //b – верхняя граница
Randomize
3
i=1, n, 1
4
ti=a+round((b–a)· ·random(100)/100)
5
да
нет
//t(1:n) – искомый вектор

 

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

 

i,k,P:integer //P – известное число //k – известное число //n – известное число //St - известное число //t(1:n) – известный вектор  
k≠0
6
да
нет
 
Выход
7
//St-искомая функция
8
нет
да
P=0 k=0 St=0
Part_2
1
2
i=n/2+1,3n/4,1
3
i нечет.
P=P+ti k=k+1
4
5

 

 

 

 

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

Part_3
i,k,M:integer //M – известное число //k – известное число //t(1:n) – известный вектор
да
нет
M<ti и ti<0
M=ti k=i
Вывод «Нет нужных элементов»
k=0 M=-32757+1
  i=[n/2]+1,n,1
нет
да
Выход
Вывод M
i = k+1, n,1
Вывод i, ti
ti = M и ti<0  
да
нет
k>0
1
2
3
4
6
5
7
9
10
11
13
12
//M – искомая функция //i – номер функции //ti – значение функции    
Вывод k, tk
8

 

 

 

3.5 Упорядочение каждых третьих элементов всего массива по убыванию квадратов значений.

Part_4
1
i,j,k,buf:integer //t(1:n) – известный вектор //k – промежуточная переменная
i=1,n-1,1
i/3=0  
3
нет
да
  j=i+1,n,1  
j/3=0
5
да
нет
да
buf=ti ti=tj tj=buf  
4
6
нет
2
7
Выход
//t(1:n) – искомый вектор
8

 

4. Таблицы переменных задачи

 

Таблица переменных основного алгоритма

 

 

Смысл переменных

Обозначение

Тип переменной

Примечания

в алгоритме

в программе

Исходные данные:
Вариант расчёта Vt Vt Целый VtÎZ  
Размер массива n n Целый 1< n <100
Наименьшее значение элемента a   a   Целый   a Î[-32761; 32767] a <=b
Наибольшее значение элемента b b Целый b Î[-32761; 32767] a <=b
Промежуточные данные:

 

i

 

i

 

Целый

i=

Номер элемента массива
Результаты:

 

 

St

 

 

St

 

Веществ.

 

StÎR

Среднеарифметическое значение
Вектор t t Одномерный массив  

 

Таблица переменных алгоритма получения вектора ( Part _1)

 

Смысл переменных

Обозначение

Тип переменной

Примечания

в алгоритме

в программе

Входные данные:
Вариант расчёта Vt Vt Целый VtÎZ
Размер массива n n Целый 1< n <100
Наименьшее значение элемента a a Целый a Î[-32761; 32767], a <=b
Наибольшее значение элемента b b Целый b Î[-32761; 32767], a <=b
Промежуточные данные:

 

i

 

i

 

Целый

 

i=

Номер элемента массива
Выходные данные:

t

t

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

 

tiÎ[a;b]

 

Массив