Презентация "Шаблоны классов" (10 класс) по информатике – проект, доклад

Слайд 1
Слайд 2
Слайд 3
Слайд 4
Слайд 5
Слайд 6
Слайд 7
Слайд 8
Слайд 9
Слайд 10
Слайд 11
Слайд 12
Слайд 13
Слайд 14
Слайд 15
Слайд 16
Слайд 17
Слайд 18
Слайд 19
Слайд 20
Слайд 21
Слайд 22
Слайд 23
Слайд 24
Слайд 25
Слайд 26
Слайд 27
Слайд 28
Слайд 29
Слайд 30
Слайд 31
Слайд 32
Слайд 33
Слайд 34
Слайд 35
Слайд 36
Слайд 37
Слайд 38
Слайд 39
Слайд 40
Слайд 41
Слайд 42
Слайд 43
Слайд 44
Слайд 45
Слайд 46
Слайд 47

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

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

11. Шаблоны классов
Слайд 1

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

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

11.1. Контейнеры

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

11.2. Простой шаблон класса. // файл file.h template  class Stack { private: static const int SZ = 100; int top; MyType arr[SZ];
Слайд 3

11.2. Простой шаблон класса

// файл file.h template class Stack { private: static const int SZ = 100; int top; MyType arr[SZ];

11.2. Простой шаблон класса (продолжение). public: Stack(); int push(const MyType &); int pop(MyType &); }; template  Stack ::Stack():top(0){}.
Слайд 4

11.2. Простой шаблон класса (продолжение)

public: Stack(); int push(const MyType &); int pop(MyType &); }; template Stack ::Stack():top(0){}

