|
Educational resources of the Internet - Informatics. Образовательные ресурсы Интернета - Информатика. |
||
СПб.: 2005 — 496 с.
В книге обобщен уникальный многолетний опыт Роботландского сетевого университета по обучению детей программированию. Материал излагается в стиле курса «Азы информатики» и значительно расширяет и углубляет тему программирования, которая в базовом курсе нацелена на общеобразовательные задачи. Повышенное внимание уделяется основам формализации и построения алгоритмов, тестированию и отладке программ. Подробно рассмотрены алгоритмические конструкции: циклы двух видов, ветвление, применение процедур, рекурсия; целый раздел посвящен принципам построения трансляторов. Изложена методика проведения занятий и турниров по программированию. Прилагаемый компакт-диск содержит программные среды исполнителей и решения всех заданий учебника и задачника. Для учителей средних образовательных учреждений.
Формат: pdf
Размер: 7,6 Мб
Смотреть, скачать: docs.google.com
Оглавление
Состав комплекта 1
Обращение к читателю 1
История Кукарачи 2
История Корректора 4
Вступление 7
Программирование в школьном курсе информатики 7
«Азы программирования» и «Азы информатики» 8
Примерный план факультатива 9
Первый год обучения 9
Второй год обучения 10
Содержание книги 11
Авторство задач и решений 12
Авторство иллюстраций 12
Содержание диска 12
Благодарности 14
Исполнители и язык программирования 15
Исполнитель Кукарача 15
Исполнитель Корректор 16
Язык программирования исполнителей 19
ЧАСТЬ I. КУКАРАЧА: МЕТОДИКА ЗАНЯТИЙ И РЕШЕНИЕ ЗАДАЧ 19
Глава 1. Кукарача и его среда обитания 23
Общие рекомендации и дополнения 23
Ответы на вопросы и решение задач 25
1.1. Знакомство с Кукарачей 25
1.3. Задачи 25
Глава 2. Вася экономит свой труд 29
Общие рекомендации и дополнения 29
Стиль записи программ 30
Пустоты 31
Структурирование 32
Комментарии 33
Имена процедур 33
Когда код нужно оформлять в отдельную процедуру 34
Визуальное отделение процедур 35
Ответы на вопросы и решение задач 36
2.1. Ток — это кот задом наперёд 36
2.2. У компьютера есть память, и это хорошо 37
2.5. Задачи 37
Глава 3. Новые команды и их повторение 42
Общие рекомендации и дополнения 42
Процедурное программирование 42
Команда повторения 42
Интерпретатор программ 43
Классификация ошибок программирования 43
Построение алгоритма 44
Построение программы 44
Ответы на вопросы и решение задач 46
3.1. Кукарача говорит «Ах!» 46
3.2. Процедурное программирование 47
3.3. Команда повторения 47
3.5. Задачи 49
Глава 4. Кукарача на распутье 56
Общие рекомендации и дополнения 56
Отдельные рекомендации, пояснения и примеры 58
Переключатели 59
Ответы на вопросы и решение задач 63
4.1. Команда ветвления 63
4.2. Особые случаи 65
4.3. Задачи 67
Глава 5. Другой тип повторения 79
Общие рекомендации и дополнения 79
Ответы на вопросы и решение задач 79
5.1. Когда неизвестно число повторений 79
5.2. Как обмануть интерпретатор 81
5.3. Задачи 81
Глава 6. Кукарача хочет укусить себя за хвост 92
Ответы на вопросы и решение задач 92
6.5. Задачи 92
Глава 7. Решения задач 106
Задачи недели 2002/2003 учебного года 106
Задачи к главе 4 106
Задачи к главе 5 118
Задачи к главе 6 127
Задачи недели 2003/2004 учебного года 134
Задачи к главам 1—3 134
Задачи к главам 4—5 147
Задачи к главе 6 175
ЧАСТЬ II. КОРРЕКТОР 179
Глава 8. Знакомство с исполнителем 181
Корректор и Кукарача 181
Ввод информации 181
Вывод информации 181
Память 182
Система команд 183
Язык программирования 184
Общие рекомендации 185
Ответы на вопросы и задания 186
8.1. Корректор и его среда обитания 186
8.2. Попробуем управлять 187
8.3. Управление при помощи программы 187
Глава 9. Язык программирования 188
Ответы на вопросы и задания 188
9.1. Процедурное программирование 188
9.2. Циклы 189
9.3. Развилки 196
9.4. Рекурсия 200
Глава 10. Отладка программ 205
Ответы на вопросы и задания 205
10.2. Синтаксические ошибки 205
10.3. Ошибки программирования 207
10.4. Тестирование 208
10.5. Задачи 215
Глава 11. Приёмы программирования Корректора 222
Алгоритмические формулы 222
Обработка записи известной длины n 224
Обработка записи неизвестной длины 225
Поиск объекта, его изменение и возврат в исходное положение 226
Подсчёт двух количеств за один проход 228
Вставка символа в запись 231
Удаление символа из записи 232
Определение чётности суммы слагаемых 233
Алгоритмические формулы для логических выражений 236
Операция И. 236
Операция И: модель с ветвью ИНАЧЕ 239
Операция ИЛИ 241
Ответы на вопросы и задания 242
11.1. Как найти конец текста 242
11.2. Как вернуться в исходное место 247
11.3. Задачи 251
Глава 12. Арифметика чисел, палочек и символов 265
Структурное программирование и библиотечные процедуры 265
Решение задач 267
12.1. Арифметика чисел 267
12.2. Арифметика палочек 271
12.3. Арифметика символов 281
Глава 13. Преобразования, подсчёты, редактирование 293
Решение задач 293
13.1. Длина текста 293
13.2. Корректор оправдывает своё имя 300
Глава 14. Трансляторы 312
Ответы на вопросы и решения задач 312
14.1. Проверка объектов 312
14.2. Транслятор для Плюсика 323
Глава 15. Решения задач 342
Задачи недели 2002/2003 учебного года 342
Задачи, рекомендуемые к главам 11 и 12 342
Задачи, рекомендуемые к главам 12 и 13 347
Задачи недели 2003/2004 учебного года 360
Задачи к главам 8 и 9 360
Задачи к главе 10 375
Задачи к главе 11 392
Задачи к главе 12 403
ЧАСТЬ III. ТРАНСЛЯТОР?.. ЭТО ОЧЕНЬ ПРОСТО! 425
Глава 16. Язык Бэкуса-Наура 427
Ответы на вопросы и задания 427
Глава 17. Кукарача и лексический анализ выражений 432
Определение 1 432
Решение задач 434
17.5. Задачи 434
Глава 18. Ах уж эта рекурсия! 448
Удивительная рекурсия 448
Подводные камни рекурсии 451
Первый камень 451
Второй камень 452
Третий камешек (в адрес косвенной рекурсии) 452
Классификация типов рекурсии 452
Прямая и косвенная рекурсия 452
Терминальные и нетерминальные рекурсии 455
Решение задач 457
18.2. Задачи 457
Глава 19. Лексический анализатор в среде Корректора 467
19.2. Задачи 467
Глава 20. Построение трансляторов 483
Решение задачи 483
Задача 2 483
Уважаемые коллеги!
Мы с вами любим информатику, а особенно, — что греха таить! — программирование.
Ведь программирование — это математика информатики: «ум в порядок приводит», и
её музыка: доставляет изысканное наслаждение!
Мы с вами, конечно, вкусили, вкушаем и, надо думать, будем вкушать яблочки с
этого дерева, пусть не самые крупные, но не менее сладкие и полезные, насыщенные
витамином увлечённости и азарта.
К сожалению, в последнее время интерес молодежи к программированию угасает. Как
жаль! Ведь программирование — не только замена пустому времяпрепровождению.
Программирование — это солидный багаж для вступления в успешную жизнь. Спрос на
программистов только растёт. И получают они за свою работу хорошие деньги.
Гораздо большие, чем простые компьютерные пользователи.
А чем сейчас увлекается молодежь на компьютерах? Правильно: в основном
игрушками. Кому нужны такие «спецы»?
В Роботландском университете есть несколько программистских курсов: Азы
программирования (31), Буки программирования (32), Web-программирование (43).
Каждый из этих курсов не просто интересен, но и уникален. Но в основе всех их
лежат подходы, которые восходят к великому Дийкстре.
Классик Э. Дийкстра говорил, что самый главный язык, который должен знать
программист, — это свой родной, на котором он изъясняется в повседневной жизни.
Иными словами, соль программирования не в языке программирования, а в умении
чётко сформулировать задачу, выдвинуть идею решения, разработать алгоритм! И
только потом перевести алгоритм в программу, записав несколько заклинаний на
языке посвященных!
Этот тезис особенно ярко проявляет свою суть в «Азах программирования». Здесь
нет проблем с языком — он тривиален, а идей, алгоритмов — выше головы!
О том, как читать книги в форматах pdf, djvu - см. раздел "Программы; архиваторы; форматы pdf, djvu и др."
.
Начальная школа |
||
|
||
|