Читайте также:
|
|
Цикл for
Описание синтаксиса:
1. Присваивается первоначальное значение счетчику, после чего ставится точка с запятой.
2. Задается конечное значение счетчика цикла. После того, как значение счетчика достигнет указанного предела, цикл завершится. Снова ставим точку с запятой.
3. Задается шаг цикла. Шаг цикла - это значение, на которое будет увеличиваться или уменьшаться счетчик цикла при каждом проходе.
Синтаксис:
for (/*выражение1*/; /*выражение2*/; /*выражение3*/)
{
/*один оператор или блок операторов*/;
}
Если в теле цикла for должен выполниться один оператор, тогда фигурные скобки можно опустить:
for (/*выражение1*/; /*выражение2*/; /*выражение3*/)
/*один оператор*/;
Пример:
// вывод чисел от 0 до 14
for (int counter = 0; counter < 15; counter ++) // начало цикла
cout << " " << counter; // тело цикла
Цикл while
Цикл while - цикл, повторяющий одно и то же действие, пока условие продолжения цикла while остается истинным.
Синтаксис:
while (/*условие продолжения цикла while*/)
{
/*блок операторов*/;
/*управление условием*/;
}
Условие продолжения цикла должно быть истинно (true), как только условие стало ложным, выполняется выход из цикла. Фигурные скобки могут опускаться в том случае, если тело цикла - один оператор. Но как правило в цикле выполняется несколько операторов, так как кроме выполнения полезного действия необходимо делать условие цикла while ложным, иначе цикл будет бесконечным, что приведет к зависанию программы.
Пример:
// Пока скорость движения автомобиля меньше 60 км/ч, продолжать наращивать скорость
int speed = 5; // начальная скорость автомобиля
while (speed < 60)
{
speed += 10; // приращение скорости
cout << count <<"-speed = " << speed << endl;
count++; // подсчет повторений цикла
}
3. Операторы break/continue в циклах
В теле оператора множественного выбора switch оператор break прерывал исполнение оператора switch. Когда оператор break выполняется в цикле, то досрочно прерывается исполнение оператора цикла, и управление передается следующему оператору после цикла.
Пример:
Программа печатает таблицу степеней двойки. Если убрать оператор if, то напечатаются степени двойки, включительно до десятой.
// заголовочный файл <cmath> содержит прототип функции pow() для нахождения степени числа
#include <iostream>
#include <cmath>
using namespace std;
int main(int argc, char* argv[])
{
for (int count = 0; count <= 10; count++) // начало цикла for
{
if (count == 6)
break; // выход из цикла for
cout << "2^" << count << " = " << pow(2.0,count) << endl; // печать степени двойки
}
system("pause");
return 0;
}
Оператор continue используется только в циклах. В операторах for, while, do while, оператор continue выполняет пропуск оставшейся части кода тела цикла и переходит к следующей итерации цикла.
Пример:
Программа должна работать циклически. Внутри цикла необходимо организовать ввод чисел. Если введено число от 0 до 10 включительно, то необходимо напечатать квадрат этого числа, иначе используя оператор continue пропустить оператор возведения в квадрат введенного числа. При введении отрицательного числа осуществить выход из цикла.
// программа определяет точку входа для консольного приложения
#include "stdafx.h"
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
int in_number; // переменная для хранения введенного числа
do
{
cout << "Введите число: ";
cin >> in_number; // считываем введенное число в переменную in_number
if (in_number > 10 || in_number < 0) // если введенное число не входит в заданный интервал
continue; // переход на следующую итерацию цикла do while
cout << "square = " << in_number * in_number << endl; // возводим в квадрат введенное число
}
while (in_number >= 0); // пока введенное число больше либо равно нулю, цикл будет работать
system("pause");
return 0;
}
ЗАДАНИЕ
Оператор for
1.1. Написать программу, получающую число и вычисляющую факториал n!.
1.2. Написать программу, получающую число и вычисляющую:
- произведение первых n натуральных нечетных чисел;
- произведение первых n натуральных чисел, имеющих при делении на 3 остаток 1.
1.3. Написать программу, получающую число и вычисляющую:
- сумму квадратов первых n натуральных чисел ;
- сумму первых n нечетных натуральных чисел 1+3+5+…+(2n+1).
1.4. Написать программу, получающую число и вычисляющую n-й член последовательности , заданной рекуррентно:
- ;
- ;
- .
1.5. Написать программу, получающую число long int n, и вычисляющую сумму ряда (по вариантам):
- ;
- ;
- .
1.6*. Написать программу, получающую число и вычисляющую n‑е число Фибоначчи.
Программа должна выводить сообщение в случае недостаточности выбранного типа для хранения вычисляемого числа. Использовать типы: int, unsigned int, long int, unsigned long int.
1.7*. Написать программу, получающую числа и выводящую на экран таблицы истинности следующих формул алгебры логики (по вариантам):
- ;
- ;
- .
Оператор while
2.1. Написать программу, получающую число и вычисляющую факториал n!.
2.2. Написать программу, получающую число и вычисляющую:
- произведение первых n натуральных нечетных чисел;
- произведение первых n натуральных чисел, имеющих при делении на 3 остаток 1.
2.3. Написать программу, получающую число и вычисляющую:
- сумму квадратов первых n натуральных чисел ;
- сумму первых n нечетных натуральных чисел 1+3+5+…+(2n+1).
2.4. Написать программу, получающую число и вычисляющую n-й член последовательности , заданной рекуррентно:
- ;
- ;
- .
2.5. Написать программу, получающую число long int n, и вычисляющую сумму ряда (по вариантам):
- ;
- ;
- .
2.6. Реализовать иллюстративную программу. объяснить, почему не произойдет «зацикливание» программы; ввести в программу таймер, измеряющий время работы программы.
include<iostream>
using namespace std;
void main()
{
int n=1;
while(n>0)
n++;
cout<<n<<”\n”;
}
2.7*. Написать программу, получающую число и вычисляющую n‑е число Фибоначчи.
Программа должна выводить сообщение в случае недостаточности выбранного типа для хранения вычисляемого числа. Использовать типы: int, unsigned int, long int, unsigned long int.
2.8*. Написать программу, получающую числа и выводящую на экран таблицы истинности следующих формул алгебры логики (по вариантам):
- ;
- ;
- .
2.9*. Написать программу, получающую числа unsigned int m, n, и вычисляющую:
- нод(m,n) с помощью алгоритма Евклида;
- нок(m,n) по формуле: .
Дата добавления: 2015-10-30; просмотров: 99 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Жизнь в другом теле. Одержимость | | | Обработка одномерного массива |