В 1) должно быть var a,b:integer;
Внутри функции вызывается ввод трех чисел со строки, затем из этих чисел составляется список, затем формируется список из всех элементов исходного списка, которые больше нуля, в итоге выводится длина получившегося списка. Мне не хотелось использовать различные счетчики и if-elif, поэтому решение такое.
def func():
a = int(input())
b = int(input())
c = int(input())
numbers = [a, b, c]
return len([number for number in numbers if number > 0])
func()
Можно еще изменить решение так, чтобы введенные числа сразу отправлялись в список.
def func():
numbers = []
for i in range(3):
numbers.append(int(input()))
return len([number for number in numbers if number > 0])
func()
123.79.172.213
тупо соединяешь из вместе
Var
b:array[1..100001] of integer;
var a,c,i:integer;
begin
c:=0;
write('десятичное число: ');
readln(a);
while a<>0 do
begin
if a mod 2 = 0 then
begin
a:=a div 2;
c:=c+1;
b[c]:=0;
end;
if a mod 2 <>0 then
begin
a:=a div 2;
c:=c+1;
b[c]:=1;
end;
end;
write('двоичное число: ');
for i:=c downto 1 do
write(b[i])
end.