
- •Оглавление
- •Комбинированный урок №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 a1, b1, c1, {коэффициенты уравнения первой прямой}
a2, b2, c2, {коэффициенты уравнения второй прямой}
X, y : Real; {координаты точки пересечения }
Test, NTest : Integer;
BEGIN
ClrScr; {очистка экрана}
Write('Введите количество тестов : ');
ReadLn(NTest);
For Test := 1 to NTest do {цикл по всем тестам задачи}
begin
Write('Тест ', Test, '. Введите a1, b1, c1 : '); ReadLn( a1, b1, c1);
Write(' Введите a2, b2, c2 : '); ReadLn( a2, b2, c2);
WriteLn; Write('О т в е т : ');
If ( (a1=0) and (b1=0) ) or ( (a2=0) and (b2=0) ) then WriteLn( 'это не прямая (прямые). ' )
else
if (a1*b2=a2*b1) and (a1*c2=a2*c1) then WriteLn( 'прямые совпадают.' )
else
if a1*b2 = a2*b1 then WriteLn('прямые параллельны.')
else begin x:=(c1*b2-c2*b1)/(b1*a2-b2*a1); y:=(c2*a1-c1*a2)/(b1*a2-b2*a1);
WriteLn('координаты точки пересечения : x = ', x : 5 : 2 , ', y = ', y : 5 : 2); end; WriteLn
end;
ReadLn
END.
Результаты работы Pascal-программы:
Введите количество тестов : 7 Тест 1. Введите a1, b1, c1 : 0 0 1 <Enter> Введите a2, b2, c2 : 1 2 2 <Enter> О т в е т : это не прямая (прямые). Тест 2. Введите a1, b1, c1 : 1 2 2 <Enter> Введите a2, b2, c2 : 0 0 1 <Enter> О т в е т : это не прямая (прямые). Тест 3. Введите a1, b1, c1 : 0 0 0 <Enter> Введите a2, b2, c2 : 1 2 1 <Enter> О т в е т : это не прямая (прямые). Тест 4. Введите a1, b1, c1 : 1 2 1 <Enter> Введите a2, b2, c2 : 1 2 1 <Enter> О т в е т : прямые совпадают. Тест 5. Введите a1, b1, c1 : 1 2 1 <Enter> Введите a2, b2, c2 : 2 4 2 <Enter> О т в е т : прямые совпадают. Тест 6. Введите a1, b1, c1 : 2 3 -1 <Enter> Введите a2, b2, c2 : 4 6 1 <Enter> О т в е т : прямые параллельны. Тест 7. Введите a1, b1, c1 : 1 2 -4 <Enter> Введите a2, b2, c2 : 1 -2 1 <Enter> О т в е т : координаты точки пересечения : x = 1.50, y = 1.25 |
Пример 1.7.
Вычисление даты следующего дня. Ввести данные о текущем дне, месяце и годе. Напечатать дату следующего дня. Если это последний день месяца, то напечатать об этом. Если это последний день года, то напечатать поздравление с наступающим годом.
Система тестов
Номер теста |
Проверяемый случай |
Результат |
1 |
11 12 2009 |
Завтра 12.12.2009 |
2 |
30 12 2009 |
C наступающим Новым годом! |
3 |
31 07 2009 |
Последний день месяца! |
Program primer_data;