Or - "ИЛИ". Если одно из условий верно, то и все выражение принимает истину [ 0 or 1 = 1 ; 1 or 0 = 1; 1 or 1 = 0, 0 or 0 = 0], где 1 - истина, а 0 - ложь у тебя условие 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.
у тебя условие
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.
problems : array [0..9] of String = ('x1+5=10', 'x1+5=10', 'x1+5=10', 'x1+5=10', 'x1+5=10', 'x1+5=10', 'x1+5=10','x1+5=10', 'x1+5=10', 'x1+5=10');
answers : array [0..9] of String = ('-5', '-5', '-5', '-5', '-5', '-5', '-5', '-5', '-5', '-5');
var
countOfAnswers, counter: integer;
userAnswer: String;
begin
countOfAnswers := 0;
for counter:=0 to 9 do
begin
write('Введите ответ уравнения ', problems[counter], ' : ');
readln(userAnswer);
if userAnswer = answers[counter] then Inc(countOfAnswers);
end;
if countOfAnswers > 8 then writeln('Отлично')
else if countOfAnswers > 5 then writeln('Хорошо')
else writeln('Плохо');
end.