Другие языки программирования и технологии
Помогите исправить код чтобы он считал балы теста Pascal
Помогите плз. Почему этот код не работает? Помогите исправить код чтобы он высчитывал балы. If(s<=5) then begin Writeln('Neudachno'); end; if(s>=5) and (s<=10) then begin Writeln('Udachno'); end; if(s>=10) and (s<=15) then begin Writeln('Super'); end; if(s>=15) and (s<=20) then begin Writeln('Klassno'); end;
сделай через Case
намного будет проще
case s of
1..
2..
3..
и т. д.
end;
case s of
1..5: Writeln('Neudachno');
6..10: Writeln('Udachno');
11..15: Writeln('Super');
16..20: Writeln('Klassno');
end;
вот и всё че тут вы мутите через какие то ифы "if"
намного будет проще
case s of
1..
2..
3..
и т. д.
end;
case s of
1..5: Writeln('Neudachno');
6..10: Writeln('Udachno');
11..15: Writeln('Super');
16..20: Writeln('Klassno');
end;
вот и всё че тут вы мутите через какие то ифы "if"
блин даже я незнаю паскаля но блин посмотрите в учебнике как записывать if в паскале
if(s>=10) and (s<=15) then Writeln('Super');
зачем begin и end для одной операции ?(
if(s>=10) and (s<=15) then Writeln('Super');
зачем begin и end для одной операции ?(
Потому что в как минимум лажа в твоей логике.
У тебя условие, как переменная S должна быть одновременно и больше и меньше! ? Вместо end поставь оператор or.
Нормально твоя работает если сделать так, кстати согласен с предыдущим постом. для одной операции begin end не нужен
var s:integer;
begin
readln(s);
if(s<=5) then
begin
Writeln('Neudachno');
end else
if(s>5) and (s<=10) then
begin
Writeln('Udachno');
end else
if(s>10) and (s<=15) then
begin
Writeln('Super');
end else
if(s>15) and (s<=20) then
begin
Writeln('Klassno');
end; readln;
end.
А вот так было бы более правильно :)
var s:integer;
begin
readln(s);
if(s<=5) then
Writeln('Neudachno')
else
if(s>5) and (s<=10) then
Writeln('Udachno')
else
if(s>10) and (s<=15) then
Writeln('Super')
else
if(s>15) and (s<=20) then
Writeln('Klassno') else write('ballov blo''she! ');
readln;
end.
var s:integer;
begin
readln(s);
if(s<=5) then
begin
Writeln('Neudachno');
end else
if(s>5) and (s<=10) then
begin
Writeln('Udachno');
end else
if(s>10) and (s<=15) then
begin
Writeln('Super');
end else
if(s>15) and (s<=20) then
begin
Writeln('Klassno');
end; readln;
end.
А вот так было бы более правильно :)
var s:integer;
begin
readln(s);
if(s<=5) then
Writeln('Neudachno')
else
if(s>5) and (s<=10) then
Writeln('Udachno')
else
if(s>10) and (s<=15) then
Writeln('Super')
else
if(s>15) and (s<=20) then
Writeln('Klassno') else write('ballov blo''she! ');
readln;
end.
У тебя если баллов 5 10 или 15 число попадает в два диапазона. Тоесть если 10 то получается и Удачно и Супер. Определись как тебе лучше и знак равенства лишний убери. И для одной функции Бигин и энд не нужны.
If(s<5) then
Writeln('Neudachno');
if(s>=5) and (s<10) then
Writeln('Udachno');
if(s>=10) and (s<15) then
Writeln('Super');
if(s>=15) and (s<=20) then
Writeln('Klassno');
If(s<5) then
Writeln('Neudachno');
if(s>=5) and (s<10) then
Writeln('Udachno');
if(s>=10) and (s<15) then
Writeln('Super');
if(s>=15) and (s<=20) then
Writeln('Klassno');
А зачем проверка идет от 5 до 10 (включая) и от 10 до 15 включительно. Получается что при оценке десять одновременно УДАЧНО и СУПЕР. Кроме того если после ТХЕН одна команда то бегин и енд можно и не писать (на логике это не отразится).
Похожие вопросы
- Pascal помогите исправить код
- Помогите исправить код так, чтобы работал! :) (C#)
- помогите исправить код BV
- Программирование С++ помогите исправить код
- Помогите исправить программный код на Pascal (индексно-последовательный поиск) вопрос полностью в средине
- Помогите исправить ошибки в коде на Pascal, чтобы он выводил верные ответы. Или можете сами пожалуйста написать пжпжпж!
- Помогите исправить ошибку в коде программы на паскале.
- Рекурсия поиск на Delphi в цикле WHILE - исправьте код ?
- Помогите с кодом Pascal; создание и запись в txt-файл
- Помогите сделать код Pascal ABC