задача 1.
var
a, s : integer;
begin
writeln('введите числа:');
while s < 101 do begin
read(a);
s += a;
end;
writeln('Стоп! Сумма чисел больше 100, s=', s);
end.
задача 2.
var
h : char;
n : integer;
begin
writeln('введите символы:');
while n < 5 do begin
read(h);
if h = 'F' then n += 1;
end;
writeln('Стоп! Символ F был введен 5 раз')
end.
задача 3.
var
a : integer;
begin
write('Введите число от 1 до 4 : ');
readln(a);
if (a = 1) or (a = 2) then begin
for var i := 3 downto 1 do begin
for var j := 1 to i do write('*');
writeln;
end;
end
else if (a = 3) or (a = 4) then begin
for var i := 1 to 3 do begin
for var j := 1 to i do write('*');
writeln;
end;
end
else writeln('вы ввели не правильное число :(');
end.
Объяснение:
program Randomizer;
const
RndLimit = 10000;
var
x, SumX : integer;
begin
SumX := 0;
// Коммент: случайное число в паскале всегда генерируется от 0 до заданного но нам необходимо от 1000, поэтому в цикле repeat...until оно будет генерироваться до тех пор, пока не станет > 999
Repeat x := Random(RndLimit) until x > 999;
writeln ('Random X= ', x);
SumX := SumX + (x div 1000) + (x mod 1000 div 100) + (x mod 1000 mod 100 div 10) + (x mod 1000 mod 100 mod 10);
writeln ('Sum = ', SumX);
end.
запускаем
Free Pascal Compiler version 2.6.2-8 [2014/01/22] for x86_64
Copyright (c) 1993-2012 by Florian Klaempfl and others
Target OS: Linux for x86-64
Compiling main.pas
Linking a.out
21 lines compiled, 0.1 sec
Random X= 5488
Sum = 25