Вы находитесь на странице: 1из 8

ЦЕЛЬ И ЗАДАЧИ РАБОТЫ

Знакомство с оператором выбора (условным оператором) IF

ЗАДАНИЕ НА РАБОТУ
Проверить работу примеров программ. Разработать программы по своему
варианту.

Выполнение работы
1) Пример 1
Таблица выполнения результатов.
Входные данные Результат
5и3 Числа не равны
2и2 Числа равны

Схема алгоритма:

Начало

a,b

Да Нет
a=b

Числа равны Числа не равны

Конец

2) Пример 2
Таблица выполнения результатов.
Входные данные Результат
5и3 -
2и2 Числа равны

Пример 3
Таблица выполнения результатов.
Входные данные Результат
5и3 Поменяли местами: 3 5
2и2 -
№1
Необходимо написать программу, которая проверяет пользователя на
знание таблицы умножения. Программа предлагает ввести два числа.
Пользователь вводит два целых однозначных числа. Программа задаёт
вопрос: результат умножения первого числа на второе. Пользователь должен
ввести ответ и увидеть на экране правильно он ответил или нет. Если нет –
показать еще и правильный результат.

Схема алгоритма:
Начало

a, b

Да Нет
a*b=c

Верно Неверно. a*b

Конец
Program One;
var a, b, c: real;
begin
writeln('Введите 2 числа');
readln(a, b);
writeln('Чему равно их произведение? ');
readln(c);
if (a*b=c) then writeln('Верно')
else writeln('Неверно ', a*b);
end.

Файл с программой: Lab_8_1


№2
Известно, что из трех чисел a1, a2, a3 одно отлично от двух других,
равных между собой. Вывести номер этого числа.

Схема алгоритма:
Начало

a, b, c
Да Нет
a=b
Да Нет
Оставшееся число - с a=c

Оставшееся число - b Оставшееся число -


a

Конец

Program Two;
var a, b, c: real;
begin
writeln('Введите три числа ');
readln(a, b, c);
if (a=b) then writeln('Оставшееся число - ', c)
else if (a=c) then writeln('Оставшееся число - ', b)
else writeln('Оставшееся число - ', a);
end.
Файл с программой: Lab_8_2

Ответы на контрольные вопросы

1) Алгоритм — набор инструкций, описывающих порядок действий


исполнителя для достижения результата решения задачи за
конечное число действий, при любом наборе исходных данных.
2) Дискретность — алгоритм должен представлять процесс решения
задачи как последовательное выполнение некоторых простых
шагов. При этом для выполнения каждого шага алгоритма
требуется конечный отрезок времени, то есть преобразование
исходных данных в результат осуществляется во времени
дискретно.
Детерминированность (определённость). В каждый момент
времени следующий шаг работы однозначно определяется
состоянием системы. Таким образом, алгоритм выдаёт один и тот
же результат (ответ) для одних и тех же исходных данных.
Понятность — алгоритм должен включать только те команды,
которые доступны исполнителю и входят в его систему команд.
Завершаемость (конечность) — в более узком понимании
алгоритма как математической функции, при корректно заданных
исходных данных алгоритм должен завершать работу и выдавать
результат за конечное число шагов. 
Массовость (универсальность). Алгоритм должен быть применим к
разным наборам исходных данных.
Результативность - завершение алгоритма определёнными
результатами.
3) 1 этап. Сформулируем постановку задачи, то есть, что дано и что
надо найти.
2 этап. Разработка алгоритма. Прежде, чем составлять собственно
схему алгоритма, подготовим необходимые формулы для решения
(построим или подготовим математическую модель)
3 этап. Составим программу решения задачи по построенному
алгоритму.
4 и 5 этапы. Отладка программы и проверка ее работы
4) Константа — неизменная величина, и в алгоритме она
представляется собственным значением, например: 15, 34.7, k,
true и т.д.
5) Integer
6) Integer, Word
7) Оператор If имеет следующий синтаксис:
if условие then оператор1 else оператор2
В качестве условия указывается некоторое логическое выражение.
Если условие оказывается истинным, то выполняется оператор1,
в противном случае выполняется оператор2.
8) Верно: b, d, e, f
9) В начале программа запрашивает два числа с клавиатуры, которые
будут присвоены к переменным a, b. После программа просит
ввести их произведение. Далее она проверят верно ли то, что
произведение первых двух введённых чисел равно третьему числу,
если это так, то выполняется вывод на экран (Верно), в противном
случае программа выводит (Неверно) и сама считает и записывает
верный ответ.
10) а)
Program One;
var x1, x2, y1, y2,a, b, S:real;
begin
writeln('Введите координаты верхней левой точки');
readln(x1, y1);
writeln('Введите координаты нижней правой точки');
readln(x2, y2);
if (x1<0) then
begin
if (y1>y2) then
begin
if (x2>x1) then
begin
if (y2<0) then
begin
if (x2>=0) then a:=sqrt(sqr(x1))
else a:=sqrt(sqr(x2-x1));
if (y1>=0) then b:=sqrt(sqr(y2))
else b:=sqrt(sqr(y1-y2));
s:=a*b;
writeln('Площать части прямоугольника в 3
координатной части равна ', S);
end
else writeln('Ошибка. Прямоугольник не лежит в 3
координатной части')
end
else writeln('Ошибка. Прямоугольник не лежит в 3
координатной части')
end
else writeln('Ошибка. Прямоугольник не лежит в 3
координатной части')
end
else writeln('Ошибка. Прямоугольник не лежит в 3
координатной части');
end.
Файл с программой: Lab_8_3

б) Program Two;
var R, k, b, b2, a2, c2, D, x1, x2, y1, y2:real;
begin
writeln('Введите радиус окружности ');
readln(R);
writeln('Введите коэффициенты уравнения прямой k, b');
readln(k,b);
a2:= sqr(k)+1;
b2:=2*k*b;
c2:=sqr(b)-sqr(R);
D:=sqr(b2)-4*a2*c2;
if D<0 then writeln('Прямая не пересекает окружность ')
else
begin
if D=0 then writeln('Прямая касается окружности ')
else
begin
x1:=(-b2+sqrt(D))/(2*a2);
x2:=(-b2-sqrt(D))/(2*a2);
y1:=a2*x1+b;
y2:=a2*x2+b;
writeln('Прямая пересекает окружность в
точках:');
write('(',x1:0:0,';',y1:0:0,')
(',x2:0:0,';',y2:0:0,')');
end;
end;
end.

Файл с программой: Lab_8_4

в) Program Three;
var N, y, e:integer;
begin
writeln('Введите сколько прошло лет ');
readln;
if (N<=100)then
begin
y:= N*3;
e:= y*2;
end
else
N:=(N-100)*2;
y:=300+N;
e:=y*2;
writeln('У дракона ',y,' голов и ',e,' глаз');
end.

Файл с программой: Lab_8_5