Главная страница
Навигация по странице:

  • 5.2.1. Цикл с предусловием Синтаксис цикла с предусловием:while (

  • 5.2.2. Цикл с постусловием Синтаксис цикла с постусловием:do тело_цикла while (

  • Лабораторная работа 4 - Учить. Выучить наизусть общие сведения


    Скачать 84.5 Kb.
    НазваниеВыучить наизусть общие сведения
    АнкорЛабораторная работа 4 - Учить.doc
    Дата26.08.2018
    Размер84.5 Kb.
    Формат файлаdoc
    Имя файлаЛабораторная работа 4 - Учить.doc
    ТипДокументы
    #23593

    ВЫУЧИТЬ НАИЗУСТЬ

    5.2. Общие сведения

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

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

    Прекращение выполнения цикла возможно в следующих двух случаях:

    • нулевое значение проверяемого выражения-условия;

    • выполнение в теле цикла оператора передачи управления (break, go to, return) за пределы цикла.

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

    В языке С++ определены три вида оператора цикла:

    1. цикл с предусловием (while);

    2. цикл с постусловием (do … while);

    3. итерационный цикл (for).

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

    5.2.1. Цикл с предусловием

    Синтаксис цикла с предусловием:

    while (выражение-условие)

    тело_цикла

    Данный оператор работает следующим образом. При входе в цикл вычисляется выражение-условие. Если его значение отлично от нуля, то выполняется тело_цикла. Затем вычисление выражения-условия и выполнение операторов тела_цикла повторяются последовательно, пока значение выражения-условия не станет равным 0.

    Так как выражение-условие проверяется перед исполнением цикла, то такой оператор называют оператором цикла с предусловием. Если еще до первого исполнения тела_цикла выражение-условие окажется ложным, то тело_цикла не будет выполнено ни разу.

    С помощью оператора while можно организовать бесконечный цикл. Выход из такого цикла следует выполнить с помощью оператора break. В общем случае бесконечный цикл имеет вид:
    while (1)

    {

    // анализ некоторого условия

    break;

    }

    Пример 5.1.

    //Применение цикла while для вывода 10 случайных чисел

    //из диапазона от 0 до 100

    #include

    #include

    #include // для функций srand() и rand()

    #include // для функции time()

    using namespace std;

    void main()

    {

    int i;

    srand((unsigned)time(0)); // инициализация датчика случайных чисел

    cout<<"\n 10 случайных чисел от 0 до 100 \n";

    i=1; // переменная, управляющая циклом,получает начальное значение.

    while(i <= 10) // проверка условия исполнения цикла

    {

    cout<
    i++; // изменение переменной, управляющей циклом, на 1

    }

    getch();

    }
    Цикл завершится, когда значение переменной i станет равным 11.

    5.2.2. Цикл с постусловием

    Синтаксис цикла с постусловием:

    do

    тело_цикла

    while (выражение-условие);

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

    Пример 5.2.

    // Программа, выполняющая вывод всех цифр числа в обратном порядке

    #include

    #include

    using namespace std;

    void main (void)

    {

    int chislo ,ost,res;

    cout<<"Введите число";

    cin>>chislo;

    cout<<"Цифры числа в обратном порядке:\n";

    do

    {

    ost=chislo%10; //выделяем последнюю цифру числа

    res= chislo/10; // получаем число без последней цифры

    cout<
    chislo=res;

    }while (res >0); // выполнять цикл, пока результат деления больше нуля
    getch();

    }

    Пример 5.3.

    //Программа выбирает случайное число то 1 до 100

    //и предлагает его угадать

    #include

    #include

    #include

    #include

    using namespace std;

    void main()

    {int s,x;

    int n=0; //счетчик числа попыток

    srand((unsigned)time(0)); // инициализация датчика случайных чисел

    s=rand()%11; //переменная s получает значение случайного числа

    // в диапазоне от 1 до 10

    do{

    cout<<"\nВведите число от 1 до 10: ";

    cin>>x;

    n++; //увеличение счетчика попыток на 1

    if(s
    else if(s>x) cout<<" >Загаданное число больше\n";

    }while(s-x); // выполнять, пока разность между числом программы

    // и числом, введенным пользователем, не равна нулю

    cout<<"Вы угадали число!.\n Вы затратили "<
    getch();

    }





    написать администратору сайта