Практическая работа №2

Решение задач с инструкцией цикла WHILE
  • I. Анализ ввода данных. Вводится последовательность из n (1 < n < 20) положительных целых чисел (<= 1000). Определить среднее арифметическое элементов и максимальный элемент этой последовательности
  • #include <iostream>
    using namespace std;
    
    int main() {
    	int n, k, i = 0, max = -1;
    	float s = 0.0;
    	cout << "n = "; cin >> n;
    	while (n--) {
    		cout << ++i << " -> "; cin >> k;
    		if (k > max) max = k;
    		s += k;
    	}
    	cout << "max = "
    		 << max
    		 << endl
    		 << "s = "
    		 << s / i
    		 << endl;
    	return 0;
    }
    
  • II. Анализ числа. Вводится число N (0 < N < 4000000000). Определить есть ли цифра K в числе N.
  • #include <iostream>
    using namespace std;
    
    int main() {
    	unsigned n, m, k;
    	bool b = false;
    	cout << "n = "; cin >> n;
    	cout << "k = "; cin >> k;
    	m = n;
    	while (m) {
    		if (k == m % 10) b = true;
    		m /= 10;
    	}
    	b ? cout << "Цифра " << k << " есть в числе " << n << endl :
    		cout << "Цифры " << k << " в числе " << n << " нет" << endl;
    	return 0;
    }
    
  • III. Вычисления с заданной точностью. Дан числовой ряд, общий член которого задан формулой:
     a_n=\frac{2n-1}{2^n} . Найти сумму ряда с точностью \varepsilon \phantom{m}(\varepsilon = 10^{-3})
  • #include <cmath>
    #include <iostream>
    using namespace std;
    
    int main() {
    	double const eps = 1e-3;
    	double s = 0.0, s1 = 0.5, p = 2.0;
    	int i = 1;
    
    	while (fabs(s - s1) > eps) {
    		s = s1;
    		++i;
    		p *= 2;
    		s1 += (2 * i - 1) / p;
    	}
    	cout << "S = " << s << endl;
    
    	return 0;
    }
    
  • IV. Вложенные циклы. Вывод числовых или символьных треугольников. Составить программу, которая выводит на экран треугольник
  • 1  
    2  2  
    3  3  3  
    4  4  4  4  
    5  5  5  5  5  
    6  6  6  6  6  6  
    7  7  7  7  7  7  7  
    8  8  8  8  8  8  8  8  
    9  9  9  9  9  9  9  9  9  
    10 10 10 10 10 10 10 10 10 10  
    #include <iomanip>
    #include <iostream>
    using namespace std;
    
    int main() {
    	int i = 0;
    
    	while (i < 10) {
    		i++;
    		int j = 0;
    		while (j < i) {
    			j++;
    			cout << i << setw(3);
    		}
    		cout << '\n';
    	}
    
    	return 0;
    }
    
  • Практические задания
  • 1. Учитель объявил результаты контрольной работы. Определите процентное содержание выставленных оценок (2-5).
    2. Среди всех n-значных чисел указать те, сумма цифр которых равна данному числу k.
    3. Найти все делители натурального числа n.


Print Friendly, PDF & Email

Добавить комментарий