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

Дополните программу треугольником

22.02.2014, 11:17. Показов 862. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята помогите пожалуйста!Нужно дополнить программу на паскале треугольником

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
Unit GraphObj;
Interface   {интерфейсная часть модуля содержит только объявления объектов}
type
  TGraphObj = object
  Private                        {поля объектов будут скрыты от пользователя}
    X,Y: Integer;                               {координаты реперной точки}
    Color: Word;                                               {цвет фигуры}
  Public                 {методы объекта будут доступны пользователю}
    Constructor Init(aX,aY:Integer; aColor:Word);{создает экземпляр объекта*}
    Procedure Draw(aColor: Word); Virtual;
    {вычерчивает объект заданным цветом aColor}
    Procedure Show;
  {Показывает объект-вычерчивает его цветом Color}
    Procedure Hide;
    {Прячет объект -вычерчивает его цветом фона**}
    Procedure MoveTo(dX,dY: Integer);
    {Перемещает объект в точку с координатами x+dx и y+dy}
  end;                                             {конец описания объекта*}
 
  Tpoint = object(TGraphObj)
    Procedure Draw(aColor: Word); Virtual;
  end;
 
  Tline = Object(TGraphObj)
    dX,dY:Integer;{приращения координат второго конца*}
    Constructor Init(X1,Y1,X2,Y2: integer; aColor: Word);
    Procedure Draw(aColor: Word); Virtual;
  end;
  TCircle= Object(TGraphObj)
    R:Integer;{радиус}
    Constructor Init(aX,aY,aR: integer; aColor: Word);
    Procedure Draw(aColor: Word); Virtual;
  end;
 
  TRect = Object(Tline)
    Procedure Draw(aColor: Word); Virtual;
  end;
  Implementation
  {Исполняемая часть содержит описания всех объектных методов}
  Uses Graph;
  Constructor TGraphObj.Init;
  begin
    x := ax;
    y := ay;
    Color := aColor
  end;
  Procedure TGraphObj.Draw;
  begin
  {Эта процедура в родительском объекте ничего не делает,поэтому экземпляры TGraphObj не способны отображать себя на 
Экране .Чтобы потомки объекта были способны отображать себя,они должны перекрывать этот метод}
  end;
  Procedure TGraphObj.Show;
  begin
    Draw (Color)
  end;
  Procedure TGraphObj.Hide;
  begin
    Draw(GetBkColor)
  end;
  Procedure TGraphObj.MoveTo;
  begin
   Hide;
   x := x+dx;
   y := y+dy;
   Show
  end;
  Procedure TPoint.Draw;
  begin
    PutPixel(x,y,color){показываем цветом color пиксель с координатами х и y}
  end;
  Constructor TLine.Init;
  {Вызывает унаследованный конструктор TGraphObj для инициации полей x,y и
  color,затем инициирует поля dx и dy}
  begin
  {Вызываем унаследованный конструктор}
  Inherited Init(X1,Y1,aColor);{Ё*ЁжЁЁа㥬 Ї®«п dx Ё dy}
    dx := x2-x1;
    dy := y2-y1;
  end;
  Procedure TLine.Draw;
  begin
   SetColor(aColor);                            {устанавливаем цвет color}
   Line(x,y,x+dx,y+dy)                                 {вычерчиваем линию}
  end;
  Constructor TCircle.Init;
  begin
    Inherited Init(ax,ay,aColor);
    R := aR
  end;
 
  Procedure TCircle.Draw;
  begin
   SetColor(aColor);      {устанавливаем цвет color}
   Circle(X,Y,R)          {вычерчиваем окружность}
  end;
  Procedure TRect.Draw;
  begin
   SetColor(aColor);
   Rectangle(X,Y,X+DX,Y+DY) {вычерчиваем прямоугольник}
  end;
 end.

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
Unit GraphApp;
Interface
Uses GraphObj;    
const
  NPoints =100;                                       
Type
 TGraphApp = object
   Points: array [1..NPoints] of TPoint;                    
   Line : TLine;                                                 
   Rect : TRect;                                         
   Circ : TCircle;                                           
   ActiveObj : integer;                                   
   Procedure Init;
   Procedure Run;
   Destructor {Procedure} Done;
   Procedure ShowAll;
   Procedure MoveActiveObj (dX,dY: integer);
  end;
Implementation
Uses Graph,CRT;
Procedure TGraphApp.Init;
Var
  D,R,Err,k:integer;
begin
  {Ё*ЁжЁЁа㥬 Ја*дЁЄг}
  D:= Detect; 
  InitGraph (D,R,'\tp\bgi');
  Err := GraphResult;
  if Err<>0 then
   begin
    GraphErrorMsg(Err);
    Halt
   end;
  for k := 1 to NPoints do
    Points[k].Init (Random(GetMaxX),
    Random(GetMaxy),Random(15+ 1));
    Line.Init(GetmaxX div 3,GetMaxY div 3,2*GetMAXx Div
     3,2*GetMaxY div 3, LightRed);
    Circ.Init(GetMaxX div 2, GetMaxY div 2,GetMaxY div 5, White);
    Rect.Init(2*GetMaxX div 5,2*GetMaxY div 5,3*GetMaxX div 5, 3*GetMaxY div
     5, Yellow);
    ShowAll;     
  ActiveObj := 1
  end; {TGraphApp.Init}
  {----------------}
  Procedure TGraphApp.Run;
  {Выбираем объект с помощью tab и перемещаем его по экрану}
  var
   Stop: Boolean;           {признак нажатия esc}
  const
   D = 5;                                             {шаг смещения фигур}
  begin
   Stop := False;
   {–€Љ‹ ЋЏђЋ‘Ђ Љ‹Ђ‚€Ђ’“ђ›}
    repeat
     case ReadKey of                           {зЁв*Ґ¬ Є®¤ **¦*в®© Є«*ўЁиЁ}
     #27: stop := true;                                        {**¦*в* esc}
      #9: begin                                                {**¦*в* tab}
       inc(ActiveObj);                         {㢥«ЁзҐ*ЁҐ *®¬Ґа* ®ЎкҐЄв*}
        if (ActiveObj>3) then
          ActiveObj := 1                          {§*жЁЄ«Ёў*Ґ¬ ўлЎ®а дЁЈга}
        end;
      #0: case ReadKey of
        #71: MoveActiveObj(-D,-D);                          {ў«Ґў® Ё ўўҐае}
        #72: MoveActiveObj(0,-D);                                   {ўўҐае}
        #73: MoveActiveObj(D,-D);                          {ўЇа*ў® Ё ўўҐае}
        #75: MoveActiveObj(-D,0);                                   {ў«Ґў®}
        #77: MoveActiveObj(D,0);                                   {ўЇа*ў®}
        #79: MoveActiveObj(-D,D);                            {ў«Ґў® Ё ў*Ё§}
        #80: MoveActiveObj(0,D);                                     {ў*Ё§}
        #81: MoveActiveObj(D,D);                            {ўЇа*ў® Ё ў*Ё§}
       end
      end;
      ShowAll;
     Until Stop;
    end;                                                    {TGraphApp.Run}
    {----------------}
    Destructor{Procedure}TGraphApp.Done;
    {?}
    begin
     CloseGraph
   end;                                                    {TGraphApp.Done}
 
   {----------------}
   Procedure TGraphApp.ShowAll;
    {Џ®Є*§лў*Ґв ўбҐ Ја*дЁзҐбЄЁҐ ®ЎкҐЄвл}
   var
    k : integer;
  begin
    for k := 1 to NPoints do Points[k].Show;
    Line.Show;
    Rect.Show;
    Circ.Show
  end;
  {------------}
  Procedure TGraphApp.MoveActiveObj;
  {ЏҐаҐ¬Ґй*Ґв *ЄвЁў*л© Ја*дЁзҐбЄЁ© ®ЎкҐЄв}
  begin
    case ActiveObj of
      1: Rect.MoveTo(dX,dY);                   {ЏҐаҐ¬ҐйҐ*ЁҐ Їаאַ㣮«м*ЁЄ*}
      2: Circ.MoveTo(dX,dY);                            {ЏҐаҐ¬ҐйҐ*ЁҐ ЄагЈ*}
      3: Line.MoveTo(dX,dY);                            {ЏҐаҐ¬ҐйҐ*ЁҐ «Ё*ЁЁ}
    end
   end;
  end.

Pascal
1
2
3
4
5
6
7
8
9
Program Graph_Objects;
Uses GraphApp;{Џ®¤Є«оз*Ґ¬ ¬®¤г«м GraphApp, Є®в®ал© Ї®¤Є«озЁв ¬®¤г«м GraphObj}
var
  App: TGraphApp;
begin
App.Init;
App.Run;
App.Done
end.
Пмогите пожалуйста!я совсем запуталась!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.02.2014, 11:17
Ответы с готовыми решениями:

Графика с треугольником
Здравствуйте, решил попросить помощи в решении следующей задачи: Вывести на экран монитора треугольник желтого (Yellow) цвета таким...

Геометрическая задача с треугольником
Даны координаты трех точек на плоскости. Если они могут быть вершинами равнобедренного тупоугольного треугольника, вычислить его площадь....

распечатать заданные текст треугольником
распечатать заданные текст треугольником какбэ пример: с ...

2
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
22.02.2014, 19:24
Добавил вам треугольник
Вложения
Тип файла: rar Программа.rar (33.3 Кб, 10 просмотров)
0
0 / 0 / 0
Регистрация: 22.02.2014
Сообщений: 4
22.02.2014, 19:47  [ТС]
Спасибо большое! Сейчас проверю!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.02.2014, 19:47
Помогаю со студенческими работами здесь

По трем точкам определить является ли фигура треугольником
По трем точкам определить является ли фигура треугольником.

Выяснить, является ли заданная тремя точками фигура треугольником
вот еня заинтересовала така вот задачка, помогите ее решитть пользователь должен ввести координаты 3-х точек(в прямоугольной ДСК) ...

Дополните программу
Написал программу для данного условия.Дан двумерный массив a, размером (nm). Заполнить одномерный массив, найдя среднее арифметическое...

Дополните программу
Здравствуйте. нужна помощь с программой. Не могу понять как заполнить массив. Дан двумерный массив a, размером (nm). Заполнить...

Вывести числа «треугольником», состоящим из n строк
Ввести целое n , если n &gt; 0, вывести числа «треугольником», состоящим из n строк. Например, для n = 5: ****1**** ***121*** ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
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, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru