Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Циклические вычислительные процессы




Циклические вычислительные процессы характеризуются наличием многократно повторяющихся участков вычислений (циклов). Переменная, изменяющаяся в цикле и используемая для проверки продолжения или окончания цикла, называется управляющей переменной. Для программирования циклических алгоритмов используются операторы цикла с условием или с параметром.

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

В языке С++ имеется два вида операторов цикла с условием:

1. while (пока) – цикл с предусловием;

2. do... while (повторять до тех пор, пока выполняется условие) – цикл с постусловием.

Оператор цикла while является наиболее универсальным, таккак с его помощью можно запрограммировать практически любой циклический процесс.

 

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

Общий вид записи

while (логическое выражение) { <тело цикла>; }

<тело цикла> - единичный оператор или группа операторов, выполняемых в цикле.

Замечание. Если тело цикла состоит из нескольких операторов, то их обязательно заключают в операторные скобки {...}.

Работа оператора

Тело цикла выполняется до тех пор, пока логическое выражение, определяющее условие выхода из цикла, имеет значение TRUE. В противном случае оператор цикла while завершает свою работу.

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

 

Графическая интерпретация оператора

В схемах алгоритма оператору цикла while соответствует структура ЦИКЛ-ПОКА.

 
 
(T)
(F)
Условие (ЛВ)
Тело цикла
Выход из цикла

 

 


 

Оператор цикла do...while

Общий вид записи

do

 

<тело цикла>

 

while (логическое выражение);

Работа оператора

Выполняется тело цикла, после чего вычисляется логическое выражение,определяющее условие продолжения работы цикла. Если логическое выражение примет значение FALSE, то цикл do...while завершает свою работу, иначе тело цикла выполняется еще раз.

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

Графическая интерпретация оператора do-while

В схемах алгоритма оператору цикла do... while соответствует структура ЦИКЛ-ДО.

 
 
(F)
(T)
Условие (ЛВ)
Тело цикла
Выход из цикла

 


Пример 1. Алгоритм расчета значений функции с одной переменной.

Вычислить таблицу значений функции:

для всех х, изменяющихся в интервале [-0.5, 2.5] с шагом Δх = 0.1,

а, b - заданные вещественные числа.

 

В данной задаче переменная х является управляющей пере­менной цикла.

Схема алгоритма Программа

 
 
x≤2.5
Начало
a,b
x,y
Конец
x=x+0.1
y=  
x=-0.5
Заголовок таблицы
#include "stdafx.h" #include<math.h>

 

int main()

{

float а, b, х, у;

printf("Bвeдитe а и b\n");

scanf("%f%f",&a,&b);

printf(" x y(x)\n");

х=-0.5; //нач. установка

while(х <= 2.5)

{

y= log(fabs(x))/(a*a +b*b);

printf("%8.1f %8.1f",x,y);

x=x + 0.1;

}

return 0;

}

 

Пример 2. Решить предыдущую задачу табулирования функции с использованием оператора цикла do…while.

Схема алгоритма Программа

Н
x>2.5
Начало
a,b
Конец
x=-0.5
Заголовок таблицы
Д
x,y
x=x+0.1
y=

#include "stdafx.h"

#include<math.h>

int main()

{

float а, b, х, y;

printf("Bвeдитe a и b ");

scanf("%f%f",&a,&b);

printf(" x y(x)\n");

х=-0.5; //нач. установка

do

{

y=log(fabs(x))/(a*a+b*b);

printf("%8.1f %8.1f\n",x,y);

x= x+ 0.1;

} while(x<= 2.5);

return 0;

}

 

Основное отличие оператора цикла while от оператора цикла do...while

1. В операторе while тело цикла может не выполниться ни разу, если логическое выражение в начальный момент уже окажется ложным.

В операторе do...while логическое выражение записывается после тела цикла, поэтому тело цикла обязательно выполнится хотя бы один раз.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...