Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2009, 13:52   #1
Gabriel
 
Аватар для Gabriel
 
Регистрация: 08.01.2009
Сообщений: 5
По умолчанию помогите решить задачу

ну не могу я сделать эту задачу! не могу! помогите

написать программу, которая строит график функции y=sin(x), для x принадлежит [-10,10], изменяющегося шагом 0,1.
границы отрезка и шаг вводятся с клавиатуры.


это нужно сделать, используя числовые массивы. и как-нибудь по-проще...
Gabriel вне форума Ответить с цитированием
Старый 08.01.2009, 14:09   #2
Disel
Форумчанин
 
Аватар для Disel
 
Регистрация: 08.01.2009
Сообщений: 180
По умолчанию

Тебе решать с процедурами, или как?
"Все что натыкано на клаве, ведет тебя к погибели иль славе"
Если помог нажми на весы
Disel вне форума Ответить с цитированием
Старый 08.01.2009, 14:13   #3
Gabriel
 
Аватар для Gabriel
 
Регистрация: 08.01.2009
Сообщений: 5
По умолчанию

нашел что у глупой женщины спрашивать... что такое процедуры?
Gabriel вне форума Ответить с цитированием
Старый 08.01.2009, 14:20   #4
Gabriel
 
Аватар для Gabriel
 
Регистрация: 08.01.2009
Сообщений: 5
По умолчанию

вообще решение подробное нужно.
Gabriel вне форума Ответить с цитированием
Старый 08.01.2009, 16:43   #5
Disel
Форумчанин
 
Аватар для Disel
 
Регистрация: 08.01.2009
Сообщений: 180
По умолчанию

Program Gabriel;
Uses crt, graph;
var Gd,Gm:integer; x:real; y:integer;

BEGIN
Gd:=VGA;
GM:=VGAhi;
Initgraph(Gd,Gm,'');

line(300,0,300,450);
line(0,230,600,230);
x:=-10;
while x<10 do
begin
y:=round(sin(x)*10);
PutPixel(300+round(x),230+y,green);


x:=x+0.1;
end;
{ CloseGraph; }
ReadKey;
END.
"Все что натыкано на клаве, ведет тебя к погибели иль славе"
Если помог нажми на весы
Disel вне форума Ответить с цитированием
Старый 08.01.2009, 16:44   #6
Disel
Форумчанин
 
Аватар для Disel
 
Регистрация: 08.01.2009
Сообщений: 180
По умолчанию

Что вро этого. Я просто новичек в програмировании, еще многое не знаю.
"Все что натыкано на клаве, ведет тебя к погибели иль славе"
Если помог нажми на весы
Disel вне форума Ответить с цитированием
Старый 08.01.2009, 18:54   #7
Gabriel
 
Аватар для Gabriel
 
Регистрация: 08.01.2009
Сообщений: 5
По умолчанию

ты сделал без числовых массивов. так и я могу...

Цитата:
границы отрезка и шаг вводятся с клавиатуры.
а у тебя они постоянные...
Gabriel вне форума Ответить с цитированием
Старый 09.01.2009, 14:14   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Gabriel
ты сделал без числовых массивов. так и я могу...
ну вот... а прикидывались "глупой женщиной"...

тогда вот Вам наводящие подсказки (чтобы Вы честно могли доделать самостоятельно :-)
Код:
{описание типов}
const MaxValInArray = 1000;
var
  SinY : array[1..MaxValInArray] of real;
  x,N1,N2,H : real;
  i, Cnt : integer;
begin
{Ввод границ и шага:}
WriteLn;
Write('VVedite Granicu1 i Granicu2: ');ReadLn(N1,N2);
if N2<N1 then begin WriteLn('Takie granicy NELZYA!'); Halt; end;
Write('Vvedite shag: ');Readln(h);
{проверяем, хватит ли нашего массива для того, 
чтобы вместить все значения на заданном интервале с заданным шагом!}
if (Trunc((n2-n1)/h)+1) > MaxValInArray then begin
  WriteLn('Slishkom mnogo znachenij: nado uvelischit shag ili umenshit` interval'); 
  Halt;
end;
{заполняем массив}
Cnt := 0;
x := N1;
while x<=N2 do begin
  inc(Cnt);
  SinY[Cnt] := sin(x);
  x := x + H;
end;
всё. массив заполнен. Осталось по нему построить график. (и, ВАЖНО: не забываем промасштабировать как по оси X так и по оси Y)

удачи.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.01.2009, 22:18   #9
Gabriel
 
Аватар для Gabriel
 
Регистрация: 08.01.2009
Сообщений: 5
По умолчанию

ага, спасибо большое. постараюсь разобраться.
Gabriel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить задачу Hranitel Помощь студентам 11 09.10.2008 16:25
Помогите решить задачу! Anuta Помощь студентам 2 26.06.2008 05:10
Помогите решить задачу!!! W_P Паскаль, Turbo Pascal, PascalABC.NET 1 04.03.2008 21:54
Помогите решить задачу. Кронос Помощь студентам 3 28.10.2007 14:11