Решение модуля 1.6 Введение в программирование C++

Модуль 1.6 (Действительные числа) Данный модуль научит работать с числами с плавающей точкой (то есть с действительными числами).

Ниже представлены примеры задач с решением на C++ на тему Действительные числа.

Дано положительное действительное число X. Выведите его дробную часть.

#include <iostream>
#include <cmath>
using namespace std;

int main() {
	double x;
	cin >> x;
	cout << x - trunc(x);
	return 0;
}

Дано положительное действительное число X. Выведите его первую цифру после десятичной точки.

#include <iostream>
#include <cmath>
using namespace std;

int main() {
	double x;
	cin >> x;
	cout << int(trunc(x*10)) % 10;
	return 0;
}

Даны длины сторон треугольника. Вычислите площадь треугольника.

#include <iostream>
#include <cmath>
using namespace std;

int main() {
	double a, b, c, s, p;
	cin >> a;
	cin >> b;
	cin >> c;
	p = (a + b + c) / 2;
	s = sqrt(p*(p - a)*(p - b)*(p - c));
	cout << s;
	return 0;
}

Процентная ставка по вкладу составляет P процентов годовых, которые прибавляются к сумме вклада в конце года. Вклад составляет X рублей Y копеек. Определите размер вклада через год.

#include <iostream>
#include <cmath>
using namespace std;

int main() {
	double p, x, y, sum;
	cin >> p;
	cin >> x;
	cin >> y;
	sum = x + 0.01 * y;
	sum = sum * (1 + p/100);
	cout << trunc(sum) << " " << trunc(sum*100 - trunc(sum)*100);
	return 0;
}

Процентная ставка по вкладу составляет P процентов годовых, которые прибавляются к сумме вклада через год. Вклад составляет X рублей Y копеек. Определите размер вклада через K лет.

#include <iostream>
#include <cmath>
using namespace std;

int main() {
	double p, x, y, k, i, sum;
	cin >> p;
	cin >> x;
	cin >> y;
	cin >> k;
	sum = x + 0.01 * y;
	i = 0;
	while(i < k) {
		sum = sum * (1 + p / 100);
		sum = trunc(sum*100)/100;
		i++;
	}
	cout << trunc(sum) << " " << trunc(sum * 100 - trunc(sum) * 100);
	return 0;
}

Определите среднее значение всех элементов последовательности, завершающейся числом 0.

#include <iostream>
#include <cmath>
using namespace std;

int main() {
	double n, sum, mean;
	int i;
	std::cout.precision(10);
	sum = 0;
	i = 0;
	n = 1;
	while (n != 0) {
		cin >> n;
		sum += n;
		i++;
	}
	mean = sum / (i - 1);
	cout << mean;
	return 0;
}

Дана последовательность натуральных чисел x1, x2, …, xn. Стандартным отклонением называется величина

Решение модуля 1.6 Введение в программирование C++

где

Решение модуля 1.6 Введение в программирование C++

— среднее значение последовательности.

Определите стандартное отклонение для данной последовательности натуральных чисел, завершающейся числом 0.

using namespace std;
#include <iostream>
#include <iomanip>
#include <cmath>

int main() {
  double a,n=0,s,p;
  cin >> a;
  s = a;
  p = a*a;
  while (a != 0){
    n++;
    cin >> a;
      s = s + a;
    p = p + a*a;

  }
  cout << fixed << setprecision(12);
  cout << sqrt((p - (s*s / n)) / (n - 1));

  return 0;
}

Дан многочлен P(x)=anxn + an−1xn−1+ … + a1x + a0 и число x. Вычислите значение этого многочлена, воспользовавшись схемой Горнера:

P(x)=(…(((anx + an−1)x + an−2)x + an−3) … )x+ a0

#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main() {
  double n, x, a,k,o=1;
  cin >> n >> x >> a ;
 
  if (n == 0) {
    cout << a;
  }
  else {
    k = a*x;
    while (o != n + 1) {
      cin >> a;
      if (o == 1) {
        k = k + a;
        o++;
      }
      else {
        k = k *x + a;
        o++;
      }
    }
    cout << k;
  }
  return 0;

}

Даны действительные коэффициенты a, b, c, при этом a ≠ 0 . Решите квадратное уравнение ax+ bx + c = 0 и выведите все его корни.

#include <iostream>
#include <math.h>
using namespace std;

int main() {
    double a, b, c;
    cin >> a >> b >> c;
    double b1=b/a;               //x^2-x-2=0
    double c1=c/a;               //(x-1/2)^2-2-1/4=0
    double b2=b1/2;             //(x-0.5)=2.25
    double c2=-c1+b2*b2;   //x-0.5=+-1.5
    if (c2==0){                       //x=1; x=-2
      cout << -b2;
    } else {
        if (c2>0){
          cout << -sqrt(c2)-b2 << " " << sqrt(c2)-b2;
        }
    }
}

Даны действительные коэффициенты a, b, c. Решите уравнение ax+ bx + c = 0 и выведите все его корни.

#include <iostream>
#include <cmath>

int main() {
  double a,b,c;
  std::cin >> a>> b>> c;
  std::cout << std::fixed << std::showpoint;
  std::cout.precision(6);
    if(a){
    double d=b*b-4*a*c;
 
    if(d>0){
    if (a>0)
        std::cout<< 2 <<" "<< (-b-std::sqrt(d))/(2*a) << " "<< (-b+std::sqrt(d))/(2*a);
      else
          std::cout<< 2 <<" " << (-b+std::sqrt(d))/(2*a) << " "<< (-b-std::sqrt(d))/(2*a);
    }else if(d==0)
    std::cout<< 1 <<" " << (-b)/(2*a);
        else
            std::cout << 0;
    }else if(b)
        std::cout<< 1 <<" " << -c/b;
    else if(c)
        std::cout<< 0;
    else
        std::cout<< 3;
  return 0;
}

Даны вещественные числа a, b, c, d, e, f. Известно, что система линейных уравнений

Решение модуля 1.6 Введение в программирование C++

имеет ровно одно решение. Выведите два числа x и y, являющиеся решением этой системы.

#include <iostream>
#include <cmath>
using namespace std;

int main() {
	double a,b,c,d,e,f,x,y;
	cin >> a;
	cin >> b;
	cin >> c;
	cin >> d;
	cin >> e;
	cin >> f;
	x = (d*e - b * f) / (a*d - b * c);
	y = (a*f - c * e) / (a*d - b * c);
	cout << x << " " << y;
}

Даны вещественные числа a, b, c, d, e, f. Решите систему линейных уравнений

Решение модуля 1.6 Введение в программирование C++
#include <iostream>

using namespace std;

int main() {
    double a, b, c, d, e, f;
    double x, y;
    const int no_roots = 0;
    const int kx_roots = 1;
    const int one_xy_root = 2;
    const int one_x = 3;
    const int one_y = 4;
    const int inf_roots = 5;

    cin >> a >> b >> c >> d >> e >> f;

    double det = a * d - b * c;
    double det_x = (e * d - b * f);
    double det_y = (a * f - e * c);
    bool x_null = a == 0 && c == 0;
    bool y_null = b == 0 && d == 0;

    if (det != 0) {
        x = det_x / det;
        y = det_y / det;
        cout << one_xy_root << ' ' << x << ' ' << y;
    }
    else {
        if (det_x == 0 && det_y == 0) {
            if (x_null && y_null) {
                if (e != 0 || f != 0) {
                    cout << no_roots;
                }
                else {
                    cout << inf_roots;
                }
            }
            else if (x_null) {
                if (b != 0) {
                    y = e / b;
                }
                else {
                    y = f / d;
                }

                cout << one_y << ' ' << y;
            }
            else if (y_null) {
                if (a != 0) {
                    x = e / a;
                }
                else {
                    x = f / c;
                }

                cout << one_x << ' ' << x;
            }
            else {
                double bi, k;

                if (b != 0) {
                    bi = e / b;
                    k = -a / b;
                }
                else {
                    bi = f / d;
                    k = -c / d;
                }

                cout << kx_roots << ' ' << k << ' ' << bi;
            }
        }
        else {
            cout << no_roots;
        }
    }

    return 0;
}

Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы

Понравилась статья? Поделиться с друзьями:
Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x