Сделай Сам Свою Работу на 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

 

 

От автора

 

Хочу выразить искреннюю признательность Алексею Михайловичу Епанешникову, внимательно прочитавшему рукопись и сделашему по ее содержанию больше сотни замечаний и нашедшему множество ошибок, одну из которых мне не хочется вспоминать.

Также хочу поблагодарить Алексея Яковлевича Архангельского, просмотревшего рукопись и сделавшего существенные предложения по направленности ее содержания.

 

Предисловие

 

Сначала о терминологии. Везде в дальнейшем я буду:

· для краткости вместо термина «Турбо-Паскаль» употреблять термин «Паскаль».

· также везде, где это не вызовет путаницы, словом Паскаль я буду называть не только сам язык Паскаль, но и компилятор, и среду разработки программ:

· пользоваться термином «объект» в его общечеловеческом смысле, несмотря на то, что в языках программирования он имеет специальное значение.

Кому нужна эта книга?

Это самоучитель. То есть написана книга с расчетом на то, что, изучив ее без посторонней помощи, вы сможете без посторонней помощи писать программы на Паскале и выполнять их на компьютере тоже без посторонней помощи. Материал книги я в течение трех лет проверял на учениках-энтузиастах 6-11 классов 345 московской школы. Проверка, как мне кажется, закончилась нормально - вопросов в процессе изучения ребята задавали немного, а программировать научились. Ответы же на их вопросы я включил в книгу.

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

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

Если вы опытный программист, но хотите изучить еще и Паскаль, вам эта книга не нужна - изложение рассчитано на начинающих.

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

Если вы хотите узнать Паскаль в полном объеме, то имейте в виду, что данная книга для этого не предназначена. Во-первых, потому, что Паскаль настолько велик, что в полном объеме во всем мире мало кому нужен. Во-вторых, потому, что для полного его изложения понадобились бы тысячи страниц текста. Цель данной книги не в полноте охвата, а в том, чтобы вы научились программировать и использовать основные средства Паскаля.

Книга учит не только писать программы на листе бумаги, но и выполнять программы на компьютере. Все, что вам нужно знать заранее, это как включать компьютер и как запускать Паскаль. Все остальное в книге объяснено.

Почему Паскаль?

Этот вопрос стоит перед новичками, которые не знают, с какого языка начать. Вот краткий обзор возможных вариантов.

Прежде всего, для полезного, занимательного и веселого изучения основных идей программирования существуют специальные учебные языки, рассчитанные на детей и новичков. Это «Кенгуренок», «Пылесосик», Лого. Кстати, Лого - язык достаточно богатый, чтобы программировать на нем и несложные игры. Но, к сожалению, эти языки мало распространены в России и по ним почти нет литературы. Так что вопрос о них отпадает. Перейдем к рассмотрению профессиональных взрослых языков. Сейчас наиболее известны Бэйсик, Паскаль, Си, Ява в их самых разных версиях.

Но Ява применяется в основном только в сети.

Си – высокопрофессиональный язык, в среде программистов он распространен очень широко, но слишком сложен для восприятия новичком и с него лучше не начинать. Если вам очень хочется программировать на Си, рекомендую начать с Бэйсика или Паскаля. После них освоение Си пойдет гораздо легче.

В качестве языков для обучения студентов и школьников наиболее широко используются Паскаль и Бэйсик. Причина в том, что их современные версии (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 строк). Они получаются короче и проще, чем на Паскале. Но большие программы на таком Бэйсике из-за плохой структурированности языка получаются труднообозримыми. К тому же Паскаль гораздо богаче, быстрее и мощнее (это естественно, так как он по размеру в десятки раз больше, чем Бэйсик). Паскаль строг и придирчив, изящен и красив.

Какой из Паскалей?

Любая программа, которую вы встретите в этой книге, является правильной программой в версиях Паскаля TurboPascal 5.5, TurboPascal 6.0, TurboPascal 7.0 и Borland Pascal для DOS, а абсолютное большинство программ - и в более ранних версиях. Это естественно, так как основа языка едина для всех версий. Таким образом, вы можете считать эту книгу учебником по программированию на любой из версий Паскаля. Лично я при написании этой книги использовал TurboPascal 7.0.

Теперь – о работе на компьютере. Каждая версия Паскаля предлагает свой способ работы на компьютере (каждая следующая версия - все более удобный и мощный). В широком смысле этот способ называется средой программирования. Как я уже говорил, среды программирования версий TurboPascal 6.0, TurboPascal 7.0 и Borland Pascal для DOS очень близки между собой в тех рамках, которыми я ограничиваюсь в книге. Я буду учить работать именно в этих средах. Все, что я буду говорить, относится к любой из них. Редкие случаи различий я буду полностью оговаривать. Если же на вашем компьютере установлена другая версия, не очень огорчайтесь, так как основные приемы работы в среде Паскаля одинаковы во всех версиях, а большинство остальных приемов - похожи. Различаются лишь подробности, которые нужны не часто.

0.4. Краткое содержание с рекомендациями

Книга состоит из четырех частей и приложения:

 

Часть I. Необходимые сведения о компьютере и программе.В этой части Паскалю мы не учимся. Она - для начинающих и для тех более опытных, кто имеет пробелы в знаниях основ компьютера и программирования. В этой части вы узнаете следующее:

 

· что такое компьютер, программа, цикл, ветвление, процедура, и какая от них выгода;

· что такое языки программирования;

· принцип действия компьютера и его устройств: оперативной памяти, принтера, винчестера и других;

· взаимодействие устройств во время работы компьютера;

· принципы кодирования информации в разных устройствах компьютера.

Часть II. Программирование на Паскале – первый уровень.Цель этой части – провести вас от создания самых простых программ до сложных. Здесь вы учитесь программировать на Паскале самым простым способом - на примерах, то есть по принципу “делай, как я”. Вы научитесь создавать небольшие программы, включающие циклы, ветвления, процедуры и использующие графику и звук. Заканчивается часть созданием и заданием на создание солидной программы. Предполагается, что после выполнения этого задания у вас должно возникнуть ощущение всесильности, то есть вы должны почувствовать, что теперь вам по плечу программа любого размера, и что вам может понадобиться в будущем, так это сведения о работе с теми или иными данными.

 

Часть III. Программирование на Паскале – второй уровень.Цели этой части:

· Снабдить вас этими самыми сведениями. Вы познакомитесь с действиями над массивами, символами, строками, записями, множествами, файлами и другими типами данных. Вы изучите процедуры и функции с параметрами, модули, расширите свои возможности работы с графикой

· Навести строгость и порядок в ваших знаниях о Паскале. Используемый мной способ изложения на примерах - самый легкий для понимания, но не строгий, а это значит, что если вы сделаете грамматическую ошибку в программе, то иногда не будете знать, в чем эта ошибка. Чтобы иметь оружие на этот случай, в данной части Паскаль излагается более систематически, а самое главное – приводятся в виде синтаксических диаграмм строгие правила записи всех нужных вам конструкций Паскаля.

 

Часть IV. Работа в Паскале на компьютере. Она описывает работу в среде программирования TurboPascal 7.0. Вы научитесь вводить программу в компьютер, запускать ее на выполнение, отлаживать с использованием отладчика, сохранять и загружать с диска. В полном объеме среда программирования рассмотрена не будет, но все ее средства, необходимые для уверенной работе на компьютере, будут изложены исчерпывающе.

 

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

 

Часть I. Необходимые сведения о компьютере и программе

Вы можете не читать эту часть, если в общих чертах знаете следующие вещи:

· Что такое программа, цикл, ветвление, процедура, и какая от них выгода.

· Принцип действия компьютера и его устройств: оперативной памяти, принтера, винчестера и других.

· Взаимодействие устройств во время работы компьютера.

· Принципы кодирования информации в разных устройствах компьютера.

 

В этой части мы не будем программировать на Паскале. А будем знакомиться с перечисленными выше вещами, без которых сознательное программирование невозможно.

 



©2015- 2017 stydopedia.ru Все материалы защищены законодательством РФ.