Задачи по Pascal. Найти произведение цифр заданного четырехзначного числа.

Задачи по Pascal

Условие задачи: Найти произведение цифр заданного четырехзначного числа. (Язык Pascal)

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

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

Для начала продумаем наше решение. Введем число. Проверим является ли оно четырехзначным. Дальше с помощью цикла while будем отрывать по 1 цифре от числа и будем это число заносить в произведение.

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

  1. Переменная number — для нашего четырехзначного числа
  2. Переменная figure — для последней цифры числа
  3. Переменная proiz — для произведения

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

1
2
3
4
5
6
var
number, figure, proiz : integer; // объявляем переменные
begin
write('Введите четырехзначное число : ');readln(number); // вводим число
proiz := 1; // присваиваем произведение 1, чтобы у нас не получался 0
end.

Тут мы попросили пользователя ввести число, а присвоили переменной proiz один, если это не сделать то произведение всегда будет равно нулю.

Дальше проверим является ли введенное число пользователя четырехзначным. Пишем условие :

1
2
3
if ((number < 1000) or (number > 9999)) then // проверяем является ли число четырехзначным
writeln('Введенное число не четырехзначное') // выводим сообщение
else // иначе

Т.е. если мы введем не четырехзначное число, то программа выполняться не будет.

Ну а теперь будем искать произведение. Чтобы это сделать нам нужно число разбить на цифры, тут нам поможет операция mod, которая ищет остаток от деления.

Допустим у нас есть число number := 1343 и нам нужно отделить последнюю цифру и занести её в переменную, мы пишем :

1
figure := number mod 10;

И это занесет в нашу переменную число 3, т.е. последнее число. Дальше чтобы найти следующую цифру числа, нам нужно из числа убрать последнюю. Тут нам уже поможет операция div, которая ищет целую часть от деления. Мы пишем:

1
number := number div 10;

Теперь у нас в переменной number будет число 134, т.е. без последней цифры. Вот таким образом мы будем искать произведение и всё это будем делать в цикле. Пишем :

1
2
3
4
5
6
while (number > 0) do // делаем цикл, пока число больше 0
begin
figure := number mod 10; // заносим в переменную последнюю цифру числа
proiz := proiz * figure; // заносим эту цифру в произведение
number := number div 10; // и убираем последнюю цифру числа
end;

Т.е. мы пускаем цикл пока число имеет какие-то цифры. В цикле мы берем последнюю цифру числа, заносим её в переменную, обновляем произведение и убираем последнюю цифру числа. Вот и вся хитрость. Потом просто выводим результат.

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var
number, figure, proiz : integer; // объявляем переменные
begin
write('Введите четырехзначное число : ');readln(number); // вводим число
proiz := 1; // присваиваем произведение 1, чтобы у нас не получался 0
if ((number < 1000) or (number > 9999)) then // проверяем является ли число четырехзначным
writeln('Введенное число не четырехзначное') // выводим сообщение
else // иначе
begin
while (number > 0) do // делаем цикл, пока число больше 0
begin
figure := number mod 10; // заносим в переменную последнюю цифру числа
proiz := proiz * figure; // заносим эту цифру в произведение
number := number div 10; // и убираем последнюю цифру числа
end;
writeln('Произведение цифр числа равна ', proiz); // выводим результат
end;
readln; // чтобы программа не закрывалась
end.
cyber
Оцените автора
CyberLesson | Быстро освоить программирование Pascal и C++. Решение задач Pascal и C++
Добавить комментарий