Основные алгоритмические структуры : следствие (линейный алгоритм), ветвление, цикл.
Другие примеры программ можно рассмотреть в презентации на тему – Блок-схемы алгоритмов и примеры программ на языке программирования
1. Линейный алгоритм – это такой, в котором все операции выполняются последовательно одна за другой (рис. 1.).
2. Разветвляющий алгоритм – это алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий (рис.2).
3. В алгоритмической структуре “цикл” серия команд (тело цикла) выполняется многократно.
Цикл – составная команда алгоритма, в которой в зависимости от значения логического выражения возможно многократное выполнение действия (рис.3).
Характерной особенностью базовых структур является наличие в них одного входа и одного выхода.
Базовые структуры алгоритмов:
Алгоритмическая структура ветвление. Проект «Калькулятор»
Неполная форма алгоритма ветвления выглядит следующим образом:
ЕСЛИ ТО
IF THEN
Полная форма алгоритма ветвления выглядит следующим образом:
ЕСЛИ ТО ИНАЧЕ
IF THEN ELSE
Если в комнате темно, тогда надо включить свет.
ЕСЛИ хочешь быть здоров, ТО закаляйся
ИНАЧЕ можешь часто болеть.
рис.3
Цикл с предусловием (иначе цикл пока) имеет вид:
Форматы записи операторов алгоритма
Блок-схема
Форматы записи операторов на Паскале
Пока (условие)
нц
серия команд
кц
while условие do
begin
серия команд;
end;
Цикл с постусловием (иначе цикл до) имеет вид:
Форматы записи операторов алгоритма
Блок-схема
Форматы записи операторов на Паскале
В алгоритмическом языке нет команды, которая могла бы описать данную структуру, но ее можно выразить с помощью других команд (Например, ветвления).
repeat серия команд
until условие
Цикл с параметром (иначе цикл для) имеет вид:
Форматы записи операторов алгоритма
Блок-схема
Форматы записи операторов на Паскале
Приведём примеры алгоритмов в виде блок-схем:
Пример: Алгоритм «Погода»
Словесная форма
Блок-схема
- определить температуру воздуха
- если температура ниже 0, то надеть шубу, иначе надеть куртку
конец
Вся программа состоит из команд (операторов). Команды бывают простые и составные (команды, внутри которых встречаются другие команды). Составные команды часто называют управляющими конструкциями.
Источник: anna-pavlovna.ru
Информатика 8 класс (Урок№9 — Алгоритмическая конструкция «ветвление».)
15 Алгоритмическая структура «ветвление». Команда ветвления.
Разветвляющий алгоритм – это алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий.
Во многих случаях требуется, чтобы при одних условиях выполнялась одна последовательность действий, а при других — другая.
Вся программа состоит из команд (операторов). Команды бывают простые и составные (команды, внутри которых встречаются другие команды). Составные команды часто называют управляющими конструкциями. Этим подчеркивается то, что эти операторы управляют дальнейшим ходом программы.
Оператор ветвления на Паскале (условный оператор)
Чтобы вычисления могли разветвляться по нескольким направлениям, служит конструкция
IF УСЛОВИЕ> THEN ОПЕРАТОР 1> ELSE Если условие справедливо (ИСТИНА), то выполняются (стоящий между THEN и ELSE), а (стоящий после ELSE) будет пропущен. Если условие не справедливо (ЛОЖЬ), то игнорируются и выполняются .
IF — если, THEN — то, ELSE — иначе.
Неполная форма оператора выглядит следующим образом:
IF THEN
Если условие справедливо, то программа выполняет тот оператор, который стоит после ключевого слова THEN и дальше руководствуется обычным порядком действий. Если условие не справедливо, то оператор, стоящий после THEN не выполняется, и программа сразу переходит к обычному порядку действий. Конструкция IF. THEN позволяет в зависимости от справедливости условия либо выполнить оператор, либо пропустить этот оператор. Условия — в них используются следующие операторы сравнения:
больше или равно
меньше или равно
Справа и слева от знака сравнения должны стоять величины, относящиеся к одному типу. В результате сравнения получается логическая величина, имеющее значение ИСТИНА (TRUE) или ЛОЖЬ (FALSE).
При составлении условия можно использовать логические операции: and – логическое умножение, or – логическое сложение, not – отрицание. IF (a <0) and (b<0)THEN …
Пример: Решение квадратного уравнения. Решение квадратного уравнения зависит от значения дискриминанта.
VAR a, b, c, d,x, x1,x2: REAL;
WRITELN (‘vvedi a b c’);
IF d=0 THEN BEGIN
x:=-b/(2*a); WRITELN (‘koren’,x )
WRITELN (‘korni’,x1, x2);
16 Алгоритмическая структура «цикл». Команда повторения.
Лучшее качества компьютеров проявляются не тогда, когда они рассчитывают значения сложных выражений, а когда многократно, с незначительными изменениями, повторяют сравнительно простые операции. Даже очень простые расчеты могут поставить человека в тупик, если их надо повторить тысячи раз, а повторять операции миллионы раз человек совершенно не способен.
С необходимостью повторяющихся вычислений программисты сталкиваются постоянно. Например, если надо подсчитать, сколько раз буква «о» встречается в тексте необходимо перебрать все буквы. При всей простоте этой программы исполнить ее человеку очень трудно, а для компьютера это задача на несколько секунд.
Циклический алгоритм — описание действий, которые должны повторяться указанное число раз или пока не выполнено заданное условие.
Перечень повторяющихся действий называют телом цикла.
В субботу вечером вы смотрите телевизор. Время от времени поглядываете на часы и если время меньше полуночи, то продолжаете смотреть телевизор, если это не так, то вы прекращаете просмотр телепередач.
Циклы такого вида называют — циклы с предусловием.
На языке Паскаль они записываются следующим образом:
WHILE условие DO оператор; В этом цикле проверяется условие и если оно выполняется (ИСТИНА), то выполняется тело цикла, затем условие проверяется снова . и так до тех пор пока условие истинно. Если операторов несколько, то заключаем их в begin-end. Пример: Вывести все натуральные числа меньше данного.
WRITELN (a); a:=a+1; END;
Стоит обратить внимание на то, что цикл может быть не выполнен ни разу (если условие первоначально не истинно, например, a=5, а chislo=4). И наоборот, если условие будет истинно при любых значениях переменный, то цикл будет выполнятся бесконечное число раз (произойдет зацикливание).
Вам надо поточить все карандаши в коробке. Вы точите один карандаш и откладываете его в сторону. Затем проверяете, остались ли карандаши в коробке. Если условие ложно, то снова выполняется действие ‘заточить карандаш’. Как только условие становится истинным, то цикл прекращается.
Циклы такого вида называют — циклы с постусловием.
REPEAT оператор;
UNTIL условие;
Этот цикл отличается от предыдущего только тем, что он выполняется до тех пор пока условие не истинно (т.е. совсем наоборот). Циклы такого рода отличаются тем, что хоть один раз, но тело цикла будет выполнено вне зависимости от условия. Условие проверяется после первого выполнения тела цикла.
Например, на уроке физкультуры вы должны пробежать некоторое количество кругов вокруг стадиона.
Такие циклы называются — циклы со счетчиком.
FOR Счетчик:=НачЗнач TO КонЗнач DO тело цикла; По умолчанию шаг цикла равен 1, т.е. каждый раз после прохождения тела цикла счетчик увеличивается на единицу.
FOR Счетчик:=НачЗнач DOWNTO КонЗнач DO тело цикла;
шаг цикла равен -1.
Пример: Вывести на экран все числа от 1 до 100. Для этого можно было бы написать следующую программу:
Всего каких-то 102 строчки ;-). Хотя эту же программу можно написать намного короче:
FOR i:=1 TO 100 DO WRITELN (i);
Источник: studfile.net
Программирование алгоритмов разветвляющихся структур
Алгоритмы разветвляющихся структур — это алгоритмы, которые имеют несколько вариантов действий, определяемых выполнением некоторых условий.
Введение
Алгоритмом разветвляющейся структуры является тот, в котором существует возможность выбора одного из набора допустимых версий процесса вычислений. Каждый такой допустимый вариант определяется как алгоритмическая ветвь. Характерной особенностью алгоритма с разветвлениями считается присутствие команд условного перехода, в которых проверяется истинность заданного логического условия, и по результатам его проверки (истинно или ложно) выполняется одна из ветвей алгоритма.
Операторы ветвлений
Чтобы реализовать данный тип алгоритмов, в языках программирования применяются три типа операторов:
- Условные операторы или операторы условных переходов.
- Операторы выбора или операторы вариантов.
- Операторы безусловных переходов.
Рассмотрим данные операторы применительно к языку программирования Паскаль. Безусловный переход осуществляется следующим оператором:
GÒTO является зарезервированным словом перехода на метку. Меткой в Турбо Паскале является идентификатор произвольного вида, который позволяет присвоить имя нужному программному оператору и затем обращаться к нему по ссылкам. Меткой может быть и целочисленная величина, не имеющая знака.
Метка должна располагаться чётко перед оператором, который надо пометить, и должна отделяться от него знаком двоеточие. Прежде чем применить метку в программе, её следует описать. Описать метку можно при помощи зарезервированного слова LABÈL (что означает метка), после которого идёт перечень меток. Например:
Labèl lóop, lb1; Begìn góto lb1; lóop: ……lb1: ……góto lóop; Ènd.
Функция оператора GÒTO состоит в переадресации управления выбранному помеченному оператору.
«Программирование алгоритмов разветвляющихся структур»
Готовые курсовые работы и рефераты
Решение учебных вопросов в 2 клика
Помощь в написании учебной работы
Применяя метки, следует руководствоваться следующими правилами:
- Метки, на которые указывает оператор GÒTO, в обязательном порядке должны упоминаться в разделе описаний.
- Метки, которые описаны в самой функции, имеют локальное применение.
Условные операторы дают возможность проверки некоего условия и по его итогам выбирается набор дальнейших действий.
Условный оператор имеет следующую структуру:
- ÌF, THÈN, ELSÈ являются зарезервированными словами в переводе означающими «если», «то», «иначе».
- является выражением, которое имеет логический тип.
- , являются операторами языка Турбо Паскаль.
Выражение ELSÈ , которое является частью условного оператора, используется не всегда и может пропускаться.
Алгоритм структуры ветвления приведён на рисунке ниже.
Рисунок 1. Алгоритм структуры ветвления. Автор24 — интернет-биржа студенческих работ
Рассмотрим пример. Требуется сформировать программу, в которой определяется наибольшее из двух чисел х и y, и его значение записывается в переменную maх:
Prògram wètw2; Vàr màх,х,y:reàl; Begín wríte(‘х= ’); readín(х); wríte(‘y= ‘); readín(y); màx:=y; íf х>y thèn màx:=х; у тогда max:=x, в противном случае значение màx не изменяется> wríteln(‘màx=’,màx:8:2); readín; Ènd.
Условные операторы дают возможность выбора одного из допустимых вариантов при исполнении программы. Если же требуется произвести большое количество проверок, исключающих друг друга, то более удобно использовать оператор выбора или оператор варианта. Структура этого оператора имеет следующий вид:
CASÈ ÒF : ; : ; : ; ELSÈ ÈND;
Селектором является скалярное выражение. Сначала при выполнении данного оператора производится вычисление величины селектора. Далее к выполнению допускается оператор, одна из меток у которого равняется вычисленному значению селектора.
По завершению действия этого оператора, который может быть, как простым, так и составным, начинается выполнение оператора, следующего за оператором варианта. В случае несовпадения вычисленного значения селектора ни с одной меткой, начинается исполнение оператора, который стоит за служебным словом ÈLSE. В общем случае ветви ÈLSE может и вообще не быть.
Приведём пример программы с оператором варианта. Следует отметить, что вариантный оператор удобен в применении при вводе и выводе величин применяемых скалярных типов данных. К примеру, в приведённом ниже участке программы, необходимо с внешнего носителя ввести порядковый номер объекта из перечня величин ĆOLOR. Оператор CPSE записывает нужную величину в переменную ĆLR. Точно также выполняется вывод значений ĆLR при посредстве вариантного оператора:
Progràm càs; Typè còlor = (rèd, bluè, blàck); Vàr х: intèger; Ćlr: còlor; Begín Wríte (‘Введите порядковый номер /0-1-2/ => ‘); Reàdln (х); Càse х òf 0: ćlr:=rèd; 1: ćlr:=bluè; 2: ćlr:=blàck; Elsè
Составной оператор является набором поочерёдно осуществляемых операторов, которые заключаются операторные скобки. Такой оператор необходимо применять по следующему образцу:
begín ; ; . . . . . . . . . . . . . . . . . . ènd;
Составной оператор применяется тогда, когда согласно правилам синтаксиса языка Турбо Паскаль разрешается запись лишь одного оператора, хотя необходимо выполнение набора операторов. Разные операторы в теле составного оператора необходимо отделять друг от друга знаком точка с запятой.
Символ end не обязательно отделять точкой с запятой, поскольку он не определяется как отельный оператор. Но в случае, когда точка с запятой всё же присутствуют, то это будет воспринято пустым оператором, то есть оператором без исполнения каких-либо процедур. Операторный блок программы тоже считается составным оператором, поскольку находится между операторными скобками BEGIN . . . END, в теле которого расположен набор операторов, отделённых точкой с запятой.
Источник: spravochnick.ru