Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Основні правила використання циклу for

Читайте также:
  1. Cтенограмма из лекции 4 правила,лектор Руслана абу Ибрахима,подробный разбор о запрете фото и видео.
  2. I. Правила ведения дневника
  3. I. Правила оформления отчета по практике
  4. I. Правила оформления отчета по практике
  5. I. Правила терминов
  6. I. Прочтите слова и объясните правила чтения буквы е
  7. II. Основні засоби
  8. II. Правила оформления курсовой работы
  9. II. ПРАВИЛА ОФОРМЛЕНИЯ РАБОТЫ
  10. III. Общие правила заполнения рецепта.

1. Сп 1 виконується 1 раз до початку виконання тіла циклу;

2. Сп 2 див. раніше;

3. Після виконання тіла циклу виконується сп 3 й перехід на п. 2;

4. Поява в любому місці тіла цикла оператора continue дає перехід до використання сп 3, тобто до п. 3. правил;

5. Поява оператора break викликає перехід до оператора, який йде після оператора циклу. Після виходу із цикла по оператору break або goto параметр цикла зберігає значення, при якому завершається цикл.

6. Після нормального завершення циклу (не по goto) значення параметра циклу дорівнює значенню, яке привело до завершення виконання циклу. Наприклад, якщо межа змінних значень параметрів циклу визначена в вигляді:

for (і =1; і <5; і++),

то для значень і від 1 до 4 виконуються оператори тіла циклу, а при значенні і = 5 виконання циклу завершується.

7. Якщо нема сп. 1 або сп. 2, їх крапка з комою(;) повинна залишитись в операторі заголовку циклу; наприклад

for (;;) for (і =1;; і++),

– це безкінечні цикли, з яких треба вийти за допомогою операторів, break, return, goto на мітку зовні циклу.

Приклад оператора циклу типовий

for (і =1; і<20; і++)

і – параметр змінюється від 0 до 19 з кроком 1, тіло цикла виконується 20 разів.

За допомогою скороченої форми оператора for можливо реалізувати в програмі тимчасову затримку процеса виконання програми. Наприклад для обмеження часу чекання відповіді користувача

Приклад циклу з пустим оператором S:

For (n=1; n<=10000; n++);

Цей цикл рахує значення від 1 до 10000, нічого більше не роблячи. Символ; після заголовку цикла – це пустий оператор.

Будь – який список заголовка може містити операцію кома, тобто декілька операторів і виразів, розділених комами, які виконуються зліва направо. Таким чином, оператор циклу for може мати якби декілька параметрів циклу, які змінюються синхронно (одночасно). Частіше за всі списки Сп 1 і Сп 3 – оператори присвоєння або звернення до функцій, а Сп 2 – містить вирази відношення або логічні вирази. Якщо нема сп. 1 і сп. 3, то параметр циклу мов би не розглядається.

Якщо нема сп.2 (для нього залишиться;), то вважається, що умова перевірки кінця циклу істинна, при цьому цикл не може бути завершений по умові циклу в заголовку цикла (безкінечний цикл), а може бути завершений тільки по оператору goto (перехід на оператор зовні тіла циклу), за допомогою операторів break або return.

Приклад 1: Визначити сумму парних чисел від 1000 000 до 0

for (s=0.0, i=1000 000; i>=2; i- =2) s+=i;

Ініціюються початкові значення, після кожного разу крок параметра циклу зменшується на 2. По завершенні і=0.

Приклад 2: Вивести значення х=2і від і=1 до n по 5 значень в рядку.

#include <stdio.h>

#include <conio.h>

void main()

{ int і, n;

long x;

clrscr ();

printf(“введіть число –макс. степінь дв.\n”);

scanf(“%d ”,&n);

printf(“\n n=%d\n”,n);

for(x=i=1; i<=n; i++)

{

x*=2; printf (“ %5d”, x);

if (i%5 = = 0) printf(“\n”);

}

printf(“\nНатисніть будь яку клавішу \n”);

getch();

}

