Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_Л5_Услов_РЕ1_С++р.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
74.75 Кб
Скачать

3. Безусловный оператор goto

Переход к любому оператору программы без условия (директивный переход) в среде Visual С++2010 осуществляется с помощью оператора безусловного перехода go to. В отличие от оператора if…else этот оператор осуществляет переход в нужное место программы без выполнения каких-либо условий. Оператор имеет следующий вид:

Goto Метка;

Меткой обозначают какой-либо оператор, на который должен быть осуществлен переходи з места установки оператора goto. В качестве метки выступает идентификатор с расположенным за ним символом двоеточия:

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

Как только выполнение программы достигает оператора goto, управление передается оператору, помеченному меткой А.

Задание  5.  Проанализируем работу оператора goto на примере программы из задания 2. Расположим оператор goto с меткой А перед условным оператором, а метку А – перед концом программы. Теперь условный оператор не выполнится, т. к. компьютер выполнит оператор goto A и перейдет сразу к выводу надписи "Perehod po metke ";

#include "stdafx.h"

#include <conio.h> //Файл conio.h обеспечивает задержку окна DOS на экране дисплея

#include <iostream> //Директива include подключает файл ввода–вывода iostream

using namespace std; //Подключает все имена из пространства имен std

int _tmain(int argc, _TCHAR* argv[]) //Объявление главной функции _tmain

{ //Начало главной функции

int a, b; //Объявление переменных целого типа

int c=2, d=3; //Объявление переменных целого типа и их инициализация

cout<<"Vvvedite b"<<endl; //Вывод на экран надписи-приглашения Vvedite b

cin>>b; //Ввод значения переменной b

goto A; //оператор goto

if (b<10)

{

a=b+c+d;

cout<<"a=b+c+d= "<<a;

}

else

{

a=b-c-d;

cout<<"a=b-c-d= "<<a;

}

A: cout<<"Perehod po metke "; //Метка А и оператор вывода

getch(); //Функция задержки окна DOS на экране

return 0;

}

1. Структури потоку управління.

Мову С++ називають мовою структурного програмування завдяки структурованому потоку управління обчисленнями. Потік управління можна визначити як алгоритм переходу від поточного оператора до наступного. Існує три основні потоки управління.

1. Послідовна структура – наступним виконується оператор, розташований безпосередньо після поточного.

2. Структура вибору – має декілька операторів; залежно від виконання деякої умови вибирається тільки один з них, інші ігноруються.

3. Структури повторення – поточний оператор виконується деяке число разів підряд до тих пір, поки не буде задоволена умова його завершення.

З цих трьох структур можна будувати скільки завгодно складні конструкції, оскільки вони підкоряються правилу суперпозиції. Це означає, що на місце будь-якого оператора деякої конструкції можна підставити будь-яку конструкцію. При цьому, іноді, останню необхідно заключити в операторні дужки. У мові С++ – це фігурні дужки { }. Будь-яка послідовність операторів, заключна у фігурні дужки, з погляду потоку управління, вважається єдиним оператором.

Раніше розглянуті приклади програм реалізовували послідовну структуру потоку управління. Такі програми називаються лінійними. Вони володіють досить скромними можливостями. Справжня програма повинна «ухвалювати рішення», тобто змінювати послідовність виконання операторів залежно від виконання деяких умов. Прикладом може служити розгалуження в процесі обчислень при виконанні (або не виконанні) деякої умови.

Засобами мови С++, за допомогою яких реалізується обчислювальний процес, що розгалужується, є умовні оператори. Розглянемо їх.