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


Типизация и структуризация данных

Содержание

ЛитератураBирт Н. Алгоритмы + структуры данных = программы. - М.: Мир.ГОСТ 20886-85 Организация данных в системах обработки данных. Термины и определения

Слайды и текст этой презентации

Слайд 1Типизация и структуризация данных

Типизация и структуризация данных

Слайд 2Литература
Bирт Н. Алгоритмы + структуры данных = программы. - М.:

Мир.
ГОСТ 20886-85 Организация данных в системах обработки данных. Термины и

определения
ЛитератураBирт Н. Алгоритмы + структуры данных = программы. - М.: Мир.ГОСТ 20886-85 Организация данных в системах обработки

Слайд 3Организация данных
Данные – это представление фактов и идей в формализованном

виде, пригодном для передачи и переработке в некоем процессе
Информация

- это смысл, который придается данным при их представлении

Организация данных – представление данных и управление данными в соответствии с определенными соглашениями.


Организация данныхДанные – это представление фактов и идей в формализованном виде, пригодном для передачи и переработке в

Слайд 4Модель обработки информации
Обработка информации – это практическая реализация некоторой функции

F, которая отображает множество данных D во множество возможных результатов

R.
F – произвольная функция, которую надо «вычислить», например, перевод текста с русского на английский, нахождение максимума, расчет траектории ракеты, построение оптимального плана и т.д.
Модель обработки информацииОбработка информации – это практическая реализация некоторой функции F, которая отображает множество данных D во

Слайд 5Организация данных
Представление данных (Data representation) – характеристика, выражающая
правила кодирования

элементов
и образования конструкций данных на конкретном уровне рассмотрения в

вычислительной системе
Управление данными (Data management) – совокупность функций обеспечения
требуемого представления данных,
накопления и хранения,
обновления и удаления,
поиска по заданному критерию и выдачи данных


Организация данныхПредставление данных (Data representation) – характеристика, выражающая правила кодирования элементов и образования конструкций данных на конкретном

Слайд 6Организация данных
Представление данных (Data representation) – характеристика, выражающая
правила кодирования

элементов
и образования конструкций данных на конкретном уровне рассмотрения в

вычислительной системе
Управление данными (Data management) – совокупность функций обеспечения
требуемого представления данных,
накопления и хранения,
обновления и удаления,
поиска по заданному критерию и выдачи данных

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

Организация данныхПредставление данных (Data representation) – характеристика, выражающая правила кодирования элементов и образования конструкций данных на конкретном

Слайд 7Уровни организации данных
Логическая организация данных: проектный уровень
отражает взгляд пользователя на

данные
применяются формальные методы описания динамически изменяющихся структур
Представление данных: уровень языка

реализации
описание данных на языке программирования
Физическая организация данных
учитывается размещение и связь данных в среде хранения
Уровни организации данныхЛогическая организация данных: проектный уровеньотражает взгляд пользователя на данныеприменяются формальные методы описания динамически изменяющихся структурПредставление

Слайд 8Понятие о типизации языка
Тип объекта

С машинной точки зрения
Форма

представления его значений в памяти.
Определяется способ доступа к объекту и

его части.

С точки зрения разработчика
множество значений и набор операций, выполняемых над этими значениями и обладающих некоторыми свойствами
Понятие о типизации языка Тип объекта С машинной точки зренияФорма представления его значений в памяти.Определяется способ доступа

Слайд 9Контроль типов
Основная функция типов
обеспечение более полной и легкой проверки правильности

программ.
Проверка заключается
в определении типов выражений
и их согласованности

с типами, которые требуются по правилам языка.

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

Слайд 10Правила типизации
Программа называется типово-правильной, если она удовлетворяет правилам типизации языка:

приписывание

типов переменным и константам,
определение типов выражений по типам их частей,
согласование

типов частей языковых конструкций.

Язык программирования является типизированным, если для него определены правила типизации.
Правила типизацииПрограмма называется типово-правильной, если она удовлетворяет правилам типизации языка:приписывание типов переменным и константам,определение типов выражений по

