Паскаль, мне нужно, чтобы вышла одна оценка в выводе, а выходят сразу 3 при этом одна какая то из 4 не выходит к этим 3 это исправить, что бы вообще одна оценка выходила? k-кол-во если, что и критерии такие 18-20 -оценка 5; 14-17 4; 10-- оценка 3 и меньше 10 2.вообщем выглядит все так: if k> 17 then begin writeln('ваша оценка 5. молодец! '); end; if (k> 13) or (k< 18) then begin writeln('ваша оценка 4.'); end; begin if(k> 9) or (k< 14) then writeln('ваша оценка 3.'); end; if k< 10 then begin writeln('ваша оценка 2.'); end;
case k of
18..20: Writeln('ваша оценка 5. Молодец!');
14..17: Writeln('ваша оценка 4.');
10..13: Writeln('ваша оценка 3.');
else Writeln('ваша оценка 2.');
end;
у тебя условие
If(k>9) or (k<14) then
условие k > 9 выполняется, а значит и все выражение верно
Нужно заменить "OR" на "AND" оператор "И".
[ 1 and 1 = 1 ] при всех остальных - ложь
Вот код
var
k: integer;
begin
readln(k);
if k > 17 then
Writeln('ваша оценка 5. Молодец!');
if (k > 13) and (k < 18) then
Writeln('ваша оценка 4.');
if(k > 9) and (k < 14) then
Writeln('ваша оценка 3.');
if k < 10 then
Writeln('ваша оценка 2.');
end.