Мало знать оператор, надо уметь его использовать.
Сегодня мы займемся разбором типичных задач на
условный оператор.
Урок 9
Целочисленная арифметика и условный
оператор.
Задача.
Дано трехзначное число. Определить:
a) Является ли сумма его цифр двузначным
числом;
b) Является ли произведение его цифр
трехзначным числом;
c) Больше ли числа А произведение его цифр;
d) Кратна ли пяти сумма его цифр;
e) Кратна ли сумма его цифр числу А.
Код программы.
Program prim;
Var a,x1,x2,x3:integer;
x,s,p:longint;
Begin
Write('введите трехзначное число');
Readln(a);
X1:=x div 100;
X2:=(x div 10) mod 10;
X3:= x mod 10;
S:=x1+x2+x3;
If (s>9) and (s<100) then writeln (' Сумма
двузначное число ') {a}
Else Writeln('Сумма не двузначное
число ');
P:=x1*x2*x3;
If (p>99) and (p<1000) then writeln (' Произведение
трехзначное число ') {b}
Else Writeln('Произведение не
трехзначное число ');
Write('Введите число А');
Readln(a);
If (p<a) then writeln (' произведение больше ', a)
{c}
Else Writeln('произведение не больше ',
a);
If s mod 5 = 0 then writeln (' сумма цифр кратна 5')
{d}
Else Writeln('сумма цифр не кратна 5 ');
If s mod а = 0 then writeln (' сумма цифр кратна ',a)
{e}
Else Writeln('сумма цифр не кратна ', a);
Readln
End.
Тренировочные упражнения.
1. Дано трехзначное число.
a. Верно ли, что все его цифры одинаковы?
b. Определить, есть ли среди его цифр
одинаковые.
2. Дано четырехзначное число. Определить:
a. Равна ли сумма двух первых его цифр
сумме двух его последних цифр;
b. Кратна ли трем сумма его цифр;
c. Кратно ли четырем произведение его цифр;
d. Кратно ли произведение его цифр числу А.
3. Дано натуральное число.
a. Верно ли, что оно заканчивается нечетной
цифрой?
b. Верно ли, что оно заканчивается четной
цифрой?
4. Является ли число А делителем числа В? А
наоборот?
5. Дано четырехзначное число N. Выяснить:
a. Является ли число палиндромом?
b. Верно ли, что все 4 цифры этого числа
различны.
6. Трамвайный билет имеет шестизначный номер.
Выяснить, является ли билет "счастливым".
Билет назовем "счастливым", если сумма
первых трех цифр равна сумме последних трех цифр.
Примечание. Так как шестизначное число больше
32767(тип Integer), необходимо номер билета определит
как тип Longint( до 10 знаков).
7. Выяснить пройдет ли кирпич в круглое отверстие.
Разбор заданий
урока 8.
1. Установить, истинны или ложны следующие
условия: (A=0) and not (B=0) or not (a=0) and (B=0) при
a. При А=0, В=0 выражение ложно.
Выполним действия по порядку:
1) B=0 истина
2) Not(истина) =ложь
3) (А=0) истина
4) истина and ложь =ложь
5) not(a=0) =ложь
6) ложь and истина = ложь
7) ложь or ложь = ложь
b. При А=0, В=1 выражение истинно
2. Ввести три числа. Выбрать и напечатать
наибольшее из них.
Program prim_2;
Var a,b,c:real;
Begin
Write('введите три числа');
Readln(a,b,c);
If (a>b) and (a>c) then writeln (' max= ',a:0:2);
If (b>a) and (b>c) then writeln (' max= ',b:0:2);
If (c>a) and (c>b) then writeln (' max= ',c:0:2);
Readln
End.
8.Известны площади круга и квадрата.
Определить:
a. Уместится ли круг в квадрате;
b. Уместится ли квадрат в круге.
Program prim_8;
Var a,r,s1,s2:real;
Begin
Write('введите площадь круга и квадрата');
Readln(s1, s2);
A:=sqrt(s2);
R:=sqrt(s/3.14);
If (r<a/2) then writeln (' круг уместится в
квадрате')
Else writeln (' круг неуместится
в квадрате');
If (a*sqrt(2))>(4*r) then writeln ('квадрат уместится в круге')
Else Writeln('квадрат неуместится в круге');
Readln
End.
9. Дано трехзначное число. Выяснить, является ли
оно палиндромом ("перевертышем"), т.е. таким
числом, десятичная запись которого читается
одинаково слева направо и справа налево.
Program prim_9;
Var a,b,c:integer;
Begin
Write('введите трехзначное число');
Readln(a);
If (a div 100)=(a mod 10) then writeln (' это палиндром ')
Else Writeln(' это не палиндром');
Readln
End.
Желаю успехов!
Ганилова Татьяна Евгеньевна school6@rikt.ru