Методика изучения темы программирования в курсе информатика

Автор работы: Пользователь скрыл имя, 06 Февраля 2012 в 10:25, курсовая работа

Описание работы

Другой возможный классификационный критерий языков программирования — это революционные идеи программирования, воплотившиеся в соответствующих решениях: структурное программирование, модульное программирование, объектно-ориентированное программирование. Однако и тут четкой классификации не получится. К примеру, Паскаль возник как "продукт" структурной революции, удачно впитал в себя идеи революции "модульной", и сегодня существует практически на всех компьютерных платформах в объектно-ориентированных воплощениях. Другой пример: приверженцы языка С++, как правило, самым важным его достоинством называют объектно-ориентированное программирование.

Файлы: 1 файл

Методика изучения темы программирования и алгоритмирования в курсе информатика.doc

— 238.50 Кб (Скачать файл)

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

     Полиморфизм означает, что разные объекты могут  описывать различные реализации одного и того же метода.

     Строгая типизация предотвращает смешивание абстракций.

     Параллелизм.

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

     Параллелизм — это свойство, отличающее активные объекты от пассивных.

     Параллелизм позволяет различным объектам действовать  одновременно.

     Сохраняемость любой программный объект существует в памяти и живет во времени. Аткинсон предположил, что есть непрерывное множество продолжительности существования объектов: существуют объекты, которые присутствуют лишь во время вычисления выражения, но есть и такие, как базы данных, которые существуют независимо от программы. Этот спектр сохраняемости объектов охватывает:

     "Промежуточные  результаты вычисления выражений. 

     Локальные переменные в вызове процедур.

     Собственные переменные, глобальные переменные и  динамически создаваемые данные.

     Данные, сохраняющиеся между сеансами выполнения программы.

     Данные, сохраняемые при переходе на новую  версию программы.

     Данные, которые вообще переживают программу" .

     Традиционно, первыми тремя уровнями занимаются языки программирования, а последними — базы данных. Этот конфликт культур приводит к неожиданным решениям: программисты разрабатывают специальные схемы для сохранения объектов в период между запусками программы, а конструкторы баз данных переиначивают свою технологию под короткоживущие объекты.

     Языки программирования, как правило, не поддерживают понятия сохраняемости; примечательным исключением является Smalltalk, в котором  есть протоколы для сохранения объектов на диске и загрузки с диска. Однако, записывать объекты в неструктурированные файлы — это подход, пригодный только для небольших систем.

     До  сих пор мы говорили о сохранении объектов во времени. В большинстве  систем объектам при их создании отводится  место в памяти, которое не изменяется и в котором объект находится всю свою жизнь. Однако для распределенных систем желательно обеспечивать возможность перенесения объектов в пространстве, так, чтобы их можно было переносить с машины на машину и даже при необходимости изменять форму представления объекта в памяти.

     Определим сохраняемость следующим образом:

     Сохраняемость — способность объекта существовать во времени, переживая породивший его  процесс, и (или) в пространстве, перемещаясь  из своего первоначального адресного  пространства.

     Сохраняемость поддерживает состояние и класс объекта в пространстве и во времени.

3.2 Характеристики языков программирования с точки зрения элементов объектной модели

 

     Приведем  характеристики объектно-ориентированных  языков программирования с точки  зрения семи основных элементов объектной модели. 

     Табл.3.2.1 «Основные характеристики Smalltalk»

Абстракции Переменные  экземпляра  
Методы экземпляра  
Переменные класса  
Методы класса
Да 

Да 

Да 

Да

Инкапсуляция Переменных 

Методов

Закрытые 

Открытые

Модульность Разновидности модулей Нет
Иерархии Наследование 

Шаблоны

Метаклассы

Одиночное

Нет

Да

Типизация Сильная типизация  
Полиморфизм
Нет

Да (одиночный)

Параллельность Многозадачность Непрямая (посредством  классов)
Сохраняемость Долгоживущие  объекты Нет
 

     Табл.3.2.2 «Основные характеристики Object Pascal»

