Оценка времени выполнения алгоритмов
Функция записи в сжатое представление массива. Распечатка внутреннего представления матрицы. Результат работы программы при Xm=4. Построение графика зависимости T=F(Xm) по начальному значению времени выполнения алгоритма. Запись элементов в массив.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 05.12.2015 |
Размер файла | 471,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://allbest.ru
ЛАБОРАТОРНАЯ РАБОТА 3
Тема: Оценка времени выполнения алгоритмов
1. Цель работы
Приобретение и закрепление навыков оценивания времени выполнения алгоритмов.
2. Прорабатываемые темы
Построение и анализ алгоритмов.
3. Постановка задачи
Оценить время выполнения алгоритма, реализованного в ЛР №1. Сравнить с результатами замеров при разных значениях ХМ. Построить график зависимости T=F(XM).
Выполнение работы
Для исследования времени выполнения алгоритма на основе программы(ЛР№1) ,возьмем 4 значения Xm(4,5,6,9).
Текст программы:
Program LAB1;
Var
arrp: array[1..5050] of integer; { Сжатая таблица }
XM : integer; { Максимальные индексы в таблице }
start,finish,x1,x2:longint;
time,hour,min,sec,ssec:word;
{==== Функция перевычисления индексов ====}
{ y,x - индексы в 2-мерном массиве. Ф-ция возвращает индекс в 1-мерном массиве }
Function NewIndex(y, x : integer) : integer;
var i, d,k: integer;
begin
d:=0;
k:=0;
for i:=1 to y-1 do d:=d+XM-i+1;
NewIndex:=d+x-y+1;
end;
{==== Функция записи в сжатое представление массива ====}
{ y, x - индексы в 2-мерном массиве, value - записываемое значение.
Функция возвращает записываемое значение или 0 - если (x,y)
задают индексы элемента, нулевого по определению }
Function PutTab(y,x,value : integer) : integer;
begin
if x < y then PutTab:=0
else begin
arrp[NewIndex(y,x)]:=value;
PutTab:=value;
end;
end;
{==== Функция выборки из сжатого представления массива ====}
{ y, x - индексы в 2-мерном массиве. Функция возвращает выбранное значение }
Function GetTab(y,x: integer) : integer;
begin
if x < y then GetTab:=0
else GetTab:=arrp[NewIndex(y,x)];
end;
Function GetTime:longint;
begin
time:=sec*100+min*6000+ssec;
end;
{============= Главная программа ===================}
Var
x, y : integer; { Индексы в 2-мерном массиве }
k, h: integer;
begin
{===== Проверка формирования массива ======}
XM:=10;
{ Запись элементов в 1-мерный массив }
k:=3; время массив программа
for y:=1 to XM do
for x:=3 to XM do begin
h:=PutTab(y,x,k); k:=k+3;
end;
{ Распечатка матрицы }
writeln('===== Matriza =====');
start:=time;
for y:=1 to XM do begin
for x:=1 to XM do write(GetTab(y,x):3);
writeln;
end;
finish:=time;
x1:=finish-start;
{ Распечатка внутреннего представления матрицы }
writeln('===== Matriza (vnutr.predstavlenie) =====');
start:=time;
for y:=1 to 55 do write(arrp[y]:4);
finish:=time;
x2:=finish-start;
readln;
writeln('Time1= ',x1);
writeln('Time2= ',x2);
writeln; writeln;readln;
end.
Результаты работы программы:
Xm=4
Рисунок1-Результат работы программы при Xm=4
Xm=5
Рисунок2-результат работы программы при Xm=5
Xm=6
Рисунок3-результат работы программы при Xm=6
Xm=9
Рисунок4-результат работы программы при Xm=9
График зависимости T=F(XM):
Значение времени для графика будет взято из Time1(по начальному значению времени выполнения алгоритма):
Рисунок5-график зависимости T=F(Xm)
Проведем оценку времени выполнения:
T=c*n;где с-константа;n-к-во задействованного времени;
Т=4*n*n*n*n=15812мс.
Вывод: в ходе выполнения ЛР, я приобрел навыки в оценивания времени выполнения алгоритмов.
Размещено на Allbest.ru
Подобные документы
Понятие и свойства алгоритма, виды, характеристики. Роль алгоритма в построении программы, представление и запись. Словесный, графический, табличный способ. Псевдокод. Примеры известных алгоритмов. Операции над массивами. Уточнение корней уравнения.
курсовая работа [1,1 M], добавлен 10.11.2016Разработка блок-схемы и программы обработки одномерного массива с доступом к элементам с помощью индексов и с помощью указателей. Словесное описание алгоритма и пользовательского интерфейса, листинг программы обработки матрицы и результат её выполнения.
курсовая работа [391,1 K], добавлен 30.09.2013Функции формирования массива времени. Формирование массива входного напряжения, массива выходного напряжения. Функция вывода таблицы, расчета заданной точности, вывода титульного листа. Запись в файл массива времени. Блок–схема и текст программы.
курсовая работа [155,6 K], добавлен 22.04.2012Составление схемы алгоритма и программы для построения графика временной функции, работающей как в машинном, так и в реальном времени. Выбор и обоснование методов расчета. Разработка основной программы. Блок-схемы алгоритмов. Распечатка листинга.
курсовая работа [1,5 M], добавлен 21.11.2013Составление программы сортировки по возрастанию массив из 20 шестнадцатеричных чисел, просматривающей все исходные числа во внешней памяти и выбирающей самое большое число. Блок-схема алгоритма работы программы. Таблица команд и число их выполнения.
курсовая работа [23,1 K], добавлен 24.05.2015Понятие машинного и реального времени, дискретизация времени. Реализация временных задержек в программе. Вычисление значения многочлена методом Горнера. Разработка схем алгоритмов, основной программы и подпрограмм. Построение графика временной функции.
курсовая работа [40,7 K], добавлен 18.04.2012Программирование на алгоритмическом языке Turbo Pascal на примере разработки алгоритма и программы расчета временной функции. Выбор, обоснование методов решения. Схемы алгоритмов основной программы и подпрограмм. Распечатка исходных и вычисленных величин.
реферат [154,8 K], добавлен 15.03.2012Особенности постановки задачи по вычислению значения алгебраического выражения, описание математической модели. Определение промежутков, на которых функция не определена, построение графика. Результат выполнения программы, ее листинг и схема алгоритма.
контрольная работа [115,9 K], добавлен 14.04.2012Описание алгоритма решения задачи графическим способом. Вывод элементов массива. Описание блоков укрупненной схемы алгоритма на языке Pascal. Листинг программы, а также ее тестирование. Результат выполнения c помощью ввода различных входных данных.
контрольная работа [150,4 K], добавлен 03.05.2014Характеристика и описание массива структур из 3-х элементов. Блок-схемы главной функции main и текст программы на языке Си. Построение графика изменения напряженности поля заряженной частицы. Таблица символических имен, работоспособность программы.
курсовая работа [365,8 K], добавлен 02.02.2010