Технический форум

Технический форум (http://www.tehnari.ru/)
-   Delphi, Kylix and Pascal (http://www.tehnari.ru/f43/)
-   -   Составить программу, вычисляющую количество точек на графике функции (http://www.tehnari.ru/f43/t49167/)

diagen_62 20.03.2011 17:20

Составить программу, вычисляющую количество точек на графике функции
 
Составить программу, вычисляющую количество точек на графике функции, лежащих левее прямой, проходящей через начало координат с углом наклона 135 градусов.используя while и repeat....помогите, будьте добры))заранее благодарю


Исходя из понятий современной геометрии, количество таковых точек - бесконечно много, так как любой график есть отображение множества точек, подчиненных какому-либо закону (линия/прямая/отрезок в пространстве), состоящего из бесконечного числа точек. Более конкретно задания нужно писать. И нужно создавать новую тему, потому как ваш вопрос к прогрессии ну совсем никакого отношения не имеет. Ваш модератор.

diagen_62 20.03.2011 18:19

Составить программу
 
Составить программу, вычисляющую количество точек на графике функции, лежащих левее прямой, проходящей через начало координат с углом наклона 135 градусов.используя while и repeat....помогите, будьте добры))заранее благодарю

Vladimir_S 20.03.2011 19:34

Цитата:

Сообщение от diagen_62 (Сообщение 488772)
Составить программу, вычисляющую количество точек на графике функции, лежащих левее прямой, проходящей через начало координат с углом наклона 135 градусов.используя while и repeat....помогите, будьте добры))заранее благодарю

Полный бред.
Какой язык? Pascal? Delphi?
Графике какой функции? Как заданной? Для справки: количество точек на любом отрезке любой кривой есть континуум, т.е. бесконечность.
Только не надо, пожалуйста, детского сада типа "А мне так дали!".

diagen_62 20.03.2011 20:31

язык-Pascal
график, например cos(x).Прямая, например y=4x
чтобы не получилось бесконечное количество точек нужно взять какой нибудь шаг.Например 5...вот так

diagen_62 21.03.2011 00:37

помогите, кто-нибудь(((

AlexZir 21.03.2011 09:43

1) откуда берутся точки?
2) что за график?
3) составьте уравнение функции, график которой будет проходить через начало координат под углом наклона, например, 135 градусов. Тут ещё вопрос - а система координат какая используется? Декартовая?

Vladimir_S 21.03.2011 09:50

Цитата:

Сообщение от diagen_62 (Сообщение 489092)
помогите, кто-нибудь(((

Да пожалуйста - какие проблемы:
Код:

VAR
 X_fun,X_line:Real;
 N:Word;

Function f(x:real):Real;
begin
 f:=Cos(x);
end;

BEGIN
 N:=0;
 X_fun:=-Pi;
 Repeat
  X_line:=-f(X_fun);
  If X_fun<X_line then Inc(N);
  X_fun:=X_fun+Pi/180;
 Until X_fun>Pi;
 WriteLn('Number of points is ',N);
 ReadLn;
END.


diagen_62 26.03.2011 21:13

может кто нибудь объяснить, что программа делает.мне непонятны вот эти строчки


BEGIN
N:=0;
X_fun:=-Pi;
Repeat
X_line:=-f(X_fun);
If X_fun<X_line then Inc(N);
X_fun:=X_fun+Pi/180;
Until X_fun>Pi;
WriteLn('Number of points is ',N);

Vladimir_S 26.03.2011 21:41

Цитата:

Сообщение от diagen_62 (Сообщение 492638)
может кто нибудь объяснить, что программа делает.мне непонятны вот эти строчки


BEGIN
N:=0;
X_fun:=-Pi;
Repeat
X_line:=-f(X_fun);
If X_fun<X_line then Inc(N);
X_fun:=X_fun+Pi/180;
Until X_fun>Pi;
WriteLn('Number of points is ',N);

Может. И не кто-нибудь, а автор.

N:=0; - обнуление исходного значения счетчика точек.

X_fun:=-Pi; - задание начальной (самой левой) точки графика (-пи).

Repeat
X_line:=-f(X_fun);
- тут несколько сложнее. Прежде всего, что есть линия, идущая под углом 135°? А это ни что иное, как график функции у=-х. Дальше отслеживаются две х-координаты: этой прямой (X_line) и функции (X_fun). Как решается задача? А вот как:
1. Задаём точку X_fun.
2. По ней находим ординату функции: y=f(X_fun).
3. Через эту точку графика функции мысленно проводим прямую, параллельную оси абсцисс, до пересечения с прямой у=-х.
4. Определяем абсциссу этой точки пересечения. Это и есть X_line.

If X_fun<X_line then Inc(N); - если выполняется условие X_fun<X_line, то это и означает, что точка графика функции лежит левее прямой. В этом случае значение счетчика увеличивается на 1.

X_fun:=X_fun+Pi/180; - обрабатывается следующая точка графика. Шаг задан в 1°.

Until X_fun>Pi; - счет заканчивается по достижении максимального значения аргумента функции, в данном случае это +пи.

WriteLn('Number of points is ',N); - вывод результата (количества точек, лежащих левее прямой у=-х.

diagen_62 27.03.2011 21:55

мало что понятно(((а по проще никак нельзя составить программу?


Часовой пояс GMT +4, время: 03:45.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.