Программирование на Cи




Содержание:

Циклические действия. Цикл с условием for.

Циклические действия в языках программирования, это многократные повторения (итерации) каких либо действий или команд. Циклы подразделяются на циклы с заданным числом повторений и циклы прекращающиеся по какому ни будь условию. К циклам с заданным числом повторений (условием) относится цикл for. В языке Си цикл for организуется по следующей схеме:
for (условие) действие; где условием является запись начального и конечного значения счётчика цикла, а так же условие для наращивания значений счётчика. В качестве счётчика используется переменная числового типа.
Рассмотрим пример организации цикла:
int n;
for (n=1; n<=10; n++) printf("%d\n",n);
В этой записи, в качестве счётчика используется переменная n целого типа. В цикле переменной n присваивается начальное значение единица n=1; затем задаётся логическое условие повторения цикла, в нашем случае цикл будет повторяться пока переменная n меньше либо равна 10. Далее задаётся формула наращения счётчика, в нашем случае с каждой итерацией цикла счётчик n будет увеличиваться на единицу n++. Далее, за скобками идёт действие, которое нужно выполнять в цикле, в нашем случае, это вывод на экран значений счётчика n при каждой итерации.
Полностью программа будет выглядеть так:

#include <stdio.h>
void main()
{
   int n;
   clrscr();
   for (n=1; n<=10; n++) printf("%d\n",n);
}

Результатом работы программы будет вертикальный список значений счётчика n:



Для того, что бы цикл мог выполнять несколько действий, эти действия следует заключить в фигурные скобки, например:

#include <stdio.h>
void main()
{
   int n;
   clrscr();
   for (n=1; n<=10; n++)
   {
   printf("Iteration: ");
   printf("%d\n",n);
   }
}
Результат выполнения программы с несколькими действиями в цикле:



В качестве счётчика цикла могут быть переменные не только целого, но и вещественного типа. Так же, формула приращения цикла может быть любой. Например, заменим тип переменной n на float, а приращение значения n сделаем 0.5.

#include <stdio.h>
void main()
{
   float n;
   clrscr();
   for (n=1; n<=4; n=n+0.5)
   {
   printf("Iteration: ");
   printf("%f\n",n);
   }
}
Результатом работы этой программы будет список дробных значений n:



Формула приращений счётчика цикла может иметь как положительное приращение (как в нашем случае), так и отрицательное приращение - цикл будет работать на уменьшение счётчика. Для этого достаточно изменить условие (диапазон) значений цикла и формулу приращения счётчика. Например, в нашей программе "развернём" счётчик в обратную сторону:
#include <stdio.h>
void main()
{
   float n;
   clrscr();
   for (n=4; n>=1; n=n-0.5)
   {
   printf("Iteration: ");
   printf("%f\n",n);
   }
}
Результат работы этой программы будет такой:




Пример программы по вычислению факториала числа.
По определению: факториалом числа q является ряд 1 * 2 * 3 * : q-1 * q.
Если q = 0, то факториал 0 = 1.
Создадим программу где значение q будем вводить с клавиатуры, а значение факториала (переменная fact) , будет вычисляться в цикле, повторяющемся от 1 до q.

#include <stdio.h>
void main()
{
   float fact;
   int n,q;
   clrscr();
/* Вводим с клавиатуры значение q */
   printf("Vvedi q: ");
   scanf("%d",&q);
/* Проверяем введённое значение q и если оно равно 0 то ...*/
   if (q==0) printf("Factorial = 1");
/* Если q не равно 0 то создаём цикл и в цикле вычисляем факториал fact*/
   else
   {
   fact = 1;
   for (n=1; n<=q; n++) fact=fact * n;
/* Выводим полученное значение факториала на экран*/
   printf("Factorial=%f",fact);
   }
}
Результат работы программы при q=0:



Результат работы программы при q не равном 0:







   ©Гуков Константин Михайлович 2006 - 2013     Почта: [email protected]