IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Анализ синуса или косинуса, сюръкция, инъекция
Pangolin
сообщение 8.06.2006 18:59
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 24
Пол: Мужской

Репутация: -  0  +


Помогите пожалуйста с прогой.

Вообщем надо проанализировать тригонометрическую функцию на инъективность и сюръективность.

Сюръективность - У Y есть X (может быть несколько)
Инъективность - каждому Y соответствует только 1 X

На вход подается интервал по X и интервал по Y.

Проблема в том, что не знаю как найти есть ли одинаковые значения Y на интервале X
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 9.06.2006 7:52
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Ну первое что приходит - это протабулировть сначала полностью ф-ю, сохранив все значения функции в массив, а потом работать с ним (проверить, есть ли одинаковые элементы)

Второй вариант :

n := 0;
x := start;

... // цикл табуляции

// получаем значение в точке x

y := f(x);

// проверяем были ли уже такие элементы

i := 1;
while (i <= n) and (arr[i] <> y) do inc(i);

if i <= n then begin
writeln('Повтор !')
exit; // выходим их цикла табулирования
end else begin
// иначе добавляем новое полученное значение в массив
inc(n);
arr[n] := y;
end;

x := x + step; // переходм к следующей точке табулирования
...// цикл табуляции



вот как-то так ;)

Сообщение отредактировано: volvo - 3.11.2006 20:24


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 9.06.2006 9:00
Сообщение #3


Гость






Можно попробовать определить, могут ли вообще быть на заданном отрезке точки с одинаковыми Y при разных X... Это, очевидно, может произойти только тогда, когда в заданном интервале по X есть точка перегиба функции... Если она есть, то проверять дальше способом klem4, если же ее нет - то не стОит и проверять, ответ будет НЕТ...
 К началу страницы 
+ Ответить 
Pangolin
сообщение 9.06.2006 13:00
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 24
Пол: Мужской

Репутация: -  0  +


Простите меня за неграмотность, но что значит "Протабулировать"? Т.е найти все значения функции и занести их в массив? и после этого проверять на одинаковые элементы...


Тогда на сколько должен увелиитваться X?
Какой же тогда массив получится, если этих значений функции будет... много...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 9.06.2006 21:53
Сообщение #5


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Цитата(volvo @ 9.06.2006 9:00) *

Можно попробовать определить, могут ли вообще быть на заданном отрезке точки с одинаковыми Y при разных X... Это, очевидно, может произойти только тогда, когда в заданном интервале по X есть точка перегиба функции... Если она есть, то проверять дальше способом klem4, если же ее нет - то не стОит и проверять, ответ будет НЕТ...

почему перегиба?
до фига функций, монотонно выпуклых(вогнутых), но одному у соответствует несколько х.
скорее уж тут о точках локального минимума/максимума говорить надо...


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 9.06.2006 22:08
Сообщение #6


Гость






Цитата(мисс_граффити @ 9.06.2006 21:53)
скорее уж тут о точках локального минимума/максимума говорить надо...
ypriamii.gif Вот что значит думать о другом, когда пишешь ответ на форум smile.gif Естественно, имелись в виду точки экстремума...
 К началу страницы 
+ Ответить 
skAmZ
сообщение 13.06.2006 0:14
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Мужской
Реальное имя: Костя

Репутация: -  0  +


Модераторы тут строгие, ну чтож)) жаль)) тогда выкладываю прогу. График синуса с вводимыми границами по оси ОХ и ОУ.

Сообщение отредактировано: skAmZ - 13.06.2006 0:15


Прикрепленные файлы
Прикрепленный файл  Lab4.pas ( 2.84 килобайт ) Кол-во скачиваний: 181
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.07.2025 17:10
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"