- •Содержание
- •1. Лабораторная работа 1. Программирование линейных алгоритмов
- •1.3.1. Интерфейс
- •1.3.2. Программа на языке Delphi
- •1.4. Результаты тестирования и выполнения программы
- •1.5. Заключение
- •2. Лабораторная работа 2. Программирование разветвляющихся алгоритмов
- •2.1 Исходное условие и уточнение постановки задачи
- •2.2. Алгоритм
- •2.3. Программа
- •2.3.1. Интерфейс
- •2.3.2. Программа на языке Delphi
- •2.4. Результаты тестирования и выполнения программы
- •2. 5. Заключение
- •Лабораторная работа 3. Программирование циклических алгоритмов. Табулирование функции
- •3.1 Исходное условие и уточнение постановки задачи
- •3.2. Алгоритм
- •3.3. Программа
- •3.3.1. Интерфейс
- •3.3.2. Программа на языке Delphi
- •3.4. Результаты тестирования и выполнения программы
- •3.5. Заключение
- •Лабораторная работа 4. Программирование циклических алгоритмов. Вложенные циклы
- •Исходное условие и уточнение постановки задачи
- •4.2. Алгоритм
- •4.3. Программа
- •4.3.1. Интерфейс
- •4.3.2. Программа на языке Delphi
- •4.4. Результаты тестирования и выполнения программы
- •4. 5. Заключение
- •Лабораторная работа 5. Циклическая обработка одномерных массивов
- •Исходное условие и уточнение постановки задачи
- •5.2. Алгоритм
- •5.3. Программа
- •5.3.1. Интерфейс
- •5.3.2. Программа на языке Delphi
- •5.4. Результаты тестирования и выполнения программы
- •5. 5. Заключение
3.5. Заключение
Программа проверена. Решение задачи закончено.
Лабораторная работа 4. Программирование циклических алгоритмов. Вложенные циклы
Исходное условие и уточнение постановки задачи
Заданы аргументы: k=1, 3, 5,…, 27; где m-заданное число
Вычислить значения функций S.
Уточнение постановки задачи
Исходные данные: вещественные значения k.
Результаты: вывод числа в символе S.
4.2. Алгоритм
Алгоритм решения задачи включает одну алгоритмическую единицу (назовем ее R3) и может быть представлен в следующем виде.
Алгоритм R3
переменные
k,j,m: целые; {входные параметры}
S,р: вещ; {выходные данные}
Началo алг
Ввести m
k:=1;
Цикл1 начало
пока k<=27
s:=0;
Цикл2 начало
для j от 2 до m
p:=sin(j/power(2,k)-pi)*sin(j/power(2,k)-pi);
Цикл2 Конец
s:=s+p;
k:=k+2;
Цикл1 Конец
вывести результат x,y,sum,pr,min,max на экран;
конец алг.
4.3. Программа
4.3.1. Интерфейс
4.3.2. Программа на языке Delphi
procedure TForm1.Button1Click(Sender: TObject);
var j,m,k:integer; // определяем тип значений
s,p:real; // определяем тип значений
begin
k:=1; // присваеваем значение к переменной
m:=StrToint(edit1.Text); // выводим значение m
while k<=27 do begin
s:=0; // присваеваем значение к переменной
for j:=2 to m do
begin
p:=sin(j/power(2,k)-pi)*sin(j/power(2,k)-pi); // производим вычисление для р
s:=s+p; //производим вычисление для s
end;
k:=k+2; //производим вычисление для к
label1.Caption:=label1.Caption+FloatToStr(s)+#13;
end;
4.4. Результаты тестирования и выполнения программы
Для анализа правильности программы необходимо проверить ее работу при различных вариантах исходных данных. Тестовые примеры, выбранные для данной задачи, предусматривают проверку работы обеих ветвей программы. Результаты тестирования представлена ниже.
Исходные данные: m=50
Результаты: 24,8989781328588
25,1169588619545
25,3662974146517
2,539528579046
0,016342383504
0,00063961258
0,0000399761
0,000002499
0,00000016
0
0
0
0
Исходные данные: m=20
Результаты: 9,50034686946757
12,0713899987859
2,58078768491726
0,17421466859864
0,0109408616025
0,00068400921
0,0000427514
0,000002672
0,00000017
0
0
0
0
Исходные данные: m=1000
Результаты: 499,501158172292
502,10514496015
502,618179656355
497,847352908721
589,043379439968
75,8782812670524
4,95968783864002
0,3108487101556
0,0194314406721
0,00121447831
0,00000759049
0,000004744
0, 0000003
