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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2008, 17:59   #1
Zond235
 
Регистрация: 28.01.2008
Сообщений: 6
По умолчанию Графика. Паскаль

Графическое задание функции придумайте самостоятельно:
Написать подпрограмму, которая строит в одной системе координат графики любых двух функций. Функции должны быть оформлены в виде подпрограмм - функций, имена функций передаются в качестве фактических параметров.
Zond235 вне форума Ответить с цитированием
Старый 29.01.2008, 21:43   #2
АнНютик
Пользователь
 
Регистрация: 29.01.2008
Сообщений: 18
По умолчанию

надеюсь тебе это пожойдет...
я второй график на выбор написала, выберешь...

Program listik;
uses graphabc,crt;
var
x,y,a,b,x0,y0,mx,my,i,k:integer;
h,xt,yt,y2:real;
function f(x:real):real;
begin
result:=0.5*sqr(x)+4*x-3;
end;
function f1(x:real):real;
begin
result:=(7*power(sin(sqr(x)),3))/(3*sqr(cos(power(x,3)))+1);
end;
begin
FloodFill(10,10,clsilver);
x0:=639 div 2;
y0:=479 div 2;
mx:=5;
my:=5;
line(639 div 2,0,639 div 2,479);
line(0,479 div 2, 639,479 div 2);
for i:=1 to 64 do
line(10*i,479 div 2-5,10*i,479 div 2+5);
for k:=1 to 48 do
line(639 div 2-5,10*k,639 div 2+5,10*k);
xt:=-15;
h:=0.1;
repeat
yt:=f(xt);
x:=x0+round(xt*mx);
y:=y0-round(yt*my);
setpixel(round(x),round(y),clblack) ;
xt:=xt+h;
until (xt>5) or (keypressed);
{xt:=-20;
h:=0.0031;
repeat
yt:=f1(xt);
x:=x0+round(xt*mx);
y:=y0-round(yt*my);
setpixel(round(x),round(y),clblack) ;
xt:=xt+h;
until (xt>20) or (keypressed);}
xt:=-7;
h:=0.0031;
repeat
yt:=f1(xt);
x:=x0+round(xt*mx);
y:=y0-round(yt*my);
setpixel(round(x),round(y),clblack) ;
xt:=xt+h;
until (xt>7) or (keypressed);
end.
АнНютик вне форума Ответить с цитированием
Старый 30.01.2008, 01:44   #3
Zond235
 
Регистрация: 28.01.2008
Сообщений: 6
Хорошо

Пасибо Анютик ты Настоящий друг!!!
Zond235 вне форума Ответить с цитированием
Старый 03.06.2008, 15:09   #4
Ahton
 
Регистрация: 03.06.2008
Сообщений: 6
Восклицание

пипл, а может мне кто нить помочь по паскалю, нужно написать прогу, песочные часы, в общем анимация, т.е. нажимаешь на пробел и песок в часах пересыпается (анимация), оч нада, от этого сессия зависит!
Ahton вне форума Ответить с цитированием
Старый 03.06.2008, 16:03   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Ahton
В теории примерно так:
Рисуешь два треуголиника через Sin-Cos. В цикле уменьшаешь радиус одного и его центр смещаешь вниз. Радиус второго увеличиваешь, и цент р второго тоже вниз.

Уловил идею?

Вот накропал тут маненько:
Код:
uses crt,Graph;
var
 c:char;
  grDriver: Integer;
  grMode: Integer;
  x,y,a,b,ErrCode,i: longint;
  ang:real;

procedure draw(cx,cy,BeginAngle:real;r:integer);
var rx,ry,x,y,angle, rang, ang:real;e,i:integer;
 atp:array[1..4] of Pointtype;
begin

ang:=360/3;
angle:=(2*pi*ang)/360; rang:=angle;
  for  i:=1  to 3  do
  begin
   rx:=(cos(angle+BeginAngle));
   ry:=(sin(angle+BeginAngle));
   atp[i].X:=round(cx+r*(rx));
   atp[i].Y:=round(cy+r*(ry));
 angle:=angle+rang;
   end;
  atp[4]:=atp[1];
  drawpoly(4,atp);
end;
begin
  grDriver := Detect;
  InitGraph(grDriver, grMode,'');{}
  ErrCode := GraphResult;
  if ErrCode = grOk then
  begin  { Do graphics }
   x:=200;y:=200; a:=200;b:=300;
   for i:=0 to 100 do begin
    clrscr;
    draw(100,100,2*pi*90/360,100-i);
    draw(100,200,2*pi*-90/360,i);

    c:=readkey;
   end;
    c:=readkey;
    CloseGraph;
  end
  else
    Writeln('Graphics error:', GraphErrorMsg(ErrCode));
end.
I'm learning to live...

Последний раз редактировалось Stilet; 03.06.2008 в 16:14.
Stilet вне форума Ответить с цитированием
Старый 03.06.2008, 16:30   #6
Ahton
 
Регистрация: 03.06.2008
Сообщений: 6
Восклицание

4Stilet >>>>
Дружище, спасибо за этот код, но у меня тут небольшая заминка - у меня PascalABC - там вообще другой модуль графики GraphABC - в нем нет и половины от твоего кода
ты можешь попробовать на PascalABC написать эту прогу?
Я так продумал - т.е. мы рисуем песочные часы, в них квадраты закрашенные, по нажатию на пробел, сверху квадраты удаляются, снизу рисуются, впринцыпе одними тока begin - действие мона всё это сделать, тока я не представляю как оформить код, можешь помочь? буду очень благодарен!!!
Ahton вне форума Ответить с цитированием
Старый 03.06.2008, 16:37   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
ты можешь попробовать на PascalABC написать эту прогу?
Нет не могу.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.06.2008, 16:41   #8
Ahton
 
Регистрация: 03.06.2008
Сообщений: 6
Восклицание

Цитата:
Сообщение от Stilet Посмотреть сообщение
Нет не могу.
Я дико извиняюсь если обидел, просто мне очень надо до завтра накатать эту прогу...
ЗЫ - а под какой паскаль твой код? можешь кинуть точное название, мож скачаю твой пакет...
Ahton вне форума Ответить с цитированием
Старый 03.06.2008, 17:01   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Я дико извиняюсь если обидел
Я не могу по причине отсутствия такого паскаля. Тем паче что тут алгоритм приведен. Это заработает в любом паскале от 5 до 7-ки.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.06.2008, 19:20   #10
glasian
Пользователь
 
Регистрация: 15.06.2008
Сообщений: 32
По умолчанию

парни помогите прогу написать срочно надо!!!
Паскаль граф.
Подготовив несколько заготовок полотнища флага, добиться эффекта его движения (флаг реет). Цвет флага изменять
glasian вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль. Задачи. (Графика, БД, строки) Aferist Помощь студентам 16 19.02.2010 17:48
ПАСКАЛЬ ГРАФИКА glasian Помощь студентам 19 17.06.2008 04:26
Графика Exact Паскаль, Turbo Pascal, PascalABC.NET 3 14.03.2008 18:37
Графика С++ kommunist Общие вопросы C/C++ 6 14.01.2008 15:21
Приммитивная графика. Паскаль. Oleg Romanchuk Помощь студентам 1 11.01.2008 10:48