Практическое задание. Задание 1. В соответствии с Вашим вариантом выполните приведенное ниже задание, используя в программе цикл while

Задание 1. В соответствии с Вашим вариантом выполните приведенное ниже задание, используя в программе цикл while. В программе предусмотреть досрочный выход из цикла (оператор break) с выводом на экран сообщения «Введено недопустимое число!» в случае ввода числа (–N*10), где N – номер варианта.

1. Дана непустая последовательность целых чисел, оканчивающаяся нулем. Найти сумму всех чисел последовательности.

2. Дана непустая последовательность целых чисел, оканчивающаяся нулем. Найти количество всех чисел последовательности

3. Дана непустая последовательность неотрицательных целых чисел, оканчивающаяся отрицательным числом. Найти среднее арифметическое всех чисел последовательности (без учета отрицательного числа).

4. Дана последовательность из n вещественных чисел. Первое число в последовательность нечетное. Найти сумму всех идущих подряд в начале последовательности нечетных чисел. Условный оператор не использовать.

5. Дана последовательность из n вещественных чисел, начинающаяся с отрицательного числа. Определить какое количество отрицательных чисел записано в начале последовательности Условный оператор не использовать.

6. Дано число n. Из чисел 1, 4, 9, 16, 25, ... напечатать те, которые не превышают n.

7. Среди чисел 1, 4, 9, 16, 25, ... найти первое число, большее n.

8. Дано вещественное число a ( ). Из чисел 1, , , … напечатать те, которые меньше a.

9. Дано вещественное число a ( ). Из чисел 1, , , … найти первое большее числа a.

10. Дано вещественное число a. Напечатать все значения n, при которых

.

Задание 2. В соответствии с Вашим вариантом напишите алгоритм, составьте и отладьте программу, используя оператор цикла while, для вычисления суммы ряда с точностью a, из задания 8 (приложение А). Значение суммы ряда выведите в трех форматах: стандартном, научном и фиксированном (количество знаков после запятой - 10). Выведите на экран количество членов бесконечного ряда, участвовавших в суммировании.

Текст и результаты работы программ запишите в отчёт по работе.

Рассмотрим примеры выполнения задания 1 и задания 2.

Листинг П. 2.1

, a=0,01.

// Laboratornay rabota N 10

/*Vypolnil stydent 11B uchebnoy gruppy

Ivanov P.S. */

//Zadanie 2-a

#include "stdafx.h"

#include <iostream>

#include "math.h"

#include <iomanip> // содержит объявление функции

// setprecision()

// класса ios (базового в иерархии

// ввода/вывода)

int main()

{

using namespace std;

const double eps=0.01;

double sum=0,an;

int n=1;

an=pow(-1.0,1)/3;

sum+=an;

while (fabs(an)>=eps)

{

++n;

an=pow(-1.0,n)/(2+n*n*n);

sum+=an;

}

cout << "Summa S=" << sum << " standat. format"<<endl; // стандартный формат числа

cout.setf(ios::scientific); // научный формат числа

cout << endl;

cout << "Summa S=" << sum << " nauch. format" << endl;

cout << endl;

cout.setf(ios::fixed); // фиксированный формат числа

cout << "Summa S=" << setprecision(10)<< sum <<" fiksir. format" << endl;

cout << endl;

cout << "Kol-vo chlenov rayda n=" << n << endl;

return 0;

}

Контрольные вопросы

1. В чём отличие цикла for от циклов while?

2. Цикл while.

3. Инструкции break и continue.

4. Функция exit().

5. Приведите пример использования вложенных циклов.

6. Форматы вывода чисел с плавающей запятой.


Прочитайте также: