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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.06.2009, 18:38   #1
Foxtrot_1
Пользователь
 
Аватар для Foxtrot_1
 
Регистрация: 14.06.2009
Сообщений: 67
Злость Компьютерная графика на Pascal

Сегодня решали задачу по компьютерной графике на Pascal:
1. Даны w,h,r,t - построить 5 угольник вписанный в окружность с w,h центр, r- радиусом.
2. Повернуть 5-ти угольник на угол t радиан.
3. М(р); x=rCos(p); y=rSin(p).
//---------------------------------------------------------------------------------
3 часа решали, никто не здал!!!!!
Всегда бывает лучше, чем ты хочешь!!!
Foxtrot_1 вне форума Ответить с цитированием
Старый 25.06.2009, 19:18   #2
OCTAGRAM
Oldschool geek
Форумчанин
 
Аватар для OCTAGRAM
 
Регистрация: 09.03.2009
Сообщений: 611
По умолчанию

Это в каком классе было, что никто не сдал?
If you want to get to the top, you have to start at the bottom

http://pascal.net.ru/
OCTAGRAM вне форума Ответить с цитированием
Старый 25.06.2009, 19:54   #3
Foxtrot_1
Пользователь
 
Аватар для Foxtrot_1
 
Регистрация: 14.06.2009
Сообщений: 67
По умолчанию

Да мы заочники все.
//---------------------------------------------------------------------
Кто сможет в субботу решить задачку типа как выше в режиме Online с 9.00 до 12.00???
Я отсылаю на мыло задание, ответ решение файлом .pas
Ася 389981668
Условие договорное
Всегда бывает лучше, чем ты хочешь!!!

Последний раз редактировалось Foxtrot_1; 25.06.2009 в 21:08.
Foxtrot_1 вне форума Ответить с цитированием
Старый 25.06.2009, 20:37   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

вот решение Вашей задачи (только 1 и 2, 3ю часть не понял...):
Код:
uses Graph, CRT;

var
  Gd, Gm, ErrorCode : Integer;
var 
  w,h, x1,y1, r, i : integer;
  t, ugol : double;
  

begin  
  Gd := Detect;
  InitGraph(Gd, Gm, '');
  ErrorCode := GraphResult;
  if ErrorCode = grFileNotFound then
  begin
    WriteLn('Ошибка инициализации графики: ', GraphErrorMsg(ErrorCode));
    InitGraph(Gd, Gm, '');
    ErrorCode := GraphResult;
  end;
  if ErrorCode <> grOk then
  begin
    WriteLn('Ошибка инициализации графики: ', GraphErrorMsg(ErrorCode));
    ReadLn;
    Halt(1);
  end;
  
  {w,h координаты центра}
  w := 150; h := 150;
  r := 150; {радиус окружности}

  t := 10; {угол поворота - В ГРАДУСАХ!}

  Circle(w,h,r);
  ugol := 0;
  x1 := w+trunc(R*cos(ugol));
  y1 := h+trunc(R*sin(ugol));
  MoveTo(x1, y1);
  for i:=1 to 5 do
  begin
    ugol := ugol + (72 *pi/180);
    x1 := w+trunc(R*cos(ugol));
    y1 := h+trunc(R*sin(ugol));
    LineTo(x1,y1);
  end;

  {
  задача 2 - поворот пятиугольника на угол t
    повернутый пятиугольник рисуем красным цветом
  }
  SetColor(Red);
  ugol := t * pi / 180;
  x1 := w+trunc(R*cos(ugol));
  y1 := h+trunc(R*sin(ugol));
  MoveTo(x1, y1);
  for i:=1 to 5 do
  begin
    ugol := ugol + (72 *pi/180);
    x1 := w+trunc(R*cos(ugol));
    y1 := h+trunc(R*sin(ugol));
    LineTo(x1,y1);
  end;


  MoveTo(0,400);
  SetColor(Red);
  OutText('for Exit Press ENTER');

  Readln;
  CloseGraph;
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.06.2009, 21:09   #5
Foxtrot_1
Пользователь
 
Аватар для Foxtrot_1
 
Регистрация: 14.06.2009
Сообщений: 67
По умолчанию

Спасибо!!! Счас проверю в TP
Всегда бывает лучше, чем ты хочешь!!!
Foxtrot_1 вне форума Ответить с цитированием
Старый 25.06.2009, 23:11   #6
Doholyan
Форумчанин
 
Регистрация: 26.04.2009
Сообщений: 270
По умолчанию

Глупый вопросик! Зачем при подклучении модуля GRAPH всегда проверяют на результат ошибки:
if ErrorCode = grFileNotFound then
begin
WriteLn('Ошибка инициализации графики: ', GraphErrorMsg(ErrorCode));
InitGraph(Gd, Gm, '');
ErrorCode := GraphResult;
end;
if ErrorCode <> grOk then
begin
WriteLn('Ошибка инициализации графики: ', GraphErrorMsg(ErrorCode));
ReadLn;
Halt(1);
end;

не когда не пользовался....и не могу понять его сущности ЗАЧЕМ он?
Doholyan вне форума Ответить с цитированием
Старый 26.06.2009, 01:18   #7
OCTAGRAM
Oldschool geek
Форумчанин
 
Аватар для OCTAGRAM
 
Регистрация: 09.03.2009
Сообщений: 611
По умолчанию

Потому что инициализация графики может быть неудачна. Надо же об этом сообщить как–то.
If you want to get to the top, you have to start at the bottom

http://pascal.net.ru/
OCTAGRAM вне форума Ответить с цитированием
Старый 26.06.2009, 02:02   #8
Doholyan
Форумчанин
 
Регистрация: 26.04.2009
Сообщений: 270
По умолчанию

Цитата:
Сообщение от OCTAGRAM Посмотреть сообщение
Потому что инициализация графики может быть неудачна. Надо же об этом сообщить как–то.

так если графический режим не запустился по каким то причинам....он же все равно высветит ошибка....(возможно только маргнет да долю сикунду)
или это просто...так сказть "хороший тон"
Doholyan вне форума Ответить с цитированием
Старый 28.06.2009, 02:29   #9
OCTAGRAM
Oldschool geek
Форумчанин
 
Аватар для OCTAGRAM
 
Регистрация: 09.03.2009
Сообщений: 611
По умолчанию

И в этом сообщении сказано use InitGraph. Посмотрит чел и скажет: да вот он InitGraph, чё не так?
If you want to get to the top, you have to start at the bottom

http://pascal.net.ru/
OCTAGRAM вне форума Ответить с цитированием
Старый 28.06.2009, 11:32   #10
Doholyan
Форумчанин
 
Регистрация: 26.04.2009
Сообщений: 270
По умолчанию

...значит не принципиально! ...
Doholyan вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Компьютерная графика в паскале Kravec Паскаль, Turbo Pascal, PascalABC.NET 35 03.04.2015 15:36
Компьютерная графика!требуется помощь! Bariy47 Паскаль, Turbo Pascal, PascalABC.NET 0 16.05.2009 21:49
Компьютерная графика на VS C++ под MFC. Срочно требуется помощь! Accemt Фриланс 20 02.04.2009 22:03
компьютерная графика Черная тень Паскаль, Turbo Pascal, PascalABC.NET 6 11.01.2009 07:29