Таблица истинности во вложении.
1)
program gt;
var s,n,a,i:integer;
begin
read(n)
s:=0;
randomize;
for i:=1 to n do
begin
a:=random(100);
s:=s+a;
end;
writeln(s);
end.
2)
можно сделать с файлом
assign...
reset...
rewrite...
while not eof(..) do
begin
read(..,a);
s:=s+a;
end;
writeln(...,s);
close(..)
close(..);
end.
110-89=21
21+89=110 вот вроде правильно
Var
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.
<em><u>Тестовое решение:</u></em>
Введите натуральное четырехзначное число: 2345
Сумма цифр равна 14, а их произведение равно 120
а)89/2 = 44, остаток: 1
44/2 = 22, остаток: 0
22/2 = 11, остаток: 0
11/2 = 5, остаток: 1
5/2 = 2, остаток: 1
2/2 = 1, остаток: 0
1/2 = 0, остаток: 1
8910 = 10110012
б)600/2 = 300, остаток: 0
300/2 = 150, остаток: 0
150/2 = 75, остаток: 0
75/2 = 37, остаток: 1
37/2 = 18, остаток: 1
18/2 = 9, остаток: 0
9/2 = 4, остаток: 1
4/2 = 2, остаток: 0
2/2 = 1, остаток: 0
1/2 = 0, остаток: 1
60010 = 10010110002
в)2010/2 = 1005, остаток: 0
1005/2 = 502, остаток: 1
502/2 = 251, остаток: 0
251/2 = 125, остаток: 1
125/2 = 62, остаток: 1
62/2 = 31, остаток: 0
31/2 = 15, остаток: 1
15/2 = 7, остаток: 1
7/2 = 3, остаток: 1
3/2 = 1, остаток: 1
1/2 = 0, остаток: 1
201010 = 111110110102