d6863038e53c4852b696159a925e35f0.pptx
- Количество слайдов: 9
Обработка числовых последовательностей
Оператор цикла while Оператор цикла служит для многократного выполнения одних и тех же действий. Используется при программировании циклов с предусловием: нет условие да оператор Формат оператора while: Условие это выражение, которое кроме арифметических операций может содержать операции отношения: > больше, >= больше или равно, < меньше, <= меньше или равно == равно != не равно while (условие) оператор /*может быть либо один оператор, либо составной, если в цикле несколько операторов, то они заключаются в фигурные скобки*/ Пример: while (i<=n) {s=s+i/(i+1); i++} /*составной оператор*/
Существует круг задач, в которых необходимо обработать числовую последовательность Числовая последовательность может задаваться двумя способами 1. С указанием количества чисел ; 2. Или иметь признак конца.
v. Последовательность с указанием количества вводимых чисел: Пусть числовая последовательность представлена в виде: n, А 1, А 2, … Аn (где n количество чисел вводимой последовательности), тогда процесс обработки можно представить в виде:
Полная форма: ВВОД На языке Си этот процесс можно записать с помощью оператора цикла while: n i=1 i <= n да ВВОД А ОБРАБОТКА А i = i+1 нет scanf (“%d”, &n); i=1; while (i<=n) { scanf (“%f”, &a); /*обработка а*/ ……………. . i++; }
Короткая форма ВВОД n i = 1, n ВВОД А ОБРАБОТКА А Фрагмент программы на языке Си, обработка последовательности при помощи оператора for: scanf (“%d”, &n); for (i=1; i<=n; i++) { scanf (“%f”, &a); /*обработка а*/ ………… }
v. Последовательность с признаком конца задается в виде: А 1, А 2, … А n , W (где n заранее не известно, W – признак конца последовательности), тогда процесс обработки в общем виде можно представить одной из двух ниже представленных схем: W – символическая константа, которая должна быть определена с помощью директивы #define.
Схема 1. Цикл с постусловием ВВОД А ОБРАБОТКА А ВВОД А да A!=W нет Фрагмент программы на языке Си, соответствующий данной схеме: #define W 999 scanf (“%f”, &a); do {/*обработка а*/ …………… scanf (“%f”, &a); } while (a!=W);
Схема 2. Цикл с предусловием Фрагмент программы на языке Си, соответствующий данной схеме: ВВОД А A!=W да ОБРАБОТКА А ВВОД А #define W 999 нет scanf (“%f”, &a); while (a!=W) { /*обработка а*/. . . scanf (“%f”, &a); }
d6863038e53c4852b696159a925e35f0.pptx