Министерство образования Республики Беларусь
Учреждение образования
БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
Факультет компьютерных систем и сетей
Кафедра программного обеспечения информационных технологий
Дисциплина: Основы алгоритмизации и программирования (ОАиП)
ОТЧЕТ
по лабораторной работе №3
Тема работы: Одномерные массивы
Выполнил
студент: гр.751003 Гринчик В. В.
Проверил: Фадеева Е. П.
Минск 2017
Содержание
1 Постановка задачи 4
2 Текстовый алгоритм решения задачи 5
3 Структура данных 6
4 Схема алгоритма решения задачи по ГОСТ 19.701-90 7
Приложение А 9
Приложение Б 13
1Постановка задачи
Получить упорядоченный по убыванию массив C[n] путем слияния упорядоченных по убыванию массивов A[20] и B[n-20]. Массив C формировать непосредственно из массивов A и B без последующей сортировки массива C.
Примечания:
n целое число больше 20 и меньше 100;
Все элементы массивов целые числа;
Массивы вводятся и выводятся, поэлементно, через пробел;
Если количество введенных чисел превышает длину массива, то в массив записываются первые k чисел, где k – длина массива.
2Текстовый алгоритм решения задачи
Таблица 1 – Алгоритм решения
Номер шага |
Назначение шага |
|
|
Ввод: n, A[0..19], B[0..(n-21)] |
|
|
i:=0 |
|
|
j:=0 |
|
|
k:=0 |
|
|
Начало цикла А. Проверка выполнения условия ((j < 20) and (k < n-20)). Если условие истинно, то идти к шагу 6, иначе – к шагу 13 |
|
|
Проверка выполнения условия: (A[j] >= B[k]). Если условие истинно, то идти к шагу 7, иначе – к шагу 9 |
|
|
C[i]:=A[j] |
|
|
j:=j+1. Идти к шагу 11 |
|
|
C[i]:=B[k] |
|
|
k:=k+1 |
|
|
i:=i+1 |
|
|
Конец цикла А. Идти к шагу 5 |
|
|
Проверка выполнения условия: (j < 20). Если условие истинно, то идти к шагу 14, иначе – к шагу 19 |
|
|
Начало цикла B1. Проверка выполнения условия (j < 20). Если условие истинно, то идти к шагу 15, иначе – к шагу 24 |
|
|
C[i]:=A[j] |
|
|
i:=i+1 |
|
|
j:=j+1 |
|
|
Конец цикла B1. Идти к шагу 14 |
|
|
Начало цикла B2. Проверка выполнения условия (k < n-20). Если условие истинно, то идти к шагу 20, иначе – к шагу 24 |
|
|
C[i]:=B[k] |
|
|
i:=i+1 |
|
|
k:=k+1 |
|
|
Конец цикла B2. Идти к шагу 19 |
|
|
Вывод: C[0..(n-1)] |
|
|
Останов |
3Структура данных
Таблица 2 – Данные
Элементы данных |
Рекомендуемый тип |
Назначение |
Dlina1 |
Integer |
Максимальная длина итогового массива |
A |
array [0..19] of integer |
Хранение исходного массива А[20] |
B |
array [0..(Dlina-21)] of integer |
Хранение исходного массива B[n-20] |
C |
array[0..(Dlina-1)] of integer |
Хранение итогового массива С[n] |
i, k |
0..Dlina |
Счетчик цикла |
j |
0..20 |
Счетчик цикла |
Oshibka |
Boolean |
Логическая переменная, обозначающая наличие ошибки во входных данных |
