
- •Информатика
- •Режим доступа к электронному аналогу печатного издания: http://www.Libdb.Sssu.Ru
- •Содержание
- •Предисловие
- •Основные понятия информатики
- •Понятие информации
- •Свойства информации
- •Понятие количества информации
- •Предмет и задачи информатики
- •Информационное общество
- •Вопросы и тестовые задания для самоконтроля
- •Системы счисления и представление информации в эвм
- •Представление (кодирование) данных
- •Понятие об основных системах счисления
- •Перевод чисел из одной системы счисления в другую
- •Представление чисел в различных системах счисления
- •Двоичная арифметика
- •Арифметические действия над двоичными числами
- •Представление чисел в эвм
- •Примеры представления целых чисел в шестнадцатиразрядных двоичных кодах
- •Представление десятичных чисел в четырёхразрядном коде Грея
- •Кодирование информации в эвм
- •Базовая таблица кодировки ascii
- •Вопросы и тестовые задания для самоконтроля
- •Логические основы построения эвм
- •Основы алгебры логики
- •Операции сравнения
- •Примеры операторов сравнения в разных языках программирования
- •Логические операции
- •Основные логические операторы
- •Результаты, возвращаемые логическими операциями
- •Основы элементной базы эвм
- •Условные обозначения и диаграммы работы логических элементов
- •Rs-триггер
- •Элементы теории множеств
- •Элементы теории графов
- •Типы вершин блок-схем алгоритмов
- •Вопросы и тестовые задания для самоконтроля
- •Технические средства реализации информационных процессов
- •История развития эвм
- •Классификация эвм
- •Архитектура эвм
- •Состав персонального компьютера
- •Внешние устройства
- •Вопросы и тестовые задания для самоконтроля
- •Системное программное обеспечение эвм
- •Базовые понятия ос
- •Классификация операционных систем
- •Файловая структура эвм
- •Примеры общепринятых расширений для популярных типов файлов
- •Файловые системы Microsoft Windows
- •Драйверы устройств
- •Служебные программы
- •Обзор операционных систем unix и Linux
- •Обзор операционных систем Windows
- •Вопросы и тестовые задания для самоконтроля
- •Прикладное и инструментальное программное обеспечение
- •Прикладное программное обеспечение общего назначения
- •Прикладное программное обеспечение специального назначения
- •Инструментальное по
- •Нумерация версий программ
- •Правовой статус программ
- •Текстовые редакторы и процессоры
- •Программы подготовки презентаций
- •Вопросы и тестовые задания для самоконтроля
- •Электронные таблицы
- •Основные понятия электронных таблиц Excel
- •Ввод, редактирование и форматирование данных
- •Вычисления в таблицах
- •Диаграммы
- •Вопросы и тестовые задания для самоконтроля
- •Модели решения функциональных и вычислительных задач
- •Моделирование как метод познания
- •Классификация моделей
- •Классификация видов моделей
- •Компьютерное моделирование
- •Информационные модели
- •Примеры информационных моделей
- •Базы данных
- •Искусственный интеллект
- •Вопросы и тестовые задания для самоконтроля
- •Основы алгоритмизации
- •Основные этапы компьютерного решения задач
- •Понятие алгоритма и его свойства
- •Исполнители алгоритмов
- •Способы описания алгоритмов
- •Обозначение и функциональное назначение наиболее часто употребляемых символов в схемах данных и программ
- •Базовые управляющие структуры алгоритмов (основные алгоритмические конструкции)
- •2) Альтернатива (ветвление);
- •3) Итерация1 (цикл).
- •Алгоритмы линейной структуры
- •Алгоритмы ветвящейся структуры
- •Алгоритмы циклической структуры
- •Способы комбинации базовых управляющих структур (основных алгоритмических конструкций)
- •Примеры комбинации основных алгоритмических структур
- •Вопросы и тестовые задания для самоконтроля
- •Основы программирования на языках высокого уровня
- •Основные понятия языков программирования
- •Примеры использования имён
- •Операторы в арифметических и логических выражениях
- •Типы данных и операторы описания переменных
- •Некоторые базовые типы переменных
- •Описание переменных в разных языках
- •Синтаксис операторов описания сложных типов переменных
- •Основные операторы
- •Синтаксис некоторыхоператоров
- •Вопросы и тестовые задания для самоконтроля
- •Основные операторы языка visual basic for applications
- •Оператор присваивания
- •Примеры использования оператора присваивания
- •Условный операторIf … then
- •Оператор выбора варианта*
- •Операторы цикла
- •Оператор циклаFor … next
- •Математические функции
- •Краткие сведения о математических функциях в vba и Паскале
- •Функции обработки строк*
- •Краткие сведения о строковых функциях
- •Функции преобразования данных
- •Краткие сведения о функциях преобразования данных
- •Вопросы и тестовые задания для самоконтроля
- •Технологии программирования
- •Концепция программирования
- •Характеристика трудоёмкости разработки программ
- •Структурное и модульное программирование
- •Рекурсивные алгоритмы *
- •Объектно-ориентированное программирование
- •Вопросы и тестовые задания для самоконтроля
- •Языки и системы программирования
- •Уровни языков программирования
- •Системы программирования
- •Классификация языков программирования
- •Процедурные языки программирования
- •Объектно-ориентированные языки
- •Декларативные языки
- •Языки программирования для баз данных и компьютерных сетей
- •Языки моделирования *
- •Вопросы и тестовые задания для самоконтроля
- •Основные понятия компьютерной графики
- •Виды компьютерной графики
- •Графические форматы
- •Цветовые модели *
- •Программные средства создания растровых изображений
- •Программы векторной графики
- •Программные средства обработки трехмерной графики
- •Вопросы и тестовые задания для самоконтроля
- •Основные понятия баз данных
- •Задачи, решаемые с помощью баз данных
- •Классификация бд
- •Реляционная модель данных
- •Свойства полей базы данных
- •Типы данных
- •Безопасность и объекты баз данных
- •Проектирование баз данных *
- •Вопросы и тестовые задания для самоконтроля
- •Средства автоматизации проектных, опытно-конструкторских и научно-исследовательских работ.
- •Задачи, решаемые с помощью систем автоматического проектирования
- •Программные продукты MathWorks
- •Сапр в легкой промышленности
- •Вопросы и тестовые задания для самоконтроля
- •Основы компьютерных сетей
- •Основы передачи данных
- •Назначение и классификация сетей
- •Сетевая модель osi/iso
- •Сетевое оборудование
- •Основные стандарты и протоколы
- •Т Вопросы и тестовые задания для самоконтроля
- •Глобальная сеть интернет
- •Подключение к Интернет
- •Службы Интернет
- •Поиск информации в Интернете
- •Наиболее известные и популярные поисковые системы
- •Поиск с использованием языка запросов *
- •Логические операторы
- •Вопросы и тестовые задания для самоконтроля
- •Основы информационной безопасности
- •Угрозы информационной безопасности
- •Методы и средства защиты информации
- •Правовые основы информационной безопасности
- •Ответственность за преступления в области информационных технологий
- •Криптографические механизмы защиты информации
- •Компьютерные вирусы и вредоносные программы
- •Методы защиты от вирусов
- •Вопросы и тестовые задания для самоконтроля
- •Библиографический список
- •Учебное издание информатика Учебное пособие
Понятие алгоритма и его свойства
«Алгоритм» является базовым основополагающим понятием информатики, а алгоритмизация и программирование – основным разделом курса информатики (ядром курса). Понятие алгоритма, как и понятие информации, даётся множеством самых разнообразных определений – от «наивно-интуитивных» («алгоритм – это план решения задачи») до «строго формализованных» (нормальные алгоритмы Маркова). Понятие алгоритма, являющееся фундаментальным в математике и информатике, возникло задолго до появления средств вычислительной техники.
Термин «алгоритм (алгорифм)» появился в Средние века, когда европейцы знакомились со способами выполнения арифметических действий в десятичной системе счисления по книге узбекского математика Абу Джафара Муххамада ибн Мусы аль-Хорезми (783–850 г.) «Арифметика индусскими цифрами», получившей широкую известность. Слово «алгоритм» есть результат европейского произношения слов «аль-Хорезми» («аль-Хорезми» – человек из города Хорезми; в настоящее время город Хива в Хорезмской области Узбекистана).
Единого определения понятия алгоритма нет. Первоначально под алгоритмом понимали способ выполнения арифметических действий над десятичными числами. В дальнейшем алгоритмом стали называть точное предписание, определяющее порядок действий, обеспечивающий получение требуемого результата из исходных данных за конечное число шагов.
Алгоритм (по Д. Э. Кнуту) – это конечный набор правил, который определяет последовательность операций для решения конкретного множества задач и обладает пятью важными чертами: конечность, определённость, ввод, вывод, эффективность.
Алгоритм (по А. Н. Колмогорову) – это система вычислений, выполняемых по строго определённым правилам, которая после какого-либо числа шагов заведомо приводит к решению поставленной задачи.
Алгоритм (по А. А. Маркову) – это точное предписание, определяющее вычислительный процесс, идущий от варьируемых исходных данных к искомому результату.
Алгоритм может быть предназначен для выполнения его человеком или автоматическим устройством.
Применительно к ЭВМ алгоритм определяет вычислительный процесс, начинающийся с обработки некоторой совокупности возможных исходных данных и направленный на получение определенных этими исходными данными результатов. Термин «вычислительный процесс» распространяется и на обработку других видов информации, например, символьной, графической или звуковой.
Алгоритм должен обладать следующими свойствами:
дискретностью;
массовостью;
определённостью;
результативностью;
формальностью.
Дискретность (разрывность, раздельность). Каждый алгоритм состоит из отдельных законченных действий, т.е. делится на шаги.
Массовость – применимость алгоритма ко всем задачам некоторого класса, различающимся только исходными данными. При этом исходные данные могут выбираться из некоторой области, которая называется областью применимости алгоритма.
Определённость (детерминированность, точность) – свойство алгоритма, указывающее на то, что каждый шаг алгоритма должен быть строго определён и не должен допускать произвола в толковании. Также строго должен быть определён порядок выполнения отдельных шагов. Благодаря этому свойству многократное выполнение алгоритма при одних и тех же исходных данных даёт один и тот же результат.
Результативность (конечность)– свойство, состоящее в том, что любой алгоритм должен приводить к правильному решению задачи за конечное(может быть очень большое) число шагов, либо подавать сигнал о том, что данный алгоритм неприменим для решения поставленной задачи.
Формальность – это свойство указывает на то, что любой исполнитель, незнакомый с содержанием алгоритма, но способный воспринимать и выполнять инструкции алгоритма, действуя формально, т.е. отвлекаясь от содержания поставленной задачи и лишь строго выполняя инструкции, получает необходимый результат. Думать о том, какие действия и в какой последовательности нужно выполнить, должен разработчик алгоритма, а исполнитель формально (не думая, механически) поочерёдно исполняет предложенные команды и получает необходимый результат.