End
Begin
B) var
End.
Var
b: real; (* длина верхнего основания* )
a: real; (* длина верхнего основания*)
h: real; (* высота трапеции*)
s: real; (* площадь трапеции*)
begin
writeln (‘ введите значения b, a, h: ‘);
read (b,a,h);
s:= (b+a)*h /2;
writeln;
write (‘ площадь трапеции= ‘, s:7: 2)
Вопросы. Найдите ошибки в тексте следующих программ:
а) i: integer;
begin
write (‘ Задайте целое число.’);
readln (i)
write (i);
end.
i: real;
i=1;
writeln (‘ i =’, j);
Ответы. а) Отсутствует слово var в начале раздела описания переменных; после оператора readln не стоит символ «точки с запятой»ж в операторе write используется имя необъявленной переменной j;
б) вместо writeln набрано wirteln; нет точки после слова end в конце текста программы.
Упражнения. Составьте программы:
а) вычисления расстояния по известным значениям
скорости.
б) вычислить объем параллелепипеда
в) вычислить площадь круга
Часто возникает необходимость выполнять различные команды в зависимости от выполнения какого-то условия (например надо найти наибольшее из двух чисел и вывести на экран).
|
|
Для таких целей в Паскале введен условный оператор:
if условие then
begin
операторы, выполняемые, если условие истинно
end
begin
операторы, выполняемые, если условие ложно
end
оператор 1, else оператор 2
Пример 1. Рассмотрим задачу о нахождении наибольшего из двух чисел. Программа должна выполнять следующие действия:
- ввести с клавиатуры два числа
- сравнить два значения
n вывести на экран наибольшее из них
ПРОГРАММА
program SR (input, output);
var
a,b: real;
begin
writeln (‘введите первое число’);
readln (a);
writeln (‘введите второе число’);
readln (b);
if a < b then
writeln (‘наименьшим является первое число’)
else
if a = b then
writeln (‘введенные значения равны’)
else
writeln (‘наименьшим является второе число’)
end.
На дом: Составить программу решения линейного уравнения
ах2 + в = 0.
Напомним, что если а ¹ 0, то х = -b / a
а если а = 0, то просто проверить значение в.
при в = 0, решением является любое число,
а при в ¹ 0 уравнение не имеет решения.
Program linear equation;
var
a, b: real;
begin
write (‘введите коэффициенты а и в ‘);
readln (a, b);
if
a < > 0. 0 then
write (‘x =’, - b/a)
else
if b = 0.0 then
write (‘корень любое число’)
else write (‘ корней нет’)
end.
Пример 3 Решим задачу на определение Палидрома.
Определение Палидром -это когда число или слово читается одинаково слева направо или справа налево
шалаш,
наган
Задача. Требуется определить, является ли заданное трехзначное число палидромом.
Для решения такой задачи можно использовать простое условие - первая цифра должна равняться последней.
ПРОГРАММА
program palidrom (input, output);
var
x: integer;
begin
write (‘ введите целое число:’);
readln (x);
if x mod 10 = x div 100 then
|
|
write (‘ введенное число является палидромом’)
else
write (‘ введенное число не является палидромом ‘)
end.
В этой программе используется стандартная операция mod, которая дает остаток от деления нацело (деление по модулю). Например:
если х = 128 то х mod 10 будет число 8, т.к. 128/10=12 в остатке 8
Другая стандартная операция div - делит нацело (отбрасывается дробная часть).
Например:
если х=128 то div 100 будет число 1, т.к. 128/100=1,28 а дробная часть отбрасывается.
Пример 4. Следующая программа должна проверять, делиться ли введенное с клавиатуры число нацело на 4. Числа а и b делятся нацело, если остаток от деления a / b = 0
ПРОГРАММА
program divide (input, output);