Мегаобучалка Главная | О нас | Обратная связь


Разветвляющиеся алгоритмы



2019-07-03 198 Обсуждений (0)
Разветвляющиеся алгоритмы 0.00 из 5.00 0 оценок




Часто встречаются формулы, в которых значение некоторой величины может определяться одним из нескольких различных выражений в зависимости от выполнения тех или иных условий. При программировании таких вычислений используются разветвляющиеся алгоритмы. В качестве примера разветвляющегося алгоритма рассмотрим следующую задачу.

 

Использование оператора IF

Пример 2.1. Вычислить значение функции 1 (полный оператор if)

 

 

Постановка задачи

Исходными данными для этой задачи являются значения переменной x ; x- действительное число. Значение х вводится с клавиатуры.

Выходные данные -  значение функции F . F – действительное число. Значение F выводится на экран монитора.

Метод решения

В соответствии с условием задачи вначале анализируется значение переменной х. Если это значение положительное, то значение F вычисляется по формуле:

                       F=c                                              (2.1)

Если же х – отрицательное или равно нулю, то значение F вычисляется по формуле:

                       F=sin 2x                                                            (2.2)


Схема алгоритма

 

Начало
Введите х
х
х>0
F = cos 3x+sin 5x
F = sin 2x
F
Конец
Вычисление функции F
Да
Нет

 

 

Текст программы

/*----------------------------------------------

Вычисление значения функции. Условный оператор.

----------------------------------------------*/

#include <stdio.h>

#include <math.h>

main()

{

float   x, F;

printf("\nВычисление значения функции

\n Автор: студент гр. РД-15061 Иванов И.И. 2016 г.");

//ввод исходных данных

printf("\nВведите значение аргумента x=");

scanf("%f",&x);

//вычисления

if (x>0) F=cos(3*x)+sin(5*x);

else F=sin(2*x);

//вывод результата

printf("\nЗначение функции F=%f", F);

}

 

2.2. Сокращенный вариант оператора if

Существует два варианта условного оператора – полный и сокращенный. В предыдущем примере мы использовали полный оператор if. Иногда в ветви else не нужно выполнять никаких действий, то есть действия выполняются только, если условие верно. Тогда используется сокращенный вариант оператора if. Рассмотрим использование сокращенного оператора на следующем примере.

 

Пример 2.2. Вычислить значение функции 2

F ( x )=

 

Постановка задачи

Исходными данными для этой задачи являются значения переменной x; x- действительное число. Значение х вводится с клавиатуры.

Выходные данные -  значение функции F. F – действительное число. Значение F выводится на экран монитора.

 

Метод решения

Как и в предыдущей задаче, вначале программы проверяем значение х. Если х - отрицательное число, то сначала вычислим его модуль, а затем будем вычислять значение F (извлечем корень из х). Если же х – положительное число, то сразу вычисляем значение функции, т.е. извлекаем корень из х.

 

 Схема алгоритма

Начало
Функция 2
Введите х
1
x<0
x = / x /
нет
да
F
Конец
х
1


Текст программы

/*----------------------------------------------

Условный оператор (сокращенная форма).

----------------------------------------------*/

#include <stdio.h>

#include <math.h>

main()

{ float x, F;

printf("\nВычисление значения функции");

//ввод исходных данных

printf("\nВведите значение аргумента x=");

scanf("%f",&x);

//вычисления

if (x<0) x=fabs(x);

F=sqrt(x);

//вывод результата

printf("\nЗначение функции F=%f", F);

}

 

Составной оператор

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



2019-07-03 198 Обсуждений (0)
Разветвляющиеся алгоритмы 0.00 из 5.00 0 оценок









Обсуждение в статье: Разветвляющиеся алгоритмы

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (198)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)