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

Задачи по Pascal

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

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

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

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

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

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

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

1
2
3
4
5
6
7
8
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-х цифр:

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

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

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

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

1
res := (sum1 = sum2);

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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.

cyber
Оцените автора
CyberLesson | Быстро освоить программирование Pascal и C++. Решение задач Pascal и C++
Добавить комментарий