Слайд 11Статическая типизация
переменная, параметр подпрограммы, возвращаемое значение функции связывается с

типом в момент объявления и тип не может быть изменён

позже
Ада, Cи++, Паскаль

Динамическая типизация
переменная связывается с типом в момент присваивания значения, а не в момент объявления переменной
Python, Ruby, PHP, Perl, JavaScript
Статическая типизация переменная, параметр подпрограммы, возвращаемое значение функции связывается с типом в момент объявления и тип не

Слайд 12Уровни типизации
Слабо типизированный (нестрогая типизация) – если информация и типе

используется только для обеспечения корректности программы на машинном уровне (ПЛ/1,

Алгол-68, Си и C++)
разрешается выполнение некорректных операций
повышает гибкость языка, но уменьшает понятность и надежность программ.

Сильно типизированный (строгая типизация) – если осуществляется полный контроль типов (язык Ада, C#)
повышает надежность и ясность программ
Уровни типизацииСлабо типизированный (нестрогая типизация) – если информация и типе используется только для обеспечения корректности программы на

Слайд 13Преимущества типизации
Модель предметной области лучше структурирована, существует иерархия сортов элементов

Манипулирование

элементами более целенаправленно, разнородные элементы обрабатываются различным образом, однородные –

единообразно

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

Слайд 14Тип данных
Определяет

Формат представления в памяти компьютера

Множество допустимых значений,

которые может принимать принадлежащая к выбранному типу переменная или константа



Множество допустимых операций, применимых к этому типу.

Тип данныхОпределяет Формат представления в памяти компьютера Множество допустимых значений, которые может принимать принадлежащая к выбранному типу

Слайд 15Простые и структурные типы данных

Простые
Целочисленные
Вещественные
Логический тип
Символьный тип

Структурированные
Массив


Структура
Перечисление
Класс

Простые и структурные типы данныхПростые ЦелочисленныеВещественныеЛогический тип Символьный тип СтруктурированныеМассив СтруктураПеречислениеКласс

Слайд 16Типы данных С++

Типы данных С++

Слайд 18Структурированные типы
Необходимость в структурных типах данных

Для разработки программ методом

сверху вниз необходимо иметь возможность описывать данные на различных уровнях.
Данные

должны быть структурированы, чтобы их можно было эффективно выбирать.

Структурированные типыНеобходимость в структурных типах данных Для разработки программ методом сверху вниз необходимо иметь возможность описывать данные

Слайд 19Общее понятие структуры данных
Абстрактный тип данных (АТД):
математическая модель и

операции, определенные в рамках этой модели.

Для представления АТД используются

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

Абстрактные структуры данных предназначены для удобного хранения и доступа к информации
предоставляют удобный интерфейс для типичных операций с хранимыми объектами, скрывая детали реализации от пользователя
Общее понятие структуры данныхАбстрактный тип данных (АТД): математическая модель и операции, определенные в рамках этой модели. Для

Слайд 20Массив
Массив – это последовательный набор элементов
Все элементы массива одного типа


Структуры могут хранить элементы разных типов
Доступ к конкретным элементам массива

происходит через использование индекса

Integer index 0
(zero)

Integer index 4
(four)

МассивМассив – это последовательный набор элементовВсе элементы массива одного типа Структуры могут хранить элементы разных типовДоступ к

Слайд 21Форма записи массива в C++
При объявлении массива необходимо определить:
Тип

элементов массива
Размер массива
Имя массива
Определяет размер массива
Определяет имя массива
Определяет тип элементов

массива

int arrInter[17];

Форма записи массива в C++При объявлении массива необходимо определить: Тип элементов массиваРазмер массиваИмя массиваОпределяет размер массиваОпределяет имя

Слайд 22Организация доступа к элементам массива
Определяйте индекс для каждой из размерностей
Индекс

первого элемента равен нулю
3
2
1
row[3];
grid[1,2];

Организация доступа к элементам массиваОпределяйте индекс для каждой из размерностейИндекс первого элемента равен нулю321row[3];grid[1,2];

Слайд 23Перечисления
Перечисляемый тип представляет собой тип значений, содержащий конечное число именованных

констант
Синтаксис определения перечисления


Создание перечисления



Использование перечисления

enum DayTime { morning, day, evening,

night };

DayTime current;
if (current != night)
// выполнить работу

enum <имя> [ : базовый тип]
{список-перечисления констант(через запятую)};

ПеречисленияПеречисляемый тип представляет собой тип значений, содержащий конечное число именованных константСинтаксис определения перечисленияСоздание перечисленияИспользование перечисленияenum DayTime {

Слайд 24Структуры
Создание структуры






Использование структуры

Employee companyEmployee;
companyEmployee.firstName = "Joe";
companyEmployee.age = 23;
public

struct Employee
{
string firstName;
int age;
}

Структуры могут хранить

элементы разных типов
СтруктурыСоздание структурыИспользование структурыEmployee companyEmployee; companyEmployee.firstName =

Слайд 25Динамические структуры данных
Особенности:
отсутствие физической смежности элементов структуры в памяти
непостоянство и

непредсказуемость размера (числа элементов) структуры в процессе ее обработки
Элемент

динамической структуры состоит из двух полей
информационного поля или поля данных
поле связок
Динамические структуры данныхОсобенности:отсутствие физической смежности элементов структуры в памятинепостоянство и непредсказуемость размера (числа элементов) структуры в процессе

Слайд 26Связное представление данных
Достоинства :
размер структуры ограничивается только доступным объемом машинной

памяти;
при изменении логической последовательности элементов структуры требуется не перемещение

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

Недостатки:
на поля связок расходуется дополнительная память;
доступ к элементам связной структуры может быть менее эффективным по времени.
Связное представление данныхДостоинства :размер структуры ограничивается только доступным объемом машинной памяти; при изменении логической последовательности элементов структуры

Слайд 27Реализация структур данных
В языках программирования имеется возможность явно запрашивать и

использовать области динамической памяти.
С++
Указатель содержит адрес поля в динамической памяти,

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

Слайд 28Коллекции общего назначения
Реализуют структуры данных:
стеки,
очереди,
динамические массивы,
словари (хеш-таблицы,

предназначенные для хранения пар ключ/значение),
отсортированный список для хранения пар

ключ/значение
Коллекции общего назначенияРеализуют структуры данных:стеки, очереди, динамические массивы, словари (хеш-таблицы, предназначенные для хранения пар ключ/значение), отсортированный список

Слайд 29Простейшие структуры данных
Список - упорядоченное множество, состоящее из переменного

числа элементов, к которым применимы операции включения, исключения.
Линейный список

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

Слайд 30Представление односвязного списка в памяти
Представление двусвязного списка в памяти

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

Слайд 31Стек
Стек - такой последовательный список с переменной длиной, включение и

исключение элементов из которого выполняются только с одной стороны списка,

называемого вершиной стека.
LIFO (Last – In – First - Out - "последним пришел - первым исключается").
Основные операции над стеком
включение нового элемента (английское название push - заталкивать)
исключение элемента из стека (англ. pop - выскакивать).
СтекСтек - такой последовательный список с переменной длиной, включение и исключение элементов из которого выполняются только с

Слайд 32Очередь FIFO
Очередью FIFO (First – In – First - Out - "первым пришел - первым исключается")

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

элементов выполняется только с одной стороны списка (эту сторону часто называют концом или хвостом очереди),
а исключение - с другой стороны (называемой началом или головой очереди).
Основные операции:
включение,
исключение,
определение размера, очистка,
Очередь FIFOОчередью FIFO (First – In – First - Out -

Слайд 33Дек
Дек - особый вид очереди.
Дек (от англ. deq -

double ended queue,т.е очередь с двумя концами) - это такой

последовательный список, в котором как включение, так и исключение элементов может осуществляться с любого из двух концов списка.
Операции над деком:
включение элемента справа;
включение элемента слева;
исключение элемента справа;
исключение элемента слева;
определение размера; очистка.
ДекДек - особый вид очереди. Дек (от англ. deq - double ended queue,т.е очередь с двумя концами)

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика