Получить цифры, составляющие сумму заданных чисел - PascalABC.NET
Формулировка задачи:
Помогите пожалуйста решить данную задачу с оператором выбора case.
Даны цифры двух десятичных целых чисел: трехзначного а3а2а1 и двухзначного b2b1, где а1 и b1 - число единиц; а2 и b2 - число десятков; а3 - число сотен. Получить цифры, составляющие сумму этих чисел (известно, что это число трехзначное). Число-уменьшаемое, число-вычитаемое и число-разность не определять.
Решение задачи: «Получить цифры, составляющие сумму заданных чисел»
textual
Листинг программы
var a3,a2,a1,b2,b1,c3,c2,c1,pr:byte;
begin
repeat
write('Число единиц 1 числа от 0 до 9 a1=');
readln(a1);
until a1 in [0..9];
repeat
write('Число десятков 1 числа от 0 до 9 a2=');
readln(a2);
until a2 in [0..9];
repeat
write('Число единиц 2 числа от 0 до 9 b1=');
readln(b1);
until b1 in [0..9];
repeat
write('Число десятков 2 числа от 1 до 9 b2=');
readln(b2);
until b2 in [1..9];
case a1+b1 of
0..9:begin
c1:=a1+b1;
pr:=0;
end;
else
begin
c1:=(a1+b1)mod 10;
pr:=(a1+b1)div 10;
end;
end;
case pr+a2+b2 of
0..9:begin
c2:=pr+a2+b2;
pr:=0;
end;
else
begin
c2:=(pr+a2+b2)mod 10;
pr:=(pr+a2+b2)div 10;
end;
end;
case pr of
1:begin
repeat
write('Число сотен 1 числа от 1 до 8 a3=');
readln(a3);
until a3 in [1..8];
end
else
begin
repeat
write('Число сотен 1 числа от 1 до 9 a3=');
readln(a3);
until a3 in [1..9];
end;
end;
c3:=pr+a3;
writeln(' ',a3,a2,a1);
writeln('+');
writeln(' ',b2,b1);
writeln(' ---');
write(' ',c3,c2,c1);
end.
Объяснение кода листинга программы
- В первой части кода запрашиваются три числа от пользователя: a1, a2 и a3. Значения этих переменных ограничиваются диапазоном от 0 до 9.
- Во второй части кода запрашиваются три числа от пользователя: b1, b2 и b3. Значения этих переменных ограничиваются диапазоном от 0 до 9.
- В третьей части кода происходит проверка полученных значений и определяются значения переменных c1 и pr. Если сумма a1 и b1 находится в диапазоне от 0 до 9, то c1 присваивается их сумма, а pr сбрасывается в 0. В противном случае, c1 присваивается остаток от деления суммы a1 и b1 на 10, а pr присваивается целая часть от деления суммы a1 и b1 на 10.
- В четвертой части кода происходит проверка значения переменной pr и определяются значения переменных c2 и pr. Если pr находится в диапазоне от 0 до 9, то c2 присваивается их сумма, а pr сбрасывается в 0. В противном случае, c2 присваивается остаток от деления pr на 10, а pr присваивается целая часть от деления pr на 10.
- В пятой части кода происходит проверка значения переменной pr. Если pr равно 1, то пользователю предлагается ввести число от 1 до 8 для переменной a3. В противном случае, пользователю предлагается ввести число от 1 до 9 для переменной a3.
- Значение переменной pr дополняется значением переменной a3.
- Выводятся значения переменных a3, a2 и a1.
- Выводится символ
+и значения переменных b2, b1. - Выводится символ
---. - Выводятся значения переменных c3, c2 и c1.