
- •Информатика
- •Содержание
- •1. Понятие информации и ее основные свойства
- •1.1. Предмет и задачи информатики
- •1.2. Понятие информации
- •1.2. Свойства информации
- •1.3. Носители данных
- •1.4. Операции с данными
- •2. Кодирование данных двоичным кодом
- •2.1. Двоичное кодирование
- •2.2. Кодирование целых чисел
- •2.3. Кодирование вещественных чисел
- •2.4. Кодирование текстовых данных
- •2.5. Кодирование графических данных
- •3. Принцип работы вычислительной машины
- •3.1. Реализация обработки данных с помощью технического устройства
- •3.2. Организация памяти
- •3.3. Структура вычислительной машины и принцип ее работы
- •4. Алгоритмы и языки программирования
- •4.1. Понятие алгоритма
- •4.2. Понятие языка
- •4.3. Языки программирования
- •4.4. Процесс выполнения программы на эвм
- •5. Аппаратное и программное обеспечение
- •5.1. Базовая аппаратная конфигурация
- •5.2. Периферийные устройства
- •5.3. Программное обеспечение
- •5.4. Классификация служебных программных средств
- •5.5. Классификация прикладных программных средств
- •6. Операционная система персонального компьютера
- •6.1. Основные функции операционной системы
- •6.2. Организация файловой системы
- •6.3. Каталоги
- •6.4. Атрибуты файлов
- •6.5. Обслуживание файловой системы
- •7. Операционная система Windows
- •7.1. Основные особенности операционной системы Windows
- •7.2. Рабочий стол
- •7.3. Управление Windows
- •7.4. Окна
- •7.5. Диалоговое окно
- •7.6. Работа с меню
- •7.7. Контекстное меню
- •7.8. Операции с файлами и папками
- •8. Текстовый процессор Word
- •8.1. Типы документов
- •8.2. Создание документа
- •8.3. Ввод документа
- •8.4. Редактирование документа
- •8.5. Рецензирование документа
- •8.6. Форматирование документа
- •8.7. Стили и шаблоны
- •9. Табличный процессор Excel
- •9.1. Основные понятия
- •9.2. Вычисления в электронных таблицах
- •9.3. Копирование содержимого ячеек
- •9.4. Автоматизация ввода
- •9.5. Использование стандартных функций
- •9.6. Построение диаграмм и графиков
- •9.7. Построение графиков функций
- •9.8. Построение поверхности
- •9.9. Нахождение корней уравнения
4. Алгоритмы и языки программирования
4.1. Понятие алгоритма
Понятие алгоритма относится к основным понятиям информатики. Рассмотрим основные понятия, связанные с понятием алгоритма.
Когда речь идет об алгоритме, всегда подразумевается существование некоторого исполнителя, для которого предназначен алгоритм.
Исполнитель – человек или автомат (например, компьютер), который умеет выполнять определенный конечный набор действий.
Предписание – приказ на выполнение действий из указанного конечного набора.
Система предписаний – совокупность допустимых приказов.
Программа – конечная последовательность предписаний с указанием порядка их выполнения.
В случае, когда исполнителем является компьютер, предписание называется командой, а система предписаний называется системой команд компьютера. Разные компьютеры в зависимости от их устройства могут иметь разные системы команд.
Программирование – составление последовательности команд, которая необходима для решения поставленной задачи.
Составлению программы предшествует разработка алгоритма.
Алгоритм – это точное и понятное указание исполнителю совершить конечную последовательность действий, направленных на достижение указанной цели или на решение поставленной задачи.
Любой алгоритм обладает следующими свойствами:
Дискретность. Выполнение алгоритма разбивается на последовательность элементарных действий – шагов. Каждое действие должно быть закончено исполнителем прежде, чем он перейдет к выполнению следующего действия. Произвести каждое отдельное действие исполнителю предписывает специальное указание в записи алгоритма, называемое командой.
Точность, или детерминированность. Запись алгоритма должна быть такой, чтобы, выполнив очередную команду, исполнитель точно знал, какую команду надо выполнять следующей.
Понятность. Каждый алгоритм строится в расчете на конкретного исполнителя, который должен быть в состоянии выполнить каждую команду алгоритма в строгом соответствии с ее назначением.
Результативность. При точном исполнении всех предписаний алгоритма процесс должен прекратится за конечное число шагов и при этом должен быть получен какой-либо ответ на поставленную задачу. В качестве одного из возможных решений может быть установление того факта, что задача не имеет решения.
Массовость. С помощью одного и того же алгоритма можно решать однотипные задачи и делать это неоднократно. Свойство массовости значительно увеличивает практическую ценность алгоритмов.
Большая ценность алгоритмов заключается в том, что исполнитель может не вникать в смысл того, что он делает, и вместе с тем получать нужный результат. От человека, составляющего алгоритм, требуется значительно больше знаний, чем от исполнителя.
Простейшие операции, на которые распадается процесс решения задачи, может реализовать автоматическое устройство, специально созданное для выполнения отдельных команд алгоритма в указанной последовательности. Если удается получить алгоритм решения какой-нибудь задачи, появляется возможность создать машину, которая автоматизировала бы ее решение.
Каждый алгоритм предполагает наличие некоторых исходных данных. Например, для медицинского рецепта (алгоритма) исходными данными являются медикаменты, а результатом – флакон с готовым лекарством. Для алгоритма сложения исходными данными являются пара слагаемых, а результатом – их сумма. Для каждого алгоритма существует класс объектов, допустимых в качестве исходных данных. Иногда исходными данными являются материальные объекты, а иногда – числа.
Алгоритм – это правило, следовательно, оно должно быть сформулировано на некотором языке. Исходные данные и искомые результаты также должны быть описаны на некотором языке, возможно отличном от языка, на котором описан алгоритм.
Таким образом, каждый алгоритм связан с двумя языками: на одном он сформулирован сам, предложения другого являются для него допустимыми вариантами исходных данных.
Разработка алгоритма решения задачи называется алгоритмизацией. В процессе алгоритмизации задача сводится к построению последовательности шагов, расположенных в определенном порядке.
Между алгоритмами и программами нет четкого разграничения. Программой обычно называют алгоритм решения задачи, рассчитанный на исполнение его компьютером и записанный с помощью предложений используемого языка программирования.
Алгоритмической структурой называется стандартный способ соединения отдельных шагов алгоритма для выполнения типичной последовательности действий.
В теории алгоритмов доказывается, что любой алгоритм может быть представлен в виде комбинации трех алгоритмических структур: следования, развилки и цикла.
Следование. Представляет собой последовательное выполнение действий (рис. 12).
Рис. 12. Следование.
Развилка. Применяется в случае, когда в зависимости от истинности некоторого логического условия необходимо выполнить то или иное действие (рис. 13).
Рис. 13. Развилка.
Действия 1 и 2 могут, в свою очередь, включать в себя другие алгоритмические структуры.
Цикл. Применяется, когда некоторые действия необходимо выполнить несколько раз. Существуют две разновидности цикла.
Цикл До. Применяется, когда некоторые операции надо повторять до тех пор, пока некоторое условие не станет ложным (рис. 14).
Рис. 14. Цикл До.
Под начальными присвоениями подразумеваются операции присваивания исходных значений переменным, используемым в цикле. Многократно повторяемая последовательность действий называется телом цикла.
Цикл Пока. Применяется, когда некоторые операции надо повторять до тех пор, пока некоторое условие не станет истинным (рис. 15).
Рис. 15. Цикл Пока