Оператор присваивания (:=) предписывает вычисление значения выражения, заданного в его правой части, и присвоение результата переменной, имя которой указано в левой его части. Переменная и выражение должны быть совместимы по типу.
(1) X,Y,P,Summa - имена переменных, описанных в разделе описания переменных;
(2) 2, 'Строка' - некоторые значения;
(3) V1, V2 - выражения, значения которых нужно вычислить.
2. ПРАКТИЧЕСКАЯ РАБОТА
2.1 Программирование алгоритма линейной структуры
Простейшей алгоритмической структурой является линейная последовательность операций, которые выполняются по очереди и именно в том порядке, в котором записаны. Программную реализацию такой алгоритмической структуры будем называть линейной программой. Линейные алгоритмы и линейные программы обычно предназначены для решения относительно простых задач, в которых не предусмотрен выбор из нескольких возможных альтернатив или циклическое повторение каких-либо операций.
Примером линейной программы является программа, выполняющая арифметические операции над двумя числовыми значениями.
Задание: Решить задачу определения значений арифметических выражений: a+b, a–b, a´b, a/b. В качестве исходных данных используйте значения a = 5, b = 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 =');
5. В программе для обеспечения ввода данных используется оператор Readln(Celsius), где в скобках указана переменная, в которую будет введено числовое значения с экрана консольного приложения. Оператору ввода предшествует вывод на экран приглашения для ввода исходных данных (в нашей задаче это «Введите значение температуры по шкале Цельсия»).
6. Запустите программу на решение, просмотрите и проверьте полученные результаты.
7. Сохраните проект.
8. Результаты расчета, блок-схему алгоритма и код программы поместите в отчет по лабораторной работе.
9. Для закрепления практических приемов работы выполните упражнения 2, 3 и 4 из раздела 3 самостоятельной работы .
3. САМОСТОЯТЕЛЬНАЯ РАБОТА
Задание 1.Составить программу решения задачи в соответствии с вариантом задания:
Вариант задания
Формулировка задания
1,11,21
Определите расстояние на плоскости между двумя точками с заданными координатами M1(x1,y1) и M2(x2,y2).
2,12,22
Вычислите высоту треугольника, опущенную на сторону а, по известным значениям длин его сторон a, b и c.
3,13,23
Вычислите объём цилиндра с радиусом основания R и высотой h.
4,14,24
Известны длины сторон прямоугольника. Вычислите его периметр, площадь и длину диагонали.
5,15,25
Вычислите площадь прямоугольного треугольника, а также: (а)длину гипотенузы по двум его катетам; (б) длину одного из его катетов по гипотенузе и второму катету.
6,16,26
Определите координаты вершины параболы y = ax2 + b x+ c (a≠0). Коэффициенты a, b и c считайте известными.
7,17,27
Проверьте, можно ли из четырех данных отрезков составить параллелограмм.
8,18,28
Определите расстояние, пройденное физическим телом за время t, если тело движется с постоянным ускорением а и имеет в начальный момент времени скорость v0.
9,19,29
Определите время свободного падения физического тела с высоты h.
10,20,30
Студент начал решать задачи данного занятия, когда электронные часы показывали h1 часов и min1 минут, а закончил, когда было h2 часов и min2 минут. Составьте программу, позволяющую определить, сколько времени студент решал эти задачи. (Будем считать, что задачи решались не дольше суток.)
Результаты расчета, исходные данные, блок-схему алгоритма и код программы поместите в отчет по лабораторной работе.