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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.09.2011, 17:52   #1
gylayko
Форумчанин
 
Регистрация: 14.09.2011
Сообщений: 203
Смущение протабулировать функцию

всеобщие привет театру, школам, ложи блещут...
вот задание:1. Протабулировать функцию для х=-10.. -6, шаг x=0.4, использовав цикл с предусловием. Аргументы и результаты вывести на экран в виде таблицы (для значений х, в которых функция не существует вывести "-" и использовать оператор перехода на следующую итерацию). вот функция y=(sqt(x+9)/x)-(1/x+6)
вот, моя созданая прога
var x,y,z:real;
begin
x:=-10;
while x>=-6 do
begin
x:=x+0.4;
y:=(sqrt(x+9)/x)-(1/x+6);
WriteLn('x=',x:5:2,'y=',y:5:2);
end;
ReadLn;
end.
но она не работает, в результате ничего не происходит! в чем ошибка?
gylayko вне форума Ответить с цитированием
Старый 24.09.2011, 18:07   #2
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,869
По умолчанию

Код:
while(x<=-6) do//пока X меньше либо равен -6, то...
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 05.10.2011, 15:06   #3
gylayko
Форумчанин
 
Регистрация: 14.09.2011
Сообщений: 203
Печаль

и что? ничего ведь не изменилось! все равно выдает ту же ошибку!!!
gylayko вне форума Ответить с цитированием
Старый 05.10.2011, 15:30   #4
Niro
Форумчанин
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
По умолчанию

Цитата:
в результате ничего не происходит!
Вот вам NetSpace и исправил эту ошибку
Раньше у вас программа проскакивала цикл, сейчас нет, но будет выдавать ошибку
очевидно, у вас корень извлекается из отрицательного числа, вот и ошибка

P.S. у вас ведь в задании даже указано
для значений х, в которых функция не существует вывести "-" и использовать оператор перехода на следующую итерацию
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.

Последний раз редактировалось Niro; 05.10.2011 в 15:42.
Niro вне форума Ответить с цитированием
Старый 05.10.2011, 16:51   #5
gylayko
Форумчанин
 
Регистрация: 14.09.2011
Сообщений: 203
Вопрос

а как написать, что если функция не получается, вывести "-"???
gylayko вне форума Ответить с цитированием
Старый 05.10.2011, 17:37   #6
gylayko
Форумчанин
 
Регистрация: 14.09.2011
Сообщений: 203
По умолчанию

я сделал вот так
var y,h,x:real;
begin
h:=0.4;
x:=(-10);
While (x<=-6) do
begin
y:=sqrt(x+9)/x-(1/x+6);
if false then
WriteLn('-') else
WriteLn('x=',x:5:2,'y=', y:5:2);
x:=x+h;
end;
ReadLn;
end.
но теперь все то же самое! та же ошибка на том же примере!
gylayko вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
протабулировать функцию братка Помощь студентам 2 14.05.2011 18:21
Протабулировать функцию по формуле Elonu Помощь студентам 0 29.03.2011 17:50
Протабулировать функцию Анастасия18 Помощь студентам 1 13.02.2011 20:58
протабулировать функцию Broneslav Помощь студентам 6 17.02.2009 01:17
протабулировать функцию felmor Паскаль, Turbo Pascal, PascalABC.NET 1 24.12.2008 22:36