Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛекцииЯзыки прогрИб.doc
Скачиваний:
27
Добавлен:
12.11.2019
Размер:
922.11 Кб
Скачать

6.3. Структуры повторения

Структура повторения служит для программирования циклических вычислительных процессов и реализована в языке C++ в виде трех типов структур:

  • структура повторения for (цикл) реализует цикл с заранее известным числом повторений, задается переменная цикла с ее начальным значением, условие повторения действий с конечным значением и приращение переменной цикла; действия повторяются пока условие повторения цикла истинно;

Синтаксис for (цикл):

for (op_init; expr1; expr2)//op_init–инициализ цикла,нач.знач.перем

{op1;...}//цикла; expr1-условие повторения цикла, конеч. значение;

//expr2- приращение переменной цикла

  • структура повторения while (пока) реализует цикл с предусловием и повторяет действие, пока условие остается истинным, причем с первой итерации;

Синтаксис с предусловием while:

while (expr) //если expr истинно, то выполняется

{op1;…} //тело цикла {op1;...}

//если expr ложно, то выход из цикла

  • структура повторения do/while (цикл - пока) реализует цикл с постусловием и повторяет действие, пока условие остается истинным, причем при первой итерации условие не проверяется;

Синтаксис с постусловием do/while:

do //если expr истинно, то выполняется тело цикла {op1;…}

{op1;...} //если – ложно, то выход из цикла

while(expr); //при первой итерации условие не проверяется

Оператор break осуществляет выход из структуры switch и структур for, while, do/while.

Оператор continue передает управление на конец цикла структур for, while, do-while, пропуская нижележащий фрагмент тела цикла.

Итак, в C++ имеется только семь управляющих структур: следования, три структуры выбора и три структуры повторения. с помощью которых можно описать алгоритм любой программы.

while структура do/while структура for структура

Рис. 6.3. Структуры повторения

Пример 3. «Структура повторения с предусловием

while, управляемая меткой»

Условие задачи: подсчитать среднюю оценку для произвольного количества оценок.

Создать проект консольного приложения и вести имя проекта TPlab1_4. Создается исходный файл TPlab1_4.cpp, который будет содержать одну пустую функцию main():

int t_main(int args, _TCHAR* argv[])

{return 0;}.

Проект должен содержать файл заголовков TPlab1_4.h и файл кодов TPlab1_4.cpp.

Создать файл TPlab1_4.h, ввести текст файла и сохранить его:

//файл заголовков TPlab1_4.h

#include <iostream>

using std::cout;

using std::cin;

using std::endl;

#include <iomanip>

using std::setprecision;;

Добавить в файл кодов TPlab1_4.cpp подключение файла заголовков и текст функции main:

//файл кодов TPlab1_4.cpp

#include "stdafx.h"

#include "TPlab1_4.h"

int _tmain(int argc, _TCHAR* argv[])

{

//блок объявлений и инициализации переменных

Int kol, //счетчик введенных оценок

oc; //оценка

float sum, //сумма оценок

sr; //средняя оценка

sum=0; //установка суммы в исходное положение

kol=0; //инициализация переменной цикла

//блок обработки

cout<<"Vvedite <ocenky> ili <-1> end: ";

cin>>oc;

while (oc!=-1)

{

sum+=oc;

kol++;

cout<<"Vvedite <ocenky> ili <-1> end: ";

cin>>oc;

}

sr=sum/kol;

//блок выода результатов

if (kol!=0)

cout<<"Srednjaja ocenka: "<<setprecision(4)<<sr<<endl;

else cout<<"Net ocenok"<<endl;

return 0; //признак успешнего завершения

}

Пример 4. «Структура повторения for»

Условие задачи: некто внес заданный вклад под заданный процент годовых; рассчитать сумму на счете в конце каждого года на протяжении заданного количества лет.

Создать проект консольного приложения и ввести имя проекта TPlab1_5. Создается исходный файл TPlab1_5.cpp, который будет содержать одну пустую функцию main():

int t_main(int args, _TCHAR* argv[])

{return 0;}.

Проект должен содержать файл заголовков TPlab1_5.h и файл кодов TPlab1_5.cpp.

Создать файл TPlab1_5.h, ввести текст файла и сохранить его:

//файл заголовков TPlab1_5

#include <iostream>

using std::cout;

using std::cin;

using std::endl;

using std::ios;

#include <iomanip>

using std::setw;

using std::setiosflags;

using std::setprecision;

#include <cmath>

Добавить в файл кодов TPlab1_5.cpp подключение файла заголовков и текст функции main():

//файл кодов TPlab1_5.cpp

#include "stdafx.h"

#include "TPlab1_5.h"

int _tmain(int argc, _TCHAR* argv[])

{

//блок объяления переменных и ввода данных

double vclad, //первоначальный вклад

stavka, //ставка годового дохода (дробь)

depozit; //сумма на депозите в конце i-го года