Контрольная работа по предмету "Информатика, программирование"


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

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


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


на тему


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



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


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


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



Не сдавайте скачаную работу преподавателю!
Данную контрольную работу Вы можете использовать для выполнения своих заданий.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :