Программирование в паскаль изменить программу которая ниже так, чтобы в ней подсчитывалось и выдавалось ! ! 3 ответа, a не 3 разные программы а) количество цифр числа; б) произведение цифр, больших 0; в) сумма цифр, меньших 3. программа. ввести с клавиатуры натуральное число. найти сумму его цифр. решение: programm sum; var chislo; word; {число, введенное с клавиатуры} tchifra, summa: integer; {tchifra - правая цифра}} begin write ('введи число'); readln (chislo); summa: =0; repeat tchifra: -chislo mod 10; {скопировали правую цифру} summa: =summa+tchifra; chislo: =chislo div 10 {оставили от числа левую часть} until chislo=0; {выход из цикла, если нет больше цифр} writeln ('сумма цифр= ', summa); readln end.
var
chislo: longint; {число, введенное с клавиатуры}
tchifra, Summa, n, p: integer;{tchifra - правая цифра}
begin
Write('введи число: ');
Readln(chislo);
Summa := 0;n := 0;p := 1;
repeat
tchifra := chislo mod 10; {получили правую цифру}
Inc(n);
if tchifra > 0 then p := p * tchifra;
if tchifra < 3 then Summa := Summa + tchifra;
chislo := chislo div 10{оставили от числа левую часть}
until chislo = 0; {выход из цикла, если нет больше цифр}
Writeln('Количество цифр в числе- ', n);
Writeln('Сумма цифр, меньших 3- ', Summa);
Writeln('Произведение цифр, больших нуля- ', p);
Readln
end.
Тестовое решение:
введи число: 10354
Количество цифр в числе- 5
Сумма цифр, меньших 3- 1
Произведение цифр, больших нуля- 60
Program Sum;
Var chislo: word;
tchifra, Summa,proizv, k:integer;
begin
Write ('введи число');
Readln (chislo);
Summa:=0;
proizv:=1;
Repeat
tchifra:=chislo mod 10;
inc(k);
if tchifra<3 then Summa:=Summa+tchifra;
if tchifra>0 then proizv:=proizv*tchifra;
chislo:=chislo div 10 ;
Until chislo=0; {выход из цикла, если нет больше цифр}
writeln('количество цифр ',k);
writeln('произведение цифр, больших 0 =',proizv);
Writeln ('сумма цифр, больших 3 = ', Summa);
end.