рефераты рефераты
Домой
Домой
рефераты
Поиск
рефераты
Войти
рефераты
Контакты
рефераты Добавить в избранное
рефераты Сделать стартовой
рефераты рефераты рефераты рефераты
рефераты
БОЛЬШАЯ ЛЕНИНГРАДСКАЯ БИБЛИОТЕКА
рефераты
 
МЕНЮ
рефераты Алгоритмические языки: обработка одномерных массивов рефераты

БОЛЬШАЯ ЛЕНИНГРАДСКАЯ БИБЛИОТЕКА - РЕФЕРАТЫ - Алгоритмические языки: обработка одномерных массивов

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

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

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

на тему

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

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

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

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

РЕКЛАМА

рефераты НОВОСТИ рефераты
Изменения
Прошла модернизация движка, изменение дизайна и переезд на новый более качественный сервер


рефераты СЧЕТЧИК рефераты

БОЛЬШАЯ ЛЕНИНГРАДСКАЯ БИБЛИОТЕКА
рефераты © 2010 рефераты