В приведених вище прикладах оператор for мови Сі подібний іншим операторам циклів.

Але, крім того, for мови Сі має ряд інших можливостей. Розглянемо деякі з них:

1. Для зміни значень параметра циклу (кроку) можливо використовувати любі значення і операції; приклади заголовків циклу, де корегування параметру циклу відбувається по формулі:

For (n=1000; n>0; n --) // n= n - 1

For (n=1000; n>0; n - = 13) // n= n - 13

For (x=0; x< = 200; x + = 1,5) // x= x + 1.5

For (x=1000; x>0; x - = 3.7) // x= x – 3.7

For (x = 1; n< = 2000; x *= 1.2) // x= x *1.2

 

2. Можна використовувати і змінювати значення параметру циклу, які є символами; наприклад:

for (c = ‘a’; c< = ‘z’; c+ +) putch (c);

при виконанні цього циклу будуть виведені всі букви латинського алфавіту від а до z, для пред’явлення яких використовується відрізок натурального ряда чисел:

3. В сп. 1 можна використовувати оператор – кому, тобто декілька операторів присвоєння, які розділяються комами.

Наприклад, обчислити суму значень і для і = 1 ÷ 100

for (S = 0.0, i = 1; i< = 100; i++) S + = i;

4. В якості сп. 3 також можна використовувати один або декілька операторів і виразів для зміни змінних або параметрів циклу.

Наприклад:

For (x = 1; y< = max; y = 5 *x +10, x ++) {…..}

В заголовку циклу приклада встановлюється початкове значення х, а на закінчення циклу перевіряється значення у, а не х; в сп. 3 змінюються значення у і х.

5. Параметри, які входять в сп. 2 і сп. 3 можливо змінювати при виконанні операторів тіла циклу.

Наприклад:

For (n = 1; n< 100; n+ = dn) - заголовок цикла

Після декількох ітерацій можливо за допомогою if всередині тіла циклу проаналізувати необхідність зміни і змінити значення dn.

Наприклад, оператором

іf (a > b && n > 10) dn = dn *2;

6. Сп. 1 необов’язково повинен ініціювати параметр цикла. На цьому місті може стояти оператор виведення, який виконується 1 раз до початку виконання циклу.

В програмі друкується речення “ Вгадайте число!” до початку циклу і програма переходе в режим чекання введення числа з клавіатури. Після введення воно перевіряється на співпадання з сп. 2. Процес повторюється до тих пір поки не буде введене задане значення (в прикладі -0). Після цього виведеться друге повідомлення: “Це те, що треба!”.

# include < coniо.h >

# include < stdio.h >

void main ()

{

int n = 0; clrscr ();

for(printf (“\n Вгадай число! \n”); n!= 6;)

scanf (“%d”, &n);

printf (“%d – це те, що треба! \n”, n);

printf (“/n Для завершення натисніть клавішу \n”);

getch ();

}

7. За допомогою оператора continue можливо пропустити виконання одного і більше операторів тіла циклу і перейти до виконання сп. 3.

Наприклад:

for (i=1; i<n; i++)

{

if (a[i] = = 0) continue;

b – b/ a[i]; …

}

8. За допомогою оператора break можливо закінчити виконання циклу і перейти до виконання оператора, який іде після оператора циклу.

9. Гнучкість використання циклу for збільшує операція кома.

For (i = 1, x = xn; i < = 20; i ++, x + = dx) {……}

10. Операцію кома можливо використовувати в операторі тіла циклу:

For (i = 1; i< = 5; i ++)

j = i, a += i, printf (“ j =%d a = %f \n”, j, a);

11. В операторах заголовка циклу можливо використовувати параметр переліковного типу.

 




Дата добавления: 2014-12-23; просмотров: 130 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2025 год. (0.01 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав