Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 29.05.2009
Сообщений: 6

Построение графиков функций y=f(x).

29.05.2009, 21:22. Показов 4217. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите пожалста в написании проги по построению функций типа y=f(x), задача в том чтобы самому вбивать функцию а он чертил график у меня есть прога рисующаяя уже забитые в базу функции кто может хелп плиз изменить или напишите новую

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
Program Grafiks;
Uses Graph,Crt;
Var
GraphDriver,GraphMode,Deltha:Integer;
X,Y,Xmax,Xmin,Ymax,Ymin:Real;
Xg,Yg,I,X0,Y0,XgMax,XgMin,YgMax,YgMin,DelthaY:Integer;
Grafik,C:Char;
SS:String;
Begin
ClrScr;
TextColor(White);
WriteLn(' Case grafik of');
WriteLn('  "1"  >> X');
WriteLn('  "2"  >> Sqr(X)');
WriteLn('  "3"  >> Abs(X)');
WriteLn('  "4"  >> 1/X');
WriteLn('  "5"  >> Sin(X)');
WriteLn('  "6"  >> Cos(X)');
WriteLn('  "7"  >> Sqrt(X)');
WriteLn('  "8"  >> Ln(X)');
WriteLn('  "9"  >> Tg(X)');
WriteLn('  "0"  >> Exp(X)');
WriteLn('  "a"  >> Exp(Sin(X))');
WriteLn('  "b"  >> Exp(Cos(X))');
WriteLn('  "c"  >> Abs(Sin(X))');
WriteLn('  "d"  >> Abs(Cos(X))');
WriteLn('  "e"  >> 1/Sin(X)');
WriteLn('  "f"  >> 1/Cos(X)');
WriteLn('  "g"  >> Abs(Ln(X))');
WriteLn('  "h"  >> Sin(Sqr(X))');
WriteLn('  "i"  >> Cos(Sqr(X))');
WriteLn('  "k"  >> Sin(Sqrt(X))');
WriteLn('  "l"  >> Cos(Sqrt(X))');
WriteLn('  "m"  >> Sqr(Sin(X))');
WriteLn('  "n"  >> Sqr(Cos(X))');
WriteLn('  "o"  >> Sin(1/X)');
 
Grafik:=ReadKey;
Write('  Deltha=');ReadLn(Deltha);
GraphDriver:=Detect;
InitGraph(GraphDriver,GraphMode,'bgi\');
SetBkColor(0);
SetColor(0);
Bar(0,0,GetMaxX,GetMaxY);
SetColor(LightGray);
Xg:=0;
While (Xg<=GetMaxX) Do Begin
Line(Xg,0,Xg,GetMaxY);
Xg:=Xg+10;
End;
Yg:=0;
While (Yg<=GetMaxY) Do Begin
Line(0,Yg,GetMaxX,Yg);
Yg:=Yg+10;
End;
SetColor(Black);
X0:=GetMaxX Div 2;
Y0:=GetMaxY Div 2;
Line(0,Y0,GetMaxX,Y0);(* X *)
Line(X0,0,X0,GetMaxX);(* Y *)
OutTextXY(X0+10,10,'Y');
OutTextXY(GetMaxX-10,Y0+10,'X');
Xg:=X0;i:=0;
While (Xg<GetMaxX) Do
Begin
SS:='';
Line(Xg,Y0+5,Xg,Y0-5);
Xg:=Xg+Deltha;
End;
Yg:=Y0;
While (Yg<GetMaxY) Do
Begin
Line(X0+5,Yg,X0-5,Yg);
Yg:=Yg+Deltha;
End;
Xg:=X0;
While (Xg>0) Do
Begin
Line(Xg,Y0+5,Xg,Y0-5);
Xg:=Xg-Deltha;
End;
Yg:=Y0;
While (Yg>0) Do
Begin
Line(X0+5,Yg,X0-5,Yg);
Yg:=Yg-Deltha;
End;
Xmin:=-1000;
X:=Xmin;
Xmax:=1000;
While (X<=Xmax) Do
Begin
Xg:=X0+Round(X);
Case Grafik of
'1':Y:=X;
'2':Y:=Deltha*Sqr(X/Deltha);
'3':Y:=Abs(X);
'4':Y:=Deltha*(1/(X/Deltha));
'5':Y:=Deltha*Sin(X/Deltha);
'6':Y:=Deltha*Cos(X/Deltha);
'7':Begin
If (X>=0) Then Y:=Deltha*Sqrt(X/Deltha) Else Y:=0 End;
'8':Begin
If (X>=0) Then Y:=Deltha*Ln(X/Deltha) Else Y:=0 End;
'9':Y:=(Deltha*Sin(X/Deltha))/(Deltha*Cos(X/Deltha));
'0':Y:=Deltha*Exp(X/Deltha);
'a':Y:=Deltha*Exp(Sin(X/Deltha));
'b':Y:=Deltha*Exp(Cos(X/Deltha));
'c':Y:=Deltha*Abs(Sin(X/Deltha));
'd':Y:=Deltha*Abs(Cos(X/Deltha));
'e':Y:=Deltha/Sin(X/Deltha);
'f':Y:=Deltha/Cos(X/Deltha);
'g':Begin
If (X>=0) Then Y:=Deltha*Abs(Ln(X/Deltha)) Else Y:=0 End;
'h':Y:=Deltha*Sin(Sqr(X/Deltha));
'i':Y:=Deltha*Cos(Sqr(X/Deltha));
'k':Y:=Deltha*Sin(Sqrt(Abs(X)/Deltha));
'l':Y:=Deltha*Cos(Sqrt(Abs(X)/Deltha));
'm':Y:=Deltha*Sqr(Sin(X/Deltha));
'n':Y:=Deltha*Sqr(Cos(X/Deltha));
'o':If (X<>0) Then Y:=Deltha*Sin(1/(X/Deltha)) Else Y:=0;
'p':Y:=Deltha*(Sin(Exp(Cos(X/Deltha))));
'q':Y:=Deltha*(Cos(Exp(Cos(X/Deltha))));
'r':Y:=Deltha*(Cos(Exp(Sin(Sqr(X/Deltha)))));
's':Y:=Deltha*(Sin(Exp(Cos(Sqr(X/Deltha)))));
't':Y:=Deltha*(Cos(Exp(Cos(Sqr(X/Deltha)))));
'u':Y:=Deltha*(Sin(Exp(Sin(Sqr(X/Deltha)))));
'v':Y:=Deltha*(Sin(Exp(Sin(Sqrt(Abs(X)/Deltha)))));
'w':Y:=Deltha*(Sin(Exp(Cos(Sqrt(Abs(X)/Deltha)))));
'x':Y:=Deltha*(Cos(X/Deltha)*Sin(1/(X/Deltha))/Cos(1/(X/Deltha)));
'y':Y:=Deltha*(Exp(Sin(X/Deltha)*Sin(1/(X/Deltha))));
'z':Y:=Deltha*Sqr(Exp(Sin(X/Deltha)*Sin(1/Sqrt(Abs(X)/Deltha))))*Cos(X/Deltha);
' ':Y:=Deltha*Sin(1/Sqrt(Abs(X)/Deltha))*Sin(Sqr(X/Deltha));
Else Y:=X;
End;
Yg:=Y0-Round(Y);
If (Yg<>Y0) Then PutPixel(Xg,Yg,Blue);
X:=X+0.0009;
End;
ReadLn;
CloseGraph;
End.
заранее спасибо!!!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.05.2009, 21:22
Ответы с готовыми решениями:

построение графиков функций
Построить кривые по заданному параметрическому представлению: эллипс с большой и малой полуосями, равными соответственно r1, r2 и...

Построение графиков
Столкнулся с такой проблемой: написал программу, а она что-то не хочет работать. Если кто может помогите нарисовать другую координатную...

построение графиков в паскале
построить график y=f(x), f(x)=x^4+2*x^3-x-1=0 методом биссекции

7
 Аватар для lexus_ilia
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
30.05.2009, 01:13
А что Вам говорят вот эти две темы:
Первая
Вторая

Добавлено через 1 минуту 22 секунды
Всё-таки поиск решает.
0
0 / 0 / 0
Регистрация: 29.05.2009
Сообщений: 6
01.06.2009, 14:27  [ТС]
но на этих програмах уже вбитые функции,мне надо чтоб я писал функцию а программа выводила её
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
01.06.2009, 14:38
Люциферчег666, кто поставил вам эту задачу, и как именно она звучит, потому распознавание из символьного выражения функции какбы непростая задача
0
0 / 0 / 0
Регистрация: 29.05.2009
Сообщений: 6
01.06.2009, 14:41  [ТС]
Написать программу «Построение графиков функций вида y=f(x)»

это курсач
0
Эксперт С++
 Аватар для Phantom
3189 / 869 / 39
Регистрация: 29.12.2008
Сообщений: 951
01.06.2009, 16:20
Кажется такая задача выполняется с помощью алгоритма обратной польской записи, более того, нужно будет его ещё немного доделать для распознавания функций типа cos, sin, exp, sqrt и т.д. Это трудная задача, нужно много и тяжело писать, поэтому делать с нуля никто не будет. Либо нужно искать готовые варианты, либо обращаться в "заказ программ и скриптов" неподалеку. Желаю удачи.
0
0 / 0 / 0
Регистрация: 29.05.2009
Сообщений: 6
26.06.2009, 00:28  [ТС]
помогите сделать плиз блок схему к той прог-е что я писал в начале оч нужно (Program Grafiks;...)
0
149 / 139 / 57
Регистрация: 05.06.2009
Сообщений: 310
28.06.2009, 12:04
Не вижу ничего сложного в том чтобы распознать введенную функцию с клавиатуры. Хотя может я чего-то не понял. Вот пример:
Вводим функцию вида - 2*cos[x]*tg[x^2]*e^(3*x)-25*x (это только для примера). и как мы видим из формулы,то перед каждым отдельным блоком есть какой либо знак выражения всего их столько - минус(-), плюс(+),деление(/), умножение(*), возведение в степень(^), так же используются скобки вида - ()-для обозначения отдельных блоков и []-для аргументов функций, что помогает нам распознавать блоки действий и аргументы функций, далее все эти знаки, перечисленные выше(возможно я что-либо пропустил, но от этого смысл не меняется), помогают нам распознавать сами функции, т.е сама функция,ввсегда находится между двумя какими-либо знаками выражения,перед этим сами функции необходимо занести в константы или в массив(как удобнее) в том виде, в котором потом их необходимо будет вводить с клавиатуры, далее функция вводится с клавиатуры в виде строки, потом происходит занесение финкция в контрольные переменные(мы уже знаем где начало и где конец функции, между нашими символами и знаками) с помощью цикла while или repeat и уже далее с помощье операторов if then и case of and распознаем наши функции, сравнивая их с константами или с созданным нами массивом. вот и все. если я в чем-то не прав, поправте меня, пожалуйста!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.06.2009, 12:04
Помогаю со студенческими работами здесь

Построение графиков в Pascal
Добрый день! Помогите, пожалуйста, разобраться с построением графиков в Паскале. Задание: построить в одной системе координат графики...

Изображение графиков функций
Задача заключается в изображении графиков функций график вводится стринговой строкой а прога его рисует, так вот я не могу догнать как...

Написать программу с построением графиков функций
Собственно помогите пожалуйста написать программу с построением графика вот этой функции: F=((1-2*X)^2)*X

Найдите точки пересечения графиков функций
Доброго времени. Есть задача, вроде не сложная, но не получается сделать. Прога ничего не выводит, а где ошибка не могу разобраться. Буду...

Изучение построения графиков функций на заданном интервале
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ 1. Очистить экран монитора и при необходимости установить требуемый цвет фона. 2. Выбрать размещение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru