Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.10.2009, 07:46   #1
valis
Пользователь
 
Регистрация: 29.09.2008
Сообщений: 17
По умолчанию Мини-вопрос Pascal

Код:
program koord;
uses crt;
var x,y:real;
fl:char; label met1;
begin
met1:clrscr;
writeln('x'); readln(x);

if (x>11) or (x<-7) then writeln ('введенное значение не входит в область определения');
if  ((x>=-3) and (x<=3)) then   Y:=abs((sqrt(9-x*x)-3));
if ((x>=-7) and (x<=-3)) then y:=3;
if ((x>3) and (x<=6)) then y:=-2*x+9;
if ((x>6) and (x<=11)) then y:=x-9; 
writeln('y=',y);

writeln('press 1 for continue'); readln(fl);
if (fl='1') then goto met1;
readln;
end.
Вот код программы в которой,нужно найти y,по введенному значению x.
Функция определена на промежутке x>-7 и x<11. в данной программе при вводе числа не входящего в этой промежуток выводится
"введенное значение не входит в область определения
y=0"
Как откорректировать код чтобы не выводило y=0 при вводе x<-7 и x>11.
Заранее спасибо
Используйте тег [СODE]

Последний раз редактировалось Rembo; 04.10.2009 в 11:26.
valis вне форума Ответить с цитированием
Старый 04.10.2009, 09:49   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

формально ответ на ваш вопрос
Код:
if (x>11) or (x<-7) then writeln ('введенное значение не входит в область определения')
else begin
  ... тут Ваши вычисления ....
  вывод Y 
end;
но
по программе есть куча замечаний.

1) надо переделать без меток/Goto
заменить можно на банальный цикл
Код:
repeat
....
until (fl<>'1');
2) обратите внимание - в сравнении условий у Вас перехлёст за счёт нестрого сравнения (например, -3 входит в два условия:
Код:
if ((x>=-3) and (x<=3)) then Y:=abs((sqrt(9-x*x)-3));
if ((x>=-7) and (x<=-3)) then y:=3;
проверьте по условию задачи, где-то условие должно быть строгим (без равно)

и последнее, при публикации программы на форуме не забывайте про тег [СODE].. (это кнопочка #)
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по коду(Pascal) DeFt Помощь студентам 6 09.06.2009 21:20
Вопрос по Pascal. NitriNKa Помощь студентам 5 03.05.2009 20:50
Вопрос по PASCAL xxasb07 Паскаль, Turbo Pascal, PascalABC.NET 2 19.11.2008 12:21