- Шаблоны. Стандартная библиотека шаблонов

Презентация "Шаблоны. Стандартная библиотека шаблонов" по информатике – проект, доклад

Слайд 1
Слайд 2
Слайд 3
Слайд 4
Слайд 5
Слайд 6
Слайд 7
Слайд 8
Слайд 9
Слайд 10
Слайд 11
Слайд 12
Слайд 13
Слайд 14
Слайд 15
Слайд 16
Слайд 17
Слайд 18
Слайд 19

Презентацию на тему "Шаблоны. Стандартная библиотека шаблонов" можно скачать абсолютно бесплатно на нашем сайте. Предмет проекта: Информатика. Красочные слайды и иллюстрации помогут вам заинтересовать своих одноклассников или аудиторию. Для просмотра содержимого воспользуйтесь плеером, или если вы хотите скачать доклад - нажмите на соответствующий текст под плеером. Презентация содержит 19 слайд(ов).

Слайды презентации

Шаблоны. Стандартная библиотека шаблонов. Лекция 4
Слайд 1

Шаблоны. Стандартная библиотека шаблонов

Лекция 4

Понятие шаблона. Шаблон (template) – средство программирования, которое позволяет создавать функции и классы, в которых тип задается в качестве параметра. В шаблоне функции определяется алгоритм, который может применяться к данным разных типов, а конкретный тип данных передается функции в виде парам
Слайд 2

Понятие шаблона

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

Шаблоны функций. В простейшем случае функция-шаблон определяется так: template  тип_ф имя_ф(параметры) { /* тело функции */ } Type – это имя фиктивного типа. Компилятор автоматически заменит его именем реального типа данных при создании конкретной версии функции. Вместо слова class может использоват
Слайд 3

Шаблоны функций

В простейшем случае функция-шаблон определяется так: template тип_ф имя_ф(параметры) { /* тело функции */ } Type – это имя фиктивного типа. Компилятор автоматически заменит его именем реального типа данных при создании конкретной версии функции. Вместо слова class может использоваться typename. В угловых скобках указываются параметры шаблона через запятую. Их может быть несколько. Параметр может быть не только типом, но и просто переменной: template void F() {…}

Пример функции-шаблона. #include  using namespace std; template  void Myswap(T &x, T &y) { T a=x; x=y; y=a; } int main() { int i=10, j=20; char s1='a', s2='b'; Myswap(i, j); cout
Слайд 4

Пример функции-шаблона

#include using namespace std; template void Myswap(T &x, T &y) { T a=x; x=y; y=a; } int main() { int i=10, j=20; char s1='a', s2='b'; Myswap(i, j); cout

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

Шаблоны и перегруженные функции

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

Пример использования шаблона и перегруженной функции. #include  using namespace std; #include  template  T Summa(T x, T y) { T S; S=x+y; return S; } char * Summa(char *s1, char *s2) { strcat(s1, s2); return s1;} int main() { float i=3.2, j=2.7; char s1[80]="Hello "; char s2[]="World!&
Слайд 6

Пример использования шаблона и перегруженной функции

#include using namespace std; #include template T Summa(T x, T y) { T S; S=x+y; return S; } char * Summa(char *s1, char *s2) { strcat(s1, s2); return s1;} int main() { float i=3.2, j=2.7; char s1[80]="Hello "; char s2[]="World!"; cout

Шаблоны классов. Синтаксис шаблона класса: template  class имя_класса { /* описание класса*/}; Параметры перечисляются через запятую. Параметрами могут быть типы (сlass Ttype), шаблоны и переменные. Если метод описывается вне шаблона, его заголовок должен иметь вид: template  возвр_тип имя_класса ::
Слайд 7

Шаблоны классов

Синтаксис шаблона класса: template class имя_класса { /* описание класса*/}; Параметры перечисляются через запятую. Параметрами могут быть типы (сlass Ttype), шаблоны и переменные. Если метод описывается вне шаблона, его заголовок должен иметь вид: template возвр_тип имя_класса :: имя_функции (список_параметров_функции) Создание экземпляра класса: имя_класса объект[(параметры_конструктора)]; Аргументы – значения с которым будет работать класс.

Пример класса-шаблона. template  class MyClass{ T1 i; T2 j; public: MyClass(T1 a, T2 b) {i=a; j=b;} void Show(); }; template  void MyClass ::Show() {cout ob1(22, 3.5); MyClass  ob2("text1", "text2"); ob1.Show(); ob2.Show(); return 0; }
Слайд 8

