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

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

  • Цикл с постусловием do…while Оператор цикла с последующим условием Синтаксис: do оператор

  • Цикл с постусловием do…while Тело цикла выполняется до тех пор, пока значение выражения

  • Цикл с постусловием do…while

  • Цикл с постусловием: алгоритм

  • Цикл с постусловием. Пример

  • Цикл с постусловием. Пример

  • Важно. В цикле while

  • Обратить внимание. Оператор вывода в циклах while и do…while

  • Не зависят от конкретного компьютера Язык Си


    Скачать 5.8 Mb.
    НазваниеНе зависят от конкретного компьютера Язык Си
    Дата24.10.2022
    Размер5.8 Mb.
    Формат файлаppt
    Имя файлаINFORMATIKA_lektsii_IB-1.ppt
    ТипПрограмма
    #751529
    страница7 из 16
    1   2   3   4   5   6   7   8   9   10   ...   16

    void Prim4_1() {


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


    void Prim4_1() {
    char sym='*';
    while(sym!='.') {
    cout << "sym="; cin >> sym ;
    cout << sym; cout << endl;
    }
    cout << endl;
    }





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


    Напишем программу, которая вычисляет сумму цифр введенного числа .
    void Prim4_2() {
    int n,S=0;
    cout << "n="; cin >> n;
    n=abs(n);
    while (n) {
    S+=n%10;
    n/=10;
    }
    cout<<"S="< }





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


    Обратите внимание на выражение после while. Здесь нет необходимости проверять условие (n!=0). Эффективнее написать просто (n), так как при n>0 С++ считает, что выражение имеет значение true, при n=0 – значение false.





    Цикл с постусловием do…while


    Оператор цикла с последующим условием
    Синтаксис:
    do оператор while (выражение);
    Оператор может быть составным (блоком). В этом случае не забудьте поставить фигурные скобки.
    После условия цикла ставится точка с запятой.





    Цикл с постусловием do…while


    Тело цикла выполняется до тех пор, пока значение выражения не станет ложным или равным нулю.
    Условие проверки располагается в конце цикла. Поэтому тело цикла будет выполнено хотя бы один раз.
    Такой цикл называется циклом с постпроверкой условия





    Цикл с постусловием do…while


    Цикл с постусловием выполняется так:
    Выполняется оператор
    Вычисляется выражение
    Если оно истинно (не 0) выполняется оператор
    Если оно ложно – выход из цикла








    Цикл с постусловием: алгоритм


    начало


    конец


    нет


    да


    n <= 0?


    тело цикла


    условие


    блок «типовой процесс»


    ввод n


    основной алгоритм


    Особенности:
      тело цикла всегда выполняется хотя бы один раз после слова while («пока…» ) ставится условие продолжения цикла








    Сколько раз выполняется цикл?


    a = 4; b = 6;
    do { a ++; } while (a <= b);


    3 раза
    a = 7


    a = 4; b = 6;
    do { a += b; } while ( a <= b );


    1 раз
    a = 10


    a = 4; b = 6;
    do { a += b; } while ( a >= b );


    зацикливание


    a = 4; b = 6;
    do b = a - b; while ( a >= b );


    2 раза
    b = 6


    a = 4; b = 6;
    do a += 2; while ( a >= b );


    зацикливание


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


    Напишем программу, которая вычисляет значение ряда с заданной точностью.
    В качестве примера рассмотрим разложение в ряд функции sin(x):





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





    Чтобы избежать вложенных циклов и сделать вычисления более эффективными, на каждом шаге мы не будем возводить x в степень 2n+1, а умножим значение предыдущего шага на x2.
    Аналогично поступаем с вычислением (-1)n: вместо возведения в степень будем изменять знак слагаемого на противоположный.
    Для вычисления факториала в знаменателе также не нужен цикл, достаточно предыдущее значение домножить на 2 очередных значения.


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





    void Prim4_4() {
    double eps = 1e-5, x, a, b, s;
    int i;
    x=2;
    a=x; //числитель слагаемого
    b=1; //знаменатель слагаемого
    s=x; //сумма
    i=1; //показатель степени x у слагаемого
    do {
    a*=-x*x;
    i+=2;
    b*=(i-1)*i;
    s+=a/b;
    } while (abs(a/b)>=eps);
    cout<<"sin("< //для проверки вычислим sin(x) с помощью библиотечной функции
    cout<<"sin("< }





    Важно.
    В цикле while точка с запятой после условия цикла не ставится.
    В цикле do…while после условия цикла надо поставить точку с запятой.
    Обратить внимание.
    Оператор вывода в циклах while и do…while можно задавать различным образом. При этом выводимые данные будут располагаться или в строчку, или в столбик.

    1   2   3   4   5   6   7   8   9   10   ...   16


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