Инфоурок Информатика ПрезентацииПрезентация по программированию на стему "Стек", раздел "Динамическое прогаммрование" (11 класс)

Презентация по программированию на стему "Стек", раздел "Динамическое прогаммрование" (11 класс)

Скачать материал
Скачать материал "Презентация по программированию на стему "Стек", раздел "Динамическое прогаммрование" (11 класс)"

Получите профессию

Копирайтер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Методические разработки к Вашему уроку:

Получите новую специальность за 2 месяца

Директор школы

Описание презентации по отдельным слайдам:

  • Стек

    1 слайд

    Стек

  • ИсторияВ 1946 Алан Тьюринг ввёл понятие стека [1]. 
В 1957 году немцы Клаус С...

    2 слайд

    История
    В 1946 Алан Тьюринг ввёл понятие стека [1].
    В 1957 году немцы Клаус Самельсон и Фридрих Л. Бауэр запатентовали идею [2].

  • ОпределениеСтек - это данные динамической структуры, которые представляют соб...

    3 слайд

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

  • LIFOСтек функционирует по принципу LIFO (Last-In-First-Out) - "последним при...

    4 слайд

    LIFO
    Стек функционирует по принципу LIFO
    (Last-In-First-Out) - "последним пришел - первым исключается".
    При записи и выборке изменяется только адрес вершины стека. Поэтому каждый стек имеет базовый адрес, от которого производятся все операции со стеком. В случае, когда стек пуст, адреса вершины и основания стека совпадают.

  • Использование При работе со стеком нет необходимости прямо использовать адрес...

    5 слайд

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

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

  • РеализацияТак как язык Pascal не имеет непосредственно типа данных стек, то д...

    6 слайд

    Реализация
    Так как язык Pascal не имеет непосредственно типа данных стек, то для его моделирования наиболее подходящими структурами являются
    массивы (статический стек для моделирования структур заданного размера ) и
    динамический стек, при этом структура будет помещаться в динамической памяти, и её размер будет ограничен только размером кучи.

  • Описание стека
Type Tptr=^TElem; {Тип указателя на элемент стека}...

    7 слайд

    Описание стека

    Type Tptr=^TElem; {Тип указателя на элемент стека} TElem = record {Тип элемента стека }
    inf : integer; {информационная часть} link : Tptr; {соединительная часть}
    end;

  • Исходное состояниеДля работы со стеком необходимо иметь 
один основной указат...

    8 слайд

    Исходное состояние
    Для работы со стеком необходимо иметь
    один основной указатель на вершину стека (возьмём идентификатор Top) и
    один дополнительный временный указатель (возьмём идентификатор P), который используется для выделения и освобождения из памяти элементов стека.
    Top
    P
    nil
    ?
    Top:=nil;

  • Выделение памяти под первый элемент стека и занесение в него информации: Topn...

    9 слайд

    Выделение памяти под первый элемент стека и занесение в него информации:
    Top
    nil
    P
    Inf: 5
    Link
    nil
    New(P);
    P^.Inf:=5;
    P^.Link:=nil;

  • Установка вершины стека Top на созданный элемент: LinknilInf: 5TopPTop:=P;

    10 слайд

    Установка вершины стека Top на созданный элемент:
    Link
    nil
    Inf: 5
    Top
    P
    Top:=P;

  • Добавление элемента стека Исходное состояние: 
