
- •Предисловие
- •Введение
- •1. Информатика, информационные технологии
- •1.1. Информация
- •1.1.1. Понятие информации
- •1.1.2. Свойства информации
- •1.1.3. Количество информации
- •1.1.4. Информационные процессы
- •1.3. Представление (кодирование) данных
- •1.3.1. Системы счисления
- •1.3.2. Представление данных в памяти компьютера
- •1.4 Математические основы информатики
- •1.4.1. Алгебра высказываний (булева алгебра)
- •1.4.2. Элементы теории множеств
- •2.5. Поколения цифровых устройств обработки информации
- •2.6. Архитектуры вычислительных систем сосредоточенной обработки информации
- •2.7. Функциональная организация персонального компьютера
- •3. Программное обеспечение
- •3.1. Классификация программного обеспечения. Виды программного обеспечения и их характеристики
- •3.2. Системное программное обеспечение
- •3.2.1 Базовое программное обеспечение
- •3.2.2. Файловые системы
- •3.3. Служебное программное обеспечение
- •3.4. Основы машинной графики
- •3.5. Программное обеспечение обработки текстовых данных
- •3.6. Электронные таблицы
- •3.7. Электронные презентации
- •3.8. Базы данных, системы управления базами данных
- •4. Модели решений задач
- •4.1. Основные понятия
- •4.2. Классификация видов моделирования
- •4.3. Информационные модели
- •4.4. Этапы и цели моделирования
- •4.5 Модели представления данных
- •5. Алгоритмизации и программирование
- •5.1. Понятие алгоритма и его свойства
- •5.2. Способы описания алгоритмов
- •5.3. Основные алгоритмические конструкции
- •5.3.1. Линейная алгоритмическая конструкция
- •5.3.2. Разветвляющаяся алгоритмическая конструкция
- •5.3.3. Алгоритмическая конструкция «Цикл»
- •5.3.4. Рекурсивный алгоритм
- •6. Языки программирования и технологии программирования
- •6.1. Языки программирования
- •6.2. Компиляторы и интерпретаторы
- •6.3. Системы программирования
- •6.4. Классификация и обзор языков программирования
- •6.5. Этапы решения задач на компьютере
- •6.6. Принципы программирования
- •7. Компьютерные сети, Интернет, компьютерная безопасность
- •7.1. Компьютерные сети
- •7.2 Топология сетей
- •7.3. Сетевые компоненты
- •7.4. Интернет. Основные понятия
- •7.5. Подключение к Интернету
- •7.6. Вопросы компьютерной безопасности
- •Заключение
- •Глоссарий
- •4.4. Этапы и цели моделирования 84
4.5 Модели представления данных
Модель данных представляет множество структур данных и взаимосвязи между ними.
Различают иерархическую, сетевую и реляционную модели данных. Иерархическая модель представляет связи между объектами (данными) в виде дерева.
К основным понятиям иерархической модели относятся:
узел – набор атрибутов данных, описывающих объект;
связь – линия, связывающая узлы нижнего уровня с одним узлом вышележащего уровня. При этом узел вышележащего уровня называют предком для соответствующих ему узлов нижнего уровня, в свою очередь, узлы нижнего уровня называют потомками связанного с ними вышележащего узла (например, на рис. 4.2. узел В1 – предок для узлов C1, С2, а узлы С1, С2 – потомки узла В1);
уровень – номер слоя узлов, отсчитанный от корня.
Рис. 4.2. Иерархическая модель данных
Сетевая структура имеет те же составляющие, что и иерархическая, но каждый узел может быть связан с любым другим узлом (рис. 4.3). Сетевой подход к организации данных является расширением иерархического. В иерархических моделях запись-потомок должна иметь только одного предка; в сетевых – потомок может иметь любое число предков.
Рис. 4.3. Сетевая модель данных
Обе эти модели не получили широкого распространения из-за сложности реализации графов в виде машинных структур данных, кроме того, в них сложно осуществить операции поиска информации.
Набольшее распространение получила третья модель данных –реляционная, она может так же описывать иерархическую и сетевую модель. Реляционная модель ориентирована на организацию данных в виде двумерных таблиц.
5. Алгоритмизации и программирование
5.1. Понятие алгоритма и его свойства
Каждый из нас постоянно решает множество задач: как быстрее добраться на работу, как лучше спланировать дела текущего дня и многие другие. Некоторые задачи мы решаем автоматически, так как на протяжении многих лет привыкли к их выполнению, другие требуют длительного размышления над решением, но в любом случае, решение каждой задачи всегда делится на простые действия.
Алгоритм – описанная на некотором языке точная конечная система правил, определяющая содержание и порядок действий над некоторыми объектами, строгое выполнение которых дает решение поставленной задачи.
Любой алгоритм существует не сам по себе, а предназначен для определенного исполнителя (человека, робота, компьютера, языка программирования и т.д.). Свойством, характеризующим любого исполнителя, является то, что он умеет выполнять некоторые команды. Совокупность команд, которые данный исполнитель умеет выполнять, называется системой команд исполнителя. Алгоритм описывается в командах исполнителя, который будет его реализовывать.
Алгоритм характеризуется следующими свойствами: дискретностью, массовостью, определенностью, результативностью, формальностью.
Дискретность – это свойство алгоритма, характеризующее его структуру: каждый алгоритм состоит из отдельных законченных действий, говорят: «Делится на шаги».
Массовость – применимость алгоритма ко всем задачам рассматриваемого типа, при любых исходных данных.
Определенность (детерминированность, точность) – свойство алгоритма, указывающее на то, что каждый шаг алгоритма должен быть строго определен и не допускать различных толкований; также строго должен быть определен порядок выполнения отдельных шагов.
Результативность – свойство, состоящее в том, что любой алгоритм должен завершаться за конечное (может быть очень большое) число шагов.
Формальность – это свойство указывает на то, что любой исполнитель, способный воспринимать и выполнять инструкции алгоритма, действует формально, т.е. отвлекается от содержания поставленной задачи и лишь строго выполняет инструкции.