Основные операторы цикла

Содержание

Слайд 2

Циклические конструкции

Начальные установки

Начальные
установки

Тело цикла +
блок
модификации

Тело цикла

Начальные установки

условие

условие

условие

Тело цикла

Циклические конструкции Начальные установки Начальные установки Тело цикла + блок модификации Тело
+ блок модификации

Блок
модификации

истина

ложь

истина

ложь

истина

ложь

А. Цикл с предусловием

Б. Цикл с постусловием

В. Цикл с параметром (со счетчиком)

Слайд 3

int a,b,kol=0,i;
printf(“\n Input a,b: ”);
scanf(“%d%d”,&a,&b);
i=b-1;
while (i>a)
{

int a,b,kol=0,i; printf(“\n Input a,b: ”); scanf(“%d%d”,&a,&b); i=b-1; while (i>a) { printf(“\n
printf(“\n %d”,i);
kol++;
i--;
}
printf(“\nNumber of natural %d”, kol);

Даны 2 целых числа А и В (А<В). Вывести в порядке убывания все целые числа, расположенные между А и В, и количество таких чисел.

Цикл с предусловием.Оператор WHILE. Пример 1.
Input a,b: 5 8
7
6
Number of natural 2

while ( выражение ) оператор

Слайд 4

#include
int main(){
float x1, x2, dx;
printf("Введите диапазон и шаг изм-я аргумента: ");
scanf("%f%f%f",

#include int main(){ float x1, x2, dx; printf("Введите диапазон и шаг изм-я
&x1, &x2, &dx);
printf("| X | Y |\n");
float x = x1;
while (x <= x2){
printf("| %5.2f | %5.2f |\n", x, x*x + 1); x += dx;
}
}

while (int x = 0) { /* область действия х */ }

Вывести таблицу значений функции Y=X2 +1 на отрезке [x1;x2] c шагом dx.

Оператор WHILE. Пример 2.

Слайд 5

#include
int main(){
char answer;
do{
cout << "\nКупи слоника! ";
cin >> answer;
}while (answer

#include int main(){ char answer; do{ cout cin >> answer; }while (answer
!= 'y');
}

do оператор while выражение;

Цикл с постусловием.Оператор do while. Пример 1.

Слайд 6

float a,p;
a=1;
p=1;
do
{
p=p*a;
printf(“\n Input number”);
scanf(“%f”,&a);
}
while(a>0);
printf(“\n p=%f”,p);

Осуществить ввод

float a,p; a=1; p=1; do { p=p*a; printf(“\n Input number”); scanf(“%f”,&a); }
последовательности чисел до первого отрицательного или равного нулю числа и найти их произведение

Цикл с постусловием.Оператор do while. Пример 2.

Слайд 7

#include
#include
int main(){
double X, Eps;
double Yp, Y = 1;
printf("Введите аргумент и

#include #include int main(){ double X, Eps; double Yp, Y = 1;
точность: ");
scanf("%lf%lf", &X, &Eps);
do{
Yp = Y;
Y = (Yp + X/Yp)/2;
}while (fabs(Y – Yp) >= Eps);
printf("\n %lf %lf", X, Y);
}

yn = ½* (yn-1 + x/yn-1)

Оператор do-while.Пример 3 - вычисление квадратного корня с заданной точностью

Слайд 8

Sl=znak*A/B
A-числитель
В-знаменатель
Закон изменения А: А=А* X2
Изменение В: 1*2
1*2*3*4
1*2*3*4*5*6

В=В*(i-1)*i
Изменение знака:

Sl=znak*A/B A-числитель В-знаменатель Закон изменения А: А=А* X2 Изменение В: 1*2 1*2*3*4
znak=-znak;

Количество
множителей
i=2
i=4
i=6

Вычислить сумму бесконечного ряда с заданной точностью Е.

Пример 4. Вычисление суммы бесконечного ряда с заданной точностью.

B=B*(i-1)*i

Слайд 9

Фрагмент программы вычисления суммы ряда с заданной точностью

float e,x,y,a,b,sl;
int znak,i;
printf(“\n Input x,e:”);
scanf(“%f%f”,&x,&e);
y=i=0;
a=znak=b=sl=1;
while

Фрагмент программы вычисления суммы ряда с заданной точностью float e,x,y,a,b,sl; int znak,i;
(abs(sl)>e)
{
y+=sl;
znak=-znak;
a*=x*x;
i+=2;
b*=(i-1)*i;
sl=znak*a/b;
}
printf(“\n y=%8.2f”,y);

Слайд 10

for ( int i = 1; i < 6; ++i )

for ( int i = 1; i printf( " %d ", i
printf( " %d ", i );
printf( "вышел зайчик погулять" );

Сумма чисел от 1 до 100:
for (int i = 1, s = 0; i<=100; i++) s += i;

for ( инициализация; выражение;модификация) оператор

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

Слайд 11

Оператор for. Пример 2.

float c;
int i;
printf(“\n Input c”);
scanf(“%f”,&c);
for(i=1;i<=5;i++)
printf(“\n %8.2f”,c*i);

Известна цена 1кг

Оператор for. Пример 2. float c; int i; printf(“\n Input c”); scanf(“%f”,&c);
конфет. Вывести стоимость 1,2,…,5 кг конфет.

Слайд 12

float k;
int n;
printf(“\n K=”);
scanf(“%f”,&k);
printf(“\n N=”);
scanf(“%d”,&n);
if (n>0)

float k; int n; printf(“\n K=”); scanf(“%f”,&k); printf(“\n N=”); scanf(“%d”,&n); if (n>0)
{
for (i=1; i<=n; i++)
printf(“\n%8.2f”,k);
}
else printf(“Error!”);

Даны 2 целых числа K и N.
Вывести N раз число K (если N>0).

Оператор for. Пример 3.

Слайд 13

int i,n;
printf(“Input n:“);
scanf(“%d”,&n);
for (i=n-1;i>1;i--)
if (n%i==0) printf(“\n %d”,i)”

Дано

int i,n; printf(“Input n:“); scanf(“%d”,&n); for (i=n-1;i>1;i--) if (n%i==0) printf(“\n %d”,i)” Дано
натуральное число n. Напечатать все делители числа в порядке убывания (само число и 1 не рассматривать).

Оператор for. Пример 4.

Слайд 14

оператор безусловного перехода goto;
goto метка;
В теле той же функции должна присутствовать ровно

оператор безусловного перехода goto; goto метка; В теле той же функции должна
одна конструкция вида:
метка: оператор;
оператор выхода из цикла break;
оператор перехода к следующей итерации цикла continue;
оператор возврата из функции return;
оператор генерации исключения throw

Операторы передачи управления