Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы к экзамену по ЯиМП.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
157.77 Кб
Скачать

9. Циклы. Оператор цикла с предусловием while. Пример.

Цикл while с предусловием позволяет выполнить одну и ту же последовательность действий пока проверяемое условие истинно. При этом условие записывается до тела цикла и проверяется до начала выполнения тела цикла. При выполнении цикла while сначала проверяется условие. Если оно ложно, то цикл не выполняется и управление передается на следующую инструкцию после тела цикла while. Если условие истинно, то выполняется инструкция, после чего условие проверяется снова и снова выполняется инструкция. Так продолжается до тех пор, пока условие будет истинно. Как только условие станет ложно, работа цикла завершится и управление передастся следующей инструкции после цикла.

Формат оператора:

while (<условие>)

{

<операторы>;

}

Пример:

int i=1,i2;

while (i<=10)

{ i2=i*i;

Printf(“%d\n”,i2);

++i;

}

10. Циклы. Оператор цикла с постусловием do…while. Пример.

Цикл "пока" с постусловием отличается от цикла с предусловием тем, что сначала выполняется блок цикла, а потом проверяется условие. Если условие истинно, то цикл будет выполнен еще раз, и так до тех пор, пока условие будет истинно. Синтаксис цикла с постусловием такой (обратите внимание на обязательную точку с запятой после условия):

do

{

<операторы>;

}

while (<условие>);

Поскольку условие проверяется после выполнения тела цикла, то блок цикла с постусловием всегда будет выполнен хотя бы один раз, независимо от истинности условия. Это может привести к ошибкам, поэтому использовать цикл while с постусловием следует только тогда, когда это действительно упрощает алгоритм.

Пример:

int i,i2;

scanf(“%d”,&i);

do

{ i2=i*i;

Printf(“%d\n”,i2);

++i;

} while (i<=10);

11.Вычисление простой и сложной суммы. Пример.

S=a1+a2+aN можно записать в виде E(i=1..N)ai

Пример:

Ai=1/((2i-1)*2i)

i=1,2,..,50;

float a,s=0;1

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

{ a=1/((2*i-1)*2*i);

s+=a; }

printf(“s=%5.2f”,s);

Int i,n;

Float x,a,s:real;

Printf(“x n=”);

Scanf(“%f %f”,&x,&n);

A=1;s=1;

For(i=2;i<=n;i++)

{a=a*x*x/(i-1); s+=a;}

Printf(“s=%.5f”,s);

12. Обработка целых чисел. Операторы % и /. Пример.