Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Гриценко, Методичка по информатике 3.11.2004.doc
Скачиваний:
3
Добавлен:
27.10.2018
Размер:
640.51 Кб
Скачать

6.3 Структуры данных

Данные о леспромхозе представлены следующей информацией:

• наименование и шифр леспромхоза;

• объем вывозки по сортиментам;

• состав перерабатывающих производств;

• наименование, шифр, объем выпуска продукции;

• товарная продукция по видам.

Иерархическая модель данных:

Рисунок 10- Иерархическая модель данных

Рисунок 11- Реляционная модель данных

Рисунок 12 - Сетевая модель данных

6.4 Сортировка массивов

Сортировка методом пузырька. Для каждого i-го элемента массива (i меняется от 2 до М) просматривают массив с конца от К=М до i попарно. В пару выбирают К-й и (К-1)-й элементы. Если (К-1)-й элемент больше К-го, то проводят обмен элементов пары.

Листинг программы:

program sortirovka;

uses

crt,dos;

var

i,j,m,n,k:integer;

a:array[1..1000]of integer;

sr,pr:longint;

h1, m1, s1, hund1,h2, m2, s2, hund2: Word;

begin

randomize;

clrscr;

write ('Введите количество элементов ');

readln(n);

writeln('Произвольный массив');

for i:=1 to n do a[i]:=random(100);

pr:=0;sr:=0;

gettime(h1,m1,s1,hund1);

write('Начальное время сортировки: ');

writeln(h1,':', m1,':', s1,'.' ,hund1);

for i:=1 to n do

for j:=i+1 to n do

begin

if a[i]>a[j] then

begin

m:=a[i];

a[i]:=a[j];

a[j]:=m;

inc(pr);

end;

inc(sr);

end;

gettime(h2,m2,s2,hund2);

for i:=1 to n do

write(‘ a[,’i,’] = ’, a[i]);

write('Конечное время сортировки: ');

writeln(h2,':', m2,':', s2,'.' ,hund2);

writeln('Время сортировки - ', h2-h1,':',m2-m1,':',s2-s1,':',Hund2-Hund1);

writeln('Количество перестановок - ',pr,' Количество сравнений - ',sr);

readln;

end.

Вывод:

Для сравнения работы, оптимизации программы сравним входные-выходные данные и обращение программы с ними, это и будет качественной характеристикой программы.

Массив

Количество сравнений

Количество обменов

Время работы

1..1000

749506

468345

1/1000

1000..1

749512

0

1/1000

Random(1000)

907678

450245

1/1000

Таблица 10 – Основные характеристики сортировки

Разберем сортировку 1, сортировку методом пузырька.(Приложение Б) Входные данные будут представлены в виде массива. Элементы сначала будут упорядочены в порядке, совпадающем с порядком сортировки данных, затем в обратном, и в последний раз массив будет заполнен случайными числами. Количество сравнений, обменов, время работы для каждого случая представлены в таблице 10.

7 Задания на курсовую работу

7.1 Системы счисления

  1. Даны числа А=1000002 В=110112. Найти сумму, разность, произведение. Даны числа А=1342116, В=ВАDС16. Найти сумму, разность. Проверить переводом в десятичную. А=1234,43215 перевести в 10, 2, 8. В=AD,FA16 перевести в 2, 10, 8.

  2. Даны числа А=10100002 В=11112. Найти сумму, разность, произведение. Даны числа А=134218, В=75678. Найти сумму, разность. Проверить переводом в десятичную. А=32102,03214 перевести в 10, 2, 8. В=A1,ВA13 перевести в 2,1 6, 8, 10.

  3. Даны числа А=111011002 В=10112. Найти сумму, разность, произведение. Даны числа А=1342112, В=756712. Найти сумму, разность. Проверить переводом в десятичную. А=32102,03218 перевести в 10, 2, 16. В=D1,0A14 перевести в 2, 16, 8, 10.

  4. Даны числа А=101001102 В=100012. Найти сумму, разность, произведение. Даны числа А=68921416, В=ADFBA16. Найти сумму, разность. Проверить переводом в десятичную. А=AD,3A15 перевести в 10, 16, 8. В=C1,В013 перевести в 2,10, 8, 16.

  5. Даны числа А=11110002 В=11112. Найти сумму, разность, произведение. Даны числа А=134219, В=75679. Найти сумму, разность. Проверить переводом в десятичную. А=32102,032110 перевести в 16, 2, 8, 5. В=AD,ВA17 перевести в 2, 10, 8, 7.

  6. Даны числа А=10110002 В=1110112. Найти сумму, разность, произведение. Даны числа А=5672318, В=ADFE18. Найти сумму, разность. Проверить переводом в десятичную. А=348,AD13 перевести в 10, 2, 8, 16. В=E0,0117 перевести в 2, 10, 8,12 .

  7. Даны числа А=10010002 В=11112. Найти сумму, разность, произведение. Даны числа А=6532911, В=756711. Найти сумму, разность.

Проверить переводом в десятичную. А=732,0418 перевести в 10, 2, 16. В=A5,ВA15 перевести в 2, 10, 8, 16.

  1. Даны числа А=1001000002 В=1011112. Найти сумму, разность, произведение. Даны числа А=6532917, В=78АВ17. Найти сумму, разность. Проверить переводом в десятичную. А=432,045112 перевести в 10, 2, 16, 8, В=1000101,0010102 перевести в 7, 10, 8, 16.

  2. Даны числа А=110010002 В=1111112. Найти сумму, разность, произведение. Даны числа А=DEA45316, В=7DFF16. Найти сумму, разность. Проверить переводом в десятичную. А=1532,04516 перевести в 10, 2, 16, 8, В=EA,0E19 перевести в 2, 10, 8, 16.

  3. Даны числа А=10011102 В=111112. Найти сумму, разность, произведение. Даны числа А=101023111, В=98795611. Найти сумму, разность. Проверить переводом в десятичную. А=21201,02102113 перевести в 10, 2, 16, 8. В=101000,101012 перевести в 2, 10, 8, 16, 7.