Виртуальные конструкторы в учебной работе реферат

Обновлено: 17.05.2024

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

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

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

Фабричные методы, например, на базе обобщенного конструктора (паттерны Factory Method и Prototype), также предназначены для создания объектов без указания их конкретных типов, однако их поведение отлично от поведения виртуального конструктора.

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

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

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

ВложениеРазмер
igry_kompyuternogo_konstruirovaniya.docx 413.66 КБ

Предварительный просмотр:

Реферат по теме

Студентки группы 205

Терентьевой Елены Витальевны

"Впервые в истории мы являемся свидетелями подлинной

революции в обучении замены учения (запоминания,

приобретения навыков, достижения автоматизма

в поведении, условных рефлексов и т.д.)

(стимуляцией конструктивно-диалектического и гипотетико-

дедуктивного мышления и игровой деятельности)."

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

Познание мира осуществляется ребенком практическим путем – он обследует предметы и явления, будит чувства и воображение, проявляет творчество.

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

Все познавательные процессы развиваются в деятельности ребенка, и сами они представляют собой особые виды деятельности.

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

В развитии ребенка современная психология выделяет несколько возрастных периодов.

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

Всякий, кто хоть немного наблюдал за ребенком, знает какое большое место в его жизни занимает игра. Что же такое игра? Игра – это работа ребенка над самим собой. Мир вступил в третье тысячелетие. И уже сейчас нужны подготовленные для работы в новых условиях люди. Надобность в них станет еще более актуальной в самое ближайшее время. Использование компьютеров в образовании и развитии ребенка уже перестало быть необычным явлением. Характеристики и возможности современных персональных компьютеров и программного обеспечения постоянно улучшаются. Способность компьютера воспроизводить информацию одновременно в виде текста, графического изображения, звука, речи, видео, запоминать и с огромной скоростью обрабатывать данные позволяет специалистам создавать для детей новые средства деятельности, которые принципиально отличаются от всех существующих игр и игрушек. Все это предъявляет качественно новые требования и к дошкольному воспитанию - первому звену непрерывного образования, одна из главных задач которого - заложить потенциал обогащенного развития личности ребенка. Поэтому в систему дошкольного воспитания и обучения необходимо внедрять новые информационные технологии. Также грамотное использование компьютера ставит ребенка в совершенно новую, качественно отличающуюся ситуацию развития. В настоящее время существует множество компьютерных игр, главное – правильно выбрать цель и поставить перед ребенком задачу её достижения.

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

Благодаря особенностям устройства компьютера (наличие клавиатуры, экрана, на котором продуцируется та или иная информация, вызванная ребенком из электронного "мозга" с помощью клавиатуры или "мышки") осуществляется интеллектуальная подготовка к обучению в школе.

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

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

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

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

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

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

Кроме нормативных воспитательно-образовательных стандартов, малыши показывают более высокий уровень "школьной готовности" и естественно вхождение в мир взрослых, в завтрашний мир.

У ребенка развивается:

  1. восприятие, зрительно-моторная координация, образное мышление;
  2. познавательная мотивация, произвольная память и внимание;
  3. “знаковая функция сознания”;

Например: в игре по конструированию “Построй дом” игровой задачей предусматривается помочь котенку построить дом, а дидактическая – выделить конфигурацию плоскостных фигур с целью объединения их в одно целое (конфигурация каждый раз меняется – ребенок должен подобрать фигуру для своего варианта).

Необходимо диагностировать усвоение ребенком разделов базовой образовательной программы. Как показывает многолетняя практика уровень усвоения базовой образовательной программы постоянно повышается. Управление компьютером (клавиатурой, мышью) усваивается детьми автоматически.

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

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

Результаты диагностики и анализ усвоения детьми образовательной программы нужно использовать для того, чтобы помочь ребенку преодолеть трудности в усвоении образовательной программы, обратить внимание воспитателей и специалистов на проблему и совместно решить её.

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

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

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

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

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

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

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

Компьютерные игры ориентируются на развитие у ребенка определенных знаний, навыков, способностей. Как правило, в компьютерных играх от ребенка требуется:

- Владение средствами управления, быстрота и точность манипуляций;

- Быстрая и правильная реакция на происходящие события;

- Чувство времени, умение выдерживать заданные временные интервалы;

- Способность следить за несколькими объектами одновременно;

- Знание географии игрового поля, законов игрового мира;

- Знание конкретной предметной области, которая моделируется в игре;

- Умение искать закономерности;

- Умение предугадывать действия противника;

- Знание алгоритма и стратегии выигрыша;

- Способность к быстрому и максимально полному перебору основных вариантов;

- Память на текущие события;

- Использование прошлого опыта, что происходило в предыдущих сеансах игры;

Описание:
В настоящее время учебных виртуальных конструкторов (учебных сред) изобретено мало, хотя в условиях быстрой компьютеризации общества они приобретают все большую популярность. Их идея довольно проста. Можно дать ребенку возможность наблюдать за ходом физического эксперимента на экране компьютера, а можно позволить ему самому этот эксперимент ставить - расположить наклонные плоскости, гирьки, тележки, бильярдные шары, планеты Солнечной системы, электроны и пешеходов и посмотреть, что получиться. И не только посмотреть, но, если надо, получить все графики во всех осях координат и т. д. Сложна ли постановка виртуального эксперимента? Не сложнее, чем рассказ о ней и много проще, чем реальная постановка. Возможность постановки виртуального эксперимента, а, если нужно, и сотен и тысяч экспериментов, радикально меняет учебный процесс.

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

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

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

Обучение при использовании виртуальных конструкторов становится более интерактивным. Интерактивное обучение основано на прямом взаимодействии учащихся (обучаемых) с учебным окружением. Учебное окружение, или учебная среда, выступает как реальность, в которой участники находят для себя область осваиваемого опыта.

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

  • Для учеников 1-11 классов и дошкольников
  • Бесплатные сертификаты учителям и участникам

Виртуальные конструкторы

Для того чтобы создать объект, конструктор должен знать его точный тип. Следовательно, конструктор не может быть виртуальным. Более того, конструктор является не совсем обычной функцией. В частности, он взаимодействует с процедурами управления памятью способом, недоступным обычным функциям-членам класса. Как следствие, невозможно получить указатель на конструктор.

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

Base( const Base& b);

virtual Base* Create()

virtual Base* Clone()

// Создание нового объекта

Для создания объекта собственного типа производный класс может заместить функции Create() и/или Clone() .

class Derived : public Base

Derived( const Derived& d);

Теперь имея объект класса Base или производного от него класса, можно создать новый объект такого же типа.

// Указатель, присвоенный p1 , имеет корректный, но неизвестный тип

Значения, возвращаемые функциями Derived::Create() и Derived::Clone() , имеют тип Derived* , а не Base* . Это позволяет при необходимости создавать новые объекты без потери информации о типе.

void f2(Derived *p)

Тип подменяющей функции должен быть таким же, как тип виртуальной функции, которую она подменяет, за исключением того, что допускаются послабления по отношению к типу возвращаемого значения. Если исходный тип возвращаемого значения был B* , то тип возвращаемого значения подменяющей функции может быть D* при условии, что B является открытым базовым классом для D . Аналогично, вместо B& тип возвращаемого значения может быть ослаблен до D& .

Краткое описание документа:

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

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

Читайте также: