Задачи по Pascal. Определить, есть ли среди цифр заданного пятизначного числа цифра 0.

pascalУсловие задачи : Написать программу, которая печатает TRUE или FALSE в зависимости от того, выполняются или нет указанные условия.  Определить, есть ли среди цифр заданного пятизначного числа цифра 0.
(Язык Pascal)

Сложность: легкая.

 

Решение задачи :

 

Для начала продумаем решение. Тут довольно всё просто, разобьём число на 5 цифр и потом составим логическое выражение.

Для того чтобы решить задачу нам понадобятся следующие переменные:

1. Переменные n1,n2,n3,n4,n5 — для цифр числа
2. Переменная num — для числа
3. Переменная res — для True или False

Начнем мы с каркаса нашей программы :

var
    n1, n2, n3, n4, n5, num : integer;
    res : boolean;
begin
    write('Введите пятизначное число : ');readln(num);
end.

Тут мы объявили все переменные и попросили пользователя ввести число. Дальше нам надо разбить число на цифры делать это мы будем с помощью операций mod и div.
Если вы не понимаете как они работают ОБЯЗАТЕЛЬНО читайте про них (тут).

Допустим у нас число 12345, мы пишем:

n1 := num div 10000; // будет число 1
n2 := num div 1000 mod 10; // будет число 2
n3 := num div 100 mod 10; // будет число 3
n4 := num div 10 mod 10; // будет число 4
n5 := num mod 10; // будет число 5

Теперь надо узнать есть ли среди всех цифр 0. Мы должны применить логику, давайте сначала на примере одной цифры, пишем:

res := (n1 = 0);

Мы присвоили переменной res равенство двух чисел, т.е. если n1 равно нулю, тогда res будет True иначе False..

Нам надо проверить есть ли среди 5-ти чисел 0, т.е. если хоть одно число равно нулю, то выводить True, пишем:

res := ((n1 = 0) or (n2 = 0) or (n3 = 0) or (n4 = 0) or (n5 = 0));

Т.е. это выглядит так: n1 = 0 или n2 = 0 или и т.д.
Если хоть одна из цифр равна 0 то у нас будет True .

Всё решение задачи Pascal :

var
    n1, n2, n3, n4, n5, num : integer;
    res : boolean;
begin
    write('Введите пятизначное число : ');readln(num);
    
    n1 := num div 10000;
    n2 := num div 1000 mod 10;
    n3 := num div 100 mod 10;
    n4 := num div 10 mod 10;
    n5 := num mod 10;
    
    res := ((n1 = 0) or (n2 = 0) or (n3 = 0) or (n4 = 0) or (n5 = 0));
    
    writeln(res);
end.

Вот результат :

zadachi-po-pascal-opredelit-est-li-sredi-cifr-zadannogo-pyatiznachnogo-chisla-cifra-0

Написать ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *