- •51.1. Понятие системы счисления. Позиционные и непозиционные системы счисления. Методы перевода чисел из одной системы счисления в другую.
- •52.1 Представление чисел с фиксированной и плавающей запятой. Диапазон и точность представления
- •52.2 Типы звеньев данных. Понятие звена данных.
- •52.3 Системы искусственного интеллекта. Методы представлениязнаний. Рассужденияизадачи.
- •53.1 Выполнение операции алгебраического сложения с плавающей запятой
- •53.2 Локальные вычислительные сети. Особенности. Основные распространенные протоколы, методы доступа
- •53.3 Определение базы данных. Уровни представления данных, принцип независимости данных. Схема базы данных
- •54.1 Умножение чисел со старших разрядов в прямом коде
- •Умножение с младших разрядов в дополнительном коде
- •Умножение со старших разрядов в дополнительном коде
- •55.1 Методы выполнения операции деления.
- •2 Деление двоичных чисел с фиксированной запятой
- •2.8. Деление двоичных чисел с плавающей запятой
- •55.2 Язык программирования php. Синтаксис. Основные операторы.
- •56.1 Основные положения и законы алгебры логики
- •56.2 Dhtml. JavaScript. Возможности и области применения
- •2. Моделированиеэкспоненциальнойслучайнойвеличины
- •1. Алгоритм реализации датчика дискретной с.В.
- •2. Пуассоновская с.В
- •58.1.Минимизация логической функции.
- •59.1 Синтез комбинационных логических схем в различных базисах.
- •59.2 Интерфейс программного обмена данными. Структура системной шины.
- •59.3. Реляционная алгебра. Sql
- •60.1.Основные характеристики и параметры интегральных логических элементов. Виды интегральных схем по функциональному назначению.
- •Итнернет технологии
- •2.1 Как работают механизмы поиска
- •60.3 Проектирование реляционной бд, функциональные зависимости, декомпозиция отношений, нормальные формы.
- •62.1 Законы Кирхгофа и преобразование электрических цепей на их основе.
- •63. 1 Электрические источники вторичного питания.
- •Трансформаторный (сетевой) источник питания
- •Габариты трансформатора
- •Достоинства трансформаторных бп
- •Недостатки трансформаторных бп
- •Импульсный источник питания
- •Достоинства импульсных бп
- •Недостатки импульсных бп
- •68.3 Понятие и принципы построения математической модели, параметры и ограничения. Задачи математического программирования, классификация.
- •69.1Аналого-цифровые преобразователи.
- •70.1Цифро-аналоговые преобразователи.
- •70.2 Логические единицы работы многозадачных операционных систем и их использование
- •71.1Источники опорного напряжения и тока.
- •Ион на полевых транзисторах
- •72.3 Общие положения стандарта шифрования данных гост 28147-89 и режим простой замены в стандарте шифрования данных гост 28147-89.
- •73.1 Принципы конвейерной обработки информации в эвм.
- •73.2. Способы адресации и их использование в ассемблерных программах.
- •2. Непосредственная адресация
- •73.3 Понятие политики безопасности: общие положения, аксиомы защищённых систем, понятия доступа и монитора безопасности.
- •1 Человек-пользователь воспринимает объекты и получает информацию о состоянии ас через те субъекты, которыми он управляет и которые отображают информацию.
- •2 Угрозы компонентам ас исходят от субъекта, как активного компонента, изменяющего состояние объектов в ас.
- •3 Субъекты могут влиять друг на друга через изменяемые ими объекты, связанные с другими субъектами, порождая субъекты, представляющие угрозу для безопасности информации или работоспособности системы.
- •74.1Организация памяти эвм. Горизонтальное и вертикальное разбиение. Расслоение обращений. Организация памяти эвм. Горизонтальное и вертикальное разбиение памяти. Расслоение обращений.
- •74.2 Сравнение программных возможностей современных операционных систем ( Windows, Unix).
- •По удобству использования и наличию особых режимов
- •Вопрос 1
- •Вопрос 2
- •Понятие энтропии Энтропия как мера неопределенности
- •Свойства энтропии
- •75.1 Подходы к организации эвм. Эвм, управляемые данными. Эвм, управляемые запросами.
- •Методика построения помехоустойчивых кодов. Информационный предел избыточности
- •1.1. Принципы помехоустойчивого кодирования
- •761 Организация ввода-вывода информации в эвм. Программный обмен, обмен через прерывания, режим прямого доступа к памяти.
- •Организация ввода/вывода информации в эвм. Программный обмен, обмен через прерывания, режим прямого доступа к памяти.
- •Глава II
- •11.1. Проблемы организации систем ввода-вывода
- •11.2. Прямой доступ к памяти
- •9.16. Принципы организации системы прерывания программ.
- •76.2 Динамические структуры данных. Основные виды, способы построения.
- •76.3 Системный анализ, определение и этапы. Сущность системного подхода и его применение при проектировании асоиу.
- •2 Системный анализ. Определение и этапы.
- •77.1 История развития и современное состояние в области микропроцессорных систем.
- •77.2 Стандартные и структурированные типы данных.
- •77.3 Математическое описание объектов управления. Цель и задача управления. Принцип отрицательной обратной связи.
- •2.1. Математические методы построения оптимальных и адаптивных систем управления
- •2.1.1. Математическое описание объектов управления
- •2.1.2. Цель и задача управления
- •2.1.3. Задача оптимального управления и критерии качества
- •78.1 (Он же 80.1) Организация микроЭвм на базе микропрограммируемого микропроцессорного комплекта, типовые циклы функционирования.
- •78.2 Жизненный цикл программных средств. Этапы разработки программного обеспечения.
- •Программное обеспечение
- •Прог. Комплекс Документы
- •78. 3 Критерий качества. Методы решения задач оптимального управления
- •79.2 Нисходящее проектирование алгоритмов на примере моделирования арифметических операций сложения, вычитания, с плавающей запятой.
- •79.3 Понятия управляемости, достижимости и наблюдаемости динамических систем.
- •80.1 Организация микроЭвм на базе микропрограммируемого микропроцессорного комплекта, типовые циклы функционирования.
- •80.2 Восходящий метод проектирования алгоритмов и программ. Спроектировать схему универсального алгоритма перевода чисел из любой системы счисления в любую другую.
- •80.3 Методология структурного проектирования sadt.
76.2 Динамические структуры данных. Основные виды, способы построения.
Статические и динамические структуры данных, их особенности
Структура данных - это способ хранения данных в компьютере, обеспечивающий их эффективное использование. Зачастую правильно подобранная структура данных позволяет создать более эффективный алгоритм. Выбор структуры данных обычно начинается с выбора абстрактной структуры данных. Хорошо спроектированная структура данных оптимизирует использование ресурсов (таких как время выполнения операций или используемый объём оперативной памяти), требуемых для выполнения наиболее критичных операций. Различают статические и динамические структуры данных.
Статические структуры относятся к разряду непримитивных структур, которые, фактически, представляют собой структурированное множество примитивных, базовых, структур. Например, вектор может быть представлен упорядоченным множеством чисел. Поскольку по определению статические структуры отличаются отсутствием изменчивости, память для них выделяется один раз и ее объем остается неизменным до уничтожения структуры.
Простейшая статическая структура данных – массив (статический).
Индексный массив - простая статическая структура данных, предназначенная для хранения набора единиц данных, каждая из которых идентифицируется индексом или набором индексов.
Достоинства:
легкость вычисления адреса элемента по его индексу (поскольку элементы массива располагаются один за другим);
одинаковое время доступа ко всем элементам;
малый размер элементов: они состоят только из информационного поля.
Недостатки:отсутствие динамики, невозможность удаления или добавления элемента без сдвига других.
К другим статическим структурам данных можно отнести также структуры и классы (или их аналогии в других языках программирования). Однако структуры и классы не обязательно являются статическими – это зависит от конкретной реализации.
Например:
var m1:array[-2..2] of real;
Вектор (одномерный массив) - структура данных с фиксированным числом элементов одного и того же типа. Каждый элемент вектора имеет уникальный в рамках заданного вектора номер. Обращение к элементу вектора выполняется по имени вектора и номеру требуемого элемента.
Массив - такая структура данных, которая характеризуется:
фиксированным набором элементов одного и того же типа;
каждый элемент имеет уникальный набор значений индексов;
количество индексов определяют мерность массива, например, два индекса - двумерный массив, три индекса - трехмерный массив, один индекс - одномерный массив или вектор;
обращение к элементу массива выполняется по имени массива и значениям индексов для данного элемента.
Синтаксис описания массива представляется в виде:
<Имя> : Array [n1..k1] [n2..k2] ..[nn..kn] of< Тип >.
Следует отметить, что большинство современных языков программирования позволяют объявлять динамические массивы (их размер определяется и может быть изменен в процессе работы программы).
Среди наиболее распространенных динамических структур данных следует выделить следующие:
связные списки; деревья; стеки; графы.
Главным достоинством динамических структур данных является возможность изменения их размера в процессе выполнения программы. Другими словами мы можем добавлять и удалять новые элементы в структуру по мере надобности.
Работа с динамическими величинами связана с использованием еще одного типа данных — ссылочного типа. Величины, имеющие ссылочный тип, называют указателями.
Указатель содержит адрес поля в динамической памяти, хранящего величину определенного типа. Сам указатель располагается в статической памяти.
Адрес величины — это номер первого байта поля памяти, в котором располагается величина. Размер поля однозначно определяется типом. Величина ссылочного типа (указатель) описывается следующим образом: имя_типа *<идентификатор>;
Вот примеры описания указателей: int *P1; char *P2;
Здесь P1 — указатель на динамическую величину целого типа; P2 — указатель на динамическую величину символьного типа.
Сами динамические величины не требуют описания в программе, поскольку во время компиляции память под них не выделяется. Во время компиляции память выделяется только под статические величины. Указатели — это статические величины, поэтому они требуют описания.
Каким же образом происходит выделение памяти под динамическую величину? Память под динамическую величину, связанную с указателем, выделяется в результате выполнения стандартной процедуры malloc. Формат обращения к этой процедуре:
идентификатор = (тип_идентификатора*) malloc (sizeof(тип_идентификатора))
Считается, что после выполнения этого оператора создана динамическая величина, имя которой имеет следующий вид:
<имя динамической величины> = *<указатель>