Автор работы: Пользователь скрыл имя, 06 Февраля 2012 в 10:25, курсовая работа
Другой возможный классификационный критерий языков программирования — это революционные идеи программирования, воплотившиеся в соответствующих решениях: структурное программирование, модульное программирование, объектно-ориентированное программирование. Однако и тут четкой классификации не получится. К примеру, Паскаль возник как "продукт" структурной революции, удачно впитал в себя идеи революции "модульной", и сегодня существует практически на всех компьютерных платформах в объектно-ориентированных воплощениях. Другой пример: приверженцы языка С++, как правило, самым важным его достоинством называют объектно-ориентированное программирование.
Сильная
типизация заставляет нас соблюдать
правила использования
Полиморфизм означает, что разные объекты могут описывать различные реализации одного и того же метода.
Строгая
типизация предотвращает
Параллелизм.
Есть задачи, в которых автоматические системы должны обрабатывать много событий одновременно. В других случаях потребность в вычислительной мощности превышает ресурсы одного процессора. В каждой из таких ситуаций естественно использовать несколько компьютеров для решения задачи или задействовать многозадачность на многопроцессорном компьютере. Процесс (поток управления) — это фундаментальная единица действия в системе. Каждая программа имеет по крайней мере один поток управления, параллельная система имеет много таких потоков: век одних недолог, а другие живут в течении всего сеанса работы системы. Реальная параллельность достигается только на многопроцессорных системах, а системы с одним процессором имитируют параллельность за счет алгоритмов разделения времени.
Параллелизм — это свойство, отличающее активные объекты от пассивных.
Параллелизм позволяет различным объектам действовать одновременно.
Сохраняемость любой программный объект существует в памяти и живет во времени. Аткинсон предположил, что есть непрерывное множество продолжительности существования объектов: существуют объекты, которые присутствуют лишь во время вычисления выражения, но есть и такие, как базы данных, которые существуют независимо от программы. Этот спектр сохраняемости объектов охватывает:
"Промежуточные
результаты вычисления
Локальные переменные в вызове процедур.
Собственные переменные, глобальные переменные и динамически создаваемые данные.
Данные, сохраняющиеся между сеансами выполнения программы.
Данные, сохраняемые при переходе на новую версию программы.
Данные, которые вообще переживают программу" .
Традиционно, первыми тремя уровнями занимаются языки программирования, а последними — базы данных. Этот конфликт культур приводит к неожиданным решениям: программисты разрабатывают специальные схемы для сохранения объектов в период между запусками программы, а конструкторы баз данных переиначивают свою технологию под короткоживущие объекты.
Языки программирования, как правило, не поддерживают понятия сохраняемости; примечательным исключением является Smalltalk, в котором есть протоколы для сохранения объектов на диске и загрузки с диска. Однако, записывать объекты в неструктурированные файлы — это подход, пригодный только для небольших систем.
До сих пор мы говорили о сохранении объектов во времени. В большинстве систем объектам при их создании отводится место в памяти, которое не изменяется и в котором объект находится всю свою жизнь. Однако для распределенных систем желательно обеспечивать возможность перенесения объектов в пространстве, так, чтобы их можно было переносить с машины на машину и даже при необходимости изменять форму представления объекта в памяти.
Определим
сохраняемость следующим
Сохраняемость
— способность объекта
Сохраняемость поддерживает состояние и класс объекта в пространстве и во времени.
Приведем
характеристики объектно-ориентированных
языков программирования с точки
зрения семи основных элементов объектной
модели.
Табл.3.2.1 «Основные характеристики Smalltalk»
|
Табл.3.2.2 «Основные характеристики Object Pascal»
|
Табл.3.2.3. «Основные характеристики C++»
|
Табл.3.2.4 «Основные характеристики CLOS(Common Lisp Object System)»
|
Табл.3.2.5 «Основные характеристики Ada»
|
Табл.3.2.6 «Основные характеристики Eiffel»
|
Основные понятия, с которыми учащиеся знакомятся в курсе изучаемого раздела, это - алгоритм, исполнитель алгоритма, система команд исполнителя, способы записи алгоритма, формальное исполнение алгоритма, алгоритмический язык, блок схема, линейный, разветвляющийся, циклический, и вспомогательный алгоритмы, системы программирования.
В обыденной жизни дети не встречаются с этими понятиями дословно, но они находят применение алгоритмов в различной деятельности человека, о чем важно сообщить детям на первом же уроке и подтвердить это примерами.
Современные профессии становятся все более интеллектоёмкими, требующими развитого логического мышления. Опоздание с развитием мышления – это опоздание навсегда. Поэтому для подготовки детей к жизни в современном информационном обществе в первую очередь необходимо развивать логическое мышление, способности к анализу и синтезу. Наиболее доступный материал для развития мышления – это изучение темы «Алгоритмы» и обучение построению алгоритмов при решении любой задачи. Алгоритмическое мышление является необходимой частью научного взгляда на мир. В то же время оно включает и некоторые общие мыслительные навыки, полезные и в более широком контексте. К таким относится, например, разбиение задачи на подзадачи.
Информация о работе Методика изучения темы программирования в курсе информатика