Программирование алгоритма линейной структуры
Простейшей алгоритмической структурой является линейная последовательность операций, которые выполняются по очереди и именно в том порядке, в котором записаны. Программную реализацию такой алгоритмической структуры будем называть линейной программой. Линейные алгоритмы и линейные программы обычно предназначены для решения относительно простых задач, в которых не предусмотрен выбор из нескольких возможных альтернатив или циклическое повторение каких-либо операций.
Примером линейной программы является программа, выполняющая арифметические операции над двумя числовыми значениями.
Задание: Решить задачу определения значений арифметических выражений: a+b, a–b, a´b, a/b. В качестве исходных данных используйте значения a = 5, b = 7. Результаты вычисления программы выведите в окно консольного приложения.
1. Запустите интегрированную среду Delphi: Пуск - Программы - Borland Delphi 7 -. Delphi 7.
2. Создайте новое консольное приложение: File - New - Other…
(Файл - Новый - Другие…). На вкладке New открывшегося диалогового окна «New Items» выберите значок Console Application(консольное приложение) и нажмите ОК.
3. В рабочей области редактора наберите код программы, представленный на листинге 1.
Листинг 1.
program Z1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var a,b:real;
R1,R2,R3,R4:real;
begin
{Исходные данные}
a:= 5;
b:= 7;
{Вычисление результата}
R1:= a + b;
R2:= a - b;
R3:= a * b;
R4:= a / b;
{Вывод на печать}
Writeln('R1=', R1);
Writeln('R2=', R2);
Writeln('R3=', R3);
Writeln('R4=', R4);
Writeln('End program.'); Readln;
end.
4. В программе результаты вычисления присваиваются переменным R1, R2, R2 и R4, а затем с помощью оператора Writeln выводятся на печать в консольное окно приложения.
5. Запустите программу на решение, используя кнопку 4 на панели инструментов «Debug» или команду системного меню Run - Run (клавиша F9).
6. Просмотрите и проверьте полученные результаты.
7. Сохраните проект.
8. Результаты расчета, блок-схему алгоритма и код программы поместите в отчет по лабораторной работе.
9. Для закрепления практических приемов работы выполните упражнение 1 из раздела 3 самостоятельной работы.
2.2 Демонстрация вычисления значений элементарных функций
Задание: Наберите код программы, демонстрирующей вычисления значений элементарных функций, представленной на листинге 2. Результаты вычисления программы выведите в окно консольного приложения.
Листинг 2.
program Z2;(*Демонстрация вычисления значений элементарных функций*)
{$APPTYPE CONSOLE}
uses
SysUtils;
var X,Y,Z: Real; { Аргумент }
F: Real; { Результат }
begin
WriteLn('Значение MaxInt: ',MaxInt);
WriteLn('Значение Пи: ',PI);
Write('Введите значение аргумента: ');
ReadLn(X);
WriteLn('Trunc (X) -> ',Trunc (X));
WriteLn('Int (X) -> ',Int (X));
WriteLn('Frac (X) -> ',Frac (X));
F:=Abs(X);
WriteLn('Значение функции Abs : ',F);
F:=Sqrt(X);
WriteLn('Значение функции корень: ',F);
F:=Exp(X);
WriteLn('Значение функции Exp : ',F);
F:=Ln(X);
WriteLn('Значение функции Ln : ',F); { Аргумент тригонометрических функций выражен в радианах }
F:=Sin(X);
WriteLn('Значение функции Sin : ',F);
F:=Cos(X);
WriteLn('Значение функции Cos : ',F);
F:=ArcTan(X);
WriteLn('Значение функции ArcTg: ',F);
{ ------------------------------------------- }
Write('Введите значение аргумента: ');
ReadLn(Y);
F:=Exp(Y*Ln(X));
WriteLn('Значение функции X^Y : ',F);
{ ------------------------------------------- }
Write('Введите значение аргумента типа Integer: ');
ReadLn(Z);
WriteLn('Odd (Z) -> ',Odd (Z));
Readln
End.
1. Запустите программу на решение, просмотрите и проверьте полученные результаты.
2. Сохраните проект.
3. Результаты расчета, блок-схему алгоритма и код программы поместите в отчет по лабораторной работе.
2.3 Программа пересчета температуры
1. Разберем следующую задачу. В настоящее время используются несколько температурных шкал. Среди них шкалы Цельсия, Фаренгейта, Кельвина и Ренкина. Наиболее популярная из них — это шкала Цельсия, официально утвержденная в качестве международной шкалы. Шкала Фаренгейта популярна в англоязычных странах. В качестве опорных точек для этих шкал выбраны температура замерзания воды (0° С и 32° F) и температура кипения воды при нормальном атмосферном давлении (100° С и 212° F). В шкале Кельвина за точку отсчета принят абсолютный нуль, это - 273,15° С, или -459,67° F, а цена деления совпадает с ценой деления шкалы Цельсия. В шкале Ренкина отсчет температуры также идет от абсолютного нуля, а один градус равен градусу по Фаренгейту. Точка замерзания воды по шкале Ренкина — +492° R, а точка ее кипения — +672° R. Требуется написать программу для перевода значения температуры, заданной по шкале Цельсия, в значения, соответствующие шкалам Фаренгейта, Кельвина и Ренкина.
2. Задача поставлена, теперь необходимо составить алгоритм ее решения. Для этого достаточно записать формулы перевода температуры по Цельсию в каждую из вышеупомянутых шкал. Учитывая равномерность шкал, то есть тот факт, что цена деления не зависит от значения температуры, для вывода формул соответствия будем использовать линейную зависимость:
Тi = ai ×Тс + bi,
где Тi — значение температуры по шкале Фаренгейта, Кельвина или Ренкина, Тс — значение температуры по шкале Цельсия, аi и bi — коэффициенты. Используя значения опорных точек, можно найти коэффициенты для формул соответствия:
ТF = 1,8 ×Тс + 32,
ТK = Тс + 273,15
ТR = 1,8 ×Тс + 492.
3. Алгоритм решения задачи, таким образом, состоит из блока ввода данных (в нашем случае это единственное значение температуры), блока вычислений и блока вывода результатов работы программы.
4. Исходный текст программы приведен в листинге 2.
Листинг 2.
program Z2;
{$APPTYPE CONSOLE}
uses
SysUtils;
var Celsius, Fahrenheit, Kelvin, Renkin : real;
begin
{Ввод данных}
Write('Vvedite znachenie temperaturi po Celsius =');
Readln(Celsius);
{Вычисление результата}
Fahrenheit:= 1.8 * Celsius + 32;
Kelvin:= Celsius + 273.15;
Renkin:= 1.8 * Celsius + 492;
{Вывод на печать}
Writeln('Sootvetstvie mejdu temperaturnimi shkalami');
Writeln('Celsius Fahrenheit Kelvin Renkin');
Writeln(Celsius:7:2,' ',Fahrenheit:7:2,' ',
Kelvin:7:2,Renkin:7:2);
Writeln('End program.'); Readln;
end.
5. В программе для обеспечения ввода данных используется оператор Readln(Celsius), где в скобках указана переменная, в которую будет введено числовое значения с экрана консольного приложения. Оператору ввода предшествует вывод на экран приглашения для ввода исходных данных (в нашей задаче это «Введите значение температуры по шкале Цельсия»).
6. Запустите программу на решение, просмотрите и проверьте полученные результаты.
7. Сохраните проект.
8. Результаты расчета, блок-схему алгоритма и код программы поместите в отчет по лабораторной работе.
9. Для закрепления практических приемов работы выполните упражнения 2, 3 и 4 из раздела 3 самостоятельной работы .
2.
ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ
РАЗВЕТВЛЯЮЩЕЙСЯ СТРУКТУРЫ
Дата добавления: 2017-01-26; просмотров: 3669;