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

Оператор цикла с постусловием. Правила записи, применение.




Цикл while ("пока") с постусловием

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

do
{
Блок инструкций
}
while (условие);

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

Циклом называется блок кода, который для решения задачи требуется повторить несколько раз.
Каждый цикл состоит из

  • блока проверки условия повторения цикла
  • тела цикла

В языке Си следующие виды циклов:

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


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

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

Использовать цикл do...while лучше использовать в тех случаях, когда должна быть выполнена хотя бы одна итерация, либо когда инициализация объектов, участвующих в проверке условия, происходит внутри тела цикла.

 

Оператор цикла с параметром. Правила записи, применение.

Данный цикл можно представить такой конструкцией;

for (начальные_присваивания; выражение; приращение) оператор;

Здесь начальные_присваивания — оператор или группа операторов, применяемые для присвоения начальных значений величинам используемым в цикле; выражение — определяет условие выполнения цикла, если оно истинно, то цикл выполняется; приращение — оператор, который выполняется после каждого шага (прохода) по телу цикла; оператор — любой оператор.

Давайте на примере задачи рассмотрим цикл с параметром. Нам необходимо посчитать сумму чисел от 1 до 500. Делаем:

Пример:

#include "stdafx.h"
#include <iostream>
using namespace std;
int main ()
{
int i; //определяем переменную
int sum = 0;
for (i=1; i<=500; i=i+1) // задаем начальное значение, конечное 500, шаг цикла
{
sum = sum + i;
}
cout << "The sum of the numbers from 1 to 500 = " <<sum<<endl;
system ("pause");
return 0;

Вложенные циклы. Правила записи.

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

В инициализации внутреннего цикла for может быть определена переменная с таким же именем, что и переменная, определенная во внешнем цикле. Это определение остается действительным до конца внешнего цикла. Но, чтобы не было путаницы, лучше этого не делать. Тогда параметры вешнего цикла можно использовать в качестве переменных во внутреннем цикле, но менять их там нельзя.

Управляющие операторы в циклах. Операторы break, continue, goto.

Метка представляет собой идентификатор с расположенным за ним символом двоеточия (:). Метками помечают какой-либо оператор, на который в дальнейшем должен быть осуществлён безусловный переход.

Безусловная передача управления на метку производится при помощи оператора goto. Оператор goto может осуществлять переход (адресоваться) к меткам, обязательно расположенным в одном с ним теле функции.

Синтаксис: goto метка;

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

Операторы break и continue

Оператор break используется в операторе switch и циклах. Служит для принудительного выхода из цикла или оператора switch. Оператор break прекращает выполнение цикла и осуществляет передачу к следующему за циклом оператору.

Оператор continue используется только оператором цикла, с его помощью завершается текущая итерация (повтор) и начинается проверка условия дальнейшего продолжения цикла, т.е условие начала следующей итерации.

Пример1: for (int i = 0; i < 10; i + +)

{if (i = = 5) break;

cout<< i <<’\t’;

}

Результат: 0 1 2 3 4

Одномерный массив. Описание одномерного массива, обращение к элементам массива. Ввод-вывод элементов одномерного массива.

Одномерный массив — массив, с одним параметром, характеризующим количество элементов одномерного массива. Фактически одномерный массив — это массив, у которого может быть только одна строка, и n-е количество столбцов. Столбцы в одномерном массиве — это элементы массива.

Массив-набор фиксированного числа некоторых значений. Массивы используются для обработки большого количества однотипных данных. Фактически одномерный массив — это массив, у которого может быть только одна строка, и n-е количество столбцов. Столбцы в одномерном массиве — это элементы массива.

Объявление

  int A[100]; //Массив A под 100 элементов тип массива int (т.е. это 100 целых чисел) char S[256]; //Массив S типа char В массиве всего 256 элементов

Ввод данных и вывод на экран

#include <iostream.h>

Int main()

{

int А[100]; //объявление массива

int n=10;

int i,j;

srand(time(NULL));

for (i=0;i<n; i++)

{ А[i]=rand()%20;

Cout<<setw(4)<<A[i];}

getch();

return 0;

}

Двумерный массив. Описание двумерного массива, обращение к элементам массива. Ввод-вывод элементов двумерного массива.

Язык С допускает многомерные массивы, простейшими из которых являются двумерные массивы. Можно сказать, что двумерный массив – это массив одномерных массивов.

Массив-набор фиксированного числа некоторых значений. Массивы используются для обработки большого количества однотипных данных. Первое отличие двумерного массива от одномерного — его элементы содержат два индекса: int arr [3][4]; Первый за именем массива индекс — это индекс строки, второй — индекс столбца

Двумерный массив - это массив одномерных массивов. Двумерный массив объявляется следующим образом:

тип имя_массива[размер второго измерения][размер первого измерения];

Следовательно, для объявления двумерного массива целых с размером 10 на 20 следует написать:

int d[10] [20];

 

Ввод данных и вывод на экран

int main()

{srand(time(0));//Инициализация генератора случайных чисел

int i,j;//объявление переменных

int A[50][50];//объявление массива,типа данных,и его размерность

cout<<"Матрица 8х8"<<endl<<endl;//Вывод сообщения на экран и пропуск строк

for(i=1;i<=8;i=i+1)//внешний цикл с параметром для i от 1 до 8

{

for(j=1;j<=8;j=j+1)//внутренний цикл с параметром для j от 1 до 5

{ A[i][j]=(rand()%21-10);//Генератор случайных чисел диапазон которого равен от -10 до 20 фактически

cout.width(3);

cout << A[i][j] << " ";}//Вывод матрицы в форматном виде

cout<<endl<<endl;}

 

Поделиться:





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



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