Запишите на языке Паскаль программу, которая для произвольного (введённого с клавиатуры) натурального трёхзначного числа определяет:
Произведение всех цифр числа.
Домашние задания: Информатика
СРОЧНО!!! ИНФОРМАТИКА 8 КЛАСС!!! ПОЖАЛУЙСТА!!!
Кстати, Ваша задача может быть решена двумя способами:
✓ арифметически,
✓ через преобразование в строку и обратно.
Замечание по первому способу: хотя цифр всего три, но красиво реализовать алгоритм в цикле. Хотя бы так:
Program Multy3;
Type Nat3dig=0..999;
var
x,x1:Nat3dig; // переменная x1 — формальная, используется только при выводе, можно исключить...
i:byte;
P:word; // максимум = 729
Begin
write('Введите трехзначное натуральное число. X: ');
readln(x);x1:=x;
P:=x mod 10; // «отделяем» младшую цифру и временно присваиваем её переменной результата
for i:=1 to 2 do
begin
x:=x div 10; // «вычеркиваем» младшую цифру из исходного данного
P:=P*(x mod 10) // получаем частичное произведение
end;
writeln('Произведение всех цифр числа ', x1, ' равно ', P);
write('Для выхода из программы просто нажмите клавишу Enter'); readln
End.
✓ арифметически,
✓ через преобразование в строку и обратно.
Замечание по первому способу: хотя цифр всего три, но красиво реализовать алгоритм в цикле. Хотя бы так:
Program Multy3;
Type Nat3dig=0..999;
var
x,x1:Nat3dig; // переменная x1 — формальная, используется только при выводе, можно исключить...
i:byte;
P:word; // максимум = 729
Begin
write('Введите трехзначное натуральное число. X: ');
readln(x);x1:=x;
P:=x mod 10; // «отделяем» младшую цифру и временно присваиваем её переменной результата
for i:=1 to 2 do
begin
x:=x div 10; // «вычеркиваем» младшую цифру из исходного данного
P:=P*(x mod 10) // получаем частичное произведение
end;
writeln('Произведение всех цифр числа ', x1, ' равно ', P);
write('Для выхода из программы просто нажмите клавишу Enter'); readln
End.
1 Не "запишите", а напишите. "Слышь, Дюма, запиши-ка ты "Трёх мушкетёров".
2. Смотрим что нам Скарабей советует.
2. Смотрим что нам Скарабей советует.
программы писать не научили? а алгоритм составлять хоть научились? или вообще думать нечем?
например берем число введенное с клавиатуры, делаем целочисленное деление на 100 и запоминаем цифру, потом делим также на 10 и перемножаем полученные числа, потом произведение перемножаем на оставшееся число
например берем число введенное с клавиатуры, делаем целочисленное деление на 100 и запоминаем цифру, потом делим также на 10 и перемножаем полученные числа, потом произведение перемножаем на оставшееся число
program sm;
uses crt;
var x,a,b,c,s,s1:integer;
begin
clrscr;
write('':5,' 3-х знач числ x = '); read(x);
a:=x div 100;
writeln('':5,' сто ) a = ',a);
b:=(x mod 100) div 10;
writeln('':5,' десят b =',b);
c:= (x mod 100) mod 10;
writeln('':5,' йединиц c = ',c);
{s:=a+b+c; }
s1:=a*b*c;
{writeln('':5,' summ = ',a,'+',b,'+',c,' = ',s);}
writeln('':5,' proizweden s = ',a,'*',b,'*',c,' = ',s1);
end.
uses crt;
var x,a,b,c,s,s1:integer;
begin
clrscr;
write('':5,' 3-х знач числ x = '); read(x);
a:=x div 100;
writeln('':5,' сто ) a = ',a);
b:=(x mod 100) div 10;
writeln('':5,' десят b =',b);
c:= (x mod 100) mod 10;
writeln('':5,' йединиц c = ',c);
{s:=a+b+c; }
s1:=a*b*c;
{writeln('':5,' summ = ',a,'+',b,'+',c,' = ',s);}
writeln('':5,' proizweden s = ',a,'*',b,'*',c,' = ',s1);
end.
Похожие вопросы
- Информатика 8 класс, срочно
- Пожалуйста, помогите с заданием по информатике , 8 класс
- Информатика 8 класс…
- Информатика 8 класс, помогите пожалуйста
- Помогите пожалуйста!!! Очень срочно, информатика, 9 класс!!!
- Информатика 8 класс,Помогите пожалуйста с ДЗ!Очень прошу!
- Помогите пожалуйста,информатика 8 класс
- Информатика 8 класс задача помогите пожалуйста решить!
- Информатика 8 класс помогите пожалуйста
- Информатика 8 класс Помогите пожалуйста ?
°√°
function P(X:word):word;
begin if X<10 then P:=X else P:=(X mod 10)*P(X div 10) end;
Оцените, пожалуйста, лаконичность и универсальность такой записи (мысленно, конечно; ставить оценки на страницу не надо).