Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Си.doc
Скачиваний:
3
Добавлен:
15.11.2019
Размер:
2.72 Mб
Скачать

Int main()

{

const floor eps_0 = 0.001;

int k = 0;

float x, y, s;

printf(“\nx =”);

scanf(“%f”, &x);

y = 1.0;

s = y;

do

{

k++;

y *= x / k;

s += y;

}

while (fabs(y)>eps_0);

printf(“\nСумма = %5.3f”, s);

return 0;

}

Циклы с постусловием обычно используются в фильтрах входных данных – исходные данные вводятся до тех пор, пока они не будут корректными, а некорректные исходные данные отвергаются.

Пример: по введенному месяцу года определить количество дней в нем.

Программа: Схема фильтра (month – номер месяца)

#include <stdio.h>

#include <conio.h>

#include <math.h>

Int main()

{

Int month;

do

{

printf(“\nВведите номер месяца: ”);

scanf(“%d”, &month);

}

while ((month < 1) || (month > 12));

switch (month)

{

case 1: case 3: case 5:

case 7: case 8: case 10:

case 12: printf(“\n31 день”);

break;

case 4: case 6: case 9:

case 11: printf(“\n30 дней”);

break;

case 2: printf(“\n28 дней”);

break;

default: printf(“\nТакого месяца нет\n”);

}

return 0;

}

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

Циклы с параметром

Управление работой циклов с параметром осуществляется не только условием, но и значением специальной переменной – параметра цикла (счетчика).

Циклы этого типа получили наиболее широкое распространение в алгоритмических языках.

Схему цикла с параметром можно представить в следующем виде:

где x – параметр цикла – любая переменная,

x_нач – его начальное значение,

x_кон – его конечное значение,

x_шагшаг его изменения (не только целое число).

В Си циклы с параметром реализуются оператором цикла:

for (инициализация; условие; изменение)

{

оператор;

оператор;

оператор;

. . .

оператор;

}

где инициализация – устанавливает начальное значение параметра цикла,

условие – определяет условие выполнения цикла,

изменение – задает изменение параметра цикла после каждой итерации.

Действия цикла:

  1. параметру цикла x присваивается его начальное значение x_нач,

  2. проверяется условие выполнения цикла; если оно истинно (не равно нулю), то выполняется тело цикла,

  3. параметр цикла автоматически увеличивается на шаг, и цикл повторяется до тех пор, пока условие не становится ложным (равным нулю),

  4. если условие не выполняется, то цикл заканчивает работу,

  5. из цикла можно выйти досрочно, используя оператор break.

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

Пример: определить сумму s натуральных чисел от 1 до 100.

Схема алгоритма:

Программа:

#include <stdio.h>

#include <conio.h>

#include <math.h>