Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ составить программу для вычисления функций заданных графически

Автор: inferno1 25.01.2006 2:01

Помогите плиз...

задание: -составить программу для вычисления функций заданных графически
дан и рисунок функции вообщем ось Х и Y мысленно разделите её на 4 части
1- Х(+1), Y(+1)
2- Х(+1), Y (-1)
3- Х (-1), Y (-1)
4- Х (-1), Y(+1)

в частях 4 и 1 кусок окружности (по моему мнению центр окружности на ноле) и в 1 части окружности ещё прямая... даны:
- на оси X только значение -R это точка соприкосновения окружности с осью X
- на оси Y есть значение R(естественно со знаком плюс) это точка соприкосновения окружности с осью Y
- также на оси Y есть значение R/3 это точка соприкосновения прямой с осью Y, она-же соприкасается с окружностью и нарисована паралельно оси х на расстоянии R/3

помогите люди добрые ))))

Цитата
есть фотка но сильно плохая вот и описал... подробно)))

Прикрепленное изображение

Автор: lapp 25.01.2006 7:20

Если тебе надо написать функцию, которая выдает результат как изображено на графике, нужно делать множественную проверку оператором if.
Судя по твоим объяснениям, не определено значение функции при x<-R. Если в программе такие значения x никак не могут получиться, то на это можно плюнуть. Но я все же рекомендую ввести дополнительный параметр - скажем, fErr, который будет равен нулю, если x попадает в область определения, и 1, если не попадает. Это значение нужно тоже передавать в вызывающую программу и там обрабатывать.


yErr:=0; {заранее считаем, что ошибки нет, если есть - исправим это занчение на 1}
if x<-R then yErr:=1 else if x<R*Sqrt(1-1/9) then y:=Sqrt(R*R-x*x) else y:=R/3;


Если функция будет вызываться больше, чем несколько раз, то выражение R*Sqrt(1-1/9) надо сосчитать заранее в основной программе, да и R/3 тоже.

Автор: inferno1 25.01.2006 12:40

пасяб....
но там по моему мнению несколько неизвестных, а именно -r, r и r/3
я так думаю что символом R обозначен именно радиус.. окружности..
...

Автор: lapp 25.01.2006 17:51

Цитата(inferno1 @ 25.01.2006 8:40) *

но там по моему мнению несколько неизвестных, а именно -r, r и r/3

Что-то странное ты вещаешь.. как это может быть, что r, -r и r/3 - это разные переменные?? да еще и неизвестные? А стояло бы еще где-нить там r - она была бы четвертой?.. Всю жизнь одна буква означала одну переменную (на протяжении одной задачи). Это разные выражения с использованием одной переменной! Я совершенно не понимаю, что ты хотел этим сказать.

Цитата(inferno1 @ 25.01.2006 8:40) *

я так думаю что символом R обозначен именно радиус.. окружности..

ну и я так счел. Еще мнения есть? Проголосуем? smile.gif Фотография действительно фиговая, но главное видно. Или ты хочешь сказать, что это экспериментальные данные, которые нужно снимать с рисунка с большой точностью?.. Тогда выражайся яснее!

Автор: hardcase 25.01.2006 21:32

В принципе можно, если рисунков много, сделать интерполяцию =)