Разработка видеолекций по программированию С++

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 18.05.2016
Размер файла 1,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

МИНИСТЕРСВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

"КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ"

(ФГБОУ ВПО "КубГУ")

Кафедра вычислительной математики и информатики

Факультет математики и компьютерных наук курс 4

Направление 02.03.01 Математика и компьютерные науки

ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА БАКАЛАВРА

Разработка видеолекций по программированию С++

Работу выполнил Леонов

Научный руководитель

доктор физ.-мат. наук, профессор

К.А. Лебедев

Краснодар

2015

Содержание

  • Введение
  • 1. Преимущества и недостатки видеолекций
  • 2. Выбор видеоредактора и среды разработки
  • 3. Особенности языка программирования С++
  • 3.1 Объектно ориентированный подход
  • 3.2 Преимущества и недостатки языка программирования С++
  • 4. Запись и редактирования видеоуроков
  • 5. Видеолекции
  • Заключение
  • Список использованных источников
  • Введение
  • Видео обучение является одной из форм дистанционного обучения, представляющая собой набор систематически подобранных видеолекций по заданной теме, записанных с экрана монитора с помощью специальных программ с комментариями к уроку, либо снятых с озвучиванием на видеокамеру. Часто применяются средства компьютерной анимации для увеличения наглядности и интерактивности урока.
  • Преимущество видеолекций состоит в их доступности, в любое время студент может получить доступ к материалам, ознакомиться м ними и проработать непонятные моменты. Видео уроки могут распространяться с помощью Интернет-ресурсов, а так же на переносных носителях информации. Видеолекции применяются чаще для самообучения, либо как вспомогательные материалы к уже имеющимся средствам обучения.
  • Комбинация аудио и видео способствует стимулированию запоминания, развитию внимания и мышления (усвоение видеоинформации со звуковым сопровождением составляет 51 % после первого же просмотра, против 9 % для печатного текста и 17 % для аудиозаписи).
  • Объект исследования: процесс формирования навыков работы с языком программирования С++.
  • Цель работы: Разработка видеолекций для студентов по теме "Объектно-ориентированное программирование на языке C++".
  • 1. Преимущества и недостатки видеолекций
  • С распространением интернета стало меняться отношение к образованию. Получили распространение такие форму обучения, как дистанционное обучение и самообучение, для которых и можно использовать видеолекции.
  • Любой преподаватель, при наличии определенных знаний и навыков может записать учебный материал в форме виде лекции. Получение знаний с помощью видеолекций уже набрало популярность.
  • Преимуществами обучения с помощью видеоматериалов является:
  • - возможность обучения в домашних условиях в удобное время;
  • - возможность изучать материал в любом объеме;
  • - пользователь воспринимает данный ему материал двумя органами чувств - зрение и слух;
  • - возможность использовать средства управления воспроизведения: переходить к определенным моментам записи, регулировать громкость, воспроизводить видеозапись по кадрам, регулировать скорость воспроизведения, а так же регулировать размер изображения;
  • - материал будет хорошо структурирован и продемонстрирован максимально наглядно.
  • Однако, у такой формы обучения есть недостатки:
  • - различие видеолекций у разных авторов по качеству и полезности;
  • - низкая интерактивность, а так же вытекающие из нее недостаточная глубина решения задач и сложности индивидуализации обучения.
  • Следует различать видеолекцию как самостоятельный вид средства обучения и мультимедийный компонент в составе других средств обучения. Во втором случае в мультимедийных записях выделяются фрагменты, ассоциируемые с различными элементами содержания средств обучения, а отражаемые в них сведения также воплощаются в текстовых и графических представлениях, охватываемых системой гиперсвязей. В результате мультимедийные записи, сохраняя целостность, приобретают определенную интерактивность, так как их фрагменты вовлекаются в общую систему гиперсвязей, накладываемых на учебный материал и становятся доступными из разных мест компьютерного средства обучения.
  • Для создания мультимедиа уроков используются следующие технические средства:
  • - компьютер;
  • - видеоаппаратура;
  • - аудиоаппаратура.
  • К программным средствам относятся:
  • - средства записи видео и аудиоматериалов с периферийных устройств;
  • - средства создания и обработки видео и аудио материалов.
  • Выделяются два метода создания видеолекций:
  • - запись при помощи видеокамеры;
  • - запись с экрана монитора.
  • В первом случае может быть записано реальное учебное занятие или мероприятие, такие, как лекция, семинар, беседа, экскурсия, демонстрация изучаемой технологии и оборудования, научный или производственный эксперимент.
  • Во втором способе записывается сигнал в специальном формате с монитора, телевизора и другой техники и производится последующая его обработка.
  • Запись производится с помощью специального программного обеспечения, имеющего большое количество настроек. Аудиодорожка может записываться как вместе с видео так и отдельно с последующим наложением на видеоряд.
  • Выбор методов записи звука зависит от возможностей аппаратуры, способа обработки звука и желаемого результата.
  • Плюсами записи голосового сопровождения является экономия времени, так как аудио и видео пишутся сразу, а так жене требуется последующего видеомонтажа. Минусами же являются сложность записи.
  • После записи материалов необходимо приступать к процессу видеомонтажа. Для этого существует большое количество программных продуктов, позволяющих производить обработку видео и аудио материалов, добавлять анимацию, текст и субтитры, а так же разные эффекты.
  • 2. Выбор видеоредактора и среды разработки
  • Для записи и монтажа видео нам потребуется воспользоваться программой, включающей набор инструментов, позволяющих редактировать видеофайлы.
  • Для работы с видео, видеоредактор предлагает создать проект, представляющий совокупность всех изменений и настроек, записанных в отдельном файле проекта.
  • В настоящее время существует большое количество видеоредакторов, позволяющих выполнять различный спектр задач. Разберем несколько и остановим свой выбор на одном из них.
  • Sony Vegas - это профессиональная программа для многодорожечного монтажа, редактирования аудио и видео потоков. Предоставляет возможность работать с большим количеством аудио и видео дорожек,а так же с несколькими процессорами и мониторами.
  • Позволяет работать с материалом в таких распространенных форматах, как: MPEG-1, MPEG-2, AVI, Quick Time, Real Video, Windows Media Video, Ogg, SWF и др.
  • Плюсами является широкий набор средств для обработки звука и видео, обработка видео в реальном времени, возможности ускорения или замедления видео. Однако есть и минусы: набор эффектов наложения текста на видео может оказаться недостаточным, сложность в настройке формата видео и выборе качества.
  • Adobe Premiere Pro - профессиональная программ для видеомонтажа от Adobe Systems.
  • Предоставляет возможности высококачественного видеомонтажа в разрешении 4K и выше, с 32-битовым цветом в RGB и YUV, редактирования аудио дорожек, поддержки аудиоплагинов, звуковых дорожек 5.1 Surround. Позволяет работать с материалами большого количества аудио и видео форматов.
  • Плюсами являются возможность работать с файлами высокого разрешения, широкие возможности по созданию специальных эффектов и большая популярность программы, вследствие чего большое количество обучающих материалов по работе с ней. Минусами программы являются высокие системные требования, нестабильная работа, создание больших временных файлов, а так же высокая стоимость.
  • Windows Movie Maker - программа для создания и редактирования видеоклипов. Входит в комплект программ, поставляемых с операционными системами семейства Microsoft Windows, начиная с Windows ME. Обновлённая версия программы включена в Windows XP, Windows XP Media Center Edition и Windows Vista. После релиза Windows Vista поддержка программы была прекращена. На замену ей официально была предложена Киностудия Windows, которая входит в состав пакета бесплатных основных компонентов Windows Live компании Microsoft.
  • Минусами является отсутствие поддержки некоторых видеоформатов, отсутствие версии для операционных систем не Windows, небольшой набор возможностей. Однако программа бесплатна и поставляется с операционной системой.
  • Camtasia Studio - программа для захвата изображения с экрана, так же позволяет производить монтаж аудио и видео. Программа предлагает гибкий и дружественный интерфейс и плавный процесс работы. Плюсами являются удобный интерфейс, простой и мощный редактор видео, большое количество поддерживаемых форматов, поддержка HD-видео. Минусом является небольшое набор инструментов для работы со звуком.
  • С учетом достоинств и недостатка рассмотренных программ, предпочтительным выбором стала Camtasia Studio, как наиболее удобная в использовании программа для захвата видео непосредственно с экрана или для записи голоса.
  • В результате записи видеоклипы получаются небольшого размера, что позволяет работать с ними даже на компьютере с низкими техническими характеристиками.
  • Теперь необходимо выбрать среду разработки, с использованием которой будут записаны видеоуроки по объектно-ориентированному программированию на языке С++.
  • Интегрированная среда разработки (IDE) - это совокупность программных средств, поддерживающая все этапы разработки программного обеспечения от написания исходного текста программы, до ее компиляции и отладки, и обеспечивающая простое и быстрое взаимодействие с другими инструментальными средствами (программным отладчиком-симулятором, внутрисхемным эмулятором, эмулятором ПЗУ и программатором).
  • Работа в интегрированной среде позволяет:
  • - использовать встроенный многофайловый текстовый редактор, специально ориентированный на работу с текстами программ;
  • - выявлять ошибки при компиляции, а так же редактировать текст, выводящийся одновременно в многооконном режиме ;
  • - организовывать и вести параллельную работу над несколькими проектами;
  • - подвергать перекомпиляции только редактируемые модули ;
  • - загружать отлаживаемую программу в имеющиеся средства отладки, и работать с ними без выхода из оболочки;
  • - подключать к оболочке практически любые программные средства.
  • Microsoft Visaual Studio - среда разработки под ос Windows. Её редактор выполняет форматирование кода и подсвечивает синтаксис. Представляет большое количество различных типов проектов. Хорошо подходит для программирования под Windows и разработки крупных проектов.
  • Среда Visual Studio оптимизирована для совместного проектирования, разработки и развертывания корпоративных решений. Позволяет создавать приложения, работающие на платформе .Net, разработки для Windows, Интернета, Sharepoint, мобильных устройств и облачных технологий. Однако компиляция даже небольших проектов занимает продолжительное время.
  • Dev C++ - свободная интегрированная среда разработки приложений для C/C++. Это бесплатная IDE с открытым исходным кодом. Можно использовать портабельную версию, что позволяет транспортировать среду разработки вместе с проектами.
  • Имеет редактор с подсветкой синтаксиса, заготовки кода и шаблоны для вставки, встроенный менеджер проектов, возможность автозавершения кода, гибкую настройку рабочей среды, редактора и компилятора, большое количество различных опций, мультиязычный пользовательский интерфейс. Существует возможность отладки проекта - есть встроенный дебаггер GDB.
  • Net Beans - бесплатная IDE с открытым исходным кодом. Предназначена для профессиональной разработки приложений, веб-приложений, коропоративных систем, программ для мобильных устройств. Программа поддерживает множество языков программирования: Java, JavaFX, PHP, JavaScript, Ruby, Groovy, Python и C/C++, а также все языки разметки: XML ,HTML и стили CSS. Поддерживает большое количество технологий: J2SE, J2EE, J2ME, JavaFX SDK, PHP Zend framework, SOA, UML, Ajax,
  • Ruby on Rails, Groovy and Grails.
  • Имеет расширенные возможности по работе с базами данных MySQL, Postgres, Oracle и др. Является платформой для создания плагинов и расширения своей функциональности. Эта IDE подойдет как для начинающего разработчика, так и для профессионала.
  • Qt Creator - кросплотформенная IDE с открытым исходным кодом для разработки на C и C++. Включает в себя графический интерфейс отладчика и визуальные средства разработки. Основная задача - это упрощение разработки приложений с помощью фреймворка Qt на разных платформах. В Qt реализовано автодополнение ключевых слов, введенных в стандарте С++11, существует подсветка синтаксиса, возможность выравнивания отступов и постановки скобок. Позволяет запускать написанное с его помощью ПО в большинстве современных операционных систем путём простой компиляции программы для каждой ОС без изменения исходного кода.
  • Для создания видеолекций можно воспользоваться средой Microsft Visual Studio, т.к. она является наиболее популярной и современной интегрированной средой c большим количеством возможностей. Плюсом является то, что студенты могут получить бесплатную "Express" версию Visual Studio на официальном сайте "https://www.visualstudio.com".
  • 3. Особенности языка программирования С++
  • Язык С++ был создан Бьерном Страуструпом в 1979 году в компании Bell Laboratories и сначала имел название "С с классами". Страуструп утверждает, что некоторые объектно-ориентированные средства были инспирированы другим объектно-ориентированным языком - Simula67.
  • Из всех объектно-ориентированных языков С++ является наиболее употребительным.
  • Язык Java, лишенный указателей, шаблонов и множественного наследования делает его менее мощным и гибким по сравнению с С++.
  • До 1998 года С++ развивался вне рамок стандартизации.
  • Это означало, что каждый производитель компиляторов по-разному реализовывал нюансы языка.
  • Тем не менее был разработал документ, "Стандартный С++", включающий в себя много дополнительных возможностей, как, например, стандартную библиотеку шаблонов.
  • C++ унаследовал все возможности языка С. Строго говоря, С++ является расширением языка С.
  • Любая конструкция на языке С является корректной и в С++, однако обратное неверно.
  • Самыми значимыми нововведениями в С++ касаются классов, объектов и объектно ориентированного программирования.
  • Однако между этими языками существует еще больше отличий, нежели кажется вначале.
  • Язык С++, возможно, больше любого другого требует от программиста до написания программы провести подготовительный этап, заключающийся в ее проектировании.
  • При добросовестном проектировании создается программа, которую легко отладить и изменять в будущем. Было подсчитано, что около 90% стоимости программного продукта составляет стоимость отладки и настройки.
  • Удачно выполненное проектирование может значительно уменьшить эти расходы, а значит, и стоимость проекта в целом.
  • 3.1 Объектно ориентированный подход
  • Основной идеей объектно-ориентированного подхода является объединение данных и действий, которые производятся над этими данными в одно целое, которое называется объектом.
  • Объектно-ориентированное программирование является способом организации программы и не связано с процессом ее выполнения.
  • Функции объекта, названные в С++ методами обычно предназначены для доступа к данным объекта. Если есть необходимость считать данные объекта - вызывается определенный метод, который выполняет это действие.
  • При решении задачи с помощью ООП вы сталкиваетесь с проблемой разбиения задачи на объекты. Это гораздо проще, чем разбиение на функции, так как объекты схожи с объектами реального мира. Но что должно представляться в программе ввиде объектов может решить только воображение.
  • Когда речь идет об объектах, говорят, что они являются экземплярами классов. Класс является формой, которая определяет какие данные и функции будут включены в объект класса. При объявлении класса не создаются объекты класса, так же, как и объявление типа переменных - это не означает что эти переменные существуют. Таким образом класс представляет собой совокупность сходных объектов, а эти объекты называют экземплярами класса.
  • Понятие класса приводит к понятию наследования. Принцип, положенный в его основу заключается в том, что каждый класс потомок обладает всеми свойствами, присущими тому классу, из которого он выделен. В С++ класс, порождающий остальные классы называют базовым классом, а классы, наследующие его свойства и одновременно обладающие своими собственными - производными
  • Разработанный класс можно использовать в других программах - это свойство называется повторное использование кода. Таким же свойством в процедурном программировании обладают библиотеки функций, которые можно подключать к различным компонентам программы. Если есть необходимость добавить в него новые элементы, можно создать новый класс, наследующий все свойства базового класса и произвести изменения в нем.
  • Использование различных образов операций и функции в зависимости от типов величин с которыми они работают называется полиморфизмом. Когда уже существующая операция, например сложение или присваивание наделяются возможностью совершать операции над операндами нового типа, говорят что операция перегружена. Перегрузка является важным инструментом объектно-ориентированного программирования.
  • Свойство скрытости объектов, используемых во внешних конструкциях называется инкапсуляцией. С ее помощью можно обеспечить сокрытие данных, благодаря инкапсуляции пользователь может не задумываться о работе используемого объекта.
  • Таким образом, язык С++ полностью поддерживает принципы объектно-ориентированного программирования, включая основные: инкапсуляцию, наследование, полиморфизм.
  • 3.2 Преимущества и недостатки языка программирования С++
  • У каждого языка программирования есть свои преимущества и недостатки, и их стоит рассматривать в контексте тех принципов, на которых строился язык, а так же предъявляемых к нему требований.
  • С++ содержит средства для создания программ практически любого назначения, от низкоуровневых до сложных программных комплексов разного назначения.
  • Достоинства языка:
  • - С++ поддерживает разные технологии и стили программирования, включая объектно-ориентированное, обобщенное и метапрограммирование;
  • - более надежное освобождение ресурсов путем автоматического вызова деструкторов при уничтожении объектов;
  • - возможность создавать пользовательские функции-операторы, позволяющие записывать выражения над пользовательскими типами в алгебраической форме;
  • - важным достоинством является предсказуемое выполнение программ, что является важным для систем реального времени;
  • - при помощи шаблонов можно создавать обобщенные контейнеры и алгоритмы для разных типов данных;
  • - при помощи шаблонов и множественного наследия можно имитировать классы-примеси и комбинаторную параметризацию библиотек;
  • - поддержка понятия физической и логической константности, что делает программу надежнее, так как позволяет диагностировать ошибочные попытки изменения переменных;
  • - C++ - кросплатформенный язык, его стандарт накладывает минимальные требования на компьютер для запуска скомпилированной программы. На С++ разрабатывают программы для различных платформ и систем с помощью компиляторов для большого количества платформ;
  • - в С++ существует возможность низкоуровневой работы с адресами памяти, однако, при неосторожном использовании это легко может превратиться в недостаток;
  • - язык С++ спроектирован так, чтобы у программиста был максимальный контроль над всеми аспектами структуры и порядка выполнения программы;
  • - существующий код на C может с минимальными изменениями использоваться в С++.
  • Часть недостатков С++ унаследовал от C, это:
  • - синтаксис, вызывающий ошибки - операцию сравнения и присваивания легко перепутать, тем более присваивание возвращает значение, поэтому конструкция с присваиванием вместо выражения не будет восприниматься компилятором как ошибка, в циклах и ветвлениях так же существует такая ошибка;
  • - макросы являются потенциально опасным средством, несмотря на то что их необходимость не велика, ввиду наличия шаблонов и встроенных функций;
  • - неинтуитивные преобразования некоторых типов;
  • - примитивный, унаследованный от С препроцессор;
  • - плохая поддержка модульности. Подключение внешнего модуля через заголовочную вставку серьезно замедляет компиляцию при большом количестве модулей, что решено во многих компиляторах прекомпиляцией заголовочных файлов.
  • У языка С++ имеются так же и собственные недостатки:
  • - В С++ существует много возможностей, нарушующих принципы типобезопасности, что приводит к труднонаходимым ошибкам. Частой проблемой в С++ являются проблемы "переполнения буфера";
  • - C++ является слишком сложным и большим языком, из за чего есть трудности с его изучением;
  • - недостаточность информации о типах данных во время компиляции программы;
  • - шаблоны могут привести к коду очень большого объема;
  • - многие схожие конструкции с С, выполняющие те же самые функции могут сбить с толку программиста;
  • - сложность и ограниченность метапрограммирования на основе шаблонов С++;
  • - при заявлении, что С++ мультипарадигменный язык, в нем отсутсвует явная поддержка функционального программирования. Отчасти это решено различными библиотеками, использующими средства метапрограммирования для расширения языка;
  • - некоторые считают отсутствие встроенной системы сборки мусора недостатком языка.
  • Для того чтобы выявить сильные и слабые стороны языка, необходимо так же сравнить его с другими популярными и известными языками программирования, как С, C#, Objective-C, Java, Python.
  • Для начала нужно провести сравнение С++ с языком-предком Си:
  • -в С++ поддержка объектно-ориентированного программирования через классы;
  • - в С++ поддержка через шаблоны функций и классов обобщенного программирования;
  • - стандартная библиотека С++ содержит в себе стандартную библиотеку С и библиотеку шаблонов, предоставляющую широкий выбор обобщенных контейнеров и алгоритмов;
  • - дополнительные типы данных;
  • - существует обработки исключений;
  • - виртуальные функции;
  • - пространство имен;
  • - встраиваемые inline функции;
  • - перегрузка операторов;
  • - перегрузка имен функций;
  • - ссылки и операторы управления памятью.
  • Язык Java. Большинство архитектурных решений, при создании языка Java были продиктованы желанием предоставить синтаксис, сходный с С и С++. В Java используются используются схожие объявления переменных, передача параметров, операторов и управление потоком выполнения кода. В языке Java были добавлены все хорошие черты C++ и исключены его недостатки. Знания, относительно С++ с успехом могут быть применены в Java.
  • Основные различия в языках:
  • - C++ - машинный код, а Java - это интерпретируемый код (необходим интерпретатор), вследствие чего у Java есть платформанезависимость в обмен на зависимость от интерпретатора JVM;
  • - В Java отсутствуют файлы заголовков;
  • - С++ типы не определены точно и зависят от компилятора, а в Java типы на всех платформах одинаковы;
  • - Java - полностью объектно ориентированный язык;
  • - в C++ программист полностью сам контролирует состояние программы, в Java этим занимается сборщик мусора и среда Runtime;
  • - в С++ возможно все, чего пожелает программист: "перегрузка операторов, наследование, и так далее", в языке Java - только то, что разработчики языка посчитали логически безопасным;
  • - С++ имеет множество различных библиотек, Java - стандартные библиотеки, которые распространяются с JVM.
  • С# (Си шарп), как и C++ является языком общего назначения, а так же кроссплатформенным языком. С# разработан компанией Microsoft как язык для разработки приложения для платформы Microsoft .NET Framework и во многом похож на Java. Он компилируется в байт-код, который выполняется на виртуальной машине, что отличает его от С++. Хотя С# и заимствует некоторые синтаксические элементы из С и С++, он не имеет технического родства с ними.
  • Отличия C# и C++:
  • - в С#, в отличие от C++ (с расширением CLI) нет возможности смешивать неуправляемый код (native), с управляемым;
  • - в С# существует возможность определять псевдонимы для классов.
  • - в С++ псевдонимы могут ссылаться только на другие пространства имен, но не на классы;
  • - отличия в определении типов;
  • - отличия в выведении типов;
  • - отличия в объявлении методов класса.
  • Следует так же упомянуть о таком объектно-ориентированном языке программирования, как Objective-C, используемые Apple и основанный на языке Си с парадигмами Smalltalk.
  • - Objective C является message-oriented языком, в отличие от С++, который является function-oriented, это значит что в ObjC код не "вызывает метод объекта", а "отправляет сообщение" с именем и аргументами объекту;
  • - в ObjC описания методов сильно отличаются от С++, и больше похожи на описание методов на языке Smalltalk;
  • - ObjC не допускает множественного наследования;
  • - в ObjC принято работать с указателями на объекты;
  • - в ObjC отсутсвуют шаблоны, пространства имен, типы данные, присущие С++;
  • - в ObjC отсутсвуют перегрузки функций по возвращаемому типу данных;
  • - ObjC не позволяет создвавть объекты в стеке.
  • Но самое большое различие - в синтаксисах языка.
  • Python
  • - обычно предполагается, что Python программы выполняются медленнее, но они, в то же время, требуют намного меньше времени для разработки. Эта разница может быть объяснена за счет встроенных высокоуровневых;
  • - программы на С++ обычно в 5-10 раз длиннее, нежели аналогичные на языке Python;
  • - Python подходит как "склеивающий" язык, объединяя в программе код на нескольких языках;
  • 3.3 Области применения языка программирования С++
  • Главным образом язык C++ используется на уровне инфраструктуры для разработки систем с ресурсными ограничениями и систем с высоким уровнем надежности. Базовая область применения языка С++ - это системное программирование, являющиеся очень широкой сферой применения.
  • Практически все действия на компьютере, так или иначе затрагивают программы, написанные на С++. На этои языке созданы беспроводные интерфейсы на всех уровнях, браузеры, инетрпретаторы языка JavaScript, виртуальные машины Java, реализации языка C#, программное обеспечение для мобильных телефонов, фотокамер - это все написано на С++. Сложнее найти системные области, где не используется С++.
  • Язык С++ широко используется для создания игровых движков и библиотек к ним ( Unreal Engine, Frostbite, Source), так как позволяет с достаточно хорошей скоростью производить обработку данных.
  • Используется для создания высоконагруженных систем, таких как Apache.
  • Для создания ядра программы для приложений с кодом на более простом языке ( научные и узкоспециализированные программы).
  • С++ использовался для создания таких приложений, как:
  • - все главные приложения Adobe Systems;
  • - операционная система Apple OS X написана на нескольких языках, но несколько важных частей - на С++;
  • - поискоовой движок Гугл, браузер Chromium, файловая система Гугл и так далее;
  • - буквально все в Майкрософт создано с помощью последних версий Visual C++, это такие продукты, как Windows XP, Vista, 7, Windows NT, Windows 9x, Microsoft Office, Internet Explorer, Visual Studio, SQL;
  • - браузер Mozilla Firefox и почтовый клиент Thunderbird;
  • - сервер MySQL (около 250 тысяч строк С++) и MySQL Cluster;
  • - продукты Sun: The HotSpot Java Virtual Machine, компиляторы Sun, OpenOffice;
  • - программное обеспечение для самолетов F-16 и F-35;
  • - операционная система Symbian.
  • И множество других приложений и программ. Бьярн Страуструп говорит следующие о развитии языка и его области применения: "Я не думаю, что с выходом новой версии что-либо изменится с точки зрения применения С++, и не имеет смысла искусственно продвигать этот язык в другие области. C++0x создается не для того, чтобы прорваться в новые домены, а для того, чтобы усовершенствовать язык для его более эффективного использования в сфере инфраструктурных применений, где очень много работы и постоянно появляются новые задачи. Например, программное обеспечение, встроенное в гаджеты. Гаджеты становятся сегодня все более сложными, поэтому их управляющее ПО должно хорошо понимать особенности аппаратного обеспечения, чтобы иметь возможность реализовать задачи такого уровня сложности. А это как раз то, что заложено в дизайне C++. Этот язык прекрасно справляется с такими задачами и востребован именно для них, и в новой версии эти возможности совершенствуются."
  • 4. Запись и редактирования видеоуроков
  • После запуска Camtasia Studio появляется главное окно программ с окном приветствия, в нем можно выбрать Record the screen (запись с экрана) - чтобы сразу перейти к записи действий с экрана, Import media - импорт файла и Recent projects - последние проекты (рисунок 1).
  • Рисунок 1 - Начальное окно Camtasia studio
  • Для записи нужно из перечня устройств выбрать микрофон. Для того, чтобы убрать звуковые сообщения системы во время записи, нужно убрать флажок с пункта Record system audio (рисунок 2).
  • Рисунок 2 - Окно настроек записи
  • Для записи голосового сопровождения при составлении программы и наборе ее в компиляторе необходимо выбрать Voice Narration и нажать Start recording, по окончании нужно нажать Stop recording, после чего запись можно сохранить использовать в проекте, либо удалить ее (рисунок 3).
  • Рисунок 3 - Окно записи голосового повествования
  • Для описания программы, создающийся при помощи компилятора Microsoft Visual Studio 2012 использовалась одновременная запись с экрана и голосового пояснения.
  • В Effects есть пункт Use mouse click sounds, если этот пункт включен, то во время щелчка кнопками мыши будет вставлен звук (рисунок 4).
  • Рисунок 4 - Выбор звука щелчков мыши
  • При выборе Full Screen в панели записи - будет записываться весь рабочий стол.
  • Кнопка Custom позволяет захватить для записи необходимую область экрана.
  • Чтобы начать запись необходимо нажать кнопку Rec, появится окно Press F10 to stop recording - нажмите F10 чтобы остановить запись. После этого пойдет обратный отсчет и начнется запись.
  • Для паузы во время записи нужно нажать кнопку Pause на клавиатуре.
  • После окончания записи появится окно предпросмотра полученного материала, который можно сохранить, опубликовать, либо приступить к монтажу во строенном видео редакторе.
  • Записанные видеоматериалы имеют формат camrec, и для того чтобы была возможность редактирования в других видео редакторах, необходимо конвертировать их в формат mpeg. Для этого в меню инструментов "Файл", выбрать "Создать и опубликовать". В появившемся окне выбрать тип - HD.
  • Монтаж производится во встроенном видео редакторе Camtasia Studio 8. В нем существует возможность сохранения всех исходных файлов в одном проекте. В этом случае не нужно заботиться о сохранении их на своих местах, однако это требует дополнительного места на диске, куда будут сохранены видеоклипы и звуковые дрожки и где будет производиться монтаж видеоматериалов.
  • Расположение клипов на дорожках соответствует времени их появления от начала при воспроизведении проекта и отображается как часы: минуты: секунды: миллисекунды.
  • Для просмотра воспроизводимых видеоклипов в редакторе используется окно предварительного просмотра. В этом окне демонстрируются все наложенные эффекты и переходы. Они дают возможность корректировать видео, менять его характеристики, а так же связывать разные его части.
  • Наиболее распространенные эффекты и переходы:
  • - цветокоррекция;
  • - изменение уровня яркости;
  • - шумоподавление;
  • - замедление либо ускорение видео;
  • - вставка неподвижных изображений;
  • - наложение титров;
  • - использование графических композиций;
  • - видео переходы;
  • - изменение резкости видео;
  • - разного рода фильтры;
  • - размытие.
  • Для работы с видео, если оно не было непосредственно записано с помощью Camtasia Studio, необходимо добавить в рабочую область. Для этого нужно нажать Import Media и выбрать нужные файлы (рисунок 5).
  • Рисунок 5 - Окно импорта файлов
  • При помощи видеомонтажа удалим ненужные фрагменты видео, склеиваем видеоклипы, настраиваем уровень громкости на видео, добавляем нужные изображения, применяем аудио/видео эффекты, субтитры и текст.
  • Создания итогового файла может занять продолжительное времени (до нескольких часов в зависимости от выбора настроек проекта, его длительности, разрешения видео, формата сжатия и мощности компьютера).
  • Готовое видео может быть размещено на информационных ресурсах и добавлен на сервис YouTube для его дальнейшего распространения.
  • 5. Видеолекции
  • Для записи видео лекций были разработаны программы на С++ с помощью которых были показаны такие темы как создание классов в среде Visual Studio, инкапсуляция, полиморфизм, наследование, создание конструкторов и деструкторов.
  • Для первой видео лекции была разработанная программа, производящая действия сложения полиномов. Было создано больше операций над полиномами, однако они не были показаны, дабы не усложнять лекции.
  • Для создания класса использовался инструмент "добавить класс", с помощью которого создаются 3 файла: заголовочный файл, файл с самим классом и файл с основной программой.
  • Заголовочный файл Polynom.h выглядит следующим образом
  • (рисунок 6).
  • Рисунок 6 - Содержание файла polynom.h
  • Он содержит препроцессорную директиву, разработанная для контроля за тем, чтобы конкретный исходный файл при компиляции подключался строго один раз.
  • Далее идет заголовочный файл iostream - заголовочный файл с классами, функциями и переменными для организации ввода-вывода в языке программирования C++.
  • Создается класс Polynom с инкапсулированными данными Deg - степень многочлена и Coef - его коэффициенты, далее идут заголовки методов класса, а именно: конструктор без параметров, конструктор с одним параметром, конструктор с двумя параметрами, копирующий конструктор, деструктор объектов типа Polynom, перегруженные операции присваивания и сложения, вывод полинома на экран средствами консольного вывода.
  • Файл Polynom.cpp содержит непосредственно сам класс и реализацию его методов.
  • Для его работы необходим файл предкомпилированных заголовков и подключения заголовочного файла Polynom.h, так же используется стандартное пространство имен (рисунок 7).
  • Рисунок 7 - Заголовки файла polynom.cpp
  • Для создание объекта типа многочлен нам понадобятся несколько конструкторов (рисунок 8).
  • Рисунок 8 - Конструкторы полинома
  • Первый конструктор выделяет память инициализирует объект, заданный без параметров.
  • Второй конструктор создает многочлен заданной степени с нулевыми коэффициентами и выделяет для него память.
  • Третий конструктор с двумя аргументами создает многочлен с заданной степенью и набором коэффициентов и выделяет для него память.
  • Так же нам понадобится копирующий конструктор (рисунок 9).
  • Рисунок 9 - Копирующий конструктор
  • Для освобождения памяти и обнуления коэффициентов изменим стандартный деструктор (рисунок 10).
  • Рисунок 10 - Деструктор
  • Для того, чтобы производить операции вида Polynom A + Polynom B необходимо произвести перегрузку стандартного оператора +, то есть описывается процесс сложения полиномов для этого оператора (рисунок 11).
  • Рисунок 11 - Перегрузка оператора +
  • Здесь производится сложение объекта Polynom, который находится слева от оператора +, для этого объекта используется this, и полинома, находящегося справа от оператора + - он передается по константной ссылке в виде полинома B. В результате производится сложение коэффициентов многочлена при членах одинаковой степени.
  • Для того чтобы присвоить значения одного полинома другому так же потребуется перегрузка операции присваивания (рисунок 12).
  • Рисунок 12 - Перегрузка оператора =
  • Полиному, стоящему слева от знака = присваивается значение полинома, стоящего справа (полином B) значение которого передается по константной ссылке. видео дистанционный обучение программирование
  • Для отображения полинома на экране создадим метод, производящий его консольный вывод (рисунок 13).
  • Рисунок 13 - Метод вывода полинома на экран
  • С помощью данного метода производится консольный вывод полинома в виде: a + bx^1 + cx^2 + ... + zx^n.
  • Файл основной программы (рисунок 14).
  • Рисунок 14 - Содержание основной программы
  • Для его работы подключаются файлы предкомпилированных заголовков, а так же заголовочный файл Polynom.h. Используется стандартное пространство имен.
  • Для создания объекта типа Polynom создадим массивы a и b типа double в которых будут содержаться значения коэффициентов, начиная с коэффициента нулевой степени, первой степени, и так далее.
  • Создаются три объекта типа Polynom. pl0 - пустой полином и создается с помощью конструктора без параметров. pl1 и pl2 - полиномы второй степени, использующий значения из массивов b и a, создаются с помощью конструктора с двумя параметрами. Далее полиному pl0 присваивается значение суммы полиномов pl1 и pl2 и с помощью PolynomCout производится его консольный вывод на экран. Команда cin.get() служит для того, чтобы окно с результатами не закрывалось сразу после выполнения программы.
  • Второй урок рассказывает о полиморфизме. Для него используется программа, эмулирующая телефонный звонок.
  • Для ее работы подключаются заголовочный файл предкомпилированных заголовков и iostream - заголовочный файл с классами, функциями и переменными для организации ввода-вывода в языке программирования C++. Используется стандартное пространство имен.
  • Далее создаем класс phone с методами dial, answer, hangup, ring, конструктор - phone и переменную number типа char (рисунок 15).
  • Рисунок 15 - Класс phone
  • Далее создаются два класса потомка touch_tone и pay_phone - кнопочный и дисковой телефоны. В них отличаются лишь методы dial, а остальные методы унаследованы от родительского класса. Они так же имею свои собственные конструкторы, а класс pay_phone - собственную переменную amount - стоимость звонка (рисунок 16).
  • Рисунок 16 - Потомки класса phone
  • В основном коде программе для корректного отображения кириллических символов в консольном окне требуется включить русский язык. Далее происходит создания объектов платный, кнопочный телефон и дисковый телефон - объект базового класса. Далее создается объект Poly_Phone базового класса phone и ему его свойства изменяются на свойства объекта rotary, затем производится звонок, далее свойства объекта Poly_phone изменяются на св-ва cityph и hphone и производятся звонки соответственно (рисунок 17)
  • Рисунок 17 - Текст основной программы
  • Заключение
  • Целью работы была разработка видеолекций для студентов по теме "Объектно-ориентированное программирование на языке C++".
  • Видеолекция является незаменимым инструментом в современной педагогике, использование которого только растет с каждым годом. У него имеются как сильные, так и слабые стороны, но, несмотря на это он экономит время преподавателя и студента.
  • Язык С++, не смотря на существования других объектно-ориентированных язык, все еще востребован и применяется для разработки многих приложений.
  • Преимущество видеолекций состоит в их доступности, студенты могут в удобное для них время ознакомиться мс материалом и разобрать непонятные моменты.
  • Поэтому были разработаны видеолекции "Объектно-ориентированное программирование на языке C++".
  • Для записи видео-лекций были изучены и использованы такие программы, как Microsoft Visual Studio 2012 и Camtasia Studio 8.
  • Список использованных источников
  • 1 Разработка компьютерных учебников и обучающих систем / Башмаков А.И, Башмаков И.А. - М.: Информационно-издательский дом "Филинъ", 2003. - 616с.
  • 2 Объектно-ориентированное программирование в С++ / Р. Лафоре, ИД "Питер", 2004. -920с.
  • 3 Освой самостоятельно C++ за 21 день / Джесс Либерти, Брэдли Л. Джонс. -М.:"Вильямс", 2007.-819c.
  • 4 Салихова М.А., Шакурова А.Р. СОВРЕМЕННЫЕ ОБУЧАЮЩИЕ ВИДЕОУРОКИ / Успехи современного естествознания. - 2013. - № 10 . - С. 99-100
  • 5 Электронный ресурс: http://www.stroustrup.com/applications.html
  • Размещено на Allbest.ru

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.