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

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

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

 
 Ответить  Открыть новую тему 
> График функции
Atreides
сообщение 20.11.2004 12:43
Сообщение #1


Ветеран Броуновского Движения
***

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

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


Помогите с построением графика функции f(p)=3^2p+4p на отрезке [f, 1.3], выделив шаг, где нет корня вертикальной штриховкой.
И еще хотел спросить, при помощи, каких операторов в прогу затолкать сведения и осуществлять их поиск, допустим, об оборудование на складе, нужно ввести тип, стоимость, изготовитель, предельное напряжение и выдать оборудование, которое наиболее совпадает с задаваемым значением.


--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Altair
сообщение 20.11.2004 16:28
Сообщение #2


Ищущий истину
******

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

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


Цитата
Помогите с построением графика функции

такое уже выкладывал на форум - прога смтроит график любой функции.
Только надо добавить штриховку, что тоже не сложно...

Цитата
при помощи, каких операторов в прогу затолкать сведения и осуществлять их поиск

Вопрос не ясен


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Atreides
сообщение 22.11.2004 15:36
Сообщение #3


Ветеран Броуновского Движения
***

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

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


Цитата
такое уже выкладывал на форум - прога смтроит график любой функции.
Только надо добавить штриховку, что тоже не сложно...

Может ссылку подкинешь, а то искать задолбаюсь?
Цитата
Вопрос не ясен

В смысле нужно составить прогу в которую нужно заталкать данные (но это я сам сделаю). Нужно ввести тип, стоимость, изготовителя, предельное напряжение и программа должна выдавать наиболее подходящие оборудование. Как это сделать? Нужен примерный код, а данные я впишу сам.


--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Atreides
сообщение 27.11.2004 12:03
Сообщение #4


Ветеран Броуновского Движения
***

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

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


Задание: составить программу построения графика функции на отрезке [f, 1.3] f(p)=3^2p+4p выделив шаг, где нет корня вертикальной штриховкой. Вот тут я написал прогу, она катит, но я не думаю, что она работает корректно. Подскажите, что не так и где ошибка?
Код
Program Graphik;
Uses graph, crt;
Function f(p:real):real;
Begin
f:=3*SQR(2*p)+4*p;
end;
const
gm:integer=1;
gd:integer=1;
d:real=1.3;
var ab,sh,mg,mv,c,rn:real;
begin
repeat
writeln(‘sh,c,mg,mv’);
readln(sh,c,mg,mv);
until c<d;
initgraph(gm,gd,’ ’);
line(0,100,320,100);
line(160,0,160,200);
ab:=c;
rn:=f(c);
moveto (160+round(c*mg),100-round(rn*mv);
while ab<=d do
begin
if f(ab)*f(ab+sh)<0 then
sh:=sh/10;
begin
line(160+round(ab+mg),100,160+round(ab+mg),100-round(f(ab)*mv));
end;
ab:=ab+sh;
rn:=f(ab);
lineto((160+round(ab*mg),100-round(rn*mv));
end;
repeat
until keypressed;
closegraph;
end.

Где с – начало отрезка, ав – аргумент, rn – функция, sh – шаг, mg – горизонт, mv – вертикаль, d – конец отрезка.


--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 27.11.2004 12:08
Сообщение #5


Гость






Atreides

Вычисление функции должно производиться вот так:
Код

Function f(p:real):real;
Begin
f:=Exp( (2*p) * Ln(3) ) + 4*p;
end;


То, что было у тебя - вычисляло f(p)=3*(2p)^2+4p

Сообщение отредактировано: volvo - 27.11.2004 12:09
 К началу страницы 
+ Ответить 
Atreides
сообщение 4.12.2004 13:50
Сообщение #6


Ветеран Броуновского Движения
***

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

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


Всё равно программа работает не корректно! При введение -12, 0.1, 50, 50 зависает. Может, я не те значения ввожу?


--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 4.12.2004 13:54
Сообщение #7


Гость






Atreides
Очень трудно разбираться в программе с такими именами переменных...
 К началу страницы 
+ Ответить 
Atreides
сообщение 4.12.2004 14:02
Сообщение #8


Ветеран Броуновского Движения
***

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

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


Начало отрезка с=-12, шаг sh=0.1, mg и mv по 50 - горизонт и вертикаль.


--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 4.12.2004 14:08
Сообщение #9


Гость






Atreides
Смотри, что получается:
Код

while ab<=d do
 begin
   if f(ab)*f(ab+sh)<0 then sh:=sh/10;
   begin
     line(160+round(ab+mg),100,160+round(ab+mg),100-round(f(ab)*mv));
   end;
   ab:=ab+sh; { *** Здесь *** }
   rn:=f(ab);
   lineto((160+round(ab*mg),100-round(rn*mv));
 end;

У тебя шаг меньше нуля, AB становится отрицательным и ВСЕГДА меньше, чем D (поэтому и уходит все дальше и дальше к минус бесконечности...)

P.S. Ты просто перепутал Sh и C местами - вводи 0.1, -12, 50, 50

Сообщение отредактировано: volvo - 4.12.2004 14:10
 К началу страницы 
+ Ответить 
Atreides
сообщение 8.12.2004 18:55
Сообщение #10


Ветеран Броуновского Движения
***

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

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


Штриховка рисуется на месте, где нет корня, правильно?
И как подключить графический модуль или где скачать можно?


--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 8.12.2004 19:09
Сообщение #11


Гость






Atreides
Как же ты проверял программу без графики?
 К началу страницы 
+ Ответить 
Atreides
сообщение 9.12.2004 16:22
Сообщение #12


Ветеран Броуновского Движения
***

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

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


У меня на домашнем установлен 7-мой Паскаль без графики, а в институте 3-ий, но с графикой, доступ к институтскому у меня только два раза в неделю, поэтому и хочу дома настроить, что бы сразу проверять и не тянуть.


--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 9.12.2004 16:31
Сообщение #13


Гость






Здесь можно найти модули TP/BP (в том числе и Graph)
 К началу страницы 
+ Ответить 
Atreides
сообщение 10.12.2004 10:05
Сообщение #14


Ветеран Броуновского Движения
***

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

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


А конкретнее где скачать? Или может уже готовый Паскаль можно, где скачать? Я пробовал по директории адрес указывать, но он всё рано не видит модуль.


--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 10.12.2004 14:55
Сообщение #15


Гость






Atreides
Borland Pascal 7.0
 К началу страницы 
+ Ответить 

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

 



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