Лабораторная работа

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

Работа добавлена на сайт bukvasha.net: 2015-06-30

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 25.11.2024


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

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

на тему

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

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

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

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


1. Контрольная_работа на тему Основы страхования 2 2
2. Реферат Формы государственного управления и устройства
3. Реферат на тему The Life And Studies Of W.E.B. Du
4. Реферат Державотворчість Івана Мазепи
5. Контрольная работа на тему Логистика в коммерческой фирме
6. Контрольная работа Полиоксиэтиленовые цепи
7. Реферат Ливия
8. Реферат на тему Параметры технологических процессов 2
9. Реферат Билеты по финансам предприятия
10. Курсовая на тему Понятие критерии и признаки несостоятельности банкротства