Урок 9
Разбор заданий урока 8.
1. Ввести три числа. Выбрать и напечатать наибольшее из них.
Program prim_1;
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.
4. Известны площади круга и квадрата. Определить:
a. Уместится ли круг в квадрате;
b. Уместится ли квадрат в круге.
Program prim_4;
Var a,r,s1,s2: real;
Begin
Write('введите площадь круга и квадрата');
Readln(s1, s2);
R:=sqrt(s1/3.14);
{радиус круга}
A:=sqrt(s2);
{сторона квадрата}
If (r<a/2) Then
writeln (' круг уместится в квадрате')
Else
writeln (' круг неуместится в квадрате');
If (a*sqrt(2))>(4*r) Then
Writeln ('квадрат уместится в круге')
Else
Writeln('квадрат неуместится в круге');
Readln
End.
6. Дано трехзначное число. Выяснить, является ли
оно палиндромом ("перевертышем"), т.е. таким числом, десятичная
запись которого читается одинаково слева направо и справа налево.
Program
prim_6;
Var a,b,c: integer;
Begin
Write('введите трехзначное число');
Readln(a);
If (a div 100)=(a mod 10) Then
Writeln (' это палиндром ')
Else
Writeln(' это не палиндром');
Readln
End.
Целочисленная арифметика и
условный оператор.
Задача.
Дано трехзначное число. Определить:
a) Является ли сумма его цифр двузначным числом;
b) Является ли произведение его цифр трехзначным числом;
c) Больше ли числа А произведение его цифр;
d) Кратна ли пяти сумма его цифр;
e) Кратна ли сумма его цифр числу А.
Program prim9;
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. Выяснить пройдет ли кирпич в
круглое отверстие.
Разбор тренировочных
заданий.
5.
Дано четырехзначное число N. Выяснить:
a. Является ли число палиндромом?
Для решения этой задачи надо записать число в обратном порядке. Для этого
единицы умножаем на 1000, прибавляем число десятков умноженное на 100, число
тысяч умножаем на 10 и прибавляем число десятитысяч. Если полученное число
будет равно исходному, значит это палиндром.
Program
prim9_5а;
Var
x,y:integer;
Begin
Write('введите четырехзначное число');
Readln(х);
y:=(x mod 10)*1000+((x div 10) mod 10)*100+((x div 100) mod 10)*10+x div
1000;
If x=y then writeln ('число палиндром ')
Else Writeln('это не палиндром ');
Readln;
End.
6.
Трамвайный билет имеет шестизначный номер. Выяснить, является ли билет
"счастливым". Билет назовем "счастливым", если сумма первых
трех цифр равна сумме последних трех цифр. Примечание. Так как шестизначное
число больше 32767 (тип Integer), необходимо номер билета определит как тип
Longint(до 10 знаков).
Program
prim9_6;
Var
x1,x2:integer;
x,:longint;
Begin
Write('введите номер билета');
Readln(х);
X1:=x div 100000+(x div 10000) mod 10+(x div 1000) mod 10; {сумма первых
трех цифр}
X2:=(x div 100) mod 10+(x div 10) mod 10+x mod 10; {сумма последних трех
цифр}
If x1=x2 then writeln (' билет счастливый ')
Else Writeln('билет не счастливый ');
Readln;
End.