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

  • Пример 2.

  • Методичка. Полный обучающий курс по Turbo Pascal. Полный обучающий курс Turbo Pascal


    Скачать 0.56 Mb.
    НазваниеПолный обучающий курс Turbo Pascal
    АнкорМетодичка. Полный обучающий курс по Turbo Pascal.doc
    Дата27.12.2017
    Размер0.56 Mb.
    Формат файлаdoc
    Имя файлаМетодичка. Полный обучающий курс по Turbo Pascal.doc
    ТипДокументы
    #13154
    КатегорияИнформатика. Вычислительная техника
    страница7 из 15
    1   2   3   4   5   6   7   8   9   10   ...   15

    end; end. 

    Глава 2. Операторы языка Паскаль

    Операторы повтора (цикла)


    Если в программе возникает необходимость неоднократного выполнения некоторых операторов, то для этого используются операторы повтора (цикла). В языке Паскаль различают три вида операторов цикла: цикл с предусловием (while), цикл с постусловием (repeat) и цикл с параметром (for).

    Если число требуемых повторений заранее известно, то используется оператор, называемый оператором цикла с параметром.

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

    1)     for <имя переменной> := <начальное значение> to <конечное значение> do

    <тело цикла>

    2)     for <имя переменной> := <начальное значение> downto <конечное значение> do

    <тело цикла>

    Имя переменной – параметр цикла, простая переменная целого типа; <тело цикла> - операторы или оператор. Цикл повторяется до тех пор пока значение параметра лежит в интервале между начальным и конечным значениями. В первом варианте при каждом повторении цикла значение параметра увеличивается на 1, во втором - уменьшается на 1.

    При первом обращении к оператору for вначале определяются начальное и конечное значения, и присваивается параметру цикла начальное значение. После этого циклически повторяются следующие действия.

    1.      Проверяется условие параметр цикла <= конечному значению.

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

    3.      Значение параметра изменяется (увеличивается на 1 или уменьшается на 1).

    Если в теле цикла располагается более одного оператора, то они заключаются в операторные скобки begin … end;

    Пример 1. Вывести на экран таблицу перевода из градусов по шкале Цельсия в градусы по Фаренгейту для значений от 15°С до 30°С с шагом в 1°С. Перевод осуществляется по формуле: F=C*1.8+32.

    Program zf;

    Var i:integer; f:real;

    Begin

    Writeln(‘Температура’);

    For i:=15 to 30 do

    Begin

    F:=i*1.8+32;

    Writeln(‘по Цельсию’, i, ‘по Фаренгейту’, f:5:2);

    End;

    End.

    Пример 2. Вывести на экран натуральные числа от 1 до 9 в обратном порядке.

    Program z;

    Var i:integer;

    Begin

    For i:=9 downto 1 do

    Writeln(i);

    End.

    Если число повторений заранее неизвестно, а задано лишь условие его повторения (или окончания), то используются операторы while и repeat. Оператор While часто называют оператором цикла с предусловием. Так как проверка условия выполнения цикла производится в самом начале оператора.

    Общий вид: While <условие продолжения повторений> do

    <тело цикла>;

    Тело цикла – простой или составной оператор или операторы. Если операторов в теле цикла несколько, то тело цикла заключается в операторные скобки begin…end.

    Перед каждым выполнением тела цикла вычисляется значение выражения условия. Если результат – «истина», тело цикла выполняется и снова вычисляется выражение условия. Если результат–«ложь», происходят выход из цикла и переход к первому после while оператору.

    Пример. Найти сумму 10 произвольных чисел.

    Program z;

    Const

    N=10;

    Var k, x, s: integer;

    Begin

    k:=0; s:=0; {k- количество введенных чисел}

    while k < n do

    begin

    k:=k+1;

    write(‘Введите число’);

    readln(x);

    s:=s+x;

    end;

    writeln(‘Сумма чисел равна’, s);

    end.

     

    Оператор цикла repeat аналогичен оператору while, но отличается от него, во-первых, тем, что условие проверяется после очередного выполнения операторов тела цикла и таким образом гарантируется хотя бы однократное выполнение цикла. Во-вторых, тем, что критерием прекращения цикла является равенство выражения константе true . За это данный оператор часто называют циклом с постусловием, так как он прекращает выполняться, как только условие, записанное после слова until, выполнится. Оператор цикла repeat состоит из заголовка, тела и условия окончания.

    Общий вид: Repeat

    <оператор>

    . . . . .

    <оператор>

    until <условие окончания цикла>

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

    Пример. Составить программу, которая вводит и суммирует целые числа. Если введено значение 999, то на экран выводится результат суммирования.

    Program s;

    Var x, s:integer;

    Begin

    S:=0;

    Repeat

    Write(‘Ввести число’);

    Readln(x);

    If x<>999 then s:=s+x;

    Until x=999;

    Writeln(‘Сумма введенных чисел’, s);

    End.
    1   2   3   4   5   6   7   8   9   10   ...   15


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