|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.12.2011, 19:56 | #1 |
Дурачок
Пользователь
Регистрация: 29.12.2011
Сообщений: 33
|
не могу понять несколько строчек в pascal в простом исходнике
Нашел исходник но не могу понять его помогите пожалуйста, заранее благодарю.
Код:
___________ Код нужно оформлять по правилам: тегом [CODE]..[/СODE] (это кнопочка с решёточкой #) Не забывайте об этом! Модератор.
"Никогда программы не содержат так мало ошибок, как при отсутствии каких-либо средств отладки."
Никлаус Вирт... Помог нажми на весы Последний раз редактировалось Serge_Bliznykov; 30.12.2011 в 14:20. |
29.12.2011, 20:11 | #2 |
Форумчанин
Регистрация: 15.10.2011
Сообщений: 306
|
о Ужас метки...ужасный стиль программирования
Если твоя программа выполняет мистические действия, значит, ты сделал что-то невероятно тупое...
|
29.12.2011, 20:20 | #3 |
a.k.a. Skull
Форумчанин
Регистрация: 17.11.2009
Сообщений: 963
|
McFrey, поддерживаю. Точно сказать не могу, но похоже прога заставляет бегать курсор по методу WSAD (любой CS'ер поймет :D).
Код:
читаем кнопку если D то vx:=1, vy:=0 .... .... ...." Далее я теряюсь... По логике должно быть inc(x,vx); inc(y,vy); а потом GOTOXY(x,y) По крайней мере так есть хоть какой-то смысл... Программа вообще работала? ДО того, как ты ее закоментировал (ПОСЛЕ уж точно не будет, комент в {} на туеву хучу строк не позволит)
Все тривиальное просто
|
29.12.2011, 20:32 | #4 | |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,309
|
Всю программу предлагаю понять самому
Но вот кусочек после приведения в некоторый порядок читается так: Код:
vx и vy - переменные, которые используются в процедурах Inc(x,vx) и Inc(x,vx). Эти процедуры позволяют более быстро выполнить операцию: Код:
Цитата:
Это не Label. Тут ничего ужасного нет. Это нормальный код.
Как-то так, ...
|
|
29.12.2011, 20:43 | #5 |
Форумчанин
Регистрация: 15.10.2011
Сообщений: 306
|
ViktorR
с другой стороны "go to" .....и это маленькая программа, а если использовать такие фокусы в больших проектах то хорошего не выйдет ничего, сам запутаешься, ды еще и друзей-программистов запутаешь.
Если твоя программа выполняет мистические действия, значит, ты сделал что-то невероятно тупое...
|
29.12.2011, 21:20 | #6 | |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,309
|
Цитата:
Это обычный оператор варианта - Case. Некоторый аналог группы условных операторов, но более быстрый код: if ch = 'd' Then begin ..... end; if ch = 'a' Then begin ..... end; if ch = 'w' Then begin ..... end; if ch = 's' Then begin ..... end; Такая структура существует и в C и в VBA, и во многих других языках. И очевидно, что такая структура (Case) более читаема, чем набор If'ов.
Как-то так, ...
Последний раз редактировалось ViktorR; 29.12.2011 в 21:23. |
|
30.12.2011, 12:18 | #7 |
Форумчанин
Регистрация: 15.10.2011
Сообщений: 306
|
у каждого своя точка зрения, но в большинстве своем программисты отказываются от "goto"
Если твоя программа выполняет мистические действия, значит, ты сделал что-то невероятно тупое...
|
30.12.2011, 14:06 | #8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
ОМГ! McFrey, что вы спорите то?!!!
в этой программе вообще НЕТ GOTO! Ни одного! А то, что Вы приняли за goto - GotoXY это процедура позиционирования курсора (позиции вывода) для текстового экрана. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не могу понять, где утечка памяти (9 строчек) | dueram | Win Api | 1 | 24.11.2009 19:56 |
не могу понять | Dawystrik | SQL, базы данных | 0 | 06.09.2009 19:20 |
Сумма ряда (Pascal). Не могу понять смысл задачи :( | DsDevis | Помощь студентам | 9 | 26.03.2009 01:16 |
не могу понять... | Dutchman | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 14.12.2006 07:14 |