Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 11.04.2015
Сообщений: 1

Нарисовать "Резиновый прямоугольник"

13.04.2015, 17:11. Показов 699. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята, помогите пожалуйста с программой:"Резиновый прямоугольник". Изменение размера прямоугольника при фиксированной координате верхнего левого угла (растягивание или сжатие за правую боковую или нижнюю стороны). Вращение прямоугольника за его произвольную вершину при фиксированной координате центра прямоугольника. Выбор точки(стороны,вершины) осуществляется графическим курсором и нажатием клавиши "Enter". Буду премного благодарна! Тут почти вся программа написана, ее нужно только немного дополнить




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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
Program ;
uses crt,graphABC;
const f:array[1..3] of string=('about program','start graphic editor','exit');
var t,d,x,y,ent:integer;
a:char;
 
 
{-----------------}
procedure vivod (t:integer);
begin 
clrscr;
for i:=1 to  3 do 
           begin
              gotoxy(trunc((80-lenght(f[i]))/2),i+10);
              if i=t then 
              textcolor(4)
              else
              textcolor(7);
              write(f[i]);
              end;
         end;
         {-------------------------------}
 
         procedure o_prog;
         begin
         clrscr;
         gotoxy(30,1);
         write('Минестерство образования и науки РФ');
         gotoxy(20,2);
         write('Федеральное государственное автономное образовательное учереждение');
         gotoxy(32,3);
         write('высшего профессионального образования');
         gotoxy(15,4);
         write('"Уральский Федеральный Университет имени Первого Президента Б.Н.Ельцина"');
         gotoxy(30,5);
         write('Строительный институт');
         gotoxy(30,6);
         write('Кафедра );
         gotoxy(30,12);
         write('Дисциплина информатика');
         gotoxy(30,13);
         write('работа');
         gotoxy(30,14);
         write('Резиновый прямоугольник');
         gotoxy(30,15);
         write('Паскаль');
         gotoxy(4,17);
         write('имя');
         gotoxy(4,18);
         write('студент');
         gotoxy(4,19);
         write('работа');
         gotoxy(32,25);
         write('год');
         repeat 
         until keypressed;
         end;
         {-----------------------------}
        Procedure Kursor(x,y,n:word);
Begin 
        setpencolor(n);
        line(x-5,y,x+5,y);
        line(x,y+5,x,y-5);
end;
{----------------}
Procedure dvizhenie;
Var x1,y1,x2,y2:integer;
Begin
      ent:=0;
      cleardevice;
      x:=20;
      y:=200;
      repeat
          kursor(x,y,10);
          if keypressed then
          begin
              kursor(x,y,0);
               a:=readkey;
               if a=chr(0) then
                begin
                 a:=readkey;
                 case ord(a) of 
                72:begin y:=y-10;
                 end;
                 80:begin y:=y+10;
                  end;
                  75:begin x:=x-10;
                   end;
                   77: begin x:=x+10;
                    end;
        else
             write('Нажата не стрелка');
          end;
        end
      else 
          case ord(a) of 
           13:begin 
                if ent=0 then
                begin 
                     x1:=getx;
                     y1:=gety;
                     ent:=1;
                  end
             else
                 begin 
                     x2:=getx;
                      y2:=gety;
                     end;
                begin
                     rectangle(x1,y1,x2,y2);
                 end;
              end;
         27:d:=3;
    else 
         begin gotoxy(20,24);
                 writeln('Нажата не стрелка');
                 repeat
                 until keypressed;
               end;
             end;
           end;
   until (x>=490) or (y>=340) or (x<=10) or (y<=10) or (d=3);
 
End;
 
 
   {-------------------------------}
begin
     t:=1;
     repeat
     vivod(t);
     a:=readkey;
     if a=chr(0) then
     begin
          a:=readkey;
          case ord(a) of
          
              72:begin   gotoxy(20,24);
              t:=t-1;
              if  t=0 then 
              t:=3;
   end;    
                         80:begin   gotoxy(20,24);
              t:=t+1;
              if  t=4 then 
              t:=1;
   end;       
else
              begin   gotoxy(20,24);
              writeln('нажата не стрелка');
              repeat
              until keypressed;
              end;
         end;
   end
   else
   case ord(a) of 
                13:case t of 
                        1:   o_prog;
                        2:begin
                                    {Kursor(20,20,10)  ;} dvizhenie;
                        end;
                        3:   d:=3;
              27:d:=3
     else
             begin   gotoxy(20,24);
              writeln('нажата не стрелка');
              repeat
              until keypressed;
              end;
          end;
     end;
            until d=3;
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.04.2015, 17:11
Ответы с готовыми решениями:

Нарисовать прямоугольник, который заполняется разноцветными шариками
Нарисовать прямоугольник, который заполняется разноцветными шариками.

Как нарисовать прямоугольник в System.Windows.Forms?
Вот код, который сделан неумелым пользователем на System.Windows.Forms и System.Drawing: {$reference System.Drawing.dll} {$reference...

Нарисовать прямоугольник и залить его черным цветом
написал код рисуется прямоугольник и надо залить его черным цветом но у меня почему-то не получается вот код program gi; ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.04.2015, 17:11
Помогаю со студенческими работами здесь

Как нарисовать линию/прямоугольник/окружность в Windows Forms?
Недавно захотел изучить основы Windows Forms. Самое интересное по мне - рисовать. :) Так вопрос. Как нарисовать...

Делаю графический редактор, как нарисовать мышью прямоугольник?
У меня такой вопрос. Я делаю пейнт в паскале. Как мне правильно написать код, чтобы нарисовать прямоугольник( как в paint от microsoft)...

Нарисовать на экране прямоугольник, который движется по диагонали Движение сопровождается звуком
Нарисовать на экране прямоугольник, который движется по диагонали. Движение сопровождается звуком.

Нарисовать в разных местах экрана сектор эллипса, закрашенный треугольник, ромб, прямоугольник
а) Нарисовать в разных местах экрана сектор эллипса, закрашенный треугольник, ромб, прямоугольник.

В центре окна (640х400) нарисовать прямоугольник 80х50 и закрасить его зеленым цветом
Помогите нарисовать прямоугольник


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru