1) var a:string; i, o: Integer; p: Real; begin readln(o); a := inttostr(o); for i := 1 to length(a) do p := p + strtoint(a[i]); if (sqr(o) = p*p*p) then writeln('true') else writeln('false'); end.
2) var a:string; i, o, p: Integer; begin readln(o); a := inttostr(o); for i := 1 to length(a) do p := p + strtoint(a[i]); if (p mod 3 = 0) then writeln('true') else writeln('false'); end.
3) var a, b, c: real; begin readln(a, b, c); if ((a = b) and (b = c)) then writeln('true') else writeln('false'); end.
m:=0. "количество отрицателных" p:=0 "количество положительных" i:=1. пока i<>0 повторять i:=прочитать число, введенное с клавиатуры. если i>0 то p:=p+1. если i<0 то m:=m+1. конец цикла пока. вывести на экран('процент положительных = ', p/(p+m)). вывести на экран('процент отрицательных = ', m/(p+m)).
Алгоритм будет верно работать, если введено хотя бы одно число, отличное от нуля. В противном случае возникнет ошибка деления на ноль. В нормальных программах подобные случаи отлавливаются и корректно обрабатываются.
ответ 9, так как в 8 коробок все не поместятся.