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

Нарисовать восьмиугольник с помощью цикла

19.12.2011, 14:28. Показов 3285. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, пожалуйста, нарисовать вот такой шестиугольник с помощью цикла
Миниатюры
Нарисовать восьмиугольник с помощью цикла  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.12.2011, 14:28
Ответы с готовыми решениями:

Цикл: Вычислить x-x^3/3! + x^5/5! + x^7/7! + x^9/9! + x^11/11!+ x^13/13! с помощью цикла.
. Дано действительное число x. Вычислить x-x^3/3! + x^5/5! - x^7/7! + x^9/9! - x^11/11!+ x^13/13! с помощью цикла.

Программа вычисления с помощью цикла While
procedure While1(var R, n1, code :integer; n0 : string); begin Clrscr; WriteLN('Программа вычисления с помошью цикла While '); ...

Создать рисунок с помощью цикла while
Здравствуйте, нужно создать рисунок с помощью цикла wile. А именно: нужно чтобы на всю графическую область в паскале сделать кружки...

3
Почетный модератор
 Аватар для КонецСвета
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
19.12.2011, 16:20
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

на рисунке ВОСЬМИугольник... но раз уж тебе нужен шестиугольник...
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
uses graphABC;
var kx,ky,i,j,r:integer;
 
procedure Shest(x,y: integer; r: integer);
var z: integer;
begin
  z:=0;
  MoveTo(x+Round(r*cos(2*z*Pi/360)),y+Round(r*sin(2*z*Pi/360)));
  repeat
    inc(z,60);
    LineTo(x+Round(r*cos(2*z*Pi/360)),y+Round(r*sin(2*z*Pi/360)));
  until 360<=z;
end;
 
begin
kx:=200;ky:=200;
r:=50;
for i:=1 to 20 do
    begin
    Shest(kx,ky,r);
    kx:=kx+5;
    r:=r+5;
    end;
end.
2
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
19.12.2011, 17:07
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Вроде так.
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
uses crt,graphABC;
var xc,yc,ro,x,i:integer;
    rv,a,u1,u2,u3,du,r1,r2,r3:real;
begin
setwindowsize(500,400);
xc:=windowwidth div 3;
yc:=windowheight div 2;
ro:=(windowwidth-40) div 6;
//рисуем начальный 8-угольник
u1:=-pi/8; du:=pi/4;
moveto(xc+round(ro*cos(u1)),yc-round(ro*sin(u1)));
for i:=0 to 8 do
lineto(xc+round(ro*cos(u1+i*du)),yc-round(ro*sin(u1+i*du)));
rv:=ro*cos(pi/8);
a:=2*ro*sin(pi/8);
x:=xc-round(rv);
u1:=arctan(2*rv/(2*rv-a));
u2:=arctan(2*rv/(2*rv+a));
u3:=arctan(a/(4*rv));
r1:=rv/sin(u1);
r2:=rv/sin(u2);
r3:=a/(2*sin(u3));
for i:=1 to 16 do
 begin
  r1:=r1*1.05;
  r2:=r2*1.05;
  r3:=r3*1.05;
  moveto(x+round(r1*cos(u1)),yc-round(r1*sin(u1)));
  lineto(x+round(r2*cos(u2)),yc-round(r2*sin(u2)));
  lineto(x+round(r3*cos(u3)),yc-round(r3*sin(u3)));
  lineto(x+round(r3*cos(-u3)),yc-round(r3*sin(-u3)));
  lineto(x+round(r2*cos(-u2)),yc-round(r2*sin(-u2)));
  lineto(x+round(r1*cos(-u1)),yc-round(r1*sin(-u1)));
 end;
moveto(x,yc-round(a/2));
lineto(x,yc-round(rv));
lineto(x+round(r1*cos(u1)),yc-round(r1*sin(u1)));
lineto(xc+round(ro*cos(pi/2+pi/8)),yc-round(ro*sin(pi/2+pi/8)));
floodfill(x+1,yc-round(a/2)-5,clBlack);
moveto(x,yc+round(a/2));
lineto(x,yc+round(rv));
lineto(x+round(r1*cos(u1)),yc+round(r1*sin(u1)));
lineto(xc+round(ro*cos(pi/2+pi/8)),yc+round(ro*sin(pi/2+pi/8)));
floodfill(x+1,yc+round(a/2)+5,clBlack);
end.
2
0 / 0 / 0
Регистрация: 19.12.2011
Сообщений: 6
20.12.2011, 14:35  [ТС]
ой перепутал))) да, восьмиугольник) спасибо за помощь))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.12.2011, 14:35
Помогаю со студенческими работами здесь

Вычислить выражение с помощью цикла
Решить двумя способами: с использованием цикла с параметром и одного из двух типов цикла. y=cosx+cosx2+cosx3+...+cosxn

Цикл: Табуляция функции с помощью цикла for
Я Вам еще успею надоесть за пол года изучения паскаля :) НО, ничего не могу поделать. Итак, к теме, вот табулирую функцию через фор (...

Вычислить с помощью цикла с предусловием выражение
Вычислить с помощью цикла с предусловием выражение: Пожалуйста, не надо ссылок на другие темы, я пытался сам решить, мне нужно лишь...

Нахождение суммы ряда с помощью цикла For
Задание 1. (Нахождение суммы ряда с помощью цикла For…) По заданной формуле члена ряда с номером k составить блок-схему и программу...

Нарисовать прямоугольник с помощью '*'
Нужно нарисовать прямоугольник с помощью '*' Но не получается нарисовать вторую стенку слева. Как мне это осуществить. uses crt; ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru