Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Алгоритмы ветвящейся структуры
Алгоритмом ветвящейся структуры будем называть такой алгоритм, котором выбирается один из нескольких возможных путей (вариантов) вычислительного процесса. Каждый подобный путь называется ветвью алгоритма. Признаком разветвляющегося алгоритма является наличие операций условного перехода, когда происходит проверка истинности некоторого логического выражения (проверяемое условие) и в зависимости от истинности или ложности проверяемого условия для выполнения выбирается та или иная ветвь алгоритма. Алгоритм предполагает выполнение Действия 1, если записанное условие истинно (выполняется), и выполнение Действия 2, если условие ложно (не выполняется). В частном случае может отсутствовать один из блоков «Действие 1» или «Действие 2».
6. Информатика Пусть, например, В — проверяемое условие, a SI, S2 — некоторые выполняемые инструкции (действия). Тогда: Если условие В выполняется (истинно), то выбрать для исполнения S1, иначе выбрать для исполнения S2 Запишем ветвящийся алгоритм на псевдокоде и графически: Существуют задачи, связанные с вычислением функций, заданных несколькими арифметическими выражениями (формулами). Приведем пример такой задачи. Пример. Вычислить значение Y по одной из формул:
1х + 2, если х < 10 [х-2, если 10< х Решение: Исходные данные: х. Результат: Y. Метод решения задачи: необходимо выявить область, которой принадлежит значение х, для этого достаточно проверить заданные условия по порядку. Запишем алгоритм в псевдокодах: Алгоритм Bemel; Переменные х, у вещественные; Начало Ввод (х); Если х< 10 тогда у: =х+2 иначе у~х-2; Вывод (у); Конец. К задачам рассмотренного выше вида очень часто сводятся вполне реальные задачи. Например, расчет стипендии, если известно среднее арифметическое оценок студента за месяц. Стипендия отличника равна 100 рублям, хорошиста (5 < SRJ4) — 80 рублей, остальные стипендию не получают. Математическая формула: „,. [100, если SR = 5 Р [80, если 5 < SR < 4, т.е. мы пришли к задаче вычисления функции по разветвляющемуся алгоритму. Еще один распространенный вид задач — логические задачи. К ним относятся задачи определения минимума, максимума некоторого чисйа величин, задачи упорядочивания и сортировки данных и др. Это достаточно сложные задачи, однако в пр'остейших случаях при небольшом числе данных они''приводят к построению несложных алгоритмов разветвляющейся структуры. Рассмотрим примеры подобных задач. Пример. Определить: Найти максимальное из двух чисел X, Z: Y = max{X, Z}. Решение: Исходные данные: X, Z. Результат: Мах. Метод решения задачи: нужно сравнить два числа и сделать вывод. Блок-схема алгоритма решения этой задачи выглядит следующим образом:
Циклический Алгоритм Реализует повторение некоторых действий. Иными словами, циклические алгоритмы включают в себя циклы. Циклом называется последовательность действий, выполняемых многократно, каждый раз при новых значениях параметров. Примером циклических алгоритмов может служить алгоритм покраски забора. Действительно, рассмотрим этот алгоритм в словесно-формульном виде: Шаг I. Подготовить исходные данные (забор, краску, кисть). Шаг II. Подойти к забору. Шаг III. Обмакнуть кисть в краску. Шаг IV. Нанести краску кистью на поверхность забора. Шаг V. Если забор еще не весь окрашен, то повторить алгоритм, начиная с пункта (Шаг III). Существует несколько видов циклических инструкций, с помощью которых можно организовать циклы. 1. Инструкция «цикл с параметром» (цикл с заданным количеством повторений). Обозначим: х — параметр цикла (является счетчиком количества повторений); a, b — соответственно начальные и конечные значения параметра цикла; h — шаг, с которым изменяется параметр цикла; S — оператор (инструкция), повторяемый в цикле. Общий вид структуры цикла с параметром будет: Для х: = а до b с шагом h повторять S 2. Инструкция «цикл с предусловием» (цикл-«пока»): Обозначим: В — некоторое проверяемое логическое условие; S — оператор (инструкция), повторяемый в цикле. Тогда инструкция в псевдокоде примет вид: Повторять S
Блок-схема такого цикла имеет вид: 3. Инструкция «цикл с постусловием» (цикл-«до> > ): Пока В повторять S
Блок-схема такого цикла имеет вид:
Контрольные вопросы 1. В зависимости от особенностей своего построения а) линейные; б) разветвляющиеся; в) структурные; г) циклические. Некоторые из этих понятий не относятся к основным группам алгоритмов. Укажите, какие именно. 2. «Линейным называется алгоритм, в котором все эта Верно ли данное высказывание? 3. «Алгоритмом ветвящейся структуры называется та Верно ли данное высказывание? 4. Циклом называется: а) этап решения задачи, выполняемый строго последо б) последовательность действий, выполняемых много
Укажите, какая из вышеприведенных блок-схем является блок-схемой алгоритма циклической структуры? 7. Ниже приведены блок-схемы циклических алгоритмов: Выход из цикла 6) блок-схема № 2 Укажите, какая из вышеприведенных блок-схем является блок-схемой цикла с постусловием? Ответы 1. Правильный ответ — в. 2. Правильный ответ — ДА. 3. Правильный ответ — ДА. 4. Правильный ответ — б. 5. Правильный ответ — б. 6. Правильный ответ — а. 7. Правильный ответ — б. Язык программирования Pascal Понятие о языках программирования Итак, мы с вами уже познакомились с одним из основных понятий всего нашего курса — понятием алгоритма. Рассмотрели так же его свойства и способы записи. Вспомним, так же, что составленный алгоритм решения задачи следует перевести на язык, понятный ЭВМ, аналогично тому, как алгоритм, записанный на русском языке, нужно перевести на французский, если исполнителем является француз. Мы говорили, что такие (понятные ЭВМ) языки называются языками программирования, запись алгоритма на таком языке называется программой, а процесс перевода алгоритма на указанный язык — программированием. Теперь, наконец, настало время перейти к изучению одного из таких языков. Как и в большинстве стран мира в качестве обучающего мы с вами будем использовать язык программирования Pascal. Дадим вначале более строгие общие понятия и определения. Под программой понимают описание, воспринимаемое ЭВМ и достаточное для решения определенной задачи. Иначе говоря, программа — это упорядоченный список команд, необходимых для решения некоторой задачи. Для создания программ используют те или иные системы программирования. Под системой программирования понимают совокупность языка программирования и виртуальной машины, обеспечивающей выполнение на реальной машине программ, составленных на этом языке. Языком программирования называют систему обозначений, служащую в целях точного описания алгоритмов для ЭВМ или, по крайней мере, достаточную для автоматического нахождения такого алгоритма. Эти языки являются искусственными языками со строго определенным синтаксисом. Виртуальная машина — это программный комплекс, эмулирующий работу реальной машины с определенным входным языком на ЭВМ с другим, машинным языком, а
иными словами, реализующий входной язык программирования. Такая техника реализации языка программирования позволяет сделать последний удобным для использования человеком. Виртуальная машина содержит транслятор и/или интерпретатор и может включать библиотеки стандартных подпрограмм, отладчик, компоновщик и другие сервисные средства. Популярное:
|
Последнее изменение этой страницы: 2016-06-04; Просмотров: 2908; Нарушение авторского права страницы