Программирование алгоритма линейной структуры

Простейшей алгоритмической структурой является линейная последовательность операций, которые выполняются по очереди и именно в том порядке, в котором записаны. Программную реализацию такой алгоритмической структуры будем называть линейной программой. Линейные алгоритмы и линейные программы обычно предназначены для решения относительно простых задач, в которых не предусмотрен выбор из нескольких возможных альтернатив или циклическое по­вторение каких-либо операций.

Примером линейной программы является программа, выполняющая арифметические операции над двумя числовыми значениями.

Задание: Решить задачу определения значений арифметических выражений: 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.

ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ
РАЗВЕТВЛЯЮЩЕЙСЯ СТРУКТУРЫ