
- •Оглавление
- •Комбинированный урок №5
- •Операторы языка Паскаль
- •Оператор присваивания
- •Оператор перехода
- •Пустой оператор
- •Составной оператор
- •Условный оператор
- •Оператор выбора
- •Операции отношения и логические операции
- •Контрольные вопросы
- •Примеры алгоритмов линейной и разветвляющейся структур Пример 1.1. Простейший алгоритм, запрашивающий имя и затем приветствующий его обладателя.
- •Var Name: String; {Описание переменной Name строкового типа}
- •Результаты работы Pascal-программы
- •Пример 1.2. Определить объём и площадь боковой поверхности цилиндра с заданными радиусом основания r и высотой h.
- •V, {объем цилиндра }
- •Пример 1.3. Даны три точки на плоскости. Определить, какая из них ближе к началу координат. Система тестов
- •Пример 1.4. Найти произведение цифр заданного целого четырехзначного числа. Система тестов
- •Var Number, {заданное число}
- •I, j, k, l, {цифры числа}
- •Система тестов
- •Var a, b, c : Real; {a, b, c - коэффициенты уравнения}
- •X1, x2 : Real; {x1, x2 - корни }
- •Var a1, b1, c1, {коэффициенты уравнения первой прямой}
- •X, y : Real; {координаты точки пересечения }
- •Результаты работы Pascal-программы:
- •Var day, month, year integer; last : boolean; { true, если текущий день последний день месяца }
- •Результаты работы Pascal-программы:
- •Пример 1.8.
- •Система тестов
- •Var operation : Char; {Знак операции}
- •Результаты работы Pascal-программы:
Var day, month, year integer; last : boolean; { true, если текущий день последний день месяца }
r :integer; { если год високосный, то остаток от деления year на 4 равен нулю }
begin
write('Введите цифрами сегодняшнюю дату (число месяц год) —> '); readln(day,month,year); last:=FALSE; case month of 1,3,5,7,8,10,12 : if day=31 then last:=TRUE; 4,6,9,11 : if day=30 then last:=TRUE; 2 : if day = 28 then begin r:=year mod 4; if r <> 0 then last:=TRUE; end;
end; { case }
if last then
begin writeln('Последний день месяца!'); day:=1;
if month=12 then
begin month:=1; year:=year + 1; writeln('C наступающим Новым годом!'); end
else month:=month + 1;
end
else day:=day + 1;
writeln('Завтра ',day,'.',month,'.' ,year ); readln; end.
Результаты работы Pascal-программы:
Тест 1 . Введите цифрами сегодняшнюю дату (число месяц год) —> 11 12 2009 <Enter> Завтра 12.12.2009
Тест 2 . Введите цифрами сегодняшнюю дату (число месяц год) —> 30 12 2009 <Enter> C наступающим Новым годом!
Тест 3 . Введите цифрами сегодняшнюю дату (число месяц год) —> 31 07 2009<Enter> Последний день месяца!
Пример 1.8.
Вычисление результата арифметической операции. Ввести два числа в первой строке и один из знаков +, -, *, / - во второй и вывести на экран результат соответствующего арифметического действия.
Система тестов
Номер теста |
X |
Y |
Проверяемый случай |
Результат |
1 |
23 |
4 |
+ |
27 |
2 |
12 |
11 |
- |
1 |
3 |
45 |
15 |
/ |
3 |
4 |
2 |
33 |
* |
66 |
Program Calc;
Var operation : Char; {Знак операции}
х, у, z : Real; {Операнды и результат}
stop : Boolean; {Признак ошибочной операции и останова}
begin
stop := false;
repeat
WriteLn; {Пустая строка-разделитель}
Write('x,y= ' ) ; ReadLn(x,y);
Write('операция: ') ; ReadLn(operation);
case operation of
' + ' : z : = x + y;
' - ' : z : = x - y;
' * ' : z : = x * y;
' / ' : z : = x / y;
else stop := true;
end;
if not stop then WriteLn('результат=',z)
until stop
end.
Результаты работы Pascal-программы:
Тест 1 . x,y= 23 4 <Enter> операция: +<Enter> результат=27
Тест 2 . x,y= 12 11 <Enter> операция: -<Enter> результат=11
Тест 3 . x,y= 45 15 <Enter> операция: /<Enter> результат=3
Тест 4 . x,y= 2 33 <Enter> операция: *<Enter> результат=66