Условие задачи: Написать программу, которая печатает TRUE или FALSE в зависимости от того, выполняются или нет указанные условия. Определить, являются ли все цифры пятизначного числа четными.
(Язык Pascal)
Сложность: легкая.
Решение задачи
Для начала продумаем наше решение. Тут всё супер просто, разобьём число на пять цифр и проверим все ли они четные.
Для того чтобы решить задачу нам понадобятся следующие переменные:
- Переменная number — для нашего числа, которое мы будем разбивать на цифры.
- Переменные n1, n2, n3, n4, n5 — для нашим цифр.
- Переменная res — для результата True или False
Начнем мы с каркаса нашей программы
1
2
3
4
5
6
7
8
9
|
var number, n1, n2, n3, n4, n5 : integer ; // объявляем res : boolean ; // переменные begin write ( 'Введите пятизначное число : ' );readln(number); // просим пользователя ввести число readln; // чтобы программа не закрывалась end . |
Тут мы объявили все переменные и попросили пользователя ввести число. Дальше нам надо разбить число на цифры делать это мы будем с помощью операций mod и div.
Если вы не понимаете как они работают ОБЯЗАТЕЛЬНО читайте про них (тут).
1
2
3
4
5
6
|
// допустим есть число 13578 n1 := number div 10000 ; // будет цифра 1 n2 := number div 1000 mod 10 ; // будет цифра 3 n3 := number div 100 mod 10 ; // будет цифра 5 n4 := number div 10 mod 10 ; // будет цифра 7 n5 := number mod 10 ; // будет цифра 8 |
Ну а теперь надо проверить все ли цифры у нас четные, чтобы определить четное число или нет нужно воспользоваться операцией mod, которая ищет остаток от деления, подробнее можете прочитать (тут)
Пишем :
1
|
res := ((n1 mod 2 = 0 ) and (n2 mod 2 = 0 ) and (n3 mod 2 = 0 ) and (n4 mod 2 = 0 ) and (n5 mod 2 = 0 )); // проверяем все ли цифры четные |
Т.е. у нас будет ответ True, если все цифры четные.
Всё решение задачи Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
var number, n1, n2, n3, n4, n5 : integer ; // объявляем res : boolean ; // переменные begin write ( 'Введите пятизначное число : ' );readln(number); // просим пользователя ввести число // допустим есть число 13578 n1 := number div 10000 ; // будет цифра 1 n2 := number div 1000 mod 10 ; // будет цифра 3 n3 := number div 100 mod 10 ; // будет цифра 5 n4 := number div 10 mod 10 ; // будет цифра 7 n5 := number mod 10 ; // будет цифра 8 res := ((n1 mod 2 = 0 ) and (n2 mod 2 = 0 ) and (n3 mod 2 = 0 ) and (n4 mod 2 = 0 ) and (n5 mod 2 = 0 )); // проверяем все ли цифры четные writeln (res); // выводим результат readln; // чтобы программа не закрывалась end . |