Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Самоучитель игры на Паскале. АВС и немного Турбо

Покупка
Основная коллекция
Артикул: 433251.04.99
С абсолютного нуля до полного овладения языком. Популярный в школах Pascal ABC и вечно живой Turbo Pascal. Весь Паскаль, среда программирования, технология разработки и отладки. Примеры программ - простых и не очень. Для младших студентов, старших школьников и всех, кто хочет программировать.
Комлев, Н. Ю. Самоучитель игры на Паскале. АВС и немного Турбо : учебное пособие / Н. Ю. Комлев. - Москва : СОЛОН-Пресс, 2020. - 256 с. - ISBN 978-5-91359-163-0. - Текст : электронный. - URL: https://znanium.com/catalog/product/1227727 (дата обращения: 29.03.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
 

 
. . .  
 
ABC -2018 

681.3 
32.97 
      63 
 
. . 
. ABC . — .: -, 
2018. —256 .: . 
 
. Pascal 
ABC Turbo Pascal. , , 
. — . , , . 
 
– Pascal ABC Turbo Pascal. 
Turbo Pascal (TP): , , , Turbo Pascal, , TP , Сайт издательства «СОЛОН-ПРЕСС»: www.solon-press.ru 

Сайт издательства «Ремонт и Сервис 21»: www.remserv.ru 
 

КНИГА — ПОЧТОЙ 

Книги издательства «СОЛОН-ПРЕСС» можно заказать наложенным платежом по почте (оплата при получении) по 
фиксированной цене. Заказ оформляется одним из трех способов: 

1. Послать открытку или письмо по адресу: 123001, Москва, а/я 82. 
2. Оформить заказ можно на сайте www.solon-press.ru в разделе «Книга — почтой». 
3. Заказать по тел. (495) 617-39-65, (495) 617-39-65. 

Бесплатно высылается каталог издательства по почте. 
При оформлении заказа следует правильно и полностью указать адрес, по которому должны быть высланы книги, а 
также фамилию, имя и отчество получателя. Желательно указать дополнительно свой телефон и адрес электронной 
почты. 
Через Интернет вы можете в любое время получить свежий каталог издательства «СОЛОН-Пресс», считав его с 

адреса http://www.solon-press.ru/docs/Katalog_Solon_Press.xls. 

Интернет-магазин размещен на сайте www.solon-press.ru. 

 

По вопросам оптовых поставок обращаться: 
«-» 
123001, . , /82. :(495) 617-39-64, (495) 617-39-65 
E-mail: avtor@solon-press.ru, www.solon-press.ru 

 
ISBN 978-5-91359-163-0 
© . ., 2018 
 
© «-», 2018 

Посвящается 

Тверскому Учебному Центру 

Международной Академии Наук  

Высшей Школы 

Вступление ........................................................................................................7 
Для кого эта книга..........................................................................................7 
Почему я решил эту книгу написать. И почему именно я .........................7 
Как читать эту книгу. И почему буковки разные........................................8 
Что я ожидаю, что читатель уже знает.........................................................9 
Почему Паскаль ...........................................................................................10 
А почему, собственно,  Pascal ABC?..........................................................11 
А зачем мелочиться? Два в одном..............................................................13 
Чему в этой книге научиться нельзя и почему..........................................14 
Что бы ещё почитать....................................................................................15 
Глава 1. Просто программа............................................................................19 
Самая простая программа, которая ничего не делает...............................19 
Очень простая программа, которая делает хоть что-то............................22 
Меняем концепцию......................................................................................23 
Улучшаем программу. Много новых слов ................................................24 
Весёленько, в цветочек................................................................................29 
И ещё.............................................................................................................30 
TP. В чём разница ........................................................................................31 
Глава 2. Переменные ......................................................................................34 
Что такое и зачем .........................................................................................34 
Ввод и вывод ................................................................................................38 
Дроби.............................................................................................................40 
TP. В чём разница ........................................................................................44 
Глава 3. Условные операторы........................................................................45 
Что такое и зачем .........................................................................................45 
Усложняем....................................................................................................46 
Окончательно усложняем............................................................................48 
Небольшая программка и кое-что ещё.......................................................50 
TP. В чём разница ........................................................................................53 
Глава 4, очень простая. Немного графики....................................................54 
Начальные заклинания ................................................................................54 
Точки,  линии и окружности.......................................................................54 
Прямоугольнички и кружочки....................................................................57 
Красивые буковки........................................................................................60 
Что там ещё осталось?.................................................................................60 
Полезная вещь – метод опорной точки......................................................62 

TP. В чём разница ........................................................................................63 
Глава 5, сложная. Циклы и массивы .............................................................66 
Просто массив ..............................................................................................66 
Просто цикл..................................................................................................68 
Просто циклы и графика .............................................................................75 
Ещё одна несложная программа.................................................................78 
А теперь всё вместе......................................................................................80 
Опыты ...........................................................................................................84 
Ещё опыты....................................................................................................86 
Самый главный опыт...................................................................................88 
Как не делать ничего ...................................................................................91 
Что-нибудь полезное ...................................................................................94 
TP. В чём разница ......................................................................................100 
Глава 6. Строки .............................................................................................101 
Просто строка.............................................................................................101 
Просто строка и её процедуры..................................................................102 
Строка и цикл.............................................................................................105 
Ой, кто пришел! .........................................................................................108 
Считаем, наконец, слова............................................................................111 
TP. В чём разница ......................................................................................114 
Глава 7, продолжение пятой. Ещё циклы и массивы.................................115 
Массивы двумерные и далее.....................................................................115 
Вложенные циклы......................................................................................116 
Пример посложнее.....................................................................................119 
Всё сразу и побольше ................................................................................123 
Другие циклы .............................................................................................125 
TP. В чём разница ......................................................................................131 
Глава 8. Процедуры и функции ...................................................................132 
Процедура без параметров........................................................................132 
То же и с параметрами...............................................................................134 
А какие бывают параметры?.....................................................................137 
О грустном..................................................................................................139 
Скучная, но необходимая теория .............................................................143 
А теперь функция.......................................................................................145 
А теперь тараканчик ..................................................................................149 
А этот раздел просто больше некуда было вставить..............................150 
Всем стоять и не разбегаться!...................................................................154 

Применим к тараканчику ..........................................................................156 
TP. В чём разница ......................................................................................158 
Глава 9. Совсем настоящая программа.......................................................159 
Про что программа?...................................................................................159 
Отладка. Давно пора..................................................................................160 
Ещё одна очень важная вещь. Модули. Наконец....................................163 
С чего начать? ............................................................................................167 
Поле.............................................................................................................172 
Крестик и нолик .........................................................................................172 
Курсор и чтобы бегал ................................................................................174 
Делаем ход..................................................................................................178 
А не выиграл ли кто?.................................................................................179 
Вражеский интеллект ................................................................................182 
Имеем в результате....................................................................................190 
Глава 10. Файлы............................................................................................191 
Коротенько. Почему это очень важно......................................................191 
Найти и снова найти ..................................................................................191 
Файлы текстовые и никому не нужные ...................................................193 
Бинарные.....................................................................................................198 
TP. В чём разница ......................................................................................202 
Глава 11. Всякие глупости, она же Глава очень длинная..........................204 
Записи. И как мы только без них обходились!........................................204 
Указатели....................................................................................................207 
Round, Ord, Chr и другие пустячки ..........................................................210 
Есть такая штука – множество..................................................................214 
Совсем глупость – про музыку.................................................................216 
Только TP....................................................................................................216 
Оно надо? Рекурсия. ..................................................................................225 
Меряем время.............................................................................................228 
Страшная сила............................................................................................236 
Никаких новых слов ..................................................................................239 
TP. В чём разница ......................................................................................241 
Дополнение Всякие важные вещи...............................................................242 
Имейте свой стиль .....................................................................................242 
Чем заняться на досуге..............................................................................247 
Модуль для работы с клавиатурой. TP ....................................................248 
 

Вступление 

Для кого эта книга 

Для тех, кто хочет научиться программировать. И кто при этом не умеет 
программировать вообще. Мы начнём с самого начала и достигнем 
достаточно сложных программ. Если Вы уже знаете какой-то язык 
программирования и хотели бы освоить Pascal/Delphi, то эта книга – не 
совсем то, что Вам надо. Вы, конечно, научитесь тому, что Вам надо, но, 
возможно, другая книга научила бы Вас этому быстрее. Если Вы хотите 
научиться программировать, неважно на каком языке, то эта книга – то, 
что Вам нужно. Принципы программирования остаются неизменными, а 
им я и стараюсь научить. Ну а уж если Вы хотите научиться 
программировать с нуля, и именно на Паскале, то мы с Вами встретили 
друг друга… 
 
Почему я решил эту книгу написать. И почему именно я 

Так получилось, что шесть лет я учил программировать. Сначала решил 
для интереса попробовать один год, но получилось шесть.  
Есть очень много преподавателей программирования со значительно 
бóльшим педагогическим стажем. 
Но до того как начать учить, я много лет сам программировал. И пока 
учил, тоже программировал.  Сейчас учить закончил, но всё равно 
программирую. 
А в придачу руководил группой коллег-программистов, а это занятие ещё 
более увлекательное. Недаром переводная книга о ремесле руководства 
программистами называется “Как пасти котов”. 
Так получается, что опытные педагоги, обучающие программированию, 
обычно 
программисты-теоретики 
и 
ничего 
существенного 
запрограммировать им в жизни не довелось. 
А опытные программисты-разработчики обучают редко -  не хочется 
ерундой заниматься, да и вообще... 
В общем, куда ни кинь – учить некому. 
И тут вхожу я… 
 

Как читать эту книгу. 
И почему буковки разные 

Да как угодно. То, что написано вот таким шрифтом, читать надо, я бы 
даже сказал, читать обязательно.  
То, что таким шрифтом, прочитать желательно, но не обязательно. Я 
постарался изложить всё так, чтобы можно было обойтись и без этого. 
Но лучше всё же прочитать 
 
То, что вот таким шрифтом, предназначено для особо любознательных читателей, которым интересно, как оно всё 
устроено внутри - байтики, битики, файлики, и прочая дребедень. 
 
Названия клавиш будут выделены вот так – F2,Enter.  
Если нажаты сразу две клавиши, это будет выглядеть вот так – Ctrl/F9. 
Пункты меню среды программирования заключаются в угловые скобки – 
<Файл \ Сохранить как…> или <Options \ Save>. 
А тексты программ будут выглядеть так: 
 
program kuku; 
begin 
 
{Вот тут программа} 
end. 
 
Полужирным 
шрифтом 
будут 
выделены 
так 
называемые 
зарезервированные слова, редактор Паскаля их тоже выделит – скорее 
всего, так как это зависит от настроек. 
Курсивом выделены комментарии – в редакторе они будут выглядеть 
бледненько. 
Как выделить числа и символьные константы, и надо ли их выделять, пока 
ещё не решил – если в редакторе правильные настройки, то строки и 
числа тоже выделяются. 
Зарезервированные слова в программах я пишу маленькими буквами, в 
тексте могу и большими – для наглядности. То же самое с 
однобуквенными именами – I, K, X  и тому подобное. В программах они 
будут маленькими, а в тексте – большими – чтобы не потерялись. 
Крайне важной теме больших и малых букв, количества пробелов и когда 
начинать  новую строку будет посвящён отдельный раздел – крайне 
важный, естественно. 
 

Маленькие и большие буквы ещё называются прописными и заглавными, 
но для меня это слишком сложно – вечно путаюсь. 
 
Что я ожидаю, что читатель уже знает 

Можно начинать программировать с полного нуля, не зная абсолютно 
ничего ни о чём. Такие подопытные попадались и, в общем, ничего. В 
смысле научить всё равно можно. Но некий минимум знаний всё же очень 
ускоряет процесс. 
Естественно, я понимаю, что общее развитие у будущих программистов 
отсутствует начисто. Книжек они не читают, Бабеля от Бебеля не 
отличают, пишут по-русски фантастически безграмотно. Это нормально. 
Татьяна Ларина, как известно “изъяснялася с трудом на языке своём 
родном”, Бабеля с Бебелем я и сам не читал, а орфографию спеллчекер 
проверит. 
Однако от программиста всё же хотелось бы: 
Знание арифметики и умение считать в уме, хотя бы на уровне целых 
чисел – как это ни кажется странным, несмотря на то, что компьютер тоже 
считать умеет, от программиста  арифметика очень даже требуется. 
Дробные числа можно считать на бумажке. Для профессионального 
программиста знание высшей математике крайне желательно, и чем с 
большим количеством разделов он хотя бы поверхностно знаком, тем 
лучше. Знающий математику программист крайне полезен в хозяйстве, 
его все любят и повышают ему зарплату. Утешение – программист, не 
знающий математики, совершенно не понимает, чего он лишён и с 
довольным лицом сидит в своём загончике, блаженно похрюкивая и 
пуская пузыри. 
Из геометрии – ну хотя бы понимание, что такое система координат. 
Сокровенное знание, чем круг отличается от окружности, также весьма 
пользительно. Утешение – если не будете заниматься графикой – ну её 
нафиг, эту геометрию. 
Ещё из математики – системы счисления и, как ни страшно это звучит, 
немного математической логики. Хотя, куда-то меня не туда несёт – 
многие не знают – и ничего. Забудьте. 
Английский язык на уровне знания сотни-другой слов – begin, end, repeat, 
until, red, green, blue. Очень способствует. Для профессионального 
программиста знание технического английского абсолютно обязательно. 

Профессиональная 
пригодность 
незнающего 
английский 
язык 
программиста автоматически делится на два. Зарплата тоже. Утешение – 
умение требуется только одно – перевести текст; говорить и понимать на 
слух ни к чему. 
Из чисто компьютерных материй – что есть такая сущность – каталог 
(директория (папка)), что есть такая единица измерения – байт,  что есть 
такая штука – файл, что бывают они текстовые и бинарные и что лежат 
они в каталогах. Суперзнание – что была такая штука DOS, и что были 
такие программы, которые под ним работали. Если про байты и файлы не 
понимаете – ну не знаю, чем и утешить. 
 
  
Почему Паскаль 

Давным-давно, когда я был маленьким программистом, а языков 
программирования 
уже 
было 
много, 
в 
каждой 
книжке 
по 
программированию повторялось заклинание, что нет хороших и плохих 
языков программирования, нет, и не может быть самого лучшего языка, 
нет, и не может быть языка на все случаи жизни. 
Прошло много времени, с предрассудками давно покончено, век 
наивности завершился, зелёная трава кончилось. Над миром распростёр 
сумрачные крылья лучший язык в мире на все случаи – C++. 
Так зачем же я предлагаю не совсем модный Паскаль (мне больше 
нравится писать название по-русски)? 
Для начала, рекомендация меркантильная - на нашей части суши Паскаль 
(в реинкарнации Borland Delphi) всё ещё очень популярен, наверное, 
популярнее, чем во всех других частях суши, вместе взятых. 
В последние годы идёт процесс вытеснения Паскаля и Delphi в пользу 
сами знаете чего. Если Ваша тётушка живёт на Брайтон-Бич, то C++ 
конечно полезнее. А если Ваш дядя проживает в деревне Красный Слон, 
учите Паскаль. “Не выпендривайся, Петрик. Слушай свою любимую 
песенку про комбайн” ©Анекдот. 
Так что если вы, дорогой читатель, не собираетесь отправляться 
программировать в более другие места прямо завтра, Паскаль Вам очень 
даже пригодится в плане зарабатывания денег. 
Далее, бесконечное число раз повторено, что Паскаль - идеальный язык 
для обучения программированию. Как ни странно, так оно и есть - в конце 
концов, он для того и создан. 

Ещё 
дальше, 
с 
желанием 
оттоптаться 
по 
телу 
безобидных 
сиплюсплюссников 
- 
C++ 
язык 
очень 
сильный, 
позволяющий 
программисту буквально всё. Паскаль не позволяет. Шаг влево, шаг 
вправо - ошибка компиляции. Си программиста не ограничивает ни в чём, 
Паскаль берёт за хобот и тащит унылой, но безопасной дорогой. 
Сильного программиста Паскаль местами сковывает (хотя для сильного 
программиста как всегда - если нельзя, но очень хочется, то есть в запасе 
хитрый фокус). 
Но в реальной жизни сильных программистов мало. Больше средних. Ещё 
больше слабых. 
И вот для них существует Паскаль. Он, худо-бедно, ГАРАНТИРУЕТ 
получение 
приемлемого 
результата. 
А 
когда 
программирование 
используется не как средство самоудовлетворения, а как возможность для 
получения разноцветных бумажек, именуемых также деньгами, наличие 
результата становится главным. 
Пробегающим мимо сишникам просьба не мнить себя могучими кодерами 
и не плевать в колодец. 
Ну и главное - Паскаль лично мне очень нравится. 
Извините, если кого обидел. Конец лирического отступления. 
 
А почему, собственно,  Pascal ABC? 

Вопрос, кстати резонный - зачем, собственно, начинать с просто Паскаля 
(я опять по-русски), если есть Delphi. И, уж если начинать с просто 
Паскаля, почему именно с Pascal ABC, а не с Turbo Pascal? 
Надо признать, что программировать на Турбо Паскале, кроме как в 
процессе обучения, почти наверняка не придётся - если только не 
достанется сопровождать какую-нибудь древнейшую программу. Турбо 
Паскаля в природе уже давно нет - есть только Delphi. 
Печально, но такова суровая реальность. 
Ещё печальнее, что программировать на Pascal ABC в реальной жизни не 
придется нигде и никогда – Pascal  ABC - это абсолютно учебный язык, со 
всеми вытекающими отсюда преимуществами и недостатками. 
 
Разумеется, мир Паскаля не ограничен Turbo и ABC. Есть множество 
разновидностей Паскаля, как ныне живых, так и давно окаменевших. 
Когда я был молодой, то программировал на Паскале на персональном 

компьютере PDP-1 фирмы DEC под операционной системой CP/M. В те 
чудесные времена язык программирования являлся частью операционной 
системы и поставлялся вместе с ней. Это был чистый Паскаль, почти 
полностью соответствовавший стандарту языка. Все нынешние версии 
очень далеко удалились от первоначального замысла Вирта. Кто такой 
Вирт? А это такой специальный мужик, который, собственно, и 
придумал Паскаль. 
 
Так почему Паскаль? А потому. 
Логика Delphi не совсем проста и привычна, даже для опытного 
программиста, 
переходящего 
на 
него 
с 
Паскаля 
(или 
любого 
традиционного языка). 
 
По научному – строго императивного. 
 
Традиционный язык – тот, который, что вижу - то пою. Программа 
медленно и торжественно разворачивается сверху вниз. Как сильно в 
Delphi будет не хватать этой маленькой радости – того, что у программы 
есть начало и есть конец. Это как воздух – пока он есть, его не замечаешь. 
Вот так и с традиционным Паскалем, извините за пафос. 
У дельфовской программы начала нет, и конца нет. Вся она состоит из 
обрывков и обрезков, реагирующих на различные события в жизни 
программы (и пользователя). Потом, немного поработав, программист 
поймёт, что это логика правильная и естественная, но сначала это 
выглядит как-то странно и ужасно. 
Кроме того, Delphi оказывает полумедвежью услугу разработчику – 
отчасти само генерирует текст. Это плюс – при том маленьком условии, 
что Вы этот сгенерированный текст полностью понимаете и можете в 
любой момент написать его сами.  
Ну и конечно, любимый вопрос дельфиста, за который над ним глумятся 
иноязычные коллеги программисты – а где взять вот такой компонент? 
Синдром Гарри Поттера -  махнуть волшебной палочкой, компонентом в 
смысле – и счастье. Быстро и дешево. Поневоле оценишь справедливость 
армейского юмора – мне не надо, чтоб быстро, мне надо, чтоб ты 
задолбался! 
Так что начинать программировать сразу на Delphi (или аналогичном 
средстве разработки) - это беспощадная травма для начинающего 

программиста. Не в обиду будь сказано - так навсегда ушибленным и 
останется. 
А теперь – почему именно Pascal ABC. Далее цитата от разработчиков 
Pascal ABC, многое объясняющая: 
 
«Язык Паскаль признан многими российскими преподавателями как один 
из лучших именно для начального обучения. Однако, среда Borland Pascal, 
ориентированная на MS DOS, устарела, а среда Borland Delphi с ее 
богатыми возможностями сложна для начинающего программиста. Так, 
попытка начинать обучение с написания событийной программы в 
Borland Delphi вызывает у обучаемого массу сложностей и приводит к 
ряду неправильно сформированных навыков». 
 
Мой комментарий. Borland Pascal здесь, как понятно всякому, синоним 
Turbo Pascal. А с остальным я полностью согласен, только выразился бы 
не так интеллигентно. Конец моего комментария. 
 
И ещё о главном. В процессе и по ходу изложения я временами буду 
высказывать отрицательные мнения о возможностях языка Pascal ABC. 
Это просто потому, что я такое моральное право имею, написав реальных, 
до сих пор работающих, программ, больше, чем все его, Паскаля АБЦ, 
создатели, вместе взятые. И не забывайте, что язык этот, как сами его 
творцы подчёркивают, язык учебный. А в реальной жизни вас ждёт 
Delphi. И это в лучшем случае. 
 

А зачем мелочиться? Два в одном 

Итак, книга эта будет обучать программированию на языке Паскаль в 
версии Pascal ABC. Но, в конце концов, чем Pascal ABC отличается от 
Turbo Pascal? Я думаю не больше чем десятью процентами. Так что я 
добавлю эти десять процентов, вы эти десять процентов прочитаете и на 
выходе будете иметь возможность программировать на двух языках сразу. 
То есть, формально говоря, на одном языке в двух его версиях, но при 
поступлении на работу в резюме вы честно сможете писать про два языка 
и безо всякого обмана 
Как это параллельное изучение будет выглядеть на практике?