ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Часть I. Необходимые сведения о компьютере и программеОглавление
Предисловие............................................................................................................................................. 5 0.1. Кому нужна эта книга?.................................................................................................................................................................. 5 0.2. Почему Паскаль?............................................................................................................................................................................. 5 0.3. Какой из Паскалей?........................................................................................................................................................................ 6 0.4. Краткое содержание с рекомендациями................................................................................................................................... 6 Часть I. Необходимые сведения о компьютере и программе..................... 8 Глава 1. Первое представление о компьютере и программе............................................................. 9 1.1. Что умеет делать компьютер........................................................................................................................................................ 9 1.2. Что такое компьютер. Первое представление о программе............................................................................................... 9 1.3. Как человек общается с компьютером.................................................................................................................................... 11 Глава 2. Программа и программирование......................................................................................... 12 2.1. Список команд. Командный и программный режимы........................................................................................................ 12 2.2. Что важно знать о программе.................................................................................................................................................... 13 2.3. Понятие о процедуре. Может ли робот поумнеть?............................................................................................................. 13 2.4. Программа для компьютера на машинном языке................................................................................................................ 14 2.5. Языки программирования........................................................................................................................................................... 15 2.6. Пример настоящей программы для компьютера на языке Лого...................................................................................... 16 2.7. Последовательность работы программиста на компьютере........................................................................................... 17 2.8. Основные приемы программирования.................................................................................................................................... 18 Глава 3. Устройство и работа компьютера........................................................................................ 21 3.1. Как устроен и работает компьютер......................................................................................................................................... 21 3.2. Устройство и размеры оперативной памяти......................................................................................................................... 23 3.3. Взаимодействие программ в памяти........................................................................................................................................ 23 3.4. Внешние устройства компьютера............................................................................................................................................ 24 3.5. Кодирование информации в компьютере............................................................................................................................... 27 Часть II. Программирование на Паскале – первый уровень..................... 29 Глава 4. Простые (линейные) программы. Операторы ввода-вывода. Переменные величины 30 4.1. Процедура вывода Write............................................................................................................................................................. 30 4.2. Первая программа на Паскале.................................................................................................................................................. 31 4.3. Выполняем первую программу на компьютере................................................................................................................... 32 4.4. Процедура вывода WriteLn. Курсор........................................................................................................................................ 33 4.5. Переменные величины. Оператор присваивания................................................................................................................. 34 4.6. Описания переменных (VAR)..................................................................................................................................................... 35 4.7. Что делает оператор присваивания с памятью.................................................................................................................... 36 4.8. Имена переменных........................................................................................................................................................................ 37 4.9. Математика. Запись арифметических выражений.............................................................................................................. 38 4.10. Вещественные числа в Паскале.............................................................................................................................................. 39 4.11. Порядок составления простой программы.......................................................................................................................... 40 4.12. Операторы ввода данных ReadLn и Read......................................................................................................................... 42 4.13. Интерфейс пользователя........................................................................................................................................................... 43 4.14. Строковые переменные............................................................................................................................................................. 44 4.15. Диалог с компьютером.............................................................................................................................................................. 45 4.16. Константы..................................................................................................................................................................................... 45 Глава 5. Разветвляющиеся программы.............................................................................................. 46 5.1. Условный оператор IF или как компьютер делает выбор............................................................................................... 46 5.2. Правила записи оператора IF................................................................................................................................................... 48 5.3. Составной оператор..................................................................................................................................................................... 49 5.4. Ступенчатая запись программы............................................................................................................................................... 50 5.5. Вложенные операторы if. Сложное условие в операторе if. Логические операции.................................................. 50 5.6. Символьный тип данных Char.................................................................................................................................................. 53 5.7. Оператор варианта case.............................................................................................................................................................. 53 Глава 6. Циклические программы...................................................................................................... 56 6.1. Оператор перехода GOTO. Цикл. Метки................................................................................................................................ 56 6.2. Выход из цикла с помощью if.................................................................................................................................................... 58 6.3. Оператор цикла repeat................................................................................................................................................................. 59 6.4. Оператор цикла while................................................................................................................................................................... 60 6.5. Отличия операторов repeat и while........................................................................................................................................... 61 6.6. Оператор цикла for....................................................................................................................................................................... 61 Глава 7. Типичные маленькие программы....................................................................................... 64 7.1. Вычислительная циклическая программа............................................................................................................................. 64 7.2. Роль ошибок.................................................................................................................................................................................... 65 7.3. Счетчики.......................................................................................................................................................................................... 65 7.4. Сумматоры...................................................................................................................................................................................... 67 7.5. Вложение циклов в разветвления и наоборот....................................................................................................................... 68 7.6. Вложенные циклы......................................................................................................................................................................... 68 7.7. Поиск максимального из чисел................................................................................................................................................. 69 Глава 8. Процедуры.............................................................................................................................. 71 8.1. Компьютер звучит......................................................................................................................................................................... 71 8.2. Простейшие процедуры.............................................................................................................................................................. 72 8.3. Процедуры и операторы............................................................................................................................................................. 75 8.4. Стандартные процедуры Halt и Exit....................................................................................................................................... 75 Глава 9. Графика................................................................................................................................... 77 9.1. Стандартные модули................................................................................................................................................................... 77 9.2. Стандартный модуль Graph, текстовый и графический режимы.................................................................................... 77 9.3. Рисуем простейшие фигуры....................................................................................................................................................... 78 9.4. Работа с цветом. Заливка. Стиль линий и заливки.............................................................................................................. 81 9.5. Используем в рисовании переменные величины.................................................................................................................. 83 9.6. Использование случайных величин при рисовании........................................................................................................... 84 9.7. Движение картинок по экрану................................................................................................................................................... 85 Глава 10. Создаем первую большую программу.............................................................................. 87 10.1. Постановка задачи..................................................................................................................................................................... 87 10.2. Программирование по методу “сверху-вниз”..................................................................................................................... 87 10.3. Сначала – работа над структурой программы................................................................................................................. 89 10.4. Зачем переменные вместо чисел............................................................................................................................................ 91 10.5. Записываем программу целиком............................................................................................................................................ 92 10.6. Порядок описания переменных, процедур и других конструкций Паскаля.............................................................. 95 10.7. Управление компьютером с клавиатуры. Функции ReadKey и KeyPressed............................................................... 96 10.8. Буфер клавиатуры...................................................................................................................................................................... 97 10.9. Гетерархия. Задание на игру “Торпедная атака”.......................................................................................................... 100 Часть III. Программирование на Паскале – второй уровень................. 103 Глава 11. Алфавит и ключевые слова Паскаля.............................................................................. 104 11.1. Алфавит....................................................................................................................................................................................... 104 11.2. Ключевые слова........................................................................................................................................................................ 104 11.3. Использование пробела.......................................................................................................................................................... 105 Глава 12. Работа с разными типами данных Паскаля.................................................................. 106 12.1. Список типов.............................................................................................................................................................................. 106 12.2. Числовые типы.......................................................................................................................................................................... 107 12.3. Массивы...................................................................................................................................................................................... 108 12.4. Определения констант............................................................................................................................................................ 111 12.5. Типизированные константы.................................................................................................................................................. 112 12.6. Придумываем типы данных.................................................................................................................................................. 112 12.7. Логический тип Boolean......................................................................................................................................................... 113 12.8. Перечислимые типы................................................................................................................................................................. 113 12.9. Ограниченный тип (диапазон).............................................................................................................................................. 114 12.10. Действия над порядковыми типами.................................................................................................................................. 115 12.11. Символьный тип Char. Работа с символами................................................................................................................... 116 12.12. Строковый тип String. Работа со строками..................................................................................................................... 117 12.13. Записи........................................................................................................................................................................................ 118 12.14. Множества............................................................................................................................................................................... 120 12.15. Расположение информации в оперативной памяти. Адреса..................................................................................... 122 12.16. Ссылки....................................................................................................................................................................................... 123 Глава 13. Процедуры и функции с параметрами........................................................................... 125 13.1. Процедуры с параметрами.................................................................................................................................................... 125 13.2. Функции....................................................................................................................................................................................... 127 13.3. Подпрограммы. Локальные и глобальные переменные................................................................................................ 128 13.4. Массивы как параметры........................................................................................................................................................ 129 13.5. Параметры-значения и параметры-переменные............................................................................................................. 130 13.6. Индукция. Рекурсия. Стек....................................................................................................................................................... 131 13.7. Сортировка................................................................................................................................................................................. 133 Глава 14. Строгости Паскаля............................................................................................................ 135 14.1. Структура программы............................................................................................................................................................ 135 14.2. Структура процедур и функций........................................................................................................................................... 136 14.3. Выражения................................................................................................................................................................................. 137 14.4. Совместимость типов.............................................................................................................................................................. 137 14.5. Форматы вывода данных....................................................................................................................................................... 138 14.6. Переполнение ячеек памяти.................................................................................................................................................. 139 14.7. Дерево типов.............................................................................................................................................................................. 139 14.8. Синтаксисические диаграммы Паскаля............................................................................................................................. 140 Глава 15. Другие возможности Паскаля.......................................................................................... 147 15.1. Работа с файлами данных..................................................................................................................................................... 147 15.2. Вставка в программу фрагментов из других программных файлов.......................................................................... 149 15.3. Модули программиста............................................................................................................................................................ 150 15.4. Дополнительные процедуры и функции модуля Graph................................................................................................. 152 15.5. Копирование и движение областей экрана...................................................................................................................... 152 15.6. Вывод текста в графическом режиме.................................................................................................................................. 154 15.7. Управление цветом в текстовом режиме (модуль CRT)................................................................................................ 154 15.8. Работа с датами и временем (модуль DOS)....................................................................................................................... 155 15.9. Нерассмотренные возможности Паскаля.......................................................................................................................... 156 15.10. Миг между прошлым и будущим....................................................................................................................................... 157 Часть IV. Работа в Паскале на компьютере............................................. 159 Что нужно знать и уметь к моменту выполнения первой программы?............................................................................... 159 Порядок работы в Паскале.............................................................................................................................................................. 159 (1) Запуск Паскаля............................................................................................................................................................................. 159 (2) Начало работы. Ввод программы. Выход из Паскаля...................................................................................................... 161 (3) Сохранение программы на диске. Загрузка программы с диска.................................................................................... 162 (4) Выполнение программы............................................................................................................................................................. 163 (5) Исправление ошибок. Отладка программы.......................................................................................................................... 164 Работа с несколькими окнами......................................................................................................................................................... 168 Копирование и перемещение фрагментов текста...................................................................................................................... 169 Обзор популярных команд меню................................................................................................................................................... 169 Создание исполнимых файлов (exe)............................................................................................................................................. 170 Приложения. Справочный материал.......................................................... 171 П1. Как вводить программу в компьютер или работа с текстом в текстовом редакторе.............................................. 171 П2. Файловая система магнитного диска.................................................................................................................................... 174 П3. Список некоторых операций, процедур и функций Паскаля......................................................................................... 176 П4. Произношение английских слов............................................................................................................................................. 177 П5. Решения заданий......................................................................................................................................................................... 180 П6. Список литературы.................................................................................................................................................................... 207 П7. Предметный указатель.............................................................................................................................................................. 208
От автора
Хочу выразить искреннюю признательность Алексею Михайловичу Епанешникову, внимательно прочитавшему рукопись и сделашему по ее содержанию больше сотни замечаний и нашедшему множество ошибок, одну из которых мне не хочется вспоминать. Также хочу поблагодарить Алексея Яковлевича Архангельского, просмотревшего рукопись и сделавшего существенные предложения по направленности ее содержания.
Предисловие
Сначала о терминологии. Везде в дальнейшем я буду: · для краткости вместо термина «Турбо-Паскаль» употреблять термин «Паскаль». · также везде, где это не вызовет путаницы, словом Паскаль я буду называть не только сам язык Паскаль, но и компилятор, и среду разработки программ: · пользоваться термином «объект» в его общечеловеческом смысле, несмотря на то, что в языках программирования он имеет специальное значение. 0.1. Кому нужна эта книга? Это самоучитель. То есть написана книга с расчетом на то, что, изучив ее без посторонней помощи, вы сможете без посторонней помощи писать программы на Паскале и выполнять их на компьютере тоже без посторонней помощи. Материал книги я в течение трех лет проверял на учениках-энтузиастах 6-11 классов 345 московской школы. Проверка, как мне кажется, закончилась нормально - вопросов в процессе изучения ребята задавали немного, а программировать научились. Ответы же на их вопросы я включил в книгу. Если вы хотите научиться программировать, но никогда в жизни не написали ни одной программы и плохо представляете, как компьютер устроен, читайте эту книгу с начала до конца – вы и программировать научитесь, и об устройстве компьютера узнаете все необходимые сведения. Если вы школьник или студент, первый год изучающий программирование, и вам предстоит сдавать экзамен по программированию, то изучив книгу и выполнив задания, вы вполне можете рассчитывать на отличную оценку. Исключение – студенты, преподаватели которых уже на первом году обучения предпочитают что-нибудь глубокое или специфичное (например, работу с адресами или оптимальные сортировки). Этого в моей книге нет. Здесь только основы. (Но без них и глубину со спецификой не поймешь.) Если вы опытный программист, но хотите изучить еще и Паскаль, вам эта книга не нужна - изложение рассчитано на начинающих. Если у вас под рукой нет компьютера, не очень огорчайтесь. Книга снабжена достаточным количеством заданий и решений к ним. Сверяя свои программы с приведенными в ответе, вы всегда сможете сказать, на правильном ли вы пути. Если вы хотите узнать Паскаль в полном объеме, то имейте в виду, что данная книга для этого не предназначена. Во-первых, потому, что Паскаль настолько велик, что в полном объеме во всем мире мало кому нужен. Во-вторых, потому, что для полного его изложения понадобились бы тысячи страниц текста. Цель данной книги не в полноте охвата, а в том, чтобы вы научились программировать и использовать основные средства Паскаля. Книга учит не только писать программы на листе бумаги, но и выполнять программы на компьютере. Все, что вам нужно знать заранее, это как включать компьютер и как запускать Паскаль. Все остальное в книге объяснено. 0.2. Почему Паскаль? Этот вопрос стоит перед новичками, которые не знают, с какого языка начать. Вот краткий обзор возможных вариантов. Прежде всего, для полезного, занимательного и веселого изучения основных идей программирования существуют специальные учебные языки, рассчитанные на детей и новичков. Это «Кенгуренок», «Пылесосик», Лого. Кстати, Лого - язык достаточно богатый, чтобы программировать на нем и несложные игры. Но, к сожалению, эти языки мало распространены в России и по ним почти нет литературы. Так что вопрос о них отпадает. Перейдем к рассмотрению профессиональных взрослых языков. Сейчас наиболее известны Бэйсик, Паскаль, Си, Ява в их самых разных версиях. Но Ява применяется в основном только в сети. Си – высокопрофессиональный язык, в среде программистов он распространен очень широко, но слишком сложен для восприятия новичком и с него лучше не начинать. Если вам очень хочется программировать на Си, рекомендую начать с Бэйсика или Паскаля. После них освоение Си пойдет гораздо легче. В качестве языков для обучения студентов и школьников наиболее широко используются Паскаль и Бэйсик. Причина в том, что их современные версии (Borland Pascal for Windows, Delphi, Visual Basic и др.) достаточно широко распространены во всем мире для разработки профессиональных программ, а сами языки, тем не менее, весьма просты и понятны. При сравнении Паскаля и Бэйсика нужно помнить, что паскалей и бэйсиков на самом деле много (Pascal, TurboPascal, Borland Pascal, Borland Pascal for Windows, Basic, QBasic, Quick Basic, Visual Basic, Visual Basic.NET и пр.). Оба языка постоянно развиваются и каждой версии присущи свои преимущества и недостатки. Нельзя сказать, что вообще Бэйсик лучше Паскаля, или наоборот, иначе бы на свете остался только один из этих языков. Нельзя с уверенностью предсказать, что кто-то из них в будущем победит. Можно только сказать, что пока каждый силен в своей области и более поздняя версия языка всегда богаче и мощнее более ранней версии. Исходя из этого, я сравню не Паскаль вообще и Бэйсик вообще, а их версии, наиболее распространенные в российских школах и институтах, а именно TurboPascal 7.0 и QBasic. Если сравнивать их, то на Бэйсике хорошо писать маленькие программы (до 25-50 строк). Они получаются короче и проще, чем на Паскале. Но большие программы на таком Бэйсике из-за плохой структурированности языка получаются труднообозримыми. К тому же Паскаль гораздо богаче, быстрее и мощнее (это естественно, так как он по размеру в десятки раз больше, чем Бэйсик). Паскаль строг и придирчив, изящен и красив. 0.3. Какой из Паскалей? Любая программа, которую вы встретите в этой книге, является правильной программой в версиях Паскаля TurboPascal 5.5, TurboPascal 6.0, TurboPascal 7.0 и Borland Pascal для DOS, а абсолютное большинство программ - и в более ранних версиях. Это естественно, так как основа языка едина для всех версий. Таким образом, вы можете считать эту книгу учебником по программированию на любой из версий Паскаля. Лично я при написании этой книги использовал TurboPascal 7.0. Теперь – о работе на компьютере. Каждая версия Паскаля предлагает свой способ работы на компьютере (каждая следующая версия - все более удобный и мощный). В широком смысле этот способ называется средой программирования. Как я уже говорил, среды программирования версий TurboPascal 6.0, TurboPascal 7.0 и Borland Pascal для DOS очень близки между собой в тех рамках, которыми я ограничиваюсь в книге. Я буду учить работать именно в этих средах. Все, что я буду говорить, относится к любой из них. Редкие случаи различий я буду полностью оговаривать. Если же на вашем компьютере установлена другая версия, не очень огорчайтесь, так как основные приемы работы в среде Паскаля одинаковы во всех версиях, а большинство остальных приемов - похожи. Различаются лишь подробности, которые нужны не часто. Краткое содержание с рекомендациями Книга состоит из четырех частей и приложения:
Часть I. Необходимые сведения о компьютере и программе. В этой части Паскалю мы не учимся. Она - для начинающих и для тех более опытных, кто имеет пробелы в знаниях основ компьютера и программирования. В этой части вы узнаете следующее:
· что такое компьютер, программа, цикл, ветвление, процедура, и какая от них выгода; · что такое языки программирования; · принцип действия компьютера и его устройств: оперативной памяти, принтера, винчестера и других; · взаимодействие устройств во время работы компьютера; · принципы кодирования информации в разных устройствах компьютера. Часть II. Программирование на Паскале – первый уровень. Цель этой части – провести вас от создания самых простых программ до сложных. Здесь вы учитесь программировать на Паскале самым простым способом - на примерах, то есть по принципу “делай, как я”. Вы научитесь создавать небольшие программы, включающие циклы, ветвления, процедуры и использующие графику и звук. Заканчивается часть созданием и заданием на создание солидной программы. Предполагается, что после выполнения этого задания у вас должно возникнуть ощущение всесильности, то есть вы должны почувствовать, что теперь вам по плечу программа любого размера, и что вам может понадобиться в будущем, так это сведения о работе с теми или иными данными.
Часть III. Программирование на Паскале – второй уровень. Цели этой части: · Снабдить вас этими самыми сведениями. Вы познакомитесь с действиями над массивами, символами, строками, записями, множествами, файлами и другими типами данных. Вы изучите процедуры и функции с параметрами, модули, расширите свои возможности работы с графикой · Навести строгость и порядок в ваших знаниях о Паскале. Используемый мной способ изложения на примерах - самый легкий для понимания, но не строгий, а это значит, что если вы сделаете грамматическую ошибку в программе, то иногда не будете знать, в чем эта ошибка. Чтобы иметь оружие на этот случай, в данной части Паскаль излагается более систематически, а самое главное – приводятся в виде синтаксических диаграмм строгие правила записи всех нужных вам конструкций Паскаля.
Часть IV. Работа в Паскале на компьютере. Она описывает работу в среде программирования TurboPascal 7.0. Вы научитесь вводить программу в компьютер, запускать ее на выполнение, отлаживать с использованием отладчика, сохранять и загружать с диска. В полном объеме среда программирования рассмотрена не будет, но все ее средства, необходимые для уверенной работе на компьютере, будут изложены исчерпывающе.
Приложения. Справочный материал. Если вы никогда не вводили текст в компьютер и не редактировали его, что необходимо при вводе программы, то здесь вы приобретете все нужные для этого умения. Вы познакомитесь со структурой файлов и каталогов на диске, что необходимо при сохранении и загрузке программы. Здесь приводится систематизированный список встречающихся в книге процедур и функций, решения к заданиям и солидный предметный указатель.
Часть I. Необходимые сведения о компьютере и программе Вы можете не читать эту часть, если в общих чертах знаете следующие вещи: · Что такое программа, цикл, ветвление, процедура, и какая от них выгода. · Принцип действия компьютера и его устройств: оперативной памяти, принтера, винчестера и других. · Взаимодействие устройств во время работы компьютера. · Принципы кодирования информации в разных устройствах компьютера.
В этой части мы не будем программировать на Паскале. А будем знакомиться с перечисленными выше вещами, без которых сознательное программирование невозможно.
Не нашли, что искали? Воспользуйтесь поиском:
|