template  int Stack::push(const T &el) { if(top
Слайд 5

template int Stack::push(const T &el) { if(top

template  int Stack. ::pop(P &el) { if(top > 0){ el = arr[--top]; return 1; } return 0; }.
Слайд 6

template int Stack

::pop(P &el) { if(top > 0){ el = arr[--top]; return 1; } return 0; }

11.3. Использование шаблона класса. // файл file.cpp #include “file.h” int main() { Stack st1, st2; st1.push(12); // в стеке число 12 st1.push(25); // в стеке число 25 st2 = st1;
Слайд 7

11.3. Использование шаблона класса

// файл file.cpp #include “file.h” int main() { Stack st1, st2; st1.push(12); // в стеке число 12 st1.push(25); // в стеке число 25 st2 = st1;

11.3. Использование шаблона класса (продолжение). int x, y; st1.pop(x); // извлечение числа 25 st1.pop(y); // извлечение числа 12 cout. x = 25, y = 12 Для продолжения нажмите любую клавишу . . .
Слайд 8

11.3. Использование шаблона класса (продолжение)

int x, y; st1.pop(x); // извлечение числа 25 st1.pop(y); // извлечение числа 12 cout

x = 25, y = 12 Для продолжения нажмите любую клавишу . . .

11.4. Вариант 1 шаблона класса. // файл file.h template  class Stack { private: int top; MyType arr[SZ];
Слайд 9

11.4. Вариант 1 шаблона класса

// файл file.h template class Stack { private: int top; MyType arr[SZ];

11.4. Вариант 1 шаблона класса (продолжение). public: Stack(); int push(const MyType &); int pop(MyType &); }; template  Stack::Stack():top(0){}
Слайд 10

11.4. Вариант 1 шаблона класса (продолжение)

public: Stack(); int push(const MyType &); int pop(MyType &); }; template Stack::Stack():top(0){}

template  int Stack::push(const T &el) { if(top
Слайд 11

template int Stack::push(const T &el) { if(top

template  int Stack::pop(P &el) { if(top > 0){ el = arr[--top]; return 1; } return 0; }.
Слайд 12

template int Stack

::pop(P &el) { if(top > 0){ el = arr[--top]; return 1; } return 0; }

11.5. Использование шаблона класса. // файл file.cpp #include “file.h” int main() { Stack st1; Stack st2; st1.push(12); // в стеке число 12 st1.push(25); // в стеке число 25
Слайд 13

11.5. Использование шаблона класса

// файл file.cpp #include “file.h” int main() { Stack st1; Stack st2; st1.push(12); // в стеке число 12 st1.push(25); // в стеке число 25

11.5. Использование шаблона класса (продолжение)
Слайд 14

11.5. Использование шаблона класса (продолжение)

11.6. Вариант 2 шаблона класса. template  class Stack { private: int top; T *arr; int sz; public: Stack(int = 0);
Слайд 15

11.6. Вариант 2 шаблона класса

template class Stack { private: int top; T *arr; int sz; public: Stack(int = 0);

11.6. Вариант 2 шаблона класса (продолжение). int push(const T &); int pop(T &); Stack(const Stack &); ~Stack(){delete [ ] arr; } Stack &operator =(const Stack &); };
Слайд 16

11.6. Вариант 2 шаблона класса (продолжение)

int push(const T &); int pop(T &); Stack(const Stack &); ~Stack(){delete [ ] arr; } Stack &operator =(const Stack &); };

template  int Stack::push(const T &el) { if(top
Слайд 17

template int Stack::push(const T &el) { if(top

Шаблоны классов Слайд: 18
Слайд 18
template  Stack::Stack(int n):top(0) { sz = n > 0 ? n : 10; arr = new T[sz]; }
Слайд 19

template Stack::Stack(int n):top(0) { sz = n > 0 ? n : 10; arr = new T[sz]; }

template  Stack::Stack(const Stack &s): top(s.top), sz(s.sz), arr(new T[s.sz]) { for(int i = 0; i
Слайд 20

template Stack::Stack(const Stack &s): top(s.top), sz(s.sz), arr(new T[s.sz]) { for(int i = 0; i

template  Stack &Stack::operator =( const Stack &s) { if(this != &s){ delete [] arr; top = s.top; sz = s.sz;
Слайд 21

template Stack &Stack::operator =( const Stack &s) { if(this != &s){ delete [] arr; top = s.top; sz = s.sz;

arr = new T[sz]; for(int i = 0; i
Слайд 22

arr = new T[sz]; for(int i = 0; i

11.7. Использование шаблона класса. int main() { Stack st1, st2; st1.push(12); st1.push(25); st2 =st1; int x, y; st1.pop(x);
Слайд 23

11.7. Использование шаблона класса

int main() { Stack st1, st2; st1.push(12); st1.push(25); st2 =st1; int x, y; st1.pop(x);

11.7. Использование шаблона класса (продолжение). st2.pop(y); cout. x = 25, y = 25 Для продолжения нажмите любую клавишу . . .
Слайд 24

11.7. Использование шаблона класса (продолжение)

st2.pop(y); cout

x = 25, y = 25 Для продолжения нажмите любую клавишу . . .

11.8. Контейнер: список. struct SLink { SLink *next; SLink(): next(NULL){ } SLink(SLink *p): next(p){ } };  first next
Слайд 25

11.8. Контейнер: список

struct SLink { SLink *next; SLink(): next(NULL){ } SLink(SLink *p): next(p){ } };

 first next

11.8. Контейнер: список (продолжение). class BList { protected: SLink *first; public: BList(): first(NULL){ } BList(SLink *a): first(a){ } void insert(SLink *); SLink *get(); friend class BListIter; };
Слайд 26

11.8. Контейнер: список (продолжение)

class BList { protected: SLink *first; public: BList(): first(NULL){ } BList(SLink *a): first(a){ } void insert(SLink *); SLink *get(); friend class BListIter; };

class BListIter { private: BList *cs; SLink *cl; public: BListIter(BList &a):cs(&a), cl(a.first){ } SLink *operator()(); };
Слайд 27

class BListIter { private: BList *cs; SLink *cl; public: BListIter(BList &a):cs(&a), cl(a.first){ } SLink *operator()(); };

SLink *BList::get() { SLink *res = first; if(first){ first = first->next; res->next = NULL; } return res; }. res
Слайд 28

SLink *BList::get() { SLink *res = first; if(first){ first = first->next; res->next = NULL; } return res; }

res

void BList::insert(SLink *a) { a->next = first; first = a; a = NULL; }. a
Слайд 29

void BList::insert(SLink *a) { a->next = first; first = a; a = NULL; }

a

SLink *BListIter::operator()() { SLink *ret = cl; cl = cl ? cl->next : cs->first; return ret; }
Слайд 30

SLink *BListIter::operator()() { SLink *ret = cl; cl = cl ? cl->next : cs->first; return ret; }

11.9. Контейнер: список – использование. class StackInt: public SLink{ protected: int val; public: StackInt(int a = 0):val(a){} int getVal() const {return val;} }; val
Слайд 31

11.9. Контейнер: список – использование

class StackInt: public SLink{ protected: int val; public: StackInt(int a = 0):val(a){} int getVal() const {return val;} };

val

11.9. Контейнер: список – использование (продолжение). int main() { BList st; StackInt *p = NULL; st.insert(new StackInt(12)); st.insert(new StackInt(25)); st.insert(new StackInt(38));
Слайд 32

11.9. Контейнер: список – использование (продолжение)

int main() { BList st; StackInt *p = NULL; st.insert(new StackInt(12)); st.insert(new StackInt(25)); st.insert(new StackInt(38));

std::cout getVal())  p = static_cast( st.get() );
Слайд 33

std::cout getVal()) p = static_cast( st.get() );

std::cout (pl); std::cout getVal())
Слайд 34

std::cout (pl); std::cout getVal())

p = static_cast(st.get()); std::cout getVal())
Слайд 35

p = static_cast(st.get()); std::cout getVal())

item #3: 38 Iterator: 25 12 item #2: 25 Для продолжения нажмите любую клавишу . . .
Слайд 36

item #3: 38 Iterator: 25 12 item #2: 25 Для продолжения нажмите любую клавишу . . .

11.10. Шаблон списка. template struct TLink: public SLink{ T info; TLink(const T &a):info(a){ } };
Слайд 37

11.10. Шаблон списка

template struct TLink: public SLink{ T info; TLink(const T &a):info(a){ } };

11.10. Шаблон списка (продолжение). template class SListIter; template class SList:private BList { friend class SListIter; public: void insert(const T &a); T get(); };
Слайд 38

11.10. Шаблон списка (продолжение)

template class SListIter; template class SList:private BList { friend class SListIter; public: void insert(const T &a); T get(); };

template  void SList::insert(const T &a) { BList::insert(new TLink(a)); }
Слайд 39

template void SList::insert(const T &a) { BList::insert(new TLink(a)); }

template  T SList::get() { T res; TLink *lnk = static_cast*>(BList::get());
Слайд 40

template T SList::get() { T res; TLink *lnk = static_cast*>(BList::get());

if(lnk){ res = lnk->info; delete lnk; } return res; }
Слайд 41

if(lnk){ res = lnk->info; delete lnk; } return res; }

template  class SListIter:public BListIter{ public: SListIter(SList &a): BListIter(a){ } T *operator()(); };
Слайд 42

template class SListIter:public BListIter{ public: SListIter(SList &a): BListIter(a){ } T *operator()(); };

template T *SListIter::operator()() { SLink *p = BListIter::operator()(); return p ? &(static_cast *>(p))->info : NULL; }
Слайд 43

template T *SListIter::operator()() { SLink *p = BListIter::operator()(); return p ? &(static_cast *>(p))->info : NULL; }

11.11. Использование шаблона списка. int main() { SList st; st.insert(12); st.insert(25); st.insert(38); int res = st.get(); std::cout
Слайд 44

11.11. Использование шаблона списка

int main() { SList st; st.insert(12); st.insert(25); st.insert(38); int res = st.get(); std::cout

11.11. Использование шаблона списка (продолжение). SListIter it(st); int *p = NULL; std::cout
Слайд 45

11.11. Использование шаблона списка (продолжение)

SListIter it(st); int *p = NULL; std::cout

std::cout
Слайд 46

std::cout

11.12. Структура программы. Архивный файл mytempl
Слайд 47

11.12. Структура программы

Архивный файл mytempl

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

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

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

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

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

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

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

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

Шаблоны в Quanta Plus

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

Уроки по иформатике для 5-11 классов

11 класс. Моделирование как метод познания. Системный подход в моделировании. § 2.1-2.2 Стр.80-84 12 урок по теме. План урока. 1. Проверка домашнего ...
Описание классов, модификаторы доступа в Java

Описание классов, модификаторы доступа в Java

Имена. Имена используются в программе для доступа к объявленным ранее элементам языка. Имена имеют: • пакеты; • классы (конструкторы); • интерфейсы; ...
Использование информационных технологий в работе учителя начальных классов

Использование информационных технологий в работе учителя начальных классов

Цель исследования: Проанализировать возможности использовать ИКТ в работе учителя начальных классов. Задачи: Дать определение ИКТ в образовании. Рассмотреть ...
Возможности использования ресурсов Интернета учителями начальных классов

Возможности использования ресурсов Интернета учителями начальных классов

Интернет - гигантская Всемирная компьютерная сеть, объединяющая десятки тысяч глобальных, региональных и локальных сетей всего мира. Ее назначение ...
Безопасность в сети интернет для 5-6 классов

Безопасность в сети интернет для 5-6 классов

Что такое Интернет? Какие бывают опасные угрозы в сети Интернет? Физкультминутка Практическая работа Обобщение полученной информации Составление сводной ...
Microsoft Word: стили, шаблоны, оглавление

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

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

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

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

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

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

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

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

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

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

Методика изучения темы "Алгоритмизация и программирование"

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

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

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

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

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

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

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

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

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

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

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

Конспекты

Влияние компьютерных игр на формирование агрессивных моделей поведения учащихся начальных классов

Влияние компьютерных игр на формирование агрессивных моделей поведения учащихся начальных классов

Конспект урока в 4 классе. на тему:. «Влияние компьютерных игр на формирование агрессивных моделей поведения учащихся начальных классов». Выполнила: ...

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

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

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

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