Конспект лекций по программированию для начинающих. Гладков В.П. - 19 стр.

UptoLike

Составители: 

21
Не существует единого мнения по поводу того, что называть алгоритмом -
процесс или его описание. Логично сохранить термин «алгоритм» за описанием
процесса. Дело в том, что фактически единого процесса, соответствующего
данному описанию, не существует. Каждой совокупности исходных данных
соответствует свое протекание процесса, которое можно назвать реализацией
алгоритма.
Свойство детерминированности состоит
в понятности каждого действия
алгоритма его исполнителю. Если это не так, то при исполнении алгоритма
возникает АВОСТ, потому что исполнитель не может или не умеет исполнять
непонятное действие.
Свойство массовости состоит в способности алгоритма решать не одну
задачу, а целый класс подобных задач, отличающихся конкретными значениями
исходных данных.
Свойство
конечности гарантирует получение результата за конечное время.
При этом не нужно прилагать интеллектуальных усилий, достаточно только
точно и аккуратно выполнять все действия, указанные в алгоритме.
Например, алгоритмами являются правила выполнения арифметических
операций в позиционной системе счисления, описание передвижения человека в
городе от одной точки до другой, рецепт приготовления кулинарного блюда
или лекарства, алгоритм деления отрезка прямой или угла пополам и т.д.
Алгоритмами не являются процесс рисования картины художником,
процесс решения задачи, процесс воспитания человека и т.д..
Для решения задачи можно предложить несколько алгоритмов. Например,
переместиться из одной точки города в другую можно несколькими способами.
Существуют задачи, для
которых нельзя построить алгоритм. Эти задачи
называются алгоритмически неразрешимыми. Например, такими задачами
являются задача об удвоении куба (построить с помощью циркуля и линейки
куб, объем которого в два раза больше объема данного куба), задача о
разбиении угла на три равные части с помощью циркуля и линейки (трисекция
угла) и т.п
.
Алгоритмы используются при обработке данных на компьютере, при
управлении космическими кораблями, для резервирования билетов на
транспорт, для управления сложными объектами и т.п.
Пример 4.1. Составить алгоритм перехода перекрестка со светофором.
Решение. 1. Посмотреть на светофор. Если горит зеленый сигнал, то перейти
к действию 3.
2. Стоять и ждать зеленого сигнала.
3. Переходить улицу до середины, смотря на транспорт, идущий слева.
4. Посмотреть на светофор. Если горит зеленый сигнал, то перейти к
действию 6.
5. Стоять и ждать зеленого света.
6. Переходить улицу до конца, смотря на транспорт, идущий справа.
7. Конец.
Этот алгоритм рассчитан на человека, умеющего различать сигналы
светофора, стоять и ждать, переходить
и смотреть, умеющего определить
середину улицы. Человек, не различающий или путающий цвета, не сможет
                                       21

    Не существует единого мнения по поводу того, что называть алгоритмом -
процесс или его описание. Логично сохранить термин «алгоритм» за описанием
процесса. Дело в том, что фактически единого процесса, соответствующего
данному описанию, не существует. Каждой совокупности исходных данных
соответствует свое протекание процесса, которое можно назвать реализацией
алгоритма.
    Свойство детерминированности состоит в понятности каждого действия
алгоритма его исполнителю. Если это не так, то при исполнении алгоритма
возникает АВОСТ, потому что исполнитель не может или не умеет исполнять
непонятное действие.
    Свойство массовости состоит в способности алгоритма решать не одну
задачу, а целый класс подобных задач, отличающихся конкретными значениями
исходных данных.
    Свойство конечности гарантирует получение результата за конечное время.
При этом не нужно прилагать интеллектуальных усилий, достаточно только
точно и аккуратно выполнять все действия, указанные в алгоритме.
    Например, алгоритмами являются правила выполнения арифметических
операций в позиционной системе счисления, описание передвижения человека в
городе от одной точки до другой, рецепт приготовления кулинарного блюда
или лекарства, алгоритм деления отрезка прямой или угла пополам и т.д.
    Алгоритмами не являются процесс рисования картины художником,
процесс решения задачи, процесс воспитания человека и т.д..
    Для решения задачи можно предложить несколько алгоритмов. Например,
переместиться из одной точки города в другую можно несколькими способами.
    Существуют задачи, для которых нельзя построить алгоритм. Эти задачи
называются алгоритмически неразрешимыми. Например, такими задачами
являются задача об удвоении куба (построить с помощью циркуля и линейки
куб, объем которого в два раза больше объема данного куба), задача о
разбиении угла на три равные части с помощью циркуля и линейки (трисекция
угла) и т.п.
    Алгоритмы используются при обработке данных на компьютере, при
управлении космическими кораблями, для резервирования билетов на
транспорт, для управления сложными объектами и т.п.
    Пример 4.1. Составить алгоритм перехода перекрестка со светофором.
    Решение. 1. Посмотреть на светофор. Если горит зеленый сигнал, то перейти
к действию 3.
    2. Стоять и ждать зеленого сигнала.
    3. Переходить улицу до середины, смотря на транспорт, идущий слева.
    4. Посмотреть на светофор. Если горит зеленый сигнал, то перейти к
действию 6.
    5. Стоять и ждать зеленого света.
    6. Переходить улицу до конца, смотря на транспорт, идущий справа.
    7. Конец.
    Этот алгоритм рассчитан на человека, умеющего различать сигналы
светофора, стоять и ждать, переходить и смотреть, умеющего определить
середину улицы. Человек, не различающий или путающий цвета, не сможет