Пример класса-шаблона

template class MyClass{ T1 i; T2 j; public: MyClass(T1 a, T2 b) {i=a; j=b;} void Show(); }; template void MyClass ::Show() {cout ob1(22, 3.5); MyClass ob2("text1", "text2"); ob1.Show(); ob2.Show(); return 0; }

Библиотека стандартных шаблонов. Стандартная библиотека С++ (Standart Template Library, STL) содержит шаблоны для хранения и обработки данных. Основные элементы библиотеки: контейнеры; итераторы; алгоритмы; функциональные объекты.
Слайд 9

Библиотека стандартных шаблонов

Стандартная библиотека С++ (Standart Template Library, STL) содержит шаблоны для хранения и обработки данных. Основные элементы библиотеки: контейнеры; итераторы; алгоритмы; функциональные объекты.

Контейнеры. Контейнеры – это объекты, предназначенные для хранения других однотипных объектов. Могут содержать простые объекты (целые, вещественные, символьные и т.д.), структурные данные (массивы, строки, структуры), объекты классов. Эти объекты должны допускать копирование и присваивание. В контей
Слайд 10

Контейнеры

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

Классификация контейнеров. Последовательные контейнеры обеспечивают хранение конечного количества однотипных объектов в виде непрерывной последовательности. К базовым последовательным контейнерам относятся векторы (vector), списки (list) и двусторонние очереди (deque). Специализированные контейнеры
Слайд 11

Классификация контейнеров

