Какие из приведенных операторов
правильные и почему?
For i := 12 To 15 Do s := s + i;
For a := 30 To 20 Do
If a Mod 3 = 0 Then d := d + 1;
For x := 1 To 20 Do
s := s + x;
If (x Mod 2 = 0) Or (x Mod 3 = 0) Then d := d + 1.
В цикле должны выполнятся два оператора.
Задать с помощью условного оператора
следующие действия:
меньшее из двух данных чисел (a и b)
заменить на 0, а в случае их равенства
заменить оба;
большее из трех данных чисел (a, b,
и c) уменьшить на 5.
Решение задач
В трехзначном числе зачеркнули первую
цифру слева, когда полученное двузначное
число умножили на 7, то получили данное
число. Найти это число. Ответ: 350.
Сумма цифр трехзначного числа кратна 7,
само число также делится на 7. Найти все
такие числа.
Дано натуральное число n (n<=9999).
Определить, является ли оно палиндромом
(''перевертышем''), с учетом четырёх цифр.
Например, палиндромами является числа:
2222, 6116, 0440.
Вопросы для обсуждения
Дано число n. Каким образом можно
построить ''перевёртыш'' данного числа?
Сколько переменных необходимо для
решения данной задачи? Объясните
назначение каждой переменной.
Решение
Обозначим: n - вводимое число; m
- дубликат числа n; a - перевертыш
числа n; i - переменная цикла для
создания перевертыша.
Program Example_7;
Var n,m,a,i : Integer; Begin Writeln('введите целое число, не
большее 9999');
Readln(n) {вводим целое число}
m:=n; a:=0;>
{ создание перевертыша }
For i=1
Begin
a:=a*10+m Mod 10; m:=m Div 10 End.>
Трассировка примера
Рассмотрим выполнение этой программы в
пошаговом режиме для числа 3994.
i
n
m
a - это перевертыш
-
3994
3994
0
1
3994
399
0*10+3994 mod 10=0+4=4
2
3994
39
4*10+399 mod 10=40+9=49
3
3994
3
49*10+39 mod 10=490+9=499
4
3994
0
499*10+3 mod 10=4990+3=4993
Так как значение переменной a не равно
значению переменной n, то на экране
появится слово 'НЕТ!!!'.
Даны натуральные числа n, k (n, k<=9999).
Из чисел от n до k выберете те,
запись которых содержит три одинаковых
цифры. Например, числа 6766, 5444, 0006, 0060
содержат ровно три одинаковых цифры.
Решение
Если данное число содержит ровно три
одинаковых цифры, то только одна из цифр
отличается от остальных, то есть возможны
четыре случая:
1
2
3
4
1
x
x
x
2
x
x
x
3
x
x
x
4
x
x
x
В первом случае отличается последняя
цифра, во втором - третья, в третьем -
вторая, а в четвертом - первая. Для каждого
числа выполняется только одно из условий.
Фрагмент решения
Begin
Writeln('Введите два числа, не больших 9999');
For i:=n To k Do
Begin
a4:=m Mod 10; m:=m Div 10;
a3:=m Mod 10; m:=m Div 10;
a2:=m Mod 10; a1:=m Div 10;
{проверка условий}
If ((a1=a2) And (a1= a3) And (a1<>a4)) Or
{первое условие}
Трассировка примера
Рассмотрим выполнение программы для
числа 3733.
n
m
a1
a2
a3
a4
3733
3733
-
-
-
3
3733
373
-
-
3
3
3733
37
3
7
3
3
Для данного числа выполняется третье
условие, поэтому на экране появится число
3733.
Среди четырёхзначных чисел выбрать те, у
которых все четыре цифры различны.
Дано четырёхзначное число n. Выбросить
из записи числа n цифры 0 и 5, оставив
прежним порядок остальных цифр. Например,
из числа 1509 должно получиться 19.
Натуральное число из n цифр является
числом Армстронга, если сумма его цифр,
возведённых в n-ю степень, равна
самому числу. Получить все числа
Армстронга, состоящие из трёх и четырёх
цифр.
Дана последовательность из 20 целых
чисел. Определить количество чисел в
наиболее длинной последовательности из
подряд идущих нулей.