Алгоритмические языки: обработка одномерных массивов
ЛАБОРАТОРНАЯ РАБОТА
по дисциплине “Основы программирования”
на тему
Алгоритмические языки: обработка одномерных массивов
Цель работы: получение навыков работы с массивами, их вода и вывода, закрепление навыков организации программ циклической структуры.
Постановка задачи:
1. Изучить способы описания и использования массивов, алгоритмы сортировки массивов, сортировку выбором, вставками и обменную сортировку. Так же алгоритмы поиска элемента в неупорядоченном и упорядоченном массивах.
2. Разработать алгоритм и составить программу для решения задачи соответствующего варианта.
3. Подобрать наборы тестовых данных.
1. Если в массиве нет повторяющихся элементов, то упорядочить его по возрастанию.
2. Набрать программу, отладить ее, протестировать. Распечатать текст программы и результаты ее работы на тестовых данных.
1. Наборы тестовых данных
Первый набор тестовых данных: {0,9,8,7,6,5,32,6,4,3}
2. Текстпрограммы
PROGRAM LAB5;
PROCEDURE SORTMAS(SIZ:WORD;a:array of byte);
VAR
BEGIN
S:=0;
BEGIN
FOR K:=3 downTO 1 DO
BEGIN
FOR I:=0 TO (SIZ-K) DO
BEGIN
IF (A[I]>A[I+1]) THEN
BEGIN
A[I]:=A[I]+A[I+1];
A[I+1]:=A[I]-A[I+1];
A[I]:=A[I]-A[I+1];
S:=1
END
END
END
END;
UNTIL S=0;
WRITELN('Массивпослеупорядочивания: ');
end;
VAR
SIZ,w:WORD;
q:byte;
BEGIN
WRITELN('Введитедлинумассива ');readln(siz);
begin
write('a[',w,']=');readln(a[w])
end;
for w:=1 to siz do powtor[(a[w])+1]:=powtor[(a[w])+1]+1;
w:=1;
Q:=0;
repeat
begin
if powtor[w]>1 then q:=1;;
w:=w+1
end;
>=255);
ELSE
writeln('Данный массив содержит повторяющиеся элементы!')
END.
3. Результаты работы
Введите длину массива
10
Введитемассив:
a[1]=0
a[2]=9
a[3]=8
a[4]=7
a[5]=6
a[6]=5
a[7]=32
a[8]=6
a[9]=4
Пример №2.
Введите длину массива
10
a[1]=100
a[3]=4
a[4]=98
a[5]=76
a[6]=45
a[9]=34
a[10]=16
Массив после упорядочивания: 2,4,16,23,34,45,76,91,98,100
4. Описание ошибок, выявленных при отладке программы
При отладке программы ошибок не обнаружено.
Выводы
В ходе лабораторной работы были достигнуты следующие цели:
1. Был изучен теоретический материал по обработке массивов данных в языке программирования Pascal.
2. Изучены различные способы описания и использования массивов, алгоритмы сортировки массивов, сортировка выбором, вставками и обменная сортировка. Так же алгоритмы поиска элемента в неупорядоченном и упорядоченном массивах.
4. Подобраны наборы тестовых данных, которые были использованы при прогоне программы на наличие ошибок.
|