3, 6 (но с уловием, что это последняя строка кода перед end.)
Объяснение:
1.) if x>0 or y>0 then k:= k+1 else k:= 0; - неверно, потому что при использовании and или or сравниваемые условия необходимо указывать в ( )
2.) if 10 then k:= k+1; - должно быть указано условие, просто число не может быть условием (по крайней мере в pascal)
3.) if x<>0 then y:=100/x; - всё ОК
4.) if x - нет then,
5.) if x>0 then y:= 100 div x; else y:= 0; - перед else не ставится ;
6.) if (x mod y=0) then else writeln(‘no’) - всё ОК, с условием, что это последняя срока кода перед end. Если условие будет истинно, то просто ничего не выполнится. И ещё небольшой комментарий: символ ’ не используется для написания строки, нужен символ '. Возможно это ты малость ошибся, при переписывании задания
Поделитесь своими знаниями, ответьте на вопрос:
var n:integer;s:string;
procedure hex(a:integer; var h:string);
var i,m:integer; s1,s2:string;
begin
s2:='ABCDEF';
h:='';
for i:=1 to 4 do
begin
m:=a mod 16;
case m of
0..9 : str(m,s1);
10..15 : s1:=s2[m-9];
end;
h:=s1+h;
a:=a div 16;
end;
end;
begin
write('n = '); readln(n);
hex(n,s);
writeln(n,'(10) = ',s,'(16)');
end.
Пример:
n = 4095
4095(10) = 0FFF(16)