Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/22: Рейтинг темы: голосов - 22, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 01.12.2010
Сообщений: 28

Графика в языках программирования

04.04.2012, 17:33. Показов 4585. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1. Изобразить движение маятника.
2. Изобразить пароход и закрасить его отдельные элементы различными цветами
А) Составить процедуры рисования фигур.
Б) Разделить графический экран с использованием
заливки на 8 областей разного цвета.
4. Построить график функции y=5x2+3x-7 на отрезке [-4,16].
Рисунки с заданиями в архивеИзобразить движение маятника.rar. Все эти задания необходимо написать на Паскаль АВС. Помогите пожалуйста! Заранее спасибо)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.04.2012, 17:33
Ответы с готовыми решениями:

Графика в среде программирования АЛГО
Помогите составить программу на языке паскаль в среде программирования Algo. Очень нужно. Заранее спасибо.

Инструмент для программирования на языках C/C++
Здравствуйте. Начинаю изучение среды программирования C++. Подскажиет мне программку , которую лучше всего сказать, чтобы начать...

Стандартные мат. библиотеки в языках программирования
Вот к примеру возьмём python. В модуле math есть тригонометрические функции - например sin(x). Как эта функция организована. Подробнее: у...

7
0 / 0 / 0
Регистрация: 01.12.2010
Сообщений: 28
04.04.2012, 17:58  [ТС]
Помогите пожалуйста... очень надо(
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
04.04.2012, 18:17
Маятник.
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
uses graphABC;
//рисование маятника
procedure M(xc,yc,x1,y1:integer);
begin
setbrushstyle(bsSolid);
setbrushcolor(clBlack);
line(xc,yc,x1,y1);
circle(xc,yc,2);
circle(x1,y1,4);
end;
var xc,yc,d,x1,y1:integer;
    u,du,a:real;
begin
xc:=windowwidth div 2;
yc:=50;
d:=150;
x1:=xc;
y1:=yc+d;
u:=-pi/2;//начальное положение вертикально
du:=0.1;
a:=pi/4;//амплитуда
lockdrawing;
repeat
while u>=-pi/2-a do//ход влево
 begin
  clearwindow;
  u:=u-du;
  x1:=xc+round(d*cos(u));
  y1:=yc-round(d*sin(u));
  M(xc,yc,x1,y1);
  sleep(200);
  redraw;
 end;
while u<=-pi/2+a do //ход вправо
 begin
  clearwindow;
  u:=u+du;
  x1:=xc+round(d*cos(u));
  y1:=yc-round(d*sin(u));
  M(xc,yc,x1,y1);
  sleep(200);
  redraw;
 end;
a:=a-pi/20;//уменьшим амплитуду
until a<0;
clearwindow;//установим в начальное положение
UnlockDrawing;
M(xc,yc,xc,yc+d);
end.
1
0 / 0 / 0
Регистрация: 01.12.2010
Сообщений: 28
04.04.2012, 19:13  [ТС]
помогите пожалуйста и с остальными задачками...
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
05.04.2012, 10:23
2.Б 8 цветов.
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
uses graphABC;
var x1,y1,x2,y2:integer;
begin
x1:=windowwidth div 2;
y1:=windowheight div 2;
setpencolor(clRed);
line(0,0,x1,y1);
line(x1,0,x1,y1);
line(0,0,x1,y1);
floodfill(10,5,clRed);
setpencolor(clBlue);
line(0,0,x1,y1);
line(0,y1,x1,y1);
line(0,0,0,y1);
floodfill(5,10,clBlue);
setpencolor(clGreen);
line(0,y1,x1,y1);
line(0,2*y1,x1,y1);
line(0,y1,0,2*y1);
floodfill(5,y1+10,clGreen);
setpencolor(clYellow);
line(0,2*y1,x1,y1);
line(0,2*y1,x1,2*y1);
line(x1,y1,x1,2*y1);
floodfill(10,2*y1-5,clYellow);
setpencolor(clPurple);
line(x1,0,2*x1,0);
line(x1,y1,2*x1,0);
line(2*x1,0,2*x1,y1);
floodfill(x1+10,5,clPurple);
setpencolor(clBrown);
line(x1,y1,2*x1,0);
line(x1,y1,2*x1,y1);
line(2*x1,0,2*x1,y1);
floodfill(x1+10,y1-5,clBrown);
setpencolor(clCream);
line(x1,y1,2*x1,y1);
line(x1,y1,2*x1,2*y1);
line(2*x1,y1,2*x1,2*y1);
floodfill(x1+10,y1+5,clCream);
setpencolor(clAqua);
line(x1,y1,2*x1,2*y1);
line(x1,y1,x1,2*y1);
line(2*x1,y1,2*x1,2*y1);
floodfill(x1+10,2*y1-5,clAqua);
end.
Добавлено через 6 минут
А-1.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
uses graphABC;
procedure Fig(x,y,r,c:integer);
begin
setpencolor(c);
line(x-r,y,x,y-r);
line(x,y-r,x+r,y);
line(x+r,y,x,y+r);
line(x,y+r,x-r,y);
end;
var x,y,r,i:integer;
begin
x:=100;
y:=windowheight div 2;
r:=50;
for i:=1 to 3 do
 begin
  Fig(x,y,r,clRed);
  x:=x+r;
 end;
end.
Добавлено через 7 минут
А-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
uses graphABC;
procedure Fig(x,y,r,c:integer;a:real);
var x1,y1,x2,y2,x3,y3,x4,y4,i:integer;
    u:real;
begin
u:=a;
x1:=x+round(r*cos(u));
y1:=y-round(r*sin(u));
u:=u+pi/2;
x2:=x+round(r*cos(u));
y2:=y-round(r*sin(u));
u:=u+pi/2;
x3:=x+round(r*cos(u));
y3:=y-round(r*sin(u));
u:=u+pi/2;
x4:=x+round(r*cos(u));
y4:=y-round(r*sin(u));
setpencolor(c);
line(x1,y1,x2,y2);
line(x2,y2,x3,y3);
line(x3,y3,x4,y4);
line(x4,y4,x1,y1);
end;
var x,y,r,i:integer;
begin
x:=windowwidth div 2;;
y:=windowheight div 2;
r:=100;
Fig(x,y,r,clRed,0);
Fig(x,y,r,clRed,pi/4);
end.
Добавлено через 1 минуту
На сегодня хватит, на тройку точно есть. Спать пора, завтра добавлю.

Добавлено через 10 часов 26 минут
Кстати деление на 8 частей я сделал как в Турбо Паскале, в АВС это проще делается.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
uses graphABC;
var x1,y1,x2,y2:integer;
begin
x1:=windowwidth div 2;
y1:=windowheight div 2;
rectangle(0,0,2*x1,2*y1);
line(0,0,2*x1,2*y1);
line(2*x1,0,0,2*y1);
line(x1,0,x1,2*y1);
line(0,y1,2*x1,y1);
floodfill(10,5,clRed);
floodfill(5,10,clBlue);
floodfill(5,y1+10,clGreen);
floodfill(10,2*y1-5,clYellow);
floodfill(x1+10,5,clPurple);
floodfill(x1+10,y1-5,clBrown);
floodfill(x1+10,y1+5,clCream);
floodfill(x1+10,2*y1-5,clAqua);
end.
Добавлено через 21 минуту
График функции.
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
uses graphABC;
function F(x:real):real;
begin
F:=5*x*x+3*x-7;
end;
var x,mx,my,dx:real;
    x0,y0,xn,xk,i:integer;
    s:string;
begin
xn:=-4;xk:=16;{интервал по Х}
x0:=round(abs(xn)*windowwidth/(xk-xn));
mx:=(windowwidth-50)/(xk-xn);{масштаб по Х}
y0:=windowheight-80;
my:=(y0-30)/F(xk);
line(0,y0,windowwidth,y0);{оси}
line(x0,0,X0,windowheight);
for i:=1 to xk do{максимальное количество засечек в одну сторону}
  begin
    line(x0-3,y0-round(i*my*100),x0+3,y0-round(i*my*100));{засечки на оси У}
    line(x0-3,y0+round(i*my*100),x0+3,y0+round(i*my*100));
    {подпись оси У}
    str(i*100,s);
    textout(x0-35,y0-round(i*my*100),s);{соответственно засечкам}
    textout(x0-35,y0+round(i*my*100),'-'+s);
    line(x0+round(i*mx),y0-3,x0+round(i*mx),Y0+3); {засечки на оси Х}
    line(x0-round(i*mx),y0-3,x0-round(i*mx),Y0+3);
    {подпись оси Х}
    str(i,s);
    textout(x0+round(i*mx),y0+10,s);
    textout(x0-round(i*mx),y0+10,'-'+s);
  end;
{центр}
textout(x0+5,y0+10,'0');
{подписи концов осей}
textout(windowwidth-10,y0-10,'X');
textout(x0+5,10, 'Y');
{график}
x:=xn;
dx:=0.01;
setpencolor(clRed);
moveto(x0+round(x*mx),y0-round(F(x)*my));
while x<=xk do
 begin
 lineto(x0+round(x*mx),y0-round(F(x)*my));
  x:=x+dx;
 end;
{название}
setfontcolor(clRed);
setfontsize(12);
textout(x0+100,20,'Grafik functii y=5x^2+3x-7');
textout(x0+120,40,'na intervale [-4;16]');
end.
Добавлено через 1 час 23 минуты
Корабль.
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
uses graphABC;
var xc,y1,x1,d,h,i:integer;
begin
xc:=windowwidth div 2;
y1:=windowheight-80;
h:=80;
d:=60;
ClearWindow(clSkyBlue);
//корпус
line(xc-3*d,y1-h,xc+3*d,y1-h);
line(xc-3*d,y1-h,xc-2*d,y1);
line(xc-2*d,y1,xc+3*d,y1);
line(xc+3*d,y1-h,xc+3*d,y1);
floodfill(xc+3*d-5,y1-5,clGray);
//якорное окно
setbrushstyle(bsClear);
setpenwidth(3);
circle(xc-2*d,y1-h div 2,5);
circle(xc-2*d,y1-h div 2,10);
line(xc-2*d,y1-h div 2+5,xc-2*d,y1-23);
line(xc-2*d-3,y1-25,xc-2*d+3,y1-25);
//первая палуба
y1:=y1-h;
setpenwidth(1);
rectangle(xc-2*d,y1-d,xc+2*d,y1);
floodfill(xc-2*d+5,y1-d+5,clWhite);
x1:=xc-2*d;
for i:=1 to 3 do
 begin
  circle(x1+i*d,y1-d div 2,8);
  floodfill(x1+i*d,y1-d div 2,clYellow);
 end;
//надстройка
y1:=y1-d;
rectangle(xc-d,y1-d,xc+d,y1);
floodfill(xc,y1-5,clLtGray);
y1:=y1-d;
h:=40;
//труба
line(xc-h,y1,xc,y1-h);
line(xc,y1-h,xc+h,y1-h);
line(xc+h,y1-h,xc+h,y1);
floodfill(xc+h-5,y1-5,clAqua);
line(xc-2*(h div 3),y1-h div 3,xc+h,y1-h div 3);
line(xc-h div 3,y1-2*(h div 3),xc+h,y1-2*(h div 3));
floodfill(xc+h-5,y1-h div 3-2,clWhite);
end.
1
0 / 0 / 0
Регистрация: 01.12.2010
Сообщений: 28
05.04.2012, 17:50  [ТС]
Спасибки) буду ждать остальной части заданий)
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
05.04.2012, 17:52
Цитата Сообщение от Маргарита13 Посмотреть сообщение
буду ждать остальной части заданий)
Какой остальной? Глазки свои разуйте...
0
0 / 0 / 0
Регистрация: 01.12.2010
Сообщений: 28
05.04.2012, 17:54  [ТС]
Спасибо большое*** очень помогли*

