КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
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. список используемой литературы (обязательно из электронной библиотеки).
|