на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Алгоритмические языки: обработка одномерных массивов

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

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

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

на тему

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

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

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

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



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.