- •Лабораторная работа 1
- •5. Пример решения задачи
- •5.1 Индивидуальное задание
- •5.2. Разработка алгоритма решения
- •5.2.2. Структура программы
- •5.2.3. Описание переменных
- •5.2.4. Описание программы
- •5.3. Текст программы
- •5.4. Результаты работы программы:
- •6. Оформить отчет
- •5. Пример решения задачи
- •Лабораторная работа 3
- •1. Цель работы
- •2. Прорабатываемые темы
- •3. Постановка задачи
5. Пример решения задачи
Разработать подпрограммы работы по приоритетною очередью. Постановка запросов в очередь выполняется подряд в конец очереди, снятие - по приоритету . Очередь организовать на массиве.
5.1. Текст программы.
#include
#include
#include
#include
int och[512]; //очередь на 512 запросов
int point=-1; //указатель на очередь
int addel (int a) //добавление запроса в очередь
{
if (point<511) och[point++]=a;
else
{
cout << "enough queue\n"; //очередь переполнена
return 0;
}
return 1;
}
void delel (void) //чтение запроса из очереди
{
if (point>=0)
{
int max=och[0], nmax=0; // поиск запроса с максимальным параметром
for(int i=1; i < point; i++)
if (max < och[i]) max=och[i], nmax=i;
cout << "read " << max << endl;
point--; //сдвиг очереди
for(i=nmax; i < point; i++) och[i]=och[i+1];
}
}
void printoch (void) //содержимое очереди
{
if (point >= 0)
{
cout<<": ";
for (int i=0;i < point;i++)
cout << och[i] <<" ";
cout << "\n";
}
}
void main (void)
{
int op,f;
clrscr();
do
{
op=random(2); // 0-запись запроса, 1- чтение
f=random(15); //запрос
if (op) delel();
else if (! addel(f)) exit(1);
printoch ();
getch();
}
while (1);
}
5.2. Фрагмент результатов работы программы
. . .
12 5 3 0 14 6 1 14 6 2 3
read 14
12 5 3 0 6 1 14 6 2 3
read 14
12 5 3 0 6 1 6 2 3
12 5 3 0 6 1 6 2 3 7
read 12
5 3 0 6 1 6 2 3 7
Лабораторная работа 3
Тема: Оценка времени выполнения алгоритмов
1. Цель работы
Приобретение и закрепление навыков оценивания времени выполнения алгоритмов.
2. Прорабатываемые темы
Построение и анализ алгоритмов
3. Постановка задачи
Оценить время выполнения алгоритма, реализованного в ЛР №1. Сравнить с результатами замеров при разных значениях ХМ. Построить график зависимости T=F(XM)