Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


While; do-while; for




Цель работы : Изучение операторов цикла в языке С++.

Задание: Составить алгоритм решения задачи согласно своему варианту. В отчете предоставить три программы с разными операторами цикла (do ...while,while, for). В программе массивов не использовать.

Длительность:4 часа.

Теоретические основы: Цикл задает многократное прохождение по одному и тому же коду программы (итерации). Он имеет точку вхождения, проверочное условие и (необязательно) точку выхода. Цикл, не имеющий точки выхода, называется бесконечным. Проверка условия может осуществляться перед выполнением (циклы for, while) или после окончания (do-while) тела цикла. Циклы могут быть вложенными друг в друга произвольным образом.

 

Циклы for

Синтаксис цикла forимеет вид:

for (выражение1; выражение2; выражение3)

оператор_или_блок_операторов;

Все три выражения не обязательно должны присутствовать в конструкции, однако синтаксис не допускает пропуска символа точка с запятой (;). Поэтому простейший пример бесконечного цикла for(выполняется постоянно до принудительного завершения программы) выглядит следующим образом:

for ( ; ; )

Если в цикле должны синхронно изменяться несколько переменных, которые зависят от переменной цикла, вычисление их значений можно поместить в оператор for, воспользовавшись оператором "запятая".

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

 

#include <iostream.h>

 

int main()

{

int a = 0;

unsigned long fact = 1;

 

cout << " Введите целое число: ";

cin >> a;

if ((a >= 0) && (a < 33))

{

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

{

if (a != 0)

fact *= i;

else

fact = 1;

}

cout << fact << '\n';

fact = 1;

}

 

return 0;

}

 

Циклы while

Оператор цикла while выполняет оператор или блок до тех пор, пока проверочное условие (выражение) остается истинным. Он имеет следующий синтаксис:

while (выражение)

оператор_или_блок

Как и для оператора for, если в цикле должны синхронно изменяться несколько переменных, которые зависят от переменной цикла, вычисление их значений можно поместить и проверочное выражение оператора while, воспользовавшись оператором "запятая".

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

 

#include <iostream.h>

 

int main()

{

int counter = 4;

short dec;

 

while (1) // Бесконечный цикл

{

cout << " Введите десятичное число ";

cout << " от 0 до 15: ";

cin >> dec;

 

cout << " Двоичное представление";

cout << " числа " << dec << " : ";

while (counter)

{

if (dec & 8)

cout << 1;

else

cout << 0;

dec = dec << 1;

counter --;

}

cout << '\n';

counter = 4;

}

 

return 0;

}

 

Циклы do-while

В отличие от оператора while, цикл dо- while сначала выполняет тело (оператор или блок), а затем уже осуществляет проверку выражения на истинность. Такая конструкция гарантирует, что тело цикла будет обязательно выполнено хотя бы один раз.

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

do

операотор_или_блок_операторов;

while (выражение)

 

Одно из часто используемых применений данного оператора - запрос к пользователю на продолжение выполнения программы:

 

#include <iostream.h>

 

int main()

{

char answer;

 

do

{

// Тело программы

cout << "Продолжать выполнение?";

cin >> answer;

}

while (answer != 'N')

 

return 0;

}

 

Задания по вариантам к лабораторной работе №3:

1.

а) Найти сумму ряда с точностью e = 0,05 , общий член которого an =

б) Вычислить:

R =

с)Вычислить:

 

2.

а)Найти сумму ряда с точностью e = 0,01, общий член которого

an =

б) Дано целое число n.

Вычислить:

S =

с) Вычислить:

3.

а) Найти сумму ряда с точностью e = 0,002, общий член которого

an = ;

б) Дано целое число n.

Вычислить:

Q =

с) Вычислить:

4.

а) Найти сумму ряда с точностью e = 0,001, общий член которого

an =

б) Дано целое число n, действительное число х.

Вычислить:

S = Sin x + Sin x2 + Sin x3 + .....+ Sin xn

с) Вычислить:

5.

а) Найти сумму ряда с точностью e = 0,012, общий член которого

a n = (1/n) 2

б) Вычислить:

S =

с) Дано натуральное число n. Вычислить:

6.

а) Найти сумму с заданной точностью e = 0,002, общий член которого

a n = (-1) n-1 /n n

б) Дано действительное число a.

Вычислить:

R = a(a-1)(a-2)(a-3)....(a-10)

с) Дано натуральное число n. Вычислить:

7.

а) Найти сумму ряда с точностью e = 0,015, общий член которого

a n =

б) Дано целое число n.

Вычислить:

Q = Sin x + Sin(Sin x) + Sin(Sin(Sin x) +....+Sin(Sin(Sin....x))

\ /

n

 

с) Дано натуральное число n и действительное число x. Вычислить:

8.

а) Найти сумму ряда с заданной точностью e = 0,02, общий член которого

an =

б) Дано целое число n, действительное число a.

Вычислить:

R = a(a-n)(a-2n)(a-3n).....(a-n2 )

с) Дано натуральное число n и действительное x. Вычислить:

9.

а) Найти сумму ряда с точностью e = 0,05, общий член которого

an = (ln n) n / n ln(n) - 1, n =2,3,4...

б) Дано целое число n, действительное число a.

Вычислить:

S =

с) Дано действительное число x . Вычислить:

10.

а) Найти сумму ряда с точностью e = 0,012, общий член которого

an =

б) Дано целое число n, действительные числа х,a.

Вычислить:

P = (((.......((x + a)2 + a)2 + a)2 +...+ a)2 + a

n скобок

с) Вычислить:

p=

11.

а) Найти сумму ряда с точностью e = 0,005, общий член которого

an =

б) Вычислить:

y=1!+2!+3!+...+n! (n>1)

с) Вычислить:

s=

12.

а) Найти сумму ряда с заданной точностью e = 0,001, общий член которого

a n = n! / n n

б) Вычислить:

 

Z =

с) Вычислить:

 

, где a- действительное число.

13.

а) Найти сумму ряда с точностью e = 0,02, общий член которого

a n =

б) Дано целое число n, действительные числа х,a, b.

Вычислить:

Q =

с) Дано действительное число x . Вычислить:

14.

а) Найти сумму ряда с точностью e = 0,01, общий член которого

a n = (n!)2 /

б) Вычислить:

Q =

       
   


15 корней

с) Вычислить:

15.

а) Даны действительные числа x и e (x¹0, e> 0) . Вычислить с точностью e.

б) Дано натуральное число n , и действительное число x. Вычислить:

с) Вычислить:

16.

а) Даны действительные числа x и e (x¹0, e> 0) . Вычислить с точностью e.

 

б)Дано натуральное число n , и действительное число x. Вычислить:

с) Вычислить:

17.

а) Даны действительные числа x и e (x¹0, e> 0) . Вычислить с точностью e.

б) Дано натуральное число n , и действительное число x. Вычислить:

с) Вычислить:

18.

а) Даны действительные числа x и e (x¹0, e> 0) . Вычислить с точностью e.

б) Дано натуральное число n , и действительное число x. Вычислить:

с) Вычислить:

19.

а) Даны действительные числа x и e (x¹0, e> 0) . Вычислить с точностью e.

б) Дано действительное число x. Вычислить:

с) Дано натуральное число n. Вычислить:

 

 

Требования к отчёту по лабораторной работе:

1. оформить отчет по соответствующим требованиям (титульный лист)

2. сформулировать цель работы

3. задание;

4. схема алгоритм программы;

5. текст программы;

6. выводы по результатам выполнения лабораторной работы;

7. список используемой литературы (обязательно из электронной библиотеки).

 


Поделиться:

Дата добавления: 2015-02-09; просмотров: 160; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты