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

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

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

> найти значение функции, или история одного сумасшедствия - Lapp ))
roza
сообщение 14.04.2011 2:42
Сообщение #1





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

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


По заданному на рисунке графику найти значение функции у по переменной х, у изменяется от (-1,1)Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Lapp
сообщение 14.04.2011 7:25
Сообщение #2


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Еще одна модификация первого способа, но в другом смысле (нежели чем способ 5). Просто замена вложенных if на case, что позволяет немало сократить код:
var
x,y,z: double;

begin
readln(x);
z:= Frac(Abs(x)/6)*6;
case Trunc(z) of
0: y:= 1-z;
1,4: y:= 0;
2: y:= 2-z;
3: y:= z-4;
else y:= z-5;
end;
writeln(y:8:3);
readln
end.


ляляля... ляляля.. ...
Таак, интересно.. кажется, этот способ может быть продолжен..
кто нибудь дома? тук-тук!

Добавлено через 15 мин.
Цитата(Lapp @ 14.04.2011 8:25) *
Таак, интересно.. кажется, этот способ может быть продолжен..

Ага, так и вышло )).
В моей классификации он назвался 7a, но тут пускай уж будет восьмой:
var
x,y,z: double;
i: integer;

begin
readln(x);
z:= Frac(Abs(x)/6)*6;
i:= Trunc(z);
case i of
0,2: y:= i div 2+1-z;
1,4: y:= 0;
else y:= z-4-(i-3) div 2;
end;
writeln(y:8:3);
readln
end.

Я тут ввел еще одну (целую) переменную - чисто для удобства (и небольшой экономии вычислений).

чуть помедленее, кони, чуть помедленнее..
не указчики вам кнут и плеть!..
(С)

а вы не слышали - какая погода на северо-востоке кратера Коперника в эти выходные?.. надо бы смотаться, развеяться немного wacko.gif Кто со мной? на обратную сторону Луны не приглашать, там всегда дождь..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



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