Последовательные контейнеры обеспечивают хранение конечного количества однотипных объектов в виде непрерывной последовательности. К базовым последовательным контейнерам относятся векторы (vector), списки (list) и двусторонние очереди (deque). Специализированные контейнеры (или адаптеры контейнеров) реализованы на основе базовых. Это стеки (stack), очереди (queue) и очереди с приоритетами (priority_queue. Ассоциативные контейнеры обеспечивают быстрый доступ к данным по ключу. Эти контейнеры построены на основе сбалансированных деревьев. Есть пять типов ассоциативных контейнеров: словари (map), словари с дубликатами (multimap), множества (set), множества с дубликатами (multiset) и битовые множества (bitset).

Контейнеры, определенные в STL
Слайд 12

Контейнеры, определенные в STL

Итераторы. Итераторы – это объекты, которые по отношению к контейнерам играют роль указателей. Для всех контейнерных классов STL определен тип iterator, но его реализация в разных классах разная. Поэтому при объявлении объектов типа iterator всегда указывается область видимости: vector :: iterator i
Слайд 13

Итераторы

Итераторы – это объекты, которые по отношению к контейнерам играют роль указателей. Для всех контейнерных классов STL определен тип iterator, но его реализация в разных классах разная. Поэтому при объявлении объектов типа iterator всегда указывается область видимости: vector :: iterator i; list :: iterator j;

Основные операции с итераторами. Разыменование итератора: если р — итератор, то *р — значение объекта, на который он ссылается. Присваивание одного итератора другому. Сравнение итераторов на равенство и неравенство (== и !=). Перемещение его по всем элементам контейнера с помощью префиксного (++р) и
Слайд 14

Основные операции с итераторами

Разыменование итератора: если р — итератор, то *р — значение объекта, на который он ссылается. Присваивание одного итератора другому. Сравнение итераторов на равенство и неравенство (== и !=). Перемещение его по всем элементам контейнера с помощью префиксного (++р) или постфиксного (р++) инкремента.

Просмотр элементов контейнера. Если i — некоторый итератор, то используется следующая форма цикла: for (i = first ; i != last; ++i) first — значение итератора, указывающее на первый элемент в контейнере. last — значение итератора, указывающее на воображаемый элемент, который следует за последним эле
Слайд 15

Просмотр элементов контейнера

Если i — некоторый итератор, то используется следующая форма цикла: for (i = first ; i != last; ++i) first — значение итератора, указывающее на первый элемент в контейнере. last — значение итератора, указывающее на воображаемый элемент, который следует за последним элементом контейнера. Операция сравнения для итераторов в общем случае не поддерживаются. Для всех контейнерных классов определены унифицированные методы begin() и end(), возвращающие адреса first и last соответственно.

Способы создания объекта-последовательного контейнера. 1. Создать пустой контейнер: vector vec1; list list1; 2. Создать контейнер заданного размера и инициализировать его элементы значениями по умолчанию: vector vec1(100); list list1(20); 3. Создать контейнер заданного размера и инициализировать его
Слайд 16

Способы создания объекта-последовательного контейнера

1. Создать пустой контейнер: vector vec1; list list1; 2. Создать контейнер заданного размера и инициализировать его элементы значениями по умолчанию: vector vec1(100); list list1(20); 3. Создать контейнер заданного размера и инициализировать его элементы указаннымзначением: vector vec1(100, "Hello!"); deque decl(300, -1);

4. Создать контейнер и инициализировать его элементы значениями диапазона [first, last) элементов другого контейнера: int arr[7] = {15, 2, 19, -3, 28, 6, 8}; vector v1(arr, arr + 7); list lst(v1.beg() + 2, vl.end()); 5. Создать контейнер и инициализировать его элементы значениями элементов другого о
Слайд 17

4. Создать контейнер и инициализировать его элементы значениями диапазона [first, last) элементов другого контейнера: int arr[7] = {15, 2, 19, -3, 28, 6, 8}; vector v1(arr, arr + 7); list lst(v1.beg() + 2, vl.end()); 5. Создать контейнер и инициализировать его элементы значениями элементов другого однотипного контейнера: vector v1; // добавить в vl элементы vector v2(vl);

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

Алгоритмы

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

Пример использования векторов. #include  #include  #include  using namespace std; int main() { double arr[] = {5.1, 2.2, 1.3, 4.4 }; int n = sizeof(arr)/sizeof(double); vector v1(arr, arr + n); // Инициализация вектора массивом vector v2; // пустой вектор vector::iterator i; for (i = v1.begin(); i !
Слайд 19

Пример использования векторов

#include #include #include using namespace std; int main() { double arr[] = {5.1, 2.2, 1.3, 4.4 }; int n = sizeof(arr)/sizeof(double); vector v1(arr, arr + n); // Инициализация вектора массивом vector v2; // пустой вектор vector::iterator i; for (i = v1.begin(); i != v1.end(); ++i) cout

Список похожих презентаций

Образцы шаблонов оформления презентации

Образцы шаблонов оформления презентации

Шаблон оформления №1. Для фона использована градиентная заливка. Дополнительные элементы: автофигура Прямоугольник; анимация Бегущая строка. Флора ...
Microsoft Word: стили, шаблоны, оглавление

Microsoft Word: стили, шаблоны, оглавление

Оглавление. 1. Шаблоны Microsoft Word 2.. Создание документа на базе стандартного шаблона Word 3. Создание шаблона 4. Изменение шаблона 5. Стили Microsoft ...
Шаблоны классов

Шаблоны классов

11.1. Контейнеры. Контейнер – хранилище некоторой совокупности данных Операции с контейнером не зависят от типа данных, размещенных в контейнере Пример: ...
Шаблоны функций, специализация

Шаблоны функций, специализация

Шаблоны функций. template  void sort(vector&); void f (vector& vi, vector &vs){ sort(vi); //sort(vector&) sort(vs); //sort(vector&) } При вызове шаблона ...
Шаблоны и темы презентаций PowerPoint

Шаблоны и темы презентаций PowerPoint

Шаблоны, шаблоны оформления, темы…. Не следует путать шаблоны Power Point 2007 с шаблонами оформления, которые использовались только в предыдущих ...
Шаблоны в Quanta Plus

Шаблоны в Quanta Plus

Понятие шаблонов. Шаблоны – это каркасы документов, куски сценариев и файлы, на которые можно вставить ссылку. Шаблоны в Quanta Plus – стандартная ...
Шаблоны безопасности

Шаблоны безопасности

Удалённое управление рабочей станцией. Active Directory – пользователи и компьютеры -> … ->  -> Управление. Администраторы домена \Администратор -> ...
Использование готовых и создание новых шаблонов

Использование готовых и создание новых шаблонов

Научиться создавать шаблоны в текстовом редакторе MS Word; Научиться создавать документ на основе ранее созданного шаблона; Показать возможности использования ...
Объектно-ориентированное программирование

Объектно-ориентированное программирование

Содержание:. Графы: определения и примеры Ориентированные графы Путь в орграфе Матрица смежности Иерархический список Алгоритм Дейкстры Программа ...
Нелинейное программирование

Нелинейное программирование

Отличия от ЗЛП: 1. ОДЗ не обязательно выпуклая. 2. Экстремум не обязан находится на границе ОДЗ. - задача классической оптимизации. Пример:. . Метод ...
Фрагментированное программирование

Фрагментированное программирование

Цель работы. Распараллеливание исполнительной системы (ИС) фрагментированного программирования и её оптимизация. Постановка задачи. Разработка многопоточной ...
Тест Алгоритмизация и программирование

Тест Алгоритмизация и программирование

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

Социальная информатика

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

Параллельное программирование WinAPI и OpenMP 7

Литература. 1. И. Одинцов Профессиональное программирование. Системный подход. – «БХВ-Петербург» - 2004. – 610 с. 2. Джин Бэкон, Тим Харрис Операционные ...
Алгоритмизация и программирование

Алгоритмизация и программирование

Исполнители алгоритмов. КАЛЬКУЛЯТОР 1. У исполнителя Калькулятор две команды, которым присвоены номера: вычти 1; умножь на 3. Первая из них уменьшает ...
Объектно-ориентированное программирование

Объектно-ориентированное программирование

основано на принципах логического вывода из базы знаний – фактов и правил. Логическое программирование. основано на принципе последовательной детализации ...
Объекты и их свойства информатика

Объекты и их свойства информатика

Объект - ЯБЛОКО красное круглое вкусное висит съедается продается зеленое кислое. о нем рассказывают. Объект - КНИГА листать читать. закрывать закладывать. ...
Алгоритмизация и программирование в Pascal

Алгоритмизация и программирование в Pascal

Вводная часть. Процесс решения задачи на ПК – это совместная деятельность человека и машины. Его условно можно разделить на несколько этапов. Человеку ...
Прикладная информатика

Прикладная информатика

Профессиональный стандарт. Исследователь в сфере ИТ - Computer and Information Scientist, Research Программист - Computer Programmer Системный архитектор ...
Алгоритмы и программирование

Алгоритмы и программирование

АЛГОРИТМ Линейный Циклический С ветвлением С процедурой. Программа – запись алгоритма на языке программирования для компьютера. Алфавит языка. Алфавит ...

Конспекты

Применение шаблонов в Publisher

Применение шаблонов в Publisher

8 класс. Урок 13 Дата урока:______________. Тема урока:. Применение шаблонов в. Publisher. . Цели урока:. Образовательная:. научить применять ...

Советы как сделать хороший доклад презентации или проекта

  1. Постарайтесь вовлечь аудиторию в рассказ, настройте взаимодействие с аудиторией с помощью наводящих вопросов, игровой части, не бойтесь пошутить и искренне улыбнуться (где это уместно).
  2. Старайтесь объяснять слайд своими словами, добавлять дополнительные интересные факты, не нужно просто читать информацию со слайдов, ее аудитория может прочитать и сама.
  3. Не нужно перегружать слайды Вашего проекта текстовыми блоками, больше иллюстраций и минимум текста позволят лучше донести информацию и привлечь внимание. На слайде должна быть только ключевая информация, остальное лучше рассказать слушателям устно.
  4. Текст должен быть хорошо читаемым, иначе аудитория не сможет увидеть подаваемую информацию, будет сильно отвлекаться от рассказа, пытаясь хоть что-то разобрать, или вовсе утратит весь интерес. Для этого нужно правильно подобрать шрифт, учитывая, где и как будет происходить трансляция презентации, а также правильно подобрать сочетание фона и текста.
  5. Важно провести репетицию Вашего доклада, продумать, как Вы поздороваетесь с аудиторией, что скажете первым, как закончите презентацию. Все приходит с опытом.
  6. Правильно подберите наряд, т.к. одежда докладчика также играет большую роль в восприятии его выступления.
  7. Старайтесь говорить уверенно, плавно и связно.
  8. Старайтесь получить удовольствие от выступления, тогда Вы сможете быть более непринужденным и будете меньше волноваться.

Информация о презентации

Ваша оценка: Оцените презентацию по шкале от 1 до 5 баллов
Дата добавления:10 декабря 2018
Категория:Информатика
Содержит:19 слайд(ов)
Поделись с друзьями:
Скачать презентацию
Смотреть советы по подготовке презентации