uses crt;
Var a,x1,x2:integer;
Begin
x1:=1;
x2:=0;
readln(a);
While a<300 do
Begin
if (a mod 2<>0) then x1:=x1*a;
if (a<0) then x2:=x2+1;
readln(a);
end;
Writeln('Произведение нечётных чисел=', x1);
Writeln('Кол-во отрицательных чисел=' , x2);
readln;
end.
program raf105;
var
s,s2: string;
i,j,n,price,points: integer;
begin
write('Количество задач в карусели: ');
readln(n);
write('Ответы команды: ');
readln(s);
for i:=1 to length(s) do
if s[i]<>' '
then s2:= s2 + s[i];
price:= 3;
for i:=1 to length(s2) do
begin
if s2[i]='1'
then begin
points:= points + price;
price:= price + 1;
end
else for j:=1 to 3 do
if price > 3
then price:= price-1;
end;
writeln('Итоговый балл: ',points);
end.
<h3><u>PascalABC 3.4.2</u></h3>
25*80=2000 символов на экране
юникод 16 битный:
2000*16=32000бит(или 4000 байт)
Кнопка контраст служит для четкости цветов
1. Запись НЕ ВЕРНА.
В операторе цикла <span>for i:= 1 to sqrt(k) do значение, возвращаемое функцией sqrt имеет тип real, а в этом операторе все значения должны приводиться к целочисленному типу. Автоматическое приведение типа real к integer в языке Паскаль невозможно, его нужно осуществлять явно при помощи функции Trunc() или Round().
2. НИ РАЗУ И НИЧЕГО НЕ БУДЕТ НАПЕЧАТАНО. Программа не откомпилируется из-за ошибок, которых в операторе </span><span>if k
write(k); сразу две.
Первая - после k пропущено ключевое слово then.
Вторая состоит в том, что после if должно следовать логическое выражение, а k имеет тип char, но не boolean.
3. ОДИН РАЗ, БУДЕТ ВЫВЕДЕНО True.
В цикле должны быть значения порядкового типа и тип boolean этому требованию удовлетворяет. При входе в цикл f=false, цикл выполняется, затем f=true и цикл завершается. При однократном проходе по циклу выполнится оператор </span><span>g:= not f и g получит значение true. Это значение и будет выведено.</span>