- •Содержание предисловие 5
- •Тема 1. Основные понятия информатики 8
- •Тема 2. Алгоритмизация и программирование 23
- •Тема 3. Технические средства реализации информационных процессов 40
- •Тема 10. Искусственный интеллект 170
- •Предисловие
- •Тема 1. Основные понятия информатики
- •1.1. Информатика, ее структура, задачи и функции
- •1.2. Место информатики в ряду других фундаментальных наук
- •1.3. Понятие информации
- •1.4. Измерение информации: количество, единицы измерения, энтропия
- •1.5. Свойства информации
- •1.6. Виды информации
- •1.7. Требования к информации
- •1.8. Классификация и кодирование информации
- •Кодирование и декодирование числовой информации
- •Международные системы байтового кодирования текстовой информации
- •Кодирование графических данных
- •1.9. Общая характеристика процессов сбора, передачи, обработки и накопления информации
- •Тесты для самопроверки
- •1. Из каких взаимосвязанных частей состоит информатика?
- •2. Информация это
- •Тема 2. Алгоритмизация и программирование
- •2.1. Понятие алгоритма
- •2.2. Свойства алгоритмов
- •2.3. Графическое представление алгоритмов
- •2.4. Технологии программирования Операционный подход
- •Структурный подход
- •Объектно-ориентированное программирование
- •Декларативный подход в программировании
- •Процедурно-ориентированное программирование
- •2.5. Понятие языка программирования
- •2.6. Грамматика языков программирования
- •2.7. Проектирование программ
- •2.8. Системы программирования
- •2.9. Языки программирования высокого уровня Язык программирования Паскаль
- •Основные элементы языка программирования Паскаль
- •Язык программирования Пролог
- •Тесты для самопроверки
- •Задания для самопроверки
- •2. Разработать алгоритм и программу на языке Паскаль, выполняющую следующие действия:
- •Тема 3. Технические средства реализации информационных процессов
- •3.1. Офисная техника
- •3.2. История развития средств вычислительной техники
- •3.3. Методы классификации компьютеров
- •Классификация по поколениям Первое поколение
- •Второе поколение
- •Третье поколение
- •Четвёртое поколение
- •Пятое поколение37
- •Классификация по условиям эксплуатации
- •Классификация по производительности и характеру использования
- •Основные разновидности портативных компьютеров
- •3.4. Архитектура эвм
- •Классическая архитектура (архитектура фон Неймана)
- •Многопроцессорная архитектура
- •Многомашинная вычислительная система
- •Архитектура с параллельными процессорами
- •3.5. Базовая аппаратная конфигурация пк
- •Системный блок
- •Видеосистема компьютера
- •Монитор на базе электронно-лучевой трубки
- •Последняя не должна быть ниже 85 Гц, иначе изображение будет мерцать. Жидкокристаллические мониторы
- •Сенсорный экран
- •Клавиатура
- •3.6. Внутренние устройства системного блока пк
- •Системная плата
- •Внешняя память
- •Накопители на гибких магнитных дисках
- •Накопители на жестких магнитных дисках
- •Оптические накопители cd-rom
- •Накопители на магнитной ленте (стримеры)
- •Flash-память
- •Платы расширения
- •Аудиоадаптер
- •Видеоадаптер и графический акселератор
- •Модем и факс-модем
- •3.7. Системы, расположенные на материнской плате пк Центральный процессор
- •Микропроцессорный комплект
- •Системные шины
- •Внутренняя память
- •Оперативная память
- •Постоянная память
- •3.8. Периферийные устройства пк Принтеры
- •Плоттер
- •Манипуляторы
- •Дигитайзер
- •3.9. Общая схема пк
- •Тесты для самопроверки
- •Тема 4. Программные средства реализации информационных процессов
- •4.1. Программное обеспечение эвм. Классификация и структура.
- •4.2. Назначение и основные функции ос
- •4.3. Классификация ос
- •4.4. Понятие файловой системы
- •4.5. Сетевое по
- •4.6. Операционные среды и оболочки
- •4.7. Служебное по
- •Тесты для самопроверки
- •Тема 5. Инструментарии решения функциональных задач
- •5.1. Понятие прикладного по и пакета прикладных программ
- •5.2. Прикладное по общего назначения
- •5.2.1. Текстовые процессоры
- •5.2.2. Электронные таблицы
- •5.2.3. Средства создания презентаций
- •5.2.4. Система управления базами данных
- •5.2.5. Графические редакторы
- •5.2.6. Офисные системы
- •5.3. Проблемно-ориентированное по
- •5.4. Методо-ориентированное по
- •Тесты для самопроверки
- •Тема 6. Базы данных
- •6.1. Основные понятия баз данных
- •6.2. Виды моделей баз данных
- •6.2.1. Иерархическая модель данных
- •6.2.2. Сетевая модель данных
- •Реляционная модель данных
- •6.3. Классификация баз данных
- •6.4. Проектирование реляционной бд
- •6.4.1. Требования к бд
- •6.4.2. Трехуровневая архитектура представления данных
- •6.4.3. Средства представления инфологической модели данных
- •6.4.4. Нормализация отношений
- •Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •6.5. Основы использования языка sql
- •6.5.1. Язык Описания Данных
- •6.6. Язык Манипулирования Данными
- •Тесты для самопроверки
- •Тема 7. Модели и моделирование
- •7.1. Ключевые этапы моделирования
- •7.2. Обобщённая классификация моделей
- •7.2.1. Категориальные модели
- •7.2.2. Модели, фиксирующие особенности свойств оригинала
- •7.2.3. Природа моделей
- •7.2.4. Основания для перехода от модели к оригиналу
- •7.3. Классификация математических моделей
- •7.3.1. Модели, определяемые методом получения результата
- •7.3.2. Модели, определяемые инструментальной средой моделирования
- •Тесты для самопроверки
- •9. Среди общепринятых классификаций видов моделей отсутствует их классификация на
- •10. В отношении «объект-модель» не находятся понятия
- •Тема 8. Компьютерные сети
- •8.1. Основные понятия компьютерных сетей
- •8.2. Топология компьютерных сетей
- •8.3. Структура вычислительной сети
- •8.3.1. Компьютеры
- •8.3.2. Каналы передачи данных
- •8.3.3. Устройства сопряжения эвм с аппаратурой передачи данных
- •8.3.4. Устройства межсетевого интерфейса
- •8.3.5. Устройства коммутации
- •8.3.6. Методы доступа к каналам связи
- •8.4. Локальные сети
- •8.5. Организация работы в локальной сети
- •8.5.1. Сеть с файловым сервером
- •Одноранговая сеть
- •Модель открытой системы взаимодействия
- •8.6. Возможности сети Интернет
- •8.6.1. Программное обеспечение работы в Интернет
- •8.6.2. Адресация и протоколы в Интернет
- •8.7. Службы Интернета
- •8.7.1. Терминальный режим
- •8.7.2. Всемирная паутина, или World Wide Web
- •8.7.3. Служба Gopher
- •8.7.4. Файловые информационные ресурсы ftp
- •8.7.5. Электронная почта (e-mail)
- •8.7.6. Списки рассылки (Mail List)
- •8.7.7. Новости, или конференции
- •8.7.8. Передача разговоров по Интернету
- •8.7.9. Многопользовательские области, или Игры в Internet
- •8.7.10. Радиовещание Интернет (Internet Talk Radio)
- •8.7.11. Базы данных wais
- •8.8. Сетевая операционная система (сос)
- •8.8.1. Сетевая операционная система aix
- •8.8.2. Сетевая операционная система Cairo
- •8.8.3. Сетевая операционная система Dayton
- •8.8.4. Сетевая операционная система lan Server
- •8.8.5. Сетевая операционная система NetWare
- •8.8.6. Сетевая операционная система vines
- •8.8.7. Сетевая операционная система Windows 95
- •8.8.8. Сетевая операционная система Windows nt*
- •8.8.9. Сетевая операционная система Windows ntas
- •8.8.10. Операционная система unix
- •Тесты для самопроверки
- •1. Выберите определение компьютерной сети
- •2. Сетевая плата - это устройство
- •3. Какие типы локальных сетей существуют?
- •4. Какие области выделяются пользователю на жестком диске сервера?
- •Тема 9. Информационная безопасность
- •9.1. Защита информации
- •9.2. Объекты и элементы защиты в компьютерных системах обработки данных
- •9.3. Средства опознания и разграничения доступа к информации
- •9.4. Криптографический метод защиты информации
- •9.5. Компьютерные вирусы и антивирусные программные средства
- •9.6. Защита программных продуктов
- •9.7. Обеспечение безопасности данных на автономном компьютере
- •9.8. Безопасность данных компьютерных сетей
- •Тесты для самопроверки
- •Тема 10. Искусственный интеллект
- •10.1. Основные положения
- •10.2. Типичные модели представления знаний
- •10.2.1 Логическая модель представления знаний
- •10.2.2. Представление знаний правилами продукций
- •10.2.3. Объектно-ориентированное представление знаний фреймами
- •10.2.4. Модель семантической сети
- •10.3. Эволюционные аналогии в искусственных интеллектуальных системах
- •Тесты для самопроверки
- •Библиографический список
- •Информатика
- •300012, Г. Тула, пр. Ленина, 92
- •300012, Г. Тула, ул. Болдина, 151
Тема 2. Алгоритмизация и программирование
План
2.1. Понятие алгоритма
2.2. Свойства алгоритмов
2.3. Графическое представление алгоритмов
2.4. Технологии программирования
2.5. Понятие языка программирования
2.6. Грамматика языков программирования
2.7. Проектирование программ
2.8. Системы программирования
2.9. Языки программирования высокого уровня
2.1. Понятие алгоритма
Определение алгоритма12 в сжатом виде было сформулировано известным русским математиком Марковым.
Алгоритмом называется точное предписание, задающее преобразование исходных данных в искомый результат. При этом могут производиться числовые вычисления, преобразования буквенных выражений, некоторых символов и т.д.
Наличие алгоритма формализует процесс решения задачи, исключая рассуждения исполнителя алгоритма. Использование алгоритма дает возможность решать задачу формально, механически исполняя команды алгоритма13 в указанной последовательности.
Исполнитель алгоритма – это некоторая абстрактная или реальная (техническая, биологическая или биотехническая) система, способная выполнить действия, предписываемые алгоритмом.
Устройство, которое без непосредственного участия человека выполняет обработку информации по заложенной в него программе14, называется автоматом. В информатике автомат – дискретный преобразователь информации, который преобразует некоторое множество входных сигналов в выходные, проходя при этом через множество внутренних состояний. Если указанные множества конечны, то автомат называется конечным автоматом.
2.2. Свойства алгоритмов
Важнейшими свойствами алгоритма являются:
определенность (детерминированность). В алгоритме должна соблюдаться однозначность предписываемой последовательности действий, не допускающая произвольного ее толкования;
массовость. Алгоритм решения задачи разрабатывается в общем виде так, чтобы его можно было применить для решения задач, различающихся лишь исходными данными. При этом исходные данные могут выбираться из некоторой области, называемой областью применимости алгоритма;
дискретность. Алгоритм должен быть разделен на отдельные элементарные акты;
результативность (конечность). Алгоритм должен приводить к решению задачи за конечное число шагов;
инвариантность по отношению к исполнителю. Алгоритм может оставаться неизменным при выполнении предписываемых им команд человеком или машиной любого типа.
Последнее свойство не означает, что при разработке алгоритма можно полностью игнорировать характер вычислительных средств, которыми он будет реализовываться15. Однако, это относится не к принципиальным возможностям, а лишь к удобству реализации алгоритма тем или иным средством.
Для решения любой относительно сложной задачи, как правило, могут быть разработаны несколько различных алгоритмов. Естественно, что следует выбрать лучший из них. Но когда мы говорим лучший, то всегда возникает вопрос: «С какой точки зрения лучший?»
Рассмотрим основные критерии качества алгоритма.
Связанность алгоритма определяется количеством промежуточных результатов, которые должны одновременно храниться в памяти. Естественно, что алгоритм тем лучше, чем его связность меньше, так как при этом уменьшается количество ячеек, занятых в оперативной памяти.
Пример. Рассмотрим численный пример вычисления величины:
х=25/5+45/5-100/5+50/5
Сравним два алгоритма решения этой задачи, учитывая, что каждая операция выполняется в арифметическом устройстве не более чем над двумя числами (операндами).
Алгоритм А |
Алгоритм В |
||||
шаг |
операция |
результат |
шаг |
операция |
результат |
1 |
у1=25+45 |
70 |
1 |
у1=25/5 |
5 |
2 |
у2=70-100 |
-30 |
2 |
у2=45/5 |
9 |
3 |
у3=-30+50 |
20 |
3 |
у3=-100/5 |
-20 |
4 |
х4=20/5 |
4 |
4 |
у4=50/5 |
10 |
|
|
|
5 |
у5=5+9 |
14 |
|
|
|
6 |
у6=14-20 |
-6 |
|
|
|
7 |
х=-6+10 |
4 |
В алгоритме А все результаты должны храниться в памяти только до выполнения следующей операции, т.е. в течение одного шага. Общее количество шагов - четыре. В алгоритме В после второго шага количество результатов, хранящихся в памяти, составляет два, после третьего шага - три, после четвертого шага - четыре, после пятого шага - три, после шестого шага - два. А общее количество шагов - семь.
Таким образом, по связности алгоритм А значительно лучше. Кроме того, он еще и менее трудоемкий.
Объем алгоритма – это количество операций (шагов), которые необходимо выполнить для получения конечного результата. Чем меньше трудоемкость, т.е. чем меньше операций нужно предусмотреть на его написание и исполнение, тем выше качество алгоритма. Уменьшение количества шагов экономит не только время математика - составителя алгоритма, но и машинное время, сокращает длительность решения задачи на ЭВМ.
Длительность решения определяется количеством шагов алгоритма, а также сложностью этих шагов. Даже если все операции, как в примере выше, ограничиваются четырьмя арифметическими действиями, то все равно сказывается существенная разница во время их выполнения. Умножение и деление требуют затрат машинного времени в 3-4 раза больше, чем простейшие операции - сложение и вычитание
Разветвленность алгоритма характеризует логическую сложность и определяется количеством путей, по которым может реализовываться процесс вычислений. Значительная разветвленность увеличивает сложность алгоритма, а значит и трудоемкость его разработки.
Цикличность алгоритма заключается в том, что фактическое количество операций, которые должны быть выполнены в ходе вычислительного процесса, превышает количество операций, содержащихся в записи алгоритма. (Те или иные операции могут повторяться многократно – в цикле).
