Оценка времени выполнения алгоритмов

Функция записи в сжатое представление массива. Распечатка внутреннего представления матрицы. Результат работы программы при 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.