Абстракции Переменные  экземпляра  
Методы экземпляра  
Переменные класса  
Методы класса
Да 

Да 

Нет

Нет

Инкапсуляция Переменных 

Методов

Открытые 

Открытые

Модульность Разновидности модулей Модуль (unit)
Иерархии Наследование 

Шаблоны

Метаклассы

Одиночное

Нет

Нет

Типизация Сильная типизация  
Полиморфизм
Да 

Да (одиночный)

Параллельность Многозадачность Нет
Сохраняемость Долгоживущие  объекты Нет
 

     Табл.3.2.3. «Основные характеристики C++»

Абстракции Переменные  экземпляра  
Методы экземпляра  
Переменные класса  
Методы класса
Да  
Да  
Да  
Да
Инкапсуляция Переменных  
Методов
Открытые, защищенные, закрытые  
Открытые, защищенные, закрытые
Модульность Разновидности модулей файл
Иерархии Наследование  
Шаблоны  
Метаклассы
Множественное  
Да  
Нет
Типизация Сильная типизация  
Полиморфизм
Да  
Да (одиночный)
Параллельность Многозадачность Непрямая (посредством  классов)
Сохраняемость Долгоживущие  объекты Нет
 

     Табл.3.2.4 «Основные характеристики CLOS(Common Lisp Object System)»

Абстракции Переменные  экземпляра  
Методы экземпляра  
Переменные класса  
Методы класса
Да  
Да  
Да  
Да
Инкапсуляция Переменных  
Методов
Чтение, запись, доступ  
Открытые
Модульность Разновидности модулей Пакет
Иерархии Наследование  
Шаблоны  
Метаклассы
Множественное  
Нет  
Да
Типизация Сильная типизация  
Полиморфизм
Возможна  
Да (множественный)
Параллельность Многозадачность Да
Сохраняемость Долгоживущие  объекты Нет
 

     Табл.3.2.5 «Основные характеристики Ada»

Абстракции Переменные  экземпляра  
Методы экземпляра  
Переменные класса  
Методы класса
Да  
Да  
Нет  
Нет
Инкапсуляция Переменных  
Методов
Открытые, закрытые  
Открытые, закрытые
Модульность Разновидности модулей Пакет
Иерархии Наследование  
Шаблоны  
Метаклассы
Нет (входит в Ada9x)  
Да  
Нет
Типизация Сильная типизация  
Полиморфизм
Да  
Нет (входит в Ada9x)
Параллельность Многозадачность Да
Сохраняемость Долгоживущие  объекты Нет
 

     Табл.3.2.6 «Основные характеристики Eiffel»

Абстракции Переменные  экземпляра  
Методы экземпляра  
Переменные класса  
Методы класса
Да  
Да  
Нет  
Нет
Инкапсуляция Переменных  
Методов
Закрытые  
Открытые, закрытые
Модульность Разновидности модулей Блок (unit)
Иерархии Наследование  
Шаблоны  
Метаклассы
Множественное  
Да  
Нет
Типизация Сильная типизация  
Полиморфизм
Да  
Да
Параллельность Многозадачность Нет
Сохраняемость Долгоживущие  объекты Нет

 

     

3.3 Методика изучения  раздела программирование  в дисциплине информатика

 

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

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

     Современные профессии становятся все более  интеллектоёмкими, требующими развитого  логического мышления. Опоздание с развитием мышления – это опоздание навсегда. Поэтому для подготовки детей к жизни в современном информационном обществе в первую очередь необходимо развивать логическое мышление, способности  к  анализу и синтезу. Наиболее доступный материал для развития мышления – это изучение темы «Алгоритмы» и обучение построению алгоритмов при решении любой задачи. Алгоритмическое мышление является необходимой частью научного взгляда на мир. В то же время оно включает и некоторые общие мыслительные навыки, полезные и в более широком контексте. К таким относится, например, разбиение задачи на подзадачи.

Информация о работе Методика изучения темы программирования в курсе информатика