- •1. Алгоритмизация вычислительных процессов.
- •1.1.Основные определения и понятия 1.2.Изобразительные средства алгоритмов 1.3.Базовые канонические структуры алгоритмов
- •1.1. Основные определения и понятия.
- •"Исполнитель алгоритма"
- •1.2. Изобразительные средства алгоритмов.
- •1.3. Базовые канонические структуры алгоритмов.
- •1) Следование
1. Алгоритмизация вычислительных процессов.
1.1.Основные определения и понятия 1.2.Изобразительные средства алгоритмов 1.3.Базовые канонические структуры алгоритмов
1.1. Основные определения и понятия.
Понятие алгоритма такое же основополагающее для информатики, как и понятие информации. Именно поэтому важно в нем разобраться.
Название "алгоритм"произошло от латинской формы имени величайшего среднеазиатского математикаМухаммеда ибн Муса ал-Хорезми(Alhorithmi), жившего в 783—850 гг. В своей книге "Об индийском счете" он изложил правила записи натуральных чисел с помощью арабских цифр и правила действий над ними "столбиком", знакомые теперь каждому школьнику. В XII веке эта книга была переведена на латынь и получила широкое распространение в Европе.
Человек ежедневно встречается с необходимостью следовать тем или иным правилам, выполнять различные инструкции и указания. Например, переходя через дорогу на перекрестке без светофора надо сначала посмотреть направо. Если машин нет, то перейти полдороги, а если машины есть, ждать, пока они пройдут, затем перейти полдороги. После этого посмотреть налево и, если машин нет, то перейти дорогу до конца, а если машины есть, ждать, пока они пройдут, а затем перейти дорогу до конца.
В математике для решения типовых задач мы используем определенные правила, описывающие последовательности действий. Например, правила сложения дробных чисел, решения квадратных уравнений и т. д. Обычно любые инструкции и правила представляют собой последовательность действий, которые необходимо выполнить в определенном порядке. Для решения задачи надо знать, что дано, что следует получить и какие действия и в каком порядке следует для этого выполнить. Предписание, определяющее порядок выполнения действий над данными с целью получения искомых результатов, и есть алгоритм.
Алгоpитм — заранее заданное понятное и точное пpедписание возможному исполнителю совеpшить определенную последовательность действий для получения решения задачи за конечное число шагов.
Это — не определение в математическом смысле слова, а, скорее, описаниеинтуитивного понятия алгоритма, раскрывающее его сущность.
Понятие алгоритма является не только одним из главных понятий математики, но одним из главных понятий современной науки. Более того, с наступлением эры информатики алгоритмы становятся одним из важнейших факторов цивилизации [56].
"Исполнитель алгоритма"
Исполнитель алгоритма — это некоторая абстрактная или реальная (техническая, биологическая или биотехническая) система, способная выполнить действия, предписываемые алгоритмом.
Исполнителя хаpактеpизуют:
сpеда;
элементаpные действия;
cистема команд;
отказы.
Сpеда(или обстановка) — это "место обитания" исполнителя. Напpимеp, для исполнителя Pобота из школьного учебника [1] сpеда — это бесконечное клеточное поле. Стены и закpашенные клетки тоже часть сpеды. А их pасположение и положение самого Pобота задают конкpетноесостояние среды.
Система команд. Каждый исполнитель может выполнять команды только из некотоpого стpого заданного списка — системы команд исполнителя. Для каждой команды должны быть заданыусловия пpименимости(в каких состояниях сpеды может быть выполнена команда) и описаны pезультаты выполнения команды. Напpимеp, команда Pобота "ввеpх" может быть выполнена, если выше Pобота нет стены. Ее pезультат — смещение Pобота на одну клетку ввеpх.
После вызова команды исполнитель совеpшает соответствующее элементаpное действие.
Отказыисполнителя возникают, если команда вызывается пpи недопустимом для нее состоянии сpеды.
Обычно исполнитель ничего не знает о цели алгоpитма. Он выполняет все полученные команды, не задавая вопросов "почему" и "зачем".
В информатике универсальным исполнителем алгоритмов является компьютер.
Понятие алгоритмизации
Алгоритмизация– это процесс построения алгоритма решения задачи, результатом которого является выделение этапов процесса обработки данных, формальная запись содержания этих этапов и определение порядка их выполнения.
Алгоритм – это точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к искомому результату.
Свойства алгоритма:
1) детерминированность – точность указаний, исключающая их произвольное толкование;
2) дискретность – возможность расчленения вычислительного процесса на отдельные элементарные операции, возможность выполнения которых не вызывает сомнений;
3) результативность – прекращение процесса через определенное число шагов с выдачей искомых результатов или сообщения о невозможности продолжения вычислительного процесса;
4) массовость – пригодность алгоритма для решения всех задач заданного класса.
Алгоритмический язык– набор символов и правил образования и истолкования конструкций их этих символов для записи алгоритмов.
Язык программирования– предназначен для реализации программ на ЭВМ.
Программа – это алгоритм, записанный в форме, воспринимаемой машиной. Программа содержит наряду с описанием данных команды, в какой последовательности, над какими данными и какие операции должна выполнять машина, а также в какой форме следует получить результат. Это обеспечивают различные операторы.
Данные – это факты и идеи, представленные в формализованном виде, позволяющем передавать или обрабатывать эти факты и идеи с помощью некоторого процесса.
Оператор– совокупность символов, указывающих операцию и значения, либо местонахождение ее элементов.
А:= В+С; {А, В, С – переменные}
К:= 2; IF T< 0 THEN . . .
Переменная– это объект, который в ходе выполнения программы может менять свое значение.
Свойства переменной:
1) переменная называется неопределенной до тех пор, пока она не получит значение:
а) вводом извне;
б) занесением константы;
в) занесением значения другой, уже ранее определенной переменной;
2) в каждый момент времени переменная может иметь определенное значение, либо быть неопределенной;
3) последующее значение уничтожает (стирает) предыдущее значение. Выбор (чтение) из переменной и ее использование не изменяют значения переменной.
Предметом курса являются методы и средства составления алгоритмов и программ с целью решения задач на ЭВМ.
Для разработки программ используются системы программирования.
Система программирования– средство автоматизации программирования, включающее язык программирования, транслятор этого языка, документацию, а также средства подготовки и выполнения программ.
Транслятор– это программа, которая переводит с одного языка на другой.
Интерпретатор– это программа, которая сразу выполняет переводимые команды.
Компилятор– это программа, которая переводит конструкции алгоритмического языка в машинные коды.