- •Информатика Учебно-методическое пособие
- •Часть 1
- •Режим доступа к электронному аналогу печатного издания: http://www.Libdb.Sssu.Ru
- •Содержание
- •Предисловие
- •11. Основные требования фгос впо и структура дисциплины
- •2Основные понятия информатики
- •2.1. Понятие информации
- •2.2. Свойства информации
- •Понятие количества информации
- •2.4. Предмет и задачи информатики
- •2.5. Представление (кодирование) данных
- •3. Системы счисления и представление информации в эвм
- •3.1. Понятие об основных системах счисления
- •3.2. Перевод чисел из одной системы счисления в другую
- •Представление чисел в различных системах счисления
- •3.3. Двоичная арифметика
- •3.4. Представление чисел в эвм
- •Примеры представления целых чисел в шестнадцатиразрядных двоичных кодах
- •Представление десятичных чисел в четырёхразрядном коде Грея
- •3.5. Кодирование информации в эвм
- •Базовая таблица кодировки ascii
- •4. Логические основы построения эвм
- •4.1. Основы алгебры логики
- •4.2. Операции сравнения
- •4.3. Логические операции
- •Основные логические операторы
- •4.4. Основы элементной базы эвм
- •4.5. Элементы теории множеств
- •4.6. Элементы теории графов
- •3Технические средства реализации информационных процессов
- •5.1. История развития эвм
- •5.2. Классификация эвм
- •5.3. Архитектура эвм
- •5.4. Состав персонального компьютера
- •5.5. Внешние устройства
- •6. Программное обеспечение эвм
- •6.1. Базовые понятия ос
- •6.2. Классификация операционных систем
- •6.3. Файловая структура эвм
- •6.4. Файловые системы Microsoft Windows
- •6.5. Драйверы устройств
- •6.6. Служебные программы
- •6.7. Обзор операционных систем unix и Linux
- •6.8. Обзор операционных систем Windows
- •Команды ms-dos и их описание
- •7. Прикладное и инструментальное программное обеспечение
- •7.1. Прикладное программное обеспечение общего назначения
- •7.2. Прикладное программное обеспечение специального назначения
- •7.3. Инструментальное по 1
- •7.4. Нумерация версий программ
- •7.5. Правовой статус программ
- •7.6. Текстовые редакторы и процессоры
- •8. Модели решения функциональных и вычислительных задач
- •8.1. Моделирование как метод познания
- •8.2. Классификация моделей
- •8.3. Компьютерное моделирование
- •8.4. Информационные модели
- •8.5. Примеры информационных моделей
- •8.6. Базы данных
- •8.7. Искусственный интеллект
- •9. Основы алгоритмизации
- •9.1. Понятие алгоритма
- •9.2. Свойства алгоритма
- •9.3. Исполнители алгоритмов
- •9.4. Способы описания алгоритмов 1
- •Обозначения, название и функциональное назначение
- •9.5. Основные алгоритмические конструкции
- •9.6. Структурный подход к разработке алгоритмов
- •10. Тематика практических занятий
- •11. Темы, выносимые на зачёт, и примеры тестовых заданий
- •Библиографический список
- •Часть 1
- •3 46500, Г. Шахты, Ростовская обл., ул. Шевченко, 147
9.2. Свойства алгоритма
Алгоритм характеризуется следующими, раскрытыми в той или иной мере в вышеприведённых определениях, свойствами: дискретностью, массовостью, определённостью, результативностью, формальностью.
Дискретность (разрывность – возможность разбиения определённого алгоритмического процесса на отдельные элементарные этапы) – это свойство алгоритма, характеризующее его структуру: каждый алгоритм состоит из отдельных законченных действий, говорят: «Делится на шаги».
Массовость – применимость алгоритма (возможность получения искомого результата) для некоторого класса задач, при различных исходных данных. Например, алгоритм решения квадратного уравнения в области действительных чисел должен содержать все возможные исходы решения, т.е., рассмотрев значения дискриминанта, алгоритм находит либо два различных корня уравнения, либо два равных, либо делает вывод о том, что действительных корней нет.
Определённость (детерминированность – однозначность получаемого результата при одних и тех же исходных данных) – свойство алгоритма, указывающее на то, что каждый шаг алгоритма должен быть строго определён и не должен допускать различных толкований; также строго должен быть определён порядок выполнения отдельных шагов.
Результативность – свойство, состоящее в том, что любой алгоритм должен завершаться за конечное (может быть очень большое) число шагов, либо подавать сигнал о том, что данный алгоритм неприменим для решения поставленной задачи.
Формальность – это свойство указывает на то, что любой исполнитель, способный воспринимать и выполнять инструкции алгоритма, действует формально, т.е. отвлекается от содержания поставленной задачи и лишь строго выполняет инструкции. Рассуждать «что, как и почему?» должен разработчик алгоритма, а исполнитель формально (не думая) поочерёдно исполняет предложенные команды и получает необходимый результат.
9.3. Исполнители алгоритмов
Любой алгоритм существует не сам по себе, а предназначен для определённого исполнителя (человека, робота, компьютера, языка программирования и т.д.). Свойством, характеризующим любого исполнителя, является то, что он умеет выполнять некоторые команды. Совокупность команд, которые данный исполнитель умеет выполнять, называется системой команд исполнителя. Алгоритм описывается в командах исполнителя, который будет его реализовывать. Объекты, над которыми исполнитель может совершать действия, образуют так называемую среду исполнителя. Исходные данные и результаты любого алгоритма всегда принадлежат среде того исполнителя, для которого предназначен алгоритм.
Исполнителем называется некоторая биологическая, техническая или смешанная структура, способная исполнять (по командно или программно) некоторый класс алгоритмов в некоторой операционной среде (некотором множестве допустимых «инструментов» и «команд»).
Наиболее используемые типы исполнителя алгоритмов – человек или автомат (компьютер).
Человек как исполнитель алгоритмов – совокупность исполняющих подсистем (мышечная, двигательная, зрительная, обонятельная и др.) и управляющей подсистемы (нервная, нейронная).
Нервная система передаёт информацию, получаемую от нервных окончаний кожи, глаз, ушей и других органов, к нервным центрам для её последующей интеграции, обработки и выработки адекватной реакции. Нервная система – совокупность взаимодействующих нервных клеток или нейронов. У человека их – громадное количество.
Пример. По различным оценкам физиологов, в коре переднего мозга человека – около 50 млрд нейронов. Нейроны, хотя и работают медленно (около сотни инструкций в секунду), но могут за счёт более эффективного взаимодействия друг с другом и организации сложнейших нейроструктурных связей (кластеров) решать сложные мыслительные задачи, принимать решения.
Пример. Такая плохо структурируемая, но «простая» для человека задача, как «одеться по погоде», решается быстро с помощью обработки зрительной, слуховой информации и согласованной «нейронной» оценки ситуации, хотя она и плохо формализуемая. Компьютеру эту задачу решать будет намного сложнее. С другой стороны, вычислительные ресурсы человека ограничены по сравнению с возможностями компьютера, который во много раз лучше (быстрее, точнее) решает хорошо формализуемые и хорошо структурируемые задачи.
Нейроны служат для передачи информации за счёт нервных импульсов, которая расшифровывается в соответствующих областях коры головного мозга.
В непосредственную (сенсорную) память человека поступает информация от различных сенсоров: зрительных, слуховых, обонятельных и т.д. Затем эта информация переводится в оперативную память (память сознания). Далее она пересылается в долговременную память с привлечением подсознания («укладывается на полочки» с соответствующими названиями «Формы поведения», «Объекты и образы», «Правила и процедуры обнаружения и идентификации объектов», «Правила выборки и организации информации», «Жизненный опыт», «Бытовые навыки и умения», «Профессиональные навыки и умения» и др.).
Пример. Увиденный человеком конкретный компьютер ассоциируется с абстрактным понятием «Компьютер» (из долговременной памяти) – например, со сведениями об этом устройстве – информационными кодами, которые определяют объект (связь, понятие). Коды связываются между собой, создавая образ конкретного компьютера.
Второй важный тип исполнителей – конечные автоматы, автоматические (т.е. функционирующие определённый промежуток времени без участия человека) устройства, вход, выход и состояния которых можно описать конечными последовательностями сообщений (слов над конечными алфавитами). Любой конечный автомат реализует некий непустой класс алгоритмов и состоит из совокупности управляющего автомата, который определяет порядок выполнения действий, и операционного автомата, реализующего сами действия, выполняемые автоматом.