PascalABC.NET 3.3
program journal;
var
sum, mark, count, n: integer;
check: boolean;
begin
sum := 0;
check := true;
count := 0;
writeln('Введите количество оценок: ');
readln(n);
if (n > 0) then begin
while (count <> n) do
begin
readln(mark);
inc(sum, mark);
if (mark < 4 ) then check := false;
inc(count);
if (count = n) then writeln('Ввод окончен!');
end;
end else writeln('Error!');
if ((check) and (sum > 0) and (n > 0)) then writeln('Ты молодец!');
end.
1. sin это арифметическое действие. Синус можно найти из 90 градусов например. А тут X>10. Из чего синус искать, из большего или может из меньшего? Правильной будет запись
if x>10 then ... какое-то действие... sin(x) else ... sin (x);
вообщем нельзя ставить оператор сравнения в арифметическое действие т.к. им задаются условия.
2. Попытка использовать арифметические операции с "false".
3. Выражение теряет смысл. And это логическая операция. Лог выражение должно быть вида A and B. Соответственно исправить можно так '(x=0) and (round(sqrt(x)) mod 2=0)'
4. Не пишут 2 or подряд т. к. теряется логика операции.