begin Write('Введите натуральное четырехзначное число: '); Readln(n); if (n > 9999) or (n < 1000) then Writeln('Число должно быть четырехзначным') else begin a := n div 1000; d := n mod 10; n := (n div 10) mod 100; b := n div 10; c := n mod 10; s := a + b + c + d; p := a * b * c * d; Writeln('Сумма цифр равна ', s, ', а их произведение равно ', p) end end.
Тестовое решение: Введите натуральное четырехзначное число: 2345 Сумма цифр равна 14, а их произведение равно 120
Попробуй Program PascalGuru; var s:string; f,t:text; function preobr(s:string):string;var i,j,p,n,sered:integer; gl,zp,slovo:string; m:array [1..80] of string;beginzp:='!?*,.'; gl:='аоуыэяеёюи'; p:=pos(' ',s); i:=0; repeat inc(i); slovo:=copy(s,1,p-1); m[i]:=slovo; delete(s,1,p); p:=pos(' ',s); until p=0; n:=i+1; m[n]:=s; for i:=1 to n do begin s:=m[i]; if pos(s[length(s)],zp)<>0 then p:=length(s)-1 else p:=length(s); sered:=(p div 2)+1; if (not odd(p)) or (p<3) then continue; if pos(s[1],gl)=0 then continue; if pos(s[sered],gl)=0 then continue; if pos(s[p],gl)=0 then continue; s[1]:=UpCase(s[1]); s[sered]:=UpCase(s[sered]); s[p]:=UpCase(s[p]); m[i]:=s+'('+s[1]+','+s[sered]+','+s[p]+')'; end; s:=''; for i:=1 to n do s:=s+m[i]+' '; preobr:=s;end; beginassign(f,'input.txt'); reset(f);assign(t,'output.txt'); rewrite(t); while not eof(f) do begin readln(f,s); writeln(t, preobr(s) ); end; writeln('Файл успешно записан...'); close(f);close(t);readln;end.
Программу надо сформатировать и тогда её структура будет видна лучше. А чтобы понять, как идет выполнение, в нужных точках ставим промежуточную выдачу - это называется "трассировкой".
var s, k: integer; label met; begin s:=-12; k:=90; Writeln('s=',s,', k=',k); s:=s+10; Writeln('s=',s); met: Writeln('Метка met:'); k:=k+10; Write('k=',k); if k<200 then s:=50 else s:=s+k; Writeln(', s=',s); if k<200 then goto met; Writeln('Результат: s=',s) end.
n, a, b, c, d, s, p: integer;
begin
Write('Введите натуральное четырехзначное число: ');
Readln(n);
if (n > 9999) or (n < 1000) then Writeln('Число должно быть четырехзначным')
else begin
a := n div 1000; d := n mod 10; n := (n div 10) mod 100;
b := n div 10; c := n mod 10;
s := a + b + c + d;
p := a * b * c * d;
Writeln('Сумма цифр равна ', s, ', а их произведение равно ', p)
end
end.
Тестовое решение:
Введите натуральное четырехзначное число: 2345
Сумма цифр равна 14, а их произведение равно 120