Алгоритмизация. Программирование.
Основное понятие
Алгоритм (от algoritmi) - это точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к исходному результату.
Мухаммед ибн Муса
аль-Хорезми (783-850)
Практическая работа
Робот должен выполнить следующее задание: продвигаясь по цеху, взять деталь и установить ее.
Дополните действия робота.
Вперед –
Вправо –
Вперед –
Взять –
Установить –
Свойства алгоритмов
- Дискретность – последовательное выполнение простых или ранее определённых (подпрограммы) шагов. Преобразование исходных данных в результат осуществляется дискретно во времени.
- Понятность – каждая команда алгоритма должна быть понятна тому, кто исполняет алгоритм; в противном случае, эта команда и, следовательно, весь алгоритм в целом не могут быть выполнены.
- Определенность - каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвольного толкования.
- Результативность - означает возможность получения результата после выполнения конечного количества операций.
- Корректность - решение должно быть правильным для любых допустимых исходных данных.
- Массовость заключается в возможности применения алгоритма к целому классу однотипных задач, различающихся конкретными значениями исходных данных (р азработка в общем виде).
Способы описания алгоритмов
- словесный (на естественном языке); формульно-словесный; табличный (обычно носит вспомогательный характер); графический (использует элементы блок-схем ).
- словесный (на естественном языке);
- формульно-словесный;
- табличный (обычно носит вспомогательный характер);
- графический (использует элементы блок-схем ).
Способы описания алгоритмов
Блок-схема - графическое изображение структуры алгоритма, в котором каждый этап процесса переработки данных представляется в виде геометрических фигур (блоков), имеющих определенную конфигурацию в зависимости от характера выполняемых при этом операций.
Способы описания алгоритмов
- начало или конец алгоритма
- ввод/вывод данных или результата на экран монитора
- процесс – арифм. выражение или операция присваивания
- проверка условия
- подпрограмма
- вывод на принтер
- циклический процес с.
нет
да
Основные алгоритмические конструкции
Линейные конструкции, .
Разветвляющие конструкции
вычислительный процесс реализуется по одному из нескольких заранее предусмотренных направлений (ветвей) в зависимости от выполнения некоторого условия (логического выражения - ЛВ).
Циклические конструкции
вычислительный процесс (цикл) включает участки, на которых вычисления выполняются многократно по одним и тем же математическим формулам, но при разных значениях исходных данных
цикл с предусловием
цикл с постусловием
цикл с параметром
оператор1
оператор2
оператор3
нет
да
ЛВ
серия
серия
команд 2
команд 1
Посмотреть циклические схемы
Циклические схемы
цикл с предусловием
цикл с постусловием
цикл с параметром
нет
серия команд
ЛВ
пц:=нз, кз, ш
да
серия команд
серия команд
да
ЛВ
нет
Программирование
- это процесс создания компьютерных программ с помощью языков программирования.
Пример написания программы на Паскале,
простейшая («пустая») программа будет выглядеть следующим образом:
program p ;
Begin
end .
Пример программы, выводящей строку « Hello , world ! »:
Языки программирования
К языкам программирования:
1 поколения ПЭВМ – относят машинные коды,
2 поколения ПЭВМ – «языки ассемблера» ,
3 поколения ПЭВМ –язык Алгог, Фортран,
4 поколения относят языки высшего порядка, которые включают алгоритмическую составляющую это Basic или классический Pascal.
Практическая работа
Пример . Составить блок -схему алгоритма вычисления дискриминанта D=b^2+4*а*с
Задания
для самостоятельной работы
Задача 1. Составить словесный алгоритм вычисления по формуле Герона площади треугольника со сторонами a, b, c находится по формуле , где p = (a + b + c)/2
Задача 2. Составить блок-схему алгоритма вычисления значения периметра треугольника со сторонами А, В и С.
Задача 3.
Заданы три числа a, b, c. Найти значение наибольшего из них, при а=4, в=7, с=10?