Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
laba3 — Сева — клавиатутра.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
413.18 Кб
Скачать

Министерство образования Республики Беларусь

Учреждение образования

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Факультет компьютерных систем и сетей

Кафедра программного обеспечения информационных технологий

Дисциплина: Основы алгоритмизации и программирования (ОАиП)

ОТЧЕТ

по лабораторной работе №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

Логическая переменная, обозначающая наличие ошибки во входных данных