Задачи по Pascal. Определить, равна ли сумма двух первых цифр заданного четырехзначного числа сумме двух его последних цифр.

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

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

 

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

 

Для начала стоит сказать что многие думают, что эту задачу надо решать следующим образом: сначала найти сумму первых 2-х чисел, потом вторых, потом через условие (if then else), вывести TRUE или FALSE, но это не правильно, в таких задачах пользоваться условием нельзя. Сейчас я вам напишу правильно решение.

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

1. Переменная number — для заданного числа
2. Переменная sum1 — для суммы первых двух чисел
3. Переменная sum2 — для суммы вторых двух чисел
4. Переменная res — для ответа

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

var 
    number, sum1, sum2 : integer;
    res : boolean;
begin
    write('Введите четырехзначное число : ');readln(number);
    
    sum1 := 0; sum2 := 0;
end.

Тут мы объявили переменные, переменная res у нас логического типа, т.е. может вывести True или False. Дальше мы попросили пользователя ввести число и присвоили sum1 и sum2 нули, т.е. начальные значения, чтобы не было ошибок.

Дальше давайте найдем сумму первых двух чисел, тут нам помогут операции mod и div, подробнее про них (тут), с помощью их мы будет разбивать число на цифры. Сначала первые две, допустим number у нас равно 1234, ищем сумму первых 2-х цифр:

sum1 := (number div 1000) + sum1;
sum1 := (number div 100) mod 10 + sum1;

Сначала мы нашли 1, потом уже 2. Теперь у нас есть сумма первых двух цифр. Дальше следующие две цифры:

sum2 := (number mod 10)  + sum2;
sum2 := (number mod 100) div 10 + sum2;

Сначала нашли цифру 4 потом уже 3. Теперь нужно проверить равна ли сумма, для этого сделаем следующее:

res := (sum1 = sum2);

И вот тут мы сравниваем две суммы. В переменной res у нас будет либо True или False. Осталось только вывести результат.

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

var 
    number, sum1, sum2 : integer;
    res : boolean;
begin
    write('Введите четырехзначное число : ');readln(number);
    
    sum1 := 0; sum2 := 0;
    
    sum1 := (number div 1000) + sum1;
    sum1 := (number div 100) mod 10 + sum1;
    
    sum2 := (number mod 10)  + sum2;
    sum2 := (number mod 100) div 10 + sum2;
    
    res := (sum1 = sum2);
    writeln(res);
end.

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

opredelit-ravna-li-summa-dvux-pervyx-cifr-zadannogo-chetyrexznachnogo-chisla-summe-dvux-ego-poslednix-cifr

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

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