ЛАБОРАТОРНАЯ РАБОТА
по дисциплине “Основы программирования”
на тему
Алгоритмические языки: обработка одномерных массивов
Цель работы: получение навыков работы с массивами, их вода и вывода, закрепление навыков организации программ циклической структуры.
Постановка задачи:1. Изучить способы описания и использования массивов, алгоритмы сортировки массивов, сортировку выбором, вставками и обменную сортировку. Так же алгоритмы поиска элемента в неупорядоченном и упорядоченном массивах.
2. Разработать алгоритм и составить программу для решения задачи соответствующего варианта.
3. Подобрать наборы тестовых данных.
Задание к работе: 1. Если в массиве нет повторяющихся элементов, то упорядочить его по возрастанию.2. Набрать программу, отладить ее, протестировать. Распечатать текст программы и результаты ее работы на тестовых данных.
Ход выполнения работы
1. Наборы тестовых данныхПервый набор тестовых данных: {0,9,8,7,6,5,32,6,4,3}
Второй набор тестовых данных: {2,4,16,23,34,45,76,91,98,100}
2. Текст программы
PROGRAM LAB5;
PROCEDURE SORT_MAS(SIZ:WORD;a:array of byte);
VAR
S:BYTE;K,i:WORD;
BEGIN
REPEAT
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('Массив после упорядочивания: ');
WRITELN;
for k:=1 to SIZ do write(a[k],', ');
end;
VAR
powtor:array[1..256] of byte;
a:array[1..10000] of byte;
SIZ,w:WORD;
q:byte;
BEGIN
WRITELN('Введите длину массива ');readln(siz);
WRITELN('Введите массив:');
for w:=1to siz do
begin
write('a[',w,']=');readln(a[w])
end;
for w:=1 to 256 do powtor[w]:=0;
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;
until (q=1) or (w>=255);
if q=0 then sort_mas(siz,a)
ELSE
writeln('Данный массив содержит повторяющиеся элементы!')
END.
3. Результаты работы
Пример №1.
Введите длину массива
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
a[10]=3
Данный массив содержит повторяющиеся элементы!
Пример №2.
Введите длину массива
10
Введите массив:
a[1]=100
a[2]=2
a[3]=4
a[4]=98
a[5]=76
a[6]=45
a[7]=23
a[8]=91
a[9]=34
a[10]=16
Массив после упорядочивания: 2,4,16,23,34,45,76,91,98,100
4. Описание ошибок, выявленных при отладке программы
При отладке программы ошибок не обнаружено.
Выводы
В ходе лабораторной работы были достигнуты следующие цели:
1. Был изучен теоретический материал по обработке массивов данных в языке программирования Pascal.
2. Изучены различные способы описания и использования массивов, алгоритмы сортировки массивов, сортировка выбором, вставками и обменная сортировка. Так же алгоритмы поиска элемента в неупорядоченном и упорядоченном массивах.
3. Разработан алгоритм и составлена программу для решения задачи соответствующего варианта.
4. Подобраны наборы тестовых данных, которые были использованы при прогоне программы на наличие ошибок.
Похожие работы
... ячейка, а имя переменной превращается в адрес ячейки. Появление этого адреса происходит в результате работы специального оператора языка (NEW), однако его значение в большинстве случаев не используется при программировании на алгоритмических языках типа Паскаль. Условимся считать, что адрес ячейки, которая будет хранить переменную А, есть А. Или, другими словами, А - это общее имя переменной и ...
... . Объясните, для чего служат разрешения и привилегии в Windows NT. Зав. кафедрой -------------------------------------------------- Экзаменационный билет по предмету СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Билет № 22 Перечислите возможности и инструменты системы программирования Microsoft Developer Studio. Укажите для чего предназначается буфер в системах ввода-вывода, ...
... с внешнего устройства (из входного файла) в основную память ЭВМ, операция вывода - это пересылка данных из основной памяти на внешнее устройство (в выходной файл). Файлы на внешних устройствах часто называют физическими файлами. Их имена определяются операционной системой. В программах на языке Паскаль имена файлов задаются с помощью строк. Например, имя файла на диске может иметь вид: ...
... заимствуются из стандартной библиотеки Си. Кроме того, существует огромное количество библиотек Си++, не входящих в стандарт. В программах на Си++ можно использовать многие библиотеки Си. Стандартизация определила язык программирования Си++, однако за этим названием могут скрываться также неполные, ограниченные, достандартные варианты языка. В первое время язык развивался вне формальных рамок, ...
0 комментариев