P?TopLinkInf: 5LinkInf: 1LinkI...

    11 слайд

    Добавление элемента стека
    Исходное состояние:

    P
    ?
    Top
    Link
    Inf: 5
    Link
    Inf: 1
    Link
    Inf: 3
    nil

  • Добавление элемента стека Выделение памяти под новый элемент стека. Внесение...

    12 слайд

    Добавление элемента стека
    Выделение памяти под новый элемент стека. Внесение значения в информационное поле нового элемента и установка связи между ним и "старой" вершиной стека Top:
    Top
    Link
    Inf: 5
    Link
    Inf: 1
    Link
    Inf: 3
    nil
    P
    Inf: 10
    Link
    New(P);
    P^.Inf:=10;
    P^.Link:=Top;

  • Добавление элемента стека Перемещение вершины стека Top на новый элемент: Top...

    13 слайд

    Добавление элемента стека
    Перемещение вершины стека Top на новый элемент:
    Top
    Link
    Inf: 5
    Link
    Inf: 1
    Link
    Inf: 3
    P
    Inf: 10
    Link
    nil
    Top:=P;

  • Удаление элемента стека Исходное состояние TopLinkInf: 5LinkInf: 1LinkInf: 3P...

    14 слайд

    Удаление элемента стека
    Исходное состояние
    Top
    Link
    Inf: 5
    Link
    Inf: 1
    Link
    Inf: 3
    P
    Inf: 10
    Link
    Val:?
    ?

  • Удаление элемента стекаИзвлечение информации из информационного поля вершины...

    15 слайд

    Удаление элемента стека
    Извлечение информации из информационного поля вершины стека Top в переменную Val и установка на вершину стека вспомогательного указателя P:
    Top
    Link
    Inf: 5
    Link
    Inf: 1
    Link
    Inf: 3
    P
    Inf: 10
    Link
    Val:10
    Val:=Top^.Inf;
    P:=Top;

  • Удаление элемента стекаПеремещение указателя вершины стека Top на следующий э...

    16 слайд

    Удаление элемента стека
    Перемещение указателя вершины стека Top на следующий элемент и освобождение памяти, занимаемой "старой" вершиной стека:
    Top
    Link
    Inf: 5
    Link
    Inf: 1
    Link
    Inf: 3
    P
    Inf: 10
    Link
    Val:10
    Top:=P^.Link;
    Dispose(P);

  • ЗаданиеИсследовать и доработать программу стек_на основе_списка.pas.
Размести...

    17 слайд

    Задание
    Исследовать и доработать программу стек_на основе_списка.pas.
    Разместить в стеке 10 символов и распечатать их в обратном порядке.
    Проверить в выражении баланс открывающихся "(" и закрывающихся ")" скобок.
    Идея алгоритма заключается в следующем. Если встречается открывающаяся скобка, то в стек помещают какой-либо символ. Если встречается закрывающаяся скобка, то проверяют состояние стека. При этом возможны следующие ситуации:
    стек непуст: из стека извлекают один элемент;
    стек пуст, это свидетельствует о том, что закрывающихся скобок больше чем открывающихся.
    После того, как просмотрена вся строка символов, необходимо проверить состояние стека. Если он пуст, то баланс скобок не нарушен. В противном случае - баланса нет.

Получите профессию

Технолог-калькулятор общественного питания

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 663 647 материалов в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 12.01.2016 3539
    • PPTX 576 кбайт
    • 83 скачивания
    • Рейтинг: 1 из 5
    • Оцените материал:
  • Настоящий материал опубликован пользователем Смирнова Елена Анатольевна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Смирнова Елена Анатольевна
    Смирнова Елена Анатольевна
    • На сайте: 9 лет и 6 месяцев
    • Подписчики: 0
    • Всего просмотров: 3931
    • Всего материалов: 2

Ваша скидка на курсы

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

Курс профессиональной переподготовки

Экскурсовод

Экскурсовод (гид)

500/1000 ч.

Подать заявку О курсе

Курс повышения квалификации

Организация преподавания информационных систем и технологий в профессиональном образовании

36 ч. — 180 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Этот курс уже прошли 75 человек

Курс профессиональной переподготовки

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

Специалист по формированию электронного архива

600 ч.

9840 руб. 5600 руб.
Подать заявку О курсе
  • Сейчас обучается 30 человек из 22 регионов
  • Этот курс уже прошли 36 человек

Курс профессиональной переподготовки

Информатика: теория и методика преподавания с применением дистанционных технологий

Учитель информатики

300 ч. — 1200 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Этот курс уже прошли 18 человек

Мини-курс

Основы русского языка: морфология, синтаксис, лексика

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 22 человека из 12 регионов
  • Этот курс уже прошли 14 человек

Мини-курс

Эффективное управление запасами

4 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Современные инструменты инвестирования и управления затратами

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
Сейчас в эфире

Информационная интоксикация: методы исцеления

Перейти к трансляции