Uploaded by gorbuntsov.mark

Лекция 2 Алгоритм

advertisement
Лекция №2(Основные понятия алгоритмизации.)
Общие принципы построения алгоритмов.
Что такое алгоритм? Где в жизни приходилось сталкиваться с таким
понятием?
Человеку постоянно приходится сталкиваться с тем, что нужно выполнить
последовательность действий, следовать каким-то правилам. (Переход через
дорогу, заказ билета в кинотеатре)
В математике для решения типовых задач также используются определенные
правила. (Например, сложение дробей , решение уравнений).
Алгоpитм — заранее заданное понятное и точное пpедписание возможному
исполнителю совеpшить определенную последовательность действий для
получения решения задачи за конечное число шагов.
Основные свойства алгоритмов следующие:
1. Понятность для исполнителя — исполнитель алгоритма должен
понимать, как его выполнять. Иными словами, имея алгоритм и
произвольный вариант исходных данных, исполнитель должен знать,
как надо действовать для выполнения этого алгоритма.
У исполнителя имеется набор команд. Команда должна в него
входить.
2. Дискретность (прерывность, раздельность) — алгоритм должен
представлять процесс решения задачи как последовательное
выполнение простых (или ранее определенных) шагов (этапов).
3. Определенность — каждое правило алгоритма должно быть четким,
однозначным и не оставлять места для произвола. Благодаря этому
свойству выполнение алгоритма носит механический характер и не
требует никаких дополнительных указаний или сведений о решаемой
задаче.
4. Результативность (или конечность) состоит в том, что за конечное
число шагов алгоритм либо должен приводить к решению задачи, либо
после конечного числа шагов останавливаться из-за невозможности
получить решение с выдачей соответствующего сообщения, либо
неограниченно продолжаться в течение времени, отведенного для
исполнения алгоритма, с выдачей промежуточных результатов.
5. Массовость означает, что алгоритм решения задачи разрабатывается в
общем виде, т.е. он должен быть применим для некоторого класса
задач, различающихся лишь исходными данными. При этом исходные
данные могут выбираться из некоторой области, которая называется
областью применимости алгоритма
Свойство массовости не является необходимым свойством алгоритма. Оно
скорее определяет качество алгоритма. В то время как остальные свойства
являются необходимыми, иначе это уже будет не алгоритм.
Формы записи алгоритмов.
На практике наиболее распространены следующие формы представления
алгоритмов:
• словесная (запись на естественном языке);
• графическая, блок-схемы (изображения из графических символов);
• псевдокоды (полуформализованные описания алгоритмов на условном
алгоритмическом языке, включающие в себя как элементы языка
программирования, так и фразы естественного языка, общепринятые
математические обозначения и др.);
• программная (тексты на языках программирования).
Основные алгоритмические конструкции: линейные, разветвляющиеся,
циклические.
Базовые структуры алгоритмов – определенный набор блоков и способов их
соединения для выполнения типичных последовательностей действий.
Линейным называется алгоритм, в котором действия осуществляются
последовательно друг за другом.
Разветвляющимся называется алгоритм, в котором действие выполняется
по одной из возможных ветвей решения задачи, в зависимости от
выполнения условий.
Если – то, Если – то –иначе .
Циклическим называется алгоритм, в котором некоторая часть операций
выполняется многократно. (Многократно – не до бесконечности).
Цикл с предусловием — цикл, который выполняется пока истинно
некоторое условие, указанное перед его началом. Это условие проверяется до
выполнения тела цикла, поэтому тело может быть не выполнено ни разу
(если условие с самого начала ложно).
Цикл с постусловием — цикл, в котором условие проверяется после
выполнения тела цикла. Отсюда следует, что тело всегда выполняется хотя
бы один раз. В языке
Цикл с параметром— цикл, в котором некоторая переменная изменяет своё
значение от заданного начального значения до конечного значения с
некоторым шагом, и для каждого значения этой переменной тело цикла
выполняется один раз.
Примеры задач на циклы:
Вывести все цифры от 1 до числа, введенного с клавиатуры.
Даны два целых числа A и B (A < B). Вывести в порядке возрастания все
целые числа, расположенные между A и B (включая сами числа A и B), а
также количество N этих чисел.
Дано целое число N (> 0). Если оно является степенью числа 3, то вывести
True, если не является — вывести False.
Download