русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Алгоритмы разветвляющейся структуры.

Пример 2. Составить схему алгоритма вычисления значения y=(2x+3)/(3x-4).

На первый взгляд, алгоритм нахождения значения y кажется линейным, но это не так. Приведём схему алгоритма.

начало ввод x d=3x-4 d=0 да невозможно

вычислить y

нет

. у=(2x+3)/d вывод y конец

Рис.3.Схема алгоритма решения примера 2.

В блоке 3 осуществляется проверка условия: равен ли нулю знаменатель при данном значении x. Если это условие выполняется, то переходим по стрелке "да" на блок 4 и выводим сообщение о невозможности вычисления y. Если условие не выполняется, то переходим по стрелке "нет" к блоку 5, где вычисляется y.

Это пример разветвляющегося процесса.

Разветвляющимся называется вычислительный процесс, реализация которого происходит по одной из нескольких заранее предусмотренных последовательностей действий (ветвей). Выбор ветви зависит от выполнения или невыполнения заданного условия.

Фрагмент схемы алгоритма с разветвлением задается так:

нет условие да

       
 
   


ветвь 1 ............ ........... ветвь 2

       
   


Рис.4.Схема разветвления.

Если условие выполняется, то проработает ветвь 2, иначе - ветвь 1. Возможны ситуации, когда одна из ветвей не содержит никаких действий. Такое разветвление называют обходом. Схематично это выглядит так:

нет

условие

да

 
 


ветвь 1 .

 
 


Рис.5.Схема разветвления-обхода.

В свою очередь ветвь 1 и (или) ветвь 2 могут содержать проверки других условий. Такие разветвляющиеся процессы будут рассмотрены ниже (примеры 3 и 4). После составления схемы алгоритма необходимо тщательно проверить её. Для этого используют метод выполнения алгоритма "вручную". При этом проверяющий выполняет алгоритм шаг за шагом и фиксирует на бумаге все промежуточные результаты.

Пример 3.Вычислить

x + a , если x = 3

y = x - a , если x > 3

x2 + a2 , если x < 3

Имеется три формулы для вычисления y. Выбор той или иной формулы зависит от заданных условий.

Предлагается следующая блок-схема решения этой задачи.

начало ввод x,a x>3 да y=x-a

нет

x=3 да y=x+a

нет

y=x2 +a2 Вывод y Конец


Рис.6.Схема алгоритма решения примера 3.

Пример 4. Даны различные x,y,z.. Вычислить u=min(x,max(y,z)).

Схема алгоритма выглядит так:

начало ввод x,y,z y>z да r= y

нет

r=z

 
 


x<r да u=x

нет

u=r вывод u конец

Рис.7.Схема алгоритма решения примера 4.

Была введена дополнительная переменная для хранения максимального значения r=max(y,z) .

Для осуществления полной проверки алгоритма разветвляющейся структуры необходимо взять несколько наборов исходных данных и для каждого набора сделать "ручную" проверку алгоритма. Наборы подбирают так, чтобы охватить все возможные ситуации, т.е. проверить все ветви схемы алгоритма.

Такими наборами, например, для данной задачи будут

1) x=1, y=2, z=3 2) x=1, y=3, z=2

3) x=5, y=2, z=3 4) x=5, y=3, z=2

Нетрудно найти ответы для этих исходных данных. Искомое u будет равно соответственно 1,1,3,3.

Просмотров: 929


Вернуться в оглавление



Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.