Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Оператор цикла for




 

Оператор цикла for удобно использовать, если заранее известно (или может быть вычислено) количество повторений цикла.

В программе «Табулирование функции» заменим оператор цикла while оператором for:

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

{ printf(“\n%5.2f %5.2f”, x, 3+2*x);

x = x + 0.1;

}

или короткая форма записи оператора

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

printf(“\n%5.2f %5.2f”, x, 3+2*x);

Операция запятая (,) - операция последовательного вычисления.

Оператор цикла for имеет вид

for ([выражение1]; [выражение2]; [выражение3])

оператор s;

Схема работы оператора цикла for представлена на рис.2.4.

Рис. 2.4. Схема работы оператора цикла for

 

Эквивалентный оператор while имеет вид:

выражение1;

while (выражение2)

{ оператор s;

выражение3;

}

Любое из выражений в операторе for может отсутствовать, например может отсутствовать выражение1, если не требуются подготовительные действия. В частном случае могут отсутствовать все выражения, тогда получим условие бесконечного цикла. Прервать цикл можно оператором break, например, при обнаружении некоторого условия:

for (;;)

{ …

break;

….

}

Оператор завершения break иногда полезен для “аварийного” выхода из цикла, часто позволяет избежать сложных проверок, но затрудняет понимание программы.

Изменим программу 2.1. – для вычисления значения функции f(x) используем подпрограмму.

/*Программа 2.2. Табулирование функции (в стиле С) */

/* с использованием подпрограммы для вычисления функции f(x) */

#include <stdio.h>

/* подпрограмма вычисления функции f(x) */

float f (float z)

{ float y;

y = 3 + 2*z;

return y; /* возврат значения функции */

}

void main ()

{ int n, i; /*количество строк, номер строки */

float x; /* текущее значение х */

scanf (“%f %d”, &x, &n);

printf ("\n X F(X) ");

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

{printf(“\n%5.2f %5.2f”, x, f (x)); /* вызов функции */

x = x + 0.1;

}

}

Пояснения к программе.

1. Для вычисления значения функции f(x) вызывается подпрограмма - функция. Подпрограмма, получив в качестве аргумента очередное значение величины x, вычисляет и возвращает значение y = 3 + 2*x.

2. В подпрограмме можно обойтись без дополнительной переменной y: вычисление значения функции выполнить в операторе return.

float f (float z)

{ return (3 + 2 * z); }

3. Использование подпрограммы позволяет менять функцию, не изменяя основную программу.




Поделиться с друзьями:


Дата добавления: 2014-01-03; Просмотров: 342; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.