• в чем в принципе заключается рекурсия и как она реализована на Паскале.
Учащиеся должны уметь:
• выделять вспомогательные алгоритмы в несложных задачах;
• формировать процедуры и функции;
• правильно строить обращения к процедурам и функциям.
Тема «Структурированные типы данных»
Учащиеся должны знать:
• какие структурированные типы данных есть в языке Турбо Паскаль;
• как формально определять в программе типы «массив», «строка», «множество», «запись», «файл»;
• какими свойствами обладают данные указанных типов;
• какие операции возможны над величинами указанных типов.
Учащиеся должны уметь:
• при решении содержательных задач, в которых целесообразно пользоваться структурированными данными, адекватно выбирать подходящую из перечисленных выше структур;
• пользоваться комбинациями структур данных (типа «массив записей» и т. д.).
Тема «Важнейшие нечисловые алгоритмы
(поиск и сортировка)»
Учащиеся должны знать:
• в чем состоит общая постановка задач: поиска, внутренней сортировки, внешней сортировки;
• почему задачи поиска и сортировки столь важны в прикладном плане;
• чем отличается поиск в отсортированной структуре и в неотсортированной;
• чем характеризуется эффективность сортировки.
Учащиеся должны уметь:
• воспроизвести простейшие алгоритмы сортировки линейных числовых массивов и поиска в упорядоченном массиве;
• распространить эти алгоритмы на сортировку и поиск в нечисловых массивах, массивах записей.
Тема «Модули»
Учащиеся должны знать:
• значимость возможности создания модулей для профессионального языка программирования;
• особенности трансляции модулей;
• структуру модулей в Турбо Паскале.
Учащиеся должны уметь:
• пользоваться готовыми модулями и разбираться в их структуре, назначении отдельных разделов;
• пользоваться стандартным модулем Crt.
Тема «Графические возможности Турбо Паскаля»
Учащиеся должны знать:
• состав модуля Graph (по разделам);
• основные установочные процедуры;
• основные процедуры построения графических примитивов.
Учащиеся должны уметь:
• строить несложные изображения, используя установочные процедуры и графические примитивы;
• строить графики функций.
Тема «Ссылочный тип
и динамические структуры данных»
Учащиеся должны знать:
• в чем заключается принципиальное различие между динамическими и статическими структурами данных;
• какие основные динамические структуры данных принято выделять в современном программировании;
• как технически создаются динамические объекты в Турбо-Паскале.
Учащиеся должны уметь:
• создавать простейшие динамические структуры данных (стек, очередь и тому подобное);
• анализировать небольшую программу, в которой используются динамические структуры данных.
15.3. Тематическое планирование курсов
программирования на Паскале
Курс «Программирование на языке Паскаль», разработанный и , рассчитан на 68 часов (т. е. X или XI кл. по 2 часа в неделю). Его естественным продолжением может стать курс объектно-ориентированного программирования.
Курс снабжен полным набором учебно-методического обеспечения, включая учебное пособие, задачник, набор тестов для контроля.
Основное учебное пособие по курсу выстроено по типу лекций. Каждая лекция — дидактическая единица, требующая примерно одинакового времени на изложение теоретического материала (по 2 часа). Всего курс исходит из 32—36 часов лекций и 32—36 часов практических занятий. Каждое практическое занятие подкрепляет изучение материала соответствующей лекции (за немногими исключениями чисто теоретических тем). Таким образом, приведенное ниже тематическое планирование в целом определяет и поурочное планирование.
Лекция 1.
1.1. История и классификация языков программирования высокого уровня.
1.2. Первое знакомство с Паскалем.
Лекция 2.
2.1. Некоторые сведения о системе Турбо Паскаль.
2.2. Способы описания языка программирования.
Лекция 3.
3.1. Элементы языка Турбо Паскаль.
3.2. Типы данных.
Лекция 4.
4.1. Структура Паскаль-программы.
4.2. Арифметические операции, функции, выражения. Оператор присваивания для арифметических выражений.
4.3. Ввод с клавиатуры и вывод на экран.
4.4. Управление символьным выводом на экран в Турбо Паскале.
Лекция 5.
5.1. Логические величины, операции, выражения. Оператор присваивания для логических выражений.
5.2. Функции, связывающие различные типы данных.
Лекция 6.
6.1. Логические выражения в управляющих операторах.
6.2. Цикл по параметру.
6.3. Особенности целочисленной и вещественной арифметики.
Лекция 7.
7.1. Подпрограммы-процедуры.
7.2. Подпрограммы-функции.
7.3. Еще раз об области действия описаний.
7.4. Рекурсивные подпрограммы.
Лекция 8.
8.1. Что такое рекуррентная последовательность.
8.2. Программирование вычислений рекуррентных последовательностей.
Лекция 9.
9.1. Основные понятия и средства машинной графики в Турбо Паскале.
9.2. Как построить график функции.
Лекция 10.
10.1. Строковый тип данных.
10.2. Первый опыт «серьезного» программирования.
Лекция 11.
11.1. Табличные данные и массивы. Лекция 12.
12.1. Понятие множества. Множественный тип.
12.2. Операции над множествами.
12.3. Примеры использования множеств.
Лекция 13.
13.1. Файлы. Файловые переменные.
13.2. Внешние файлы.
13.3. Текстовые файлы.
Лекция 14.
14.1. Комбинированный тип данных.
14.2. Работа с файлами записей.
Лекция 15.
15.1. Динамическая память и указатели.
15.2. Связанные списки.
Лекция 16.
16.1. Организация внешних подпрограмм.
16.2. Создание и использование модулей.
Лекция 17.
17.1. Задачи поиска, метод перебора.
17.2. Перебор с возвратом.
Лекция 18.
18.1. Задачи на длинную арифметику.
15.4. Методика обучения
объектно-ориентированному
программированию
Объектно-ориентированное программирование в настоящее время занимает ведущее место в разработке профессиональных программных средств. Ознакомление с его основами в школьном курсе информатики второго уровня представляется вполне возможным и полезным для тех учащихся, которые ориентируются на профессии, связанные с разработкой компьютерных программ.
В ходе изучения данного курса будут решены три круга задач:
• освоение методологии объектно-ориентированного программирования;
• овладение техникой объектно-ориентированного программирования на одном из языков;
• введение учащихся в проблематику, адекватную данному подходу, расширение общего кругозора (т. е. общеобразовательный компонент).
При этом немаловажную роль играет выбор языка программирования. Быстро растущая популярность визуального программирования (которое не тождественно классическому объектному, но связано с ним многими общими идеями) в системах программирования типа Delphi, Visual Basic, C++Builder делает привлекательной идею положить одну из них в основу курса. На этот счет в педагогической литературе высказываются различные точки зрения.
Одна из них состоит в том, *гго несомненная занимательность и облегченность создания программ визуально-объектным способом не вполне соответствует усвоению идей и методов объектного программирования при проведении относительно короткого спецкурса. Другие аргументы в пользу ориентации в школьном курсе информатики на традиционные объектные средства, содержащиеся в версиях языка Турбо Паскаль от 5.5 до 7.0, — несомненная преемственность по отношению к курсу программирования на Паскале, существенно меньшие требования к компьютерам (поскольку объем программного кода, создаваемого с помощью визуальных средств, обычно весьма велик).
Другая, в значительной мере противоположная точка зрения связана с ориентацией в первую очередь на систему программирования Delphi (реже — на Visual Basic). Delphi является системой объектного программирования, созданной на базе Паскаля; по оценке специалистов, ее профессиональный уровень очень высок. Фирма Borland (в начале 1990-х гг. сменила название на Inprise), создавшая повсеместно используемый для обучения программированию язык Турбо Паскаль, вложила в Delphi максимально комфортный для разработчиков и пользователей интерфейс в стиле Windows. Delphi 4.0 является одновременно средством разработки приложений для архитектуры «клиент-сервер», приложений для Internet, корпоративных систем доступа к данным. Вместе с тем отнюдь неочевидно, что все эти возможности можно (и надо) как-то отразить в небольшом школьном курсе информатики.
В любом случае следует понимать, что методика изучения в школе любых видов объектного программирования разработана совершенно недостаточно и что этот процесс в настоящее время, по существу, находится на начальной стадии. Авторам данного пособия неизвестно ни одного руководства по объектно-ориентированному программированию, которое удовлетворяло бы требованиям школьной методики.
Поскольку мы ориентируемся на реально существующие курсы, по которым накоплен определенный методический опыт, то в данном подразделе нет развернутых рекомендаций по преподаванию объектно-ориентированного программирования. Вместе с тем совсем обойти эту тему нельзя, так как данный подход к программированию быстро теснит другие, и это вскоре найдет отражение в школьной информатике. Конкретные методические приемы изучения указанных выше вопросов учитель может разрабатывать сам, используя приведенную в указателе каждой главы литературу.
Опишем ниже кратко два варианта школьного курса объектно-ориентированного программирования; оба реализованы практически. Один из них ориентирован на более традиционные средства Object Pascal, другой — на Delphi.
Курс «Основы объектно-ориентированного программирования», разработанный [5] (Челябинский гос. пед. ун-т), рассчитан на 34 часа и рассматривается разработчиком как продолжение курса «Программирование на Паскале», в котором вопросы объектно-ориентированного программирования не обсуждаются. Курс может быть реализован в школе с углубленным изучением информатики (скорее всего, в XI кл.).
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 |


