Как нарисовать треугольник в паскале
Перейти к содержимому

Как нарисовать треугольник в паскале

  • автор:

Как нарисовать треугольник в паскале

Сообщение от Nilip 777

Это графический, а мне из символов надо

Меняете режим графический 640х480 на текстовый 80х25 и вместо moveto используете gotoxy
Самая тяжелая проблема нарисовать линию. Можно использовать алгоритм брезенхема.

Вот линия в символьном режиме

uses crt; const symbol = #219; procedure PutPixel(x,y,color:Integer); begin TextColor(color); GotoXY(x,y); write(symbol); end; procedure line(x1,y1,x2,y2:integer; c:byte); var dx,dy,dn,x,y:integer; function sgn(n:integer):shortint; begin if n0 then sgn:=1 else sgn:=0; end; function inr(a,b,c:integer):boolean; begin inr:=(a>=b)and(a<=c); end; begin dx:=x2-x1; dy:=y2-y1; x:=x1; y:=y1; if abs(dx)>=abs(dy) then begin dn:=abs(dx) div 2; while (x<>x2) do begin PutPixel(x,y,c); x:=x+sgn(dx); dn:=dn-abs(dy); if dny2 do begin PutPixel(x,y,c); y:=y+sgn(dy); dn:=dn-abs(dx); if dn

Последний раз редактировалось ZX Spectrum-128; 05.12.2013 в 18:48 .

ZX Spectrum-128
Посмотреть профиль
Найти ещё сообщения от ZX Spectrum-128

Нарисовать треугольник, квадрат, круг, прямоугольник

Author24 — интернет-сервис помощи студентам

Нарисовать: круг, треугольник, элипс, квадрат
Помогите выполнить задание: 1. Нарисовать: круг, треугольник, элипс, квадрат 2. Создать форму.

Нарисовать квадрат и треугольник
Здравствуйте, мне нужно сделать квадрат,треугольник, циклом но что они были пустые внутри при.

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

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

Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181

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
uses crt,graphABC; var xc,yc:integer; m:char; begin xc:=windowwidth div 2; yc:=windowheight div 2; repeat write ('Введите число от 1 до 4-выбор фигуры, другое-выход из программы m='); read (m); clearwindow; hidecursor; case m of '1': begin setpencolor(clRed); line (xc-100,yc+50,xc+100,yc+50); line (xc+100,yc+50,xc,yc-100); line(xc,yc-100,xc-100,yc+50); floodfill(xc,yc,clRed); readkey; end; '2': begin setpencolor(clGreen); rectangle(xc-50,yc-50,xc+50,yc+50); floodfill(xc,yc,clGreen); readkey; end; '3': begin setpencolor(clBlue); circle (xc,yc,100); floodfill(xc,yc,clBlue); readkey; end; '4':begin setpencolor(clAqua); rectangle(xc-150,yc-50,xc+150,yc+50); floodfill(xc,yc,clAqua); readkey; end; else exit; end; until not(m in ['1'..'4']); end.

Построить треугольник из символов на паскале [закрыт]

Учебные задания допустимы в качестве вопросов только при условии, что вы пытались решить их самостоятельно перед тем, как задать вопрос. Пожалуйста, отредактируйте вопрос и укажите, что именно вызвало у вас трудности при решении задачи. Например, приведите код, который вы написали, пытаясь решить задачу

Закрыт 6 лет назад .

Задание: пользователь вводит непарное число n >= 5 , а программа строит "ёлку" из треугольников типа: n = 7 ; основа треугольника 7 символов, выше 5 символов еще выше 3 символа а вверху 1. Символ может быть любым(например *).

Отслеживать
3,001 1 1 золотой знак 17 17 серебряных знаков 38 38 бронзовых знаков
задан 23 ноя 2017 в 17:07
1 1 1 бронзовый знак

Вы попытайтесь написать хоть что-то, а мы подскажем как быть. Никто не хочет за Вас решать ваши учебные задания. Возможно кому то из нас потом еще с Вами придется работать 😉

23 ноя 2017 в 17:26

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Ух, "непарное" - дохнуло стариной 🙂 Имеется в виду нечётное. Возможна куча реализаций. Например, так (без проверок ввода на чётность, правильность и т.п. Наверняка не самая оптимальная):

var i,k,j,l,m:integer; s,s1:string; begin readln(k); j:= k div 2; m:=1; for i:=1 to j+1 do begin s:=''; s1:=''; for l:=1 to j do s:=s+ ' '; for l:=1 to m do s1:=s1+'*'; writeln(s,s1,s); inc(m,2); dec(j,1); end; end; 

Ну, а вообще здесь не приветствуются вопросы в стиле "дяденьки, помогите мне решить контрольную", поэтому комментировать свой код я не буду. Если разберётесь, значит, половину задачи сделали сами 🙂

Как нарисовать треугольник в паскале


Khabibulin ( 2006-11-06 14:15 ) [0]

как математически нарисовать треугольник в Паскале? Например, есть сторона А=9,5 см., Б=4 см. и Г=4,8 см. Как это сделать? Помогите пожалуйста.


Array ( 2006-11-06 14:23 ) [1]

LineTo + F1


Percent ( 2006-11-06 14:25 ) [2]

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

Это Паскаль?


Khabibulin ( 2006-11-06 14:27 ) [3]

но мне надо нарисовать его там. варианты то должны быть. верно?


Khabibulin ( 2006-11-06 14:31 ) [4]

с помощью линий то можно, ведь так? самое непонятное как нарисовать их под нужным углом (просщитать это все). вот что мне надо.


Array ( 2006-11-06 14:32 ) [5]

сори, не глянул
line(x1, y1, x2, y2 :integer);


DiamondShark © ( 2006-11-06 14:32 ) [6]


> Например, есть сторона А=9,5 см., Б=4 см. и Г=4,8 см.
> Как это сделать?

никак.
таких треугольников не бывает.
по крайней мере, в евклидовом пространстве.


Khabibulin ( 2006-11-06 14:37 ) [7]

I\
I \
I \
A-> I \
I \ I \
I \
I_____\
^
|
C

допустим A=9,0см, B=13,5см, C=5см. (все приблизительно!).
И что, такого нарисовать вообще не реально.


Percent ( 2006-11-06 14:39 ) [8]

таких треугольников не бывает.]

Но в военное время, говорят.

🙂


Percent ( 2006-11-06 14:40 ) [9]

И что, такого нарисовать вообще не реально.

Да ты ж уже нарисовал. Зачем тебе Паскаль?


Khabibulin ( 2006-11-06 14:41 ) [10]

блин, я серьезно, а вы. :(((((


Anatoly Podgoretsky © ( 2006-11-06 14:42 ) [11]

Вообще то LineTo, а остальное не относится к Дельфи, это в школу, предмет называется геометрия.


Anatoly Podgoretsky © ( 2006-11-06 14:46 ) [12]

> Khabibulin (06.11.2006 14:41:10) [10]
> блин, я серьезно, а вы. :(((((

Вполне серьезно, таких небывает, а не евклидовское пространство видимо рано для тебя.


DiamondShark © ( 2006-11-06 14:53 ) [13]

И мы серьёзно.

Введём систему координат, такую, что одна из вершин лежит в начале СК, а одна из сторон лежит на оси Ox:

тогда координаты вершин будут (0,0), (A,0), (x,y)

Задача: найти x, y.
Чётвёртый класс, если не ошибаюсь.


Khabibulin ( 2006-11-06 15:06 ) [14]

да я в курсе. :)))) но геометрия мне не дана. а ж самому стыдно.


KilkennyCat © ( 2006-11-06 15:14 ) [15]

Предлагаю сначала найти площадь треугольника.


DiamondShark © ( 2006-11-06 15:29 ) [16]


> но геометрия мне не дана

даже в объёме теоремы Пифагора?!

| x^2 + y^2 = B^2
| (A-x)^2 + y^2 = C^2

подозреваю, что алгебра в объёме систем квадратных уравнений тоже 🙁

тогда, последняя надежда на системы линейных уравнений.

| w + v = B^2
| u + v = C^2
| u + w = A^2

x интересует только неотрицательный.


Anatoly Podgoretsky © ( 2006-11-06 15:43 ) [17]

> Khabibulin (06.11.2006 15:06:14) [14]
А почему бы не попросить предподователся провести маленький ликбез, купить учебник по геометрии за начальные классы, там уже есть готовые формулы и разъяснения.А на форумах над этим будут только шутить, особенно если ты заявишь про свой знаменитый трехугольник, у которого одна сторона длиннее суммы двух других.-- С уважением,Анатолий Подгорецкий "Khabibulin" wrote in message news:1162811723.14@delphimaster.ru. Khabibulin (06.11.2006 15:06) [14] да я в курсе. :)))) но геометрия мне не дана. а ж самому стыдно. ------=_NextPart_000_0112_01C701B1.EB7570D0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *