РефератыИнформатика, программированиеАлАлгоритмические языки: обработка одномерных массивов

Алгоритмические языки: обработка одномерных массивов

ЛАБОРАТОРНАЯ РАБОТА


по дисциплине “Основы программирования”


на тему


Алгоритмические языки: обработка одномерных массивов


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


Постановка задачи:

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


WRI

TELN('Введитедлинумассива ');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. Подобраны наборы тестовых данных, которые были использованы при прогоне программы на наличие ошибок.

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Алгоритмические языки: обработка одномерных массивов

Слов:373
Символов:4468
Размер:8.73 Кб.