
Казимир
5 год назад
Пожалуйста посчитайте пожалуйста..Паскаль, мне нужно, чтобы вышла одна оценка в выводе, а выходят сразу 3 при этом одна какая то из 4 не выходит к этим 3 ...как это исправить, что бы вообще одна оценка выходила? k-кол-во поинтов если, что и критерии такие 18-20 поинтов-оценка 5; 14-17 поинтов 4; 10-14поинтов- оценка 3 и меньше 10 поинтов 2.Вообщем выглядит все так:If k>17 thenBeginWriteln('ваша оценка 5. Молодец!');End;If (k>13) or (k<18) thenBeginWriteln('ваша оценка 4.');End;BeginIf(k>9) or (k<14) thenWriteln('ваша оценка 3.');End;If k<10 thenBeginWriteln('ваша оценка 2.');End;
ОТВЕТЫ

Glenn Jeffrey
Oct 24, 2020
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.
440
Смежные вопросы: