Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 09.05.2008
Сообщений: 5

Задача на Ломанную Линию

09.05.2008, 18:19. Показов 1372. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужна ваша помощь. Цель программы нацелена на рисование ломанных линий. Т.е. пользователь под управление стрелок влево, вправо, вверх и вниз просто напросто рисует ломанные линии. При нажатие клавиши "Enter" линия фиксируется, т.е. создается так называемая точка перегиба. И дальше пользователь продолжает с этого места рисовать в любом направление след линию.

Просьба посмотреть где мои ошибки, ибо уже не знаю в чем дело!

Вот сам скрипт:

Program Litvinov_Kursovaja;
Uses crt,graph;
Const w:array[1..3] of string[99]=('O programme','Narisovat'' grafik','Vuhod');
len=20;
g=len div 5;
Var bac,a,b,c:word;
PT:char;
booster:boolean;
gm,gd:integer;
ct:string;
i,angle,old_angle:word;
d,r,n:integer;

function K(i:word):byte;
begin
if Odd(i) then K:=i mod 4 else K:=K(i div 2)
end;

{-----------------------------------------------------------------------}
{ Risyet na ekrane menu }
{-----------------------------------------------------------------------}

Procedure Menu(c:word);
Begin
ClrScr;
for bac:=1 to 3 do
begin
if bac=c then
TextColor (20)
else
TextColor (3);
GoToXY(28,10+bac);
writeln (w[bac]);
end;
end;

{-----------------------------------------------------------------------}
{ Pynkt 'O programme' }
{-----------------------------------------------------------------------}

Procedure about_programm;
Begin
ClrScr;
TextColor (2);
GoToXY (35,3);
writeln ('O PROGRAMME');
GoToXY(25,11);
TextColor (3);
writeln ('Vipolnil:');
GoToXY(40,11);
TextColor (5);
writeln ('Litvinov M.S.');
GoToXY (25,12);
TextColor (3);
writeln ('Gruppa:');
GoToXY (40,12);
TextColor (4);
writeln ('C-17051');
GoToXY (25,13);
TextColor (3);
writeln ('Prepodavatel'':');
GoToXY (40,13);
TextColor (6);
writeln ('Slyzhenikina N.V.');
GoToXY (10,20);
TextColor (20);
writeln ('Zadanie:');
GoToXY (20,20);
TextColor (10);
writeln ('Programma dolzha narisovat'' lomannyu liniu');
GoToXY (20,21);
TextColor (10);
writeln ('pod ypravleniem kyrsora');
readln;
End;


{-------------------------------------------------------------------------}
{ Peredvizhenie linii po strelkam }
{-------------------------------------------------------------------------}

Procedure Strelki;
Begin
case angle of
0: begin
if old_angle=90 then LINEREL(-g,-g) else LINEREL(g,-g);
LINEREL(0,-(len-2*g))
end;

180: begin
if old_angle=90 then LINEREL(-g,g) else LINEREL(g,g);
LINEREL(0,len-2*g);
end;

90: begin
if old_angle=0 then LINEREL(-g,-g) else LINEREL(-g,g);
LINEREL (-(len-2*g),0)
end;

270: begin
if old_angle=0 then LINEREL(g,-g) else LINEREL(g,g);
LINEREL (len-2*g,0)
end;
end;
End;

{--------------------------------------------------------------------------}
{ Narisovat' Grafik }
{--------------------------------------------------------------------------}

Procedure grafik;
Begin
gd:=detect;
InitGraph(gd,gm,ct);
ClearDevice;
MoveTo(190+a,276);
angle:=270;
LINEREL(len-g,0);
old_angle:=270;
n:=418;
for i:=1 to n-1 do
begin
angle:=(angle+K(i)*90) mod 360;
DELAY(2000);
Strelki(angle,old_angle);
end;
repeat until keypressed;
CloseGraph;
End;



{--------------------------------------------------------------------------}
{ Kod programmu }
{--------------------------------------------------------------------------}

Begin
ClrScr;
booster := False;
b:=1;
c:=1;
menu (c);
repeat
PT:=readkey;
{a:=ord(PT);}

if PT=chr(0) then
begin PT:=readkey;
a:=ord (PT);
Case PT of
chr(72):
if c=1 then
c:=3
else
c:=c-1;
chr(80):
if c=3 then
c:=1
else c:=c+1;
else begin
GoToXY (10,25);
TextColor (12);
writeln ('Ne ta klavisha');
readln;
end;
end;
end
else
begin
case PT of
chr(27):
b:=0;
chr(13):
case c of
1: about_programm;
2: grafik;
else b:=0;
end;
else
begin
GoToXY (25,8);
TextColor (12);
writeln ('Nazhata ne ta klavisha !!!');
readln;
end;
end;
end;
menu(c);
until b=0;
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.05.2008, 18:19
Ответы с готовыми решениями:

Прочитав данные текстового файла построить ломанную линию
Прочитав данные текстового файла построить ломанную линию Данные в файле хранятся построчно в форме: Число шагов направление (л, п, в,...

Начертить ломанную линию, состоящую из 200 звеньев, окрашенных в разные цвета
написать прогу которая чертит ломанную линию состоящую из 200 звеньев окрашенных в разные цвета выбираемым случаенным образом кординаты...

Задача на рекурсивную функцию: Какова длина удавов вытянутых в одну линию
помогите пожалуйста написать программу заранее спасибо. Дана задача : Имеется 3 удава длина первого 500 см, второго 400, третьего 600....

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.05.2008, 18:19
Помогаю со студенческими работами здесь

Нарисовать ломанную линию с закругленными углами
надо средствами css/html нарисовать ломанную линию с закругленными углами. Дожно получиьтся как во вложении. как такое сделать? ...

Как нарисовать ломанную линию под ListView
Доброго дня. Возникла необходимость под прокручиваемый список добавить ломанную линию. Если использовать одну и ту же картинку то на...

Как разорвать ломанную линию графика TChart?
Всем здравствуйте. По оси Х время в секундах от 0 текущих суток до 0 часов следующих суток. По оси Y некоторый изменяющийся...

Написать программу, которая вычерчивает на экране узор – ломанную линию
1.Написать программу, которая вычерчивает на экране узор – ломанную линию из 100 звеньев со случайными координатами случайного цвета. Очень...

Написать программу, которая вычерчивает на экране узор – ломанную линию
1.Написать программу, которая вычерчивает на экране узор – ломанную линию из 100 звеньев со случайными координатами случайного цвета. ...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru