Самоучитель игры на Паскале. АВС и немного Турбо
Покупка
Основная коллекция
Тематика:
Программирование на Pascal
Издательство:
СОЛОН-Пресс
Автор:
Комлев Николай Юрьевич
Год издания: 2020
Кол-во страниц: 256
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
Основное общее образование
ISBN: 978-5-91359-163-0
Артикул: 433251.04.99
С абсолютного нуля до полного овладения языком. Популярный в школах Pascal ABC и вечно живой Turbo Pascal. Весь Паскаль, среда программирования, технология разработки и отладки. Примеры программ - простых и не очень. Для младших студентов, старших школьников и всех, кто хочет программировать.
Тематика:
ББК:
- 329: Телевидение. Радиолокация. Автоматика и телемеханика. Вычислительная техника. Оргтехника
- 3297: Вычислительная техника
УДК:
- 004: Информационные технологии. Вычислительная техника...
- 681: Точная механика. Автоматика. Приборостроение
ОКСО:
- Профессиональная подготовка по профессиям рабочих и по должностям служащих
- 09.01.03: Оператор информационных систем и ресурсов
- Среднее профессиональное образование
- 09.02.01: Компьютерные системы и комплексы
- 09.02.02: Компьютерные сети
- 09.02.03: Программирование в компьютерных системах
- 09.02.04: Информационные системы (по отраслям)
- 09.02.05: Прикладная информатика (по отраслям)
- ВО - Бакалавриат
- 01.03.02: Прикладная математика и информатика
- 02.03.02: Фундаментальная информатика и информационные технологии
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов.
Для полноценной работы с документом, пожалуйста, перейдите в
ридер.
. . . 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? Я думаю не больше чем десятью процентами. Так что я добавлю эти десять процентов, вы эти десять процентов прочитаете и на выходе будете иметь возможность программировать на двух языках сразу. То есть, формально говоря, на одном языке в двух его версиях, но при поступлении на работу в резюме вы честно сможете писать про два языка и безо всякого обмана Как это параллельное изучение будет выглядеть на практике?