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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.09.2010, 13:19   #1
студенткаа...
Новичок
Джуниор
 
Регистрация: 13.09.2010
Сообщений: 1
По умолчанию вычислить значение кусочной функции.

Помогите пожалуйста написать программу на pascale.
Вычислить значения кусочной функции для любого b

sin(b) , b<0
A= 10 , b=0
cos(b) , b>0
студенткаа... вне форума Ответить с цитированием
Старый 13.09.2010, 13:31   #2
~~~
Заблокирован
 
Регистрация: 13.09.2010
Сообщений: 16
По умолчанию

Код:
var
    f, x: Real;
begin
    ReadLn(x);
    if x < 0 then f := Sin(x);
    if Abs(x) < 1e-4 then f := 10;
    if x > 0 then f := Cos(x);
    WriteLn(f);
    ReadLn;
end.
~~~ вне форума Ответить с цитированием
Старый 13.09.2010, 17:24   #3
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

ну или так
Код:
var
    f, x: Real;
begin
    ReadLn(x);
    if x < 0 then f := Sin(x) else
    if x = 0 then f := 10
    else f := Cos(x);
    WriteLn(f);
    ReadLn;
end.
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 13.09.2010, 17:28   #4
~~~
Заблокирован
 
Регистрация: 13.09.2010
Сообщений: 16
По умолчанию

Mad_Cat, только равенство для вещественных чисел лучше не использовать... лучше проверять, чтобы модуль их разности был меньше некоторого малого числа.
~~~ вне форума Ответить с цитированием
Старый 13.09.2010, 17:30   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

так как ввод от руки то можно просто использовать сравнение с нулем.
да и вообще с нулем вполне безопасно сравнивать.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 13.09.2010, 17:30   #6
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
Mad_Cat, только равенство для вещественных чисел лучше не использовать...
приведи пример почему?
0.000001!=0 вот)
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 13.09.2010, 21:31   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

~~~ , прав. Лучше не сравнивать вещественные числа с константой.
Почему?
Проверяем:
Код:
var r : real;
begin
   r := 0.2;
   r := r - 0.2;
   if r = 0 then
     WriteLn('Ну, так и должно быть!')
   else
     WriteLn('Что такое?! Почему не равно??!!!!');
   Readln;
end.


ДОБАВЛЕНО
А ещё я не устану повторять ссылки на статьи!! Ибо - ПОЛЕЗНО!!

всем КРАЙНЕ настойчиво рекомендую почитать статью на Королевстве Delphi:
Неочевидные особенности вещественных чисел (с) Григорьев Антон

ну и про то же..
Загадки округления

ну и ещё, дополнительно (для самых любознательных, хотя по ссылкам выше тема более чем раскрыта):
вопрос-ответ по теме округления вещественных чисел

Последний раз редактировалось Serge_Bliznykov; 13.09.2010 в 21:37.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.09.2010, 02:13   #8
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
Смех

[OFFTOP]Студентам на заметку: вот видите как помогают людям с псевдонимами женского рода? Дерзайте [/OFFTOP]
а будь никнейм, например, "студент", то вероятнее бы всего сказали номер аси, а в асе размер вознаграждения за код, или еще хуже - отправили бы учить матчасть
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычислить значение функции zlodei1988 Microsoft Office Excel 1 04.05.2010 20:10
Вычислить значение функции Stripped Помощь студентам 6 16.01.2010 22:05
Вычислить значение функции на Delphi 7. Miracle01 Помощь студентам 6 02.05.2009 00:35
Вычислить значение функции Deus Общие вопросы Delphi 10 25.01.2009 17:09
помогите вычислить значение функции Jeksik Помощь студентам 5 14.01.2009 18:44