• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Стыдно просить, но так получилось.... PASCAL ABC, case

Xotari

Member
18.06.2019
12
0
BIT
0
Привет всем, нужна помощь с проблемой по паскалю. Суть в том что находится остаток от деления на 6 и пихается в кейс, всё вроде работает, но в кейсе не происходит никаких вычислений, он тупо выводит введёное число. Прилагаю скрин и текст проги:
Код:
Program lab_6_1_1;
Var y:real;
a,m,n:integer;
Begin
writeln('M');
readln(m);
n:=m mod 6;
case n of
1: y:=n/sqrt(power(n,5))+abs(power(n,8)+5);
2 or 3: y:=arctan(n+2);
4: y:=sin(n+pi/4);
5 or 0: y:=exp(n);
else writeln('hernia');
writeln('вывод y = ',y);
end;
end.
1575718745146.png
 

HebiNeco

Green Team
31.08.2019
124
35
BIT
0
Else используется в сочетании с case? Давно не писал на Паскале. Попробуй написать простую программу, с 1-2 условиями в case. Может я ленивая жопа, но учись искать ошибки в коде, пригодится, если планируешь заниматься программированием не только на Паскале :)
 

Xotari

Member
18.06.2019
12
0
BIT
0
Else используется в сочетании с case? Давно не писал на Паскале. Попробуй написать простую программу, с 1-2 условиями в case. Может я ленивая жопа, но учись искать ошибки в коде, пригодится, если планируешь заниматься программированием не только на Паскале :)
да я сам уже на С# сижу давно, а тут вот на такой хрени споткнулся, аж стыдно)
 

Xotari

Member
18.06.2019
12
0
BIT
0
Врайтлайн вне кейза, а условие задать до начала входа в кейз
Код:
Var y:real;
a,m,n:integer;
Begin
writeln('M');
readln(m);
n:=m mod 6;
if(n=1) or (n=2) or (n=3) or (n=4) or (n=5) or (n=0)
then begin
case n of
1: y:=n/sqrt(power(n,5))+abs(power(n,8)+5);
2 or 3: y:=arctan(n+2);
4: y:=sin(n+pi/4);
5 or 0: y:=exp(n);
end;
writeln('вывод y = ',y);
end else
writeln('неизвестное значение');
end.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!