MaratФам
?>

Найти сумму всех чётных чисел от 6 до 102 и нарисовать алгоритм !

Информатика

Ответы

MArat
1) 102 - 5 = 97(чисел всего)
2) 97 / 2 = 48 (пар(ост.1(пусть это число 6)))
3) 7 + 102 = 109 (в паре)
4) 109 * 48 + 6 = 5238
abadaeva
Using System;
namespace Test{    class Program    {        static double F(double x)        {            return Math.Sin(x);        }
        static double NewtonCotesOpen4(double a, double b)        {            const int n = 4;            double[] c = {2.0, -1.0, 2.0 };            const double K = 3.0;
            double h = (b - a) / n;            double res = 0;
            double x;            for(int i = 1; i <= n - 1; i++)            {                x = a + i * h;                res += c[i - 1] * F(x);            }
            return res * (b - a) / K;        }
        static double SumSubIntervals(double a, double b, int n)        {            double res = 0;            double h = (b - a) / n;            for(int i = 1; i <= n; i++)            {                res += NewtonCotesOpen4(a + (i - 1) * h, a + i * h);            }
            return res;        }
        static void Main(string[] args)        {            double a = 0;            double b = Math.PI;            double EPS = 0.00001;
            int n = 1;            double lcur = SumSubIntervals(a, b, n);            double lpre;            do            {                lpre = lcur;                n *= 2;                lcur = SumSubIntervals(a, b, n);                Console.WriteLine("l={0} при n={1}     e={2}", Math.Round(lcur, 8), n, Math.Round(Math.Abs(lcur - lpre), 8));            } while (Math.Abs(lcur - lpre) < EPS);
            Console.WriteLine("");
            Console.WriteLine("l={0} при n={1}     e={2}", Math.Round(lcur, 8), n, Math.Round(Math.Abs(lcur - lpre), 8));        }    }}
tatry2005

Задание 1

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

Вершины треугольника: (1; 4), (5; -4), (-5; -3).

Функция прямой по двум точкам:

\frac{x - x0}{x1 - x0} = \frac{y - y0}{y1 - y0}

Подставляем точки и получаем три функции:

l1(x) = \frac{x - 5}{1 - 5} = \frac{y + 4}{4 + 4} \Leftrightarrow y = -2x + 6

l2(x) = \frac{x - 5}{-5 - 5} = \frac{y + 4}{-3 + 4} \Leftrightarrow y = -0.1x + 4.5

l3(x) = \frac{x - 1}{-5 - 1} = \frac{y - 4}{-3 - 4} \Leftrightarrow 7x - 7 = 6y - 24 \Leftrightarrow y = (7x + 17) / 6

Точка находится в области, если y > l2(x0) И y < l1(x) И y < l3(x).

На Python это выглядит так. (Выводить функции не надо, это делается автоматически)

def get_line_by_two_points(x0: float, y0: float, x1: float, y1: float):

   def line_y(x: float):

       return (x - x0)/(x1 - x0) * (y1 - y0) + y0

   return line_y

l1 = get_line_by_two_points(1, 4, 5, -4)

l2 = get_line_by_two_points(-5, -3, 5, -4)

l3 = get_line_by_two_points(1, 4, -5, -3)

x = int(input("Enter an X value: "))

y = int(input("Enter a Y value: "))

if y < l1(x) and y > l2(x) and y < l3(x):

   print("Point is in the space!")

else:

   print("Point is NOT in the space!")

Задание 2

Теперь у нас 4 прямые.

Мы имеем трапецию. Две прямые видны сразу: y = 1 и y = 7.

Оставшиеся две найдем по двум точкам автоматически.

Код на Python:

def get_line_by_two_points(x0: float, y0: float, x1: float, y1: float):

   def line_y(x: float):

       return (x - x0)/(x1 - x0) * (y1 - y0) + y0

   return line_y

l1 = get_line_by_two_points(-3, 7, -6, 1)  # Левая наклонная

l2 = get_line_by_two_points(7, 1, 4, 7)  # Правая наклонная

x = int(input("Enter an X value: "))

y = int(input("Enter a Y value: "))

if 1 < y < 7 and y < l1(x) and y < l2(x):

   print("Point is in the space!")

else:

   print("Point is NOT in the space!")

===============================

Ваши оценки и отзывы лучше оценить качество решения.

Если ответ удовлетворил, не забудь выбрать его как "Лучший".

Успехов в учёбе!

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Найти сумму всех чётных чисел от 6 до 102 и нарисовать алгоритм !
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

maisa1991
akuznecov8989
Скворцов
kampina1
Марина_Мария
keykov35
yakushkinayuliya
arteevdimon
zhunina71807
dpodstrel85
dmitzu8594
Tsibrova
nekrasovaolga27
ann-perminova2008
sve707ta