Uploaded by Nelly Yaremchuk

Алгоритмы

advertisement
*
Понятие алгоритма является одним из основных понятий
современной информатики. Термин «алгоритм» (algorithm)
происходит от имени среднеазиатского ученого IX века аль-Хорезми,
который разработал правила выполнения четырех арифметических
действий в десятичной системе счисления.
*
Основными
свойствами понятия алгоритма являются::
Массовость алгоритма.
Детерминированность алгоритма.
*
Результативность алгоритма.
Алгоритм – конечный набор правил или команд,
позволяющий исполнителю решать любую конкретную
задачу из некоторого класса однотипных задач.
*
Алгоритм, записанный на «понятном» компьютеру языке
программирования, называется программой.
*
К основным типам алгоритмических структур относят :
линейный алгоритм;
алгоритмическая структура «ветвление»;
*
алгоритмическая структура «цикл».
Алгоритм, в котором команды выполняются последовательно
одна за другой, называется линейным алгоритмом.
*
В алгоритмической структуре «ветвление» та или иная серия
команд выполняется в зависимости от истинности условия.
В алгоритмической структуре «цикл» серия команд (тело
цикла) выполняется многократно.
*
Наиболее распространен способ изображения алгоритмов,
называемый «блок-схемы» и особенно удобный для
изображения последовательной детализации плана. Блоксхема — распространенный тип схем, описывающий
алгоритмы или процессы, изображая шаги в виде блоков
различной формы, соединенных между собой стрелками.
*
Начало, конец алгоритма
Да
нет
Любые действия, чаще всего
арифметические; блоки
действий
Проверка условий
*
Начало, конец цикла
Ввод, вывод данных
*
Задача №1: «Рассчитать площадь и периметр прямоугольника по двум
известным сторонам».
Данная задача не должна представлять особой трудности, так как
построена она на хорошо известных всем нам формулах расчета площади
и периметра прямоугольника, поэтому зацикливаться на выведении этих
формул мы не будем.
Пример линейного алгоритма
*
Задача №1: «Рассчитать площадь и периметр прямоугольника по двум
известным сторонам».
Данная задача не должна представлять особой трудности, так как
построена она на хорошо известных всем нам формулах расчета площади
и периметра прямоугольника, поэтому зацикливаться на выведении этих
формул мы не будем.
Пример линейного алгоритма
*
Составим алгоритм решения подобных задач:
1) Прочитать задачу.
2) Выписать известные и неизвестные нам переменные в «дано». (В
задаче №1 к известным переменным относятся стороны: a,b ;к
неизвестным — площадь S и периметр P)
3) Вспомнить либо составить необходимые формулы. (У нас: S=a*b;
P=2*(a+b))
4) Составить блок-схему.
5) Записать решение на языке программирования Pascal.
*
Запишем условие в более кратком виде.
Дано: a,b
Найти: S,P
Блок-схема:
*
*
Структура программы, решающей данную задачу, тоже
проста:
1) Описание переменных;
2) Ввод значений сторон прямоугольника;
3) Расчет площади прямоугольника;
4) Расчет периметра прямоугольника;
5) Вывод значений площади и периметра;
6) Конец.
*
А вот и решение:
Program Rectangle;
Var a,b,S,P: integer;
Begin
write('Введите стороны прямоугольника!');
readln(a,b);
S:=a*b;
P:=2*(a+b);
*
writeln('Площадь прямоугольника: ',S);
write('Периметр прямоугольника: ',P);
End.
*
Ветвление – это команда алгоритма, в которой делается выбор,
выполнять или не выполнять какую-нибудь группу команд в зависимости
от условий.
Ветвление используется в двух случаях:
Когда требуется пропустить определенную команду или группу команд.
Когда нужно записать выбор тех или иных действий в зависимости от
условия.
*
В блок-схеме условие ветвления изображается в ромбе, из которого
обязательно выходят ДВЕ стрелки – первая (стрелка «Да») указывает на
команды, которые будут выполняться в случае, если условие соблюдено;
вторая (стрелка «Нет») – на команды, которые будут выполнены, если
условие не соблюдено. Даже если команда, на которую указывает одна
из стрелок (Чаще всего «Нет») отсутствует, стрелка все равно имеет
место быть.
*
*
В словесной формулировке запись ветвления выглядит так:
ЕСЛИ <условие выбора > ТО <команды, выполняемые при соблюдении
условия> ИНАЧЕ <команды, выполняемые при несоблюдении условия>
*
Условие: Ввести Х.
Вычислить значение Y
Составление программы:
Var
SIN X
, если X>1
COS X
, если X<=1
Y=
x, y: Real;
Begin
Readln(x);
If x>1 Then
Y:=Sin(x)
Else
Y:=Cos(x);
Writeln ('Значение Y=', Y);
End.
*
Решение
begin
X
X>1
Y=sin(x)
Y=cos(x)
*
Y
end
*
Download