русс | укр

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

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

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

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


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

Операторы передачи управления.


Дата добавления: 2013-12-23; просмотров: 2941; Нарушение авторских прав


 

В C++ есть четыре оператора, изменяющих естественный порядок выполнения вычислении:

- оператор безусловного перехода goto;

- оператор выхода из цикла break;

- оператор перехода к следующей итерации цикла continue;

- оператор возврата из функции return.

5.4.1.Оператор goto.Оператор безусловного перехода goto имеет формат:

 

goto метка;

 

В теле той же функции должна присутствовать ровно одна конструкция вида:

метка: оператор;

Оператор goto передает управление на помеченный оператор. Метка - это обычный идентификатор, областью видимости которого является функция, в теле которой он задан.

Использование оператора безусловного перехода оправдано в двух случаях:

1. принудительный выход вниз по тексту программы из нескольких вложенных циклов или переключателей;

2. переход из нескольких мест функции в одно (например, если перед выходом из функции необходимо всегда выполнять какие-либо действия).

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

В любом случае не следует передавать управление внутрь операторов if, switch и циклов. Нельзя переходить внутрь блоков, содержащих инициализацию переменных, на операторы, расположенные после нее, поскольку в этом случае инициализация не будет выполнена:

int k;

... goto metka;

{int a = 3, b = 4;

k = a + b;

metka: int m = k + 1; …

}

После выполнения этого фрагмента программы значение переменной m не определено.

5.4.2.Оператор break. Оператор break используется внутри операторов цикла, if или switch для обеспечения перехода в точку программы, находящуюся непосредственно за оператором, внутри которого находится break.



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

 

sh х = 1 + х3/3! +• х5/5! + х7/7! + ...

 

Вычисление заканчивается, когда абсолютная величина прибавляемого к сумме, станет меньше заданной точности.

#include <iostream.h>

#include <math.h>

int main(){

const int MaxIter = 500; //Ограничитель количества итераций

double x, eps;

cout <<"\nВведите аргумент и точность:”;

cin >> x >> eps;

bool flag = true; // признак успешного вычисления//Для C int flag=1;

double у = x, ch = x; // сумма и первый член ряда

for (int n = 0; fabs(ch) > eps; n++)

{

ch *= x * x /(2 * n + 2)/(2 * n + 3);// Очередной член ряда

у += ch;

if (n > MaxIter)

{

cout <<"\nРяд расходится!";

flag = false; //Для С flag=0;

break;}

}

if (flag) cout <<"\nЗначение функции: "<< у;

return 0;

}

 

5.4.3.Оператор continue. Оператор перехода к следующей итерации цикла continue пропускает все операторы, оставшиеся до конца тела цикла, и передает управление на начало следующей итерации.

5.4.4. Оператор return. Оператор возврата из функции return завершает выполнение функции и передает управление в точку ее вызова. Вид оператора:

return [ выражение ];

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



<== предыдущая лекция | следующая лекция ==>
Операторы цикла. | Этапы разработки электронного изделия


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


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

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

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


 


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

 
 

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

Генерация страницы за: 0.128 сек.