* Понятие алгоритма является одним из основных понятий современной информатики. Термин «алгоритм» (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 *