Что не так? (сравнить что больше сумма положительных или произведение отрицательных)
program ee;
var n,i,kolp,kolo: integer;
sum,po,a: real;
begin
writeln ('сколько чисел вы будете вводить? ','');
readln (n);
sum: =0;
po: =1;
kolp: =0;
kolo: =0;
for i: =1 to n do
begin
writeln ('введите число,нажмите enter');
readln(a);
if a< 0 then begin inc(kolo);
po: =po*a; end;
if a> 0 then begin inc(kolp);
sum: =sum+a; end;
if a=0 then continue;
end;
if (sum=1) and (kolo> =1) then writeln ('произведение отрицательных') else
if (sum=po) and (kolp> =1) and (kolo> =1) then writeln ('произведение отрицательных равно сумме положительных')else
if (kolp=0) and (kolo=0) then writeln ('кажется, что вы ввели все нули')else
if (kolp=0) or (kolo=0) and (sum=0) or (po=1) then writeln ('нельзя совершить подсчет,нужно ввести ак миниум 2 положительных и два отрицательных числа');
end.
1) Если имя переменной в себе содержит больше одного слова, то оно всё равно целиком должно быть написано слитно, иначе SyntaxError
birth day -> BirthDay или birthDay или birth_day
2) # Step 3: if * > **: age = year - birth_year then:
- Переменная birth_year ранее не объявлена
- как интерпретатор должен осознать значение выражения " if * > ** " ?
- Откуда там взялся then: ?
3) print("Your age: {a} years, {b} months, {c} days"):
- Перед форматированной строкой должен стоять флаг f:
print(f' value: {value}')
Вывод: Изучите основы синтаксиса Python
const
p =3.14;
var
a,b,r,s1,s2:real;
begin
Writeln('Введите длины сторон прямоугольника');
readln(a,b);
Writeln('Введите радиус окуржности');
Readln(r);
s1:=a*b;
s2:=p*sqr(r);
Writeln('Площадь закрашеной окружности = ', s2-s1);
end.
Если закрашена какая-то другая область то можете просто изменить действие с площадями в предпоследней строчке ( в данном случае мы из s2 вычитаем s1).