Добавлено через 1 минуту
Цитата Сообщение от Puporev Посмотреть сообщение
Какой остальной? Глазки свои разуйте...
у меня по ходу браузер тупит(( только что увидела) спасибо большое)
 Комментарий модератора 
Если какой-либо пост на форуме показался вам полезным, нажмите кнопку "Спасибо" внизу самого поста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.04.2012, 17:54
Помогаю со студенческими работами здесь

Написание программ на нескольких языках программирования
Написание программ на нескольких языках программирования - слышал, что так можно делать. А как? (Просто для интереса спросил.)

Лирика о студенческих годах и языках программирования
Fulcrum_013, Спасибо! В нашем универе нас особо и не учат, я в группе и еще один парень единственные кто понимает что-то, остальные понятия...

Метод Contains аналог оператору 'in' в других языках программирования
Не могу никак найти решение проблемы. В других языках программирования есть оператор вхождения in. В c# он тоже есть, только выполняет не...

О языках программирования для решения олимпиадных задач
Здравствуйте. Думал, в какой раздел кинуть. Кинул сюда, если у модераторов есть на это другое мнение, буду рад, если переместите. Итак....

Наследование в CSS, как в других языках программирования
Здравствуйте! Я только начинаю изучать HTML и CSS, хотя, с программированием уже знаком на практике. У меня вопрос общего плана по...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru