Принцип работы вычислительных машин был высказан еще в 1834 году Чарльзом Бэббиджем. Только после истечение ста лет были реализованы эти принципы, только не в механических, а в электронных вычислительных системах. Теперь на этих же принципах продолжают работать современные компьютеры. Компьютером управляет программа, заранее разработанная человеком. Об этом мы говорили, когда рассматривали архитектуру компьютера. Теперь конкретизируем процесс создания программ, тем более, что данный процесс позволяет выстраивать схему решения любой жизненной задачи. Этапы решения задачи с использованием компьютера: Постановка задачи; Определение условий; Построение модели задачи; Описание алгоритма решения задачи; Выбор оптимальных компьютерных средств для решения; Описание алгоритма с помощью выбранных программных средств; Тестирование решения задачи. При необходимости, коррекция решения задачи. Для нас описанные этапы решения задачи не являются новым и фактически при работе с любым программным средством мы проходим эти этапы решения задач. Мы должны научиться конкретизировать данный процесс, с использованием понятий информатики, что позволит нам усвоить одно из основных направлений курса школьной информатики. Прежде чем мы с помощью компьютера конкретизируем каждый этап решения задачи, познакомимся с новыми понятиями. Алгоритм решения задачи - это конечная последовательность четко сформулированных правил решения определенного класса задач. Любой результат деятельности человека - это последовательно выполненная совокупность действий. Вопрос лишь в том, насколько оптимально подобное решение задачи. Получается, что, продумывая ход решения задачи, можно найти оптимальную последовательность действий. Это означает, что нужно не просто решить задачу, а решить ее с минимальными затратами. Что такое исполнитель алгоритма? Исполнитель алгоритма - это некоторая абстрактная или реальная (техническая, биологическая или биотехническая) система, способная выполнить действия, предписываемые алгоритмом. Исполнителя характеризуют: среда; элементарные действия; система команд; отказы. Среда (или обстановка) — это «место обитания» исполнителя. Например, для исполнителя Робота из школьного учебника [I] среда — это бесконечное клеточное поле. Стены и закрашенные клетки тоже часть среды, а их расположение и положение самого Робота задают конкретное состояние среды. Система команд. Каждый исполнитель может выполнять команды только из некоторого строго заданного списка - системы команд исполнителя. Для каждой команды должны быть заданы условия применимости (в каких состояниях среды может быть выполнено заданное действие). Любой алгоритм должен быть построен с соблюдением определенных правил, согласованных с его свойствами. Основные свойства алгоритма: дискретность, точность, понятность, результативность, массовость. Дискретность означает разбиение алгоритма на последовательность отдельных законченных действий. Точность или детерминированность - строго определенная последовательность шагов. В одном случае задаются номера строк, но даже при отсутствии нумерации предполагается строгая последовательность выполняемых действий. Однозначное понимание исполнителем каждого шага алгоритма задает свойство понятности. При этом алгоритм должен выполняться за конечное число шагов (результативность) и может быть применен для решения целого класса однотипных задач (массовость). Прежде чем писать алгоритм нужно выяснить, возможно ли решение данной группы задач с помощью строго заданного алгоритма, в противном случае подобные алгоритмы относят к неразрешимым алгоритмам. Для представления алгоритмов используют несколько способов: Самый простой способ - словесный. При данном способе в каждой строке перечисляется определенная команда, последовательное выполнение команд приводит исполнителя к нужному результату. Посмотрим на примере алгоритма «Заварка чая»: вскипятить воду; окатить заварочный чайник кипятком; засыпать заварку в чайник; залить кипятком; закрыть крышкой; накрыть полотенцем. При графическом описании алгоритма используются геометрические фигуры для обозначения каких-либо команд, называемых блоками. Каждый блок соответствует конечному этапу процесса. Внутри каждого блока дается описание тех операций, которые необходимо выполнить. Рассмотрим каждый блок: | Блок начала и конца | | Функциональный блок | | Блок ввода-вывода данных | | Блок условия | Схемы строятся в соответствии с заданной задачей, в которой с помощью стрелок отслеживается направление движения по алгоритму. В качестве основных базовых структур используются объединенные схемы: линейные, ветвление, цикл. Рассмотрим сказанное на примере решения физической задачи. Задача: определить расстояние, пройденное человеком, если известно время движения, а так же известно, что движение было равномерным. Условия задачи: заданы скорость движения и время. Нужно найти путь. Создание модели задачи: для решения необходимо использовать математическую модель, выраженную в виде формулы равномерного движения: s = v*t Для описания алгоритма решения задачи используем блок-схему: Для решения данной задачи можно использовать электронную таблицу, которая позволит найти зависимость пройденного пути от скорости пешехода, и также представить данные в наглядном виде. |