powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Помоги с задачей на Turbo Pascal
3 сообщений из 3, страница 1 из 1
Помоги с задачей на Turbo Pascal
    #34234814
Artikjan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уменя не закрашиваются Окружности.

Составьте программу, которая рисует сначала две окружности белого цвета на чёрном фоне справа и слева, а при каждом нажатии на клавишу "ENTER" появлялись бы ещё две окружности справа и слева, но уже ближе к центру до тех пор, пока они не совпадут. После чего центральная окружность должна будет окраситься в зелёный цвет.

Может что то неправильно записал
помогите пожалуйста.

program Load;
uses graph,crt;
var
gd,gm:integer;
err:integer;
begin
gd:=detect;
initgraph(gd,gm,'');
err:=graphResult;
if err<>grOk
then begin writeln('Oshibka');
readln;
halt(1);
end;

begin
readln;
setfillstyle(1,black);
floodfill(80,240,white);
circle(80,240,60);
floodfill(560,240,white);
circle(560,240,60);
readln;
end;
begin

clrscr;
setfillstyle(1,black);
floodfill(75,240,14);
circle(100,240,60);
floodfill(560,240,white);
circle(540,240,60);
readln;
end;

begin
clrscr;
setfillstyle(1,black);
floodfill(75,240,14);
circle(120,240,60);
floodfill(560,240,white);
circle(520,240,60);
readln;
end;

begin
clrscr;
setfillstyle(1,black);
floodfill(75,240,14);
circle(140,240,60);
floodfill(560,240,white);
circle(500,240,60);
readln;
end;

begin
clrscr;
setfillstyle(1,black);
floodfill(75,240,14);
circle(160,240,60);
floodfill(560,240,white);
circle(480,240,60);
readln;
end;

begin
clrscr;
setfillstyle(1,black);
floodfill(75,240,14);
circle(180,240,60);
floodfill(560,240,white);
circle(460,240,60);
readln;
end;

begin
clrscr;
setfillstyle(1,black);
floodfill(75,240,14);
circle(200,240,60);
floodfill(560,240,white);
circle(440,240,60);
readln;
end;

begin
clrscr;
setfillstyle(1,black);
floodfill(75,240,14);
circle(220,240,60);
floodfill(560,240,white);
circle(420,240,60);
readln;
end;

begin
clrscr;
setfillstyle(1,black);
floodfill(75,240,14);
circle(240,240,60);
floodfill(560,240,white);
circle(400,240,60);
readln;
end;

begin
clrscr;
setfillstyle(1,black);
floodfill(75,240,14);
circle(260,240,60);
floodfill(560,240,white);
circle(380,240,60);
readln;
end;

begin
clrscr;
setfillstyle(1,black);
floodfill(75,240,14);
circle(280,240,60);
floodfill(560,240,white);
circle(360,240,60);
readln;
end;

begin
clrscr;
setfillstyle(1,black);
floodfill(75,240,14);
circle(300,240,60);
floodfill(560,240,white);
circle(340,240,60);
readln;
end;

begin
clrscr;
setfillstyle(1,black);
floodfill(75,240,14);
circle(320,240,60);
readln;

closegraph;
end;
end.
...
Рейтинг: 0 / 0
Помоги с задачей на Turbo Pascal
    #34234829
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArtikjanУменя не закрашиваются Окружности.

Составьте программу, которая рисует сначала две окружности белого цвета на чёрном фоне справа и слева, а при каждом нажатии на клавишу "ENTER" появлялись бы ещё две окружности справа и слева, но уже ближе к центру до тех пор, пока они не совпадут. После чего центральная окружность должна будет окраситься в зелёный цвет.

Может что то неправильно записал
помогите пожалуйста.
В первую очередь - есть такая замечательная штука, называется оператор цикла. В Турбо-Паскале их целых три варианта, и их определенно стоит здесь применить.

Во-вторых, я не вижу у тебя попытки "окраситься в зеленый цвет", что указано в задании.

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

В-четвертых, 14-й цвет называется Yellow, использовать для него числовое значение совершенно не обязательно.

В-пятых, ты весьма странно применяешь floodfill. По условию задачи он здесь вообще не нужен, а так как ты действуешь, если не ошибаюсь, будет просто разливать цвет на весь или почти весь экран.

В-шестых, перед тем, как рисовать линию (окружность) имхо стоило бы установить параметры этой линии, например цвет.

В-седьмых, если ты хочешь рисовать закрашенные окружности, для этого в Турбо-Паскале был сооветствующий метод, что-то типа FillEllipse.

В-восьмых, я бы посоветовал прежде всего написать программу, которая просто рисует две окружности требуемого вида, ждет Enter и закрывается. Затем добавить в нее оператор цикла, который сдвигал бы окружности пока они не сойдутся. Потом добавить смену цвета на зеленый при схождении.
...
Рейтинг: 0 / 0
Помоги с задачей на Turbo Pascal
    #34234985
Artikjan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большо спасибо. Ваш совет очень мне помог. С новым годом вас.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Помоги с задачей на Turbo Pascal
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]