Условие задачи : Написать программу, которая печатает 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.
