Опубликован: 19.02.2009 | Уровень: специалист | Доступ: платный
Лекция 5:

Методы: основные понятия

< Лекция 4 || Лекция 5: 123 || Лекция 6 >

Практикум

  1. Решение простейших задач:
    1. Разработать метод min(a,b) для нахождения минимального из двух чисел. Вычислить с помощью него значение выражения z=min(3x,2y)+min(x-y,x+y).

      Пример.

      using System;
      namespace Hello
      {
       class Program
       {
        static double min(double a, double b)
        {
         return (a < b) ? a : b;
        }
      
        static void Main(string[] args)
        {
         Console.Write("x=");
         double x = double.Parse(Console.ReadLine());
         Console.Write("y=");
         double y = double.Parse(Console.ReadLine());
         double z = min(3 * x, 2 * y) + min(x - y, x + y);
         Console.WriteLine("z=" + z);
        }
       }
      }
    2. Разработать метод \min{(a,b)} для нахождения минимального из двух чисел. Вычислить с помощью него минимальное значение из четырех чисел x, y, z, v.
    3. Разработать метод \max{(a,b)} для нахождения максимального из двух чисел. Вычислить с помощью него значение выражения z=\max(x,2y-x)+\max(5x+3y,y).
    4. Разработать метод f(x), который вычисляет значение по следующей формуле: f(x)=x^{3}-\sin x. Определить, в какой из точек а или b, функция принимает наибольшее значение.
    5. Разработать метод f(x), который вычисляет значение по следующей формуле: f(x)=\cos{(2x)}+\sin{(x-3)}. Определить, в какой из точек а или b, функция принимает наименьшее значение.
    6. Разработать метод f(x), который возвращает младшую цифру натурального числа x. Вычислить с помощью него значение выражения z=f(a)+f(b).
    7. Разработать метод f(x), который возвращает вторую справа цифру натурального числа x. Вычислить с помощью него значение выражения z=f(a)+f(b)-f(c).
    8. Разработать метод f(n), который для заданного натурального числа n находит значение \sqrt{n}+n. Вычислить с помощью него значение выражения \cfrac{\sqrt{6}+6 }{2}+\cfrac{\sqrt{13}+13 }{2}+\cfrac{\sqrt{21}+21 }{2}.
    9. Разработать метод f(n, x), который для заданного натурального числа n и вещественного х находит значение выражения \cfrac{x^n}{n}. Вычислить с помощью данного метода значение выражения \cfrac{x^2}{2}+\cfrac{x^4}{4}+\cfrac{x^6}{6}.
    10. Разработать метод f(x), который нечетное число заменяет на 0, а четное число уменьшает в два раза. Продемонстрировать работу данного метода на примере.
    11. Разработать метод f(x), который число, кратное 5, уменьшает в 5 раз, а остальные числа увеличивает на 1. Продемонстрировать работу данного метода на примере.
    12. Разработать метод f(x), который в двузначном числе меняет цифры местами, а остальные числа оставляет без изменения. Продемонстрировать работу данного метода на примере.
    13. Разработать метод f(x), который в трехзначном числе меняет местами первую с последней цифрой, а остальные числа оставляет без изменения. Продемонстрировать работу данного метода на примере.
    14. Разработать метод f(a, b), который по катетам a и b вычисляет гипотенузу. С помощью данного метода найти периметр фигуры ABCD по заданным сторонам AB, AC и DC. 05_05
    15. Разработать метод f(x, y, z), который по длинам сторон треугольника x, y, z вычисляет его площадь. С помощью данного метода по заданным вещественным числам a, b, c, d, e, f, g найти площадь пятиугольника, изображенного на рисунке. 05_06
    16. Разработать метод f(x_{1}, y_{1}, x_{2}, y_{2}), который вычисляет длину отрезка по координатам вершин (x_{1}, y_{1}) и (x_{2}, y_{2}), и метод d(a, b, c), который вычисляет периметр треугольника по длинам сторон a, b, c. С помощью данных методов найти периметр треугольника, заданного координатами своих вершин.
    17. Разработать метод f(x_{1}, y_{1}, x_{2}, y_{2}), который вычисляет длину отрезка по координатам вершин (x_{1}, y_{1}) и (x_{2}, y_{2}), и метод max(a, b), который вычисляет максимальное из чисел a, b. С помощью данных методов определить, какая из трех точек на плоскости наиболее удалена от начала координат.
    18. Разработать метод f(x_{1}, y_{1}, x_{2}, y_{2}), который вычисляет длину отрезка по координатам вершин (x_{1}, y_{1}) и (x_{2}, y_{2}), и метод min(a, b), который вычисляет минимальное из чисел a, b. С помощью данных методов найти две из трех заданных точек на плоскости, расстояние между которыми минимально.
    19. Разработать метод f(x_{1}, y_{1}, x_{2}, y_{2}), который вычисляет длину отрезка по координатам вершин (x_{1}, y_{1}) и (x_{2}, y_{2}), и метод t(a, b, c), который проверяет, существует ли треугольник с длинами сторон a, b, c. С помощью данных методов проверить, можно ли построить треугольник по трем заданным точкам на плоскости.
    20. Разработать метод f(x_{1}, y_{1}, x_{2}, y_{2}), который вычисляет длину отрезка по координатам вершин (x_{1}, y_{1}) и (x_{2}, y_{2}), и метод t(a, b, c), который проверяет, существует ли треугольник с длинами сторон a, b, c. С помощью данных методов проверить, сколько различных треугольников можно построить по четырем заданным точкам на плоскости.
  2. Постройте таблицу значений функции y=f(x) для х \in [a, b] с шагом h.

    Замечание. Для решения задачи использовать вспомогательный метод.

    1. y=\left\{\begin{array}{ll} \cfrac{1}{(0.1+x)^2}, & \text{если } x\ge 0.9; \\ 0.2x+0.1, &  \text{если } 0\le x < 0.9; \\ x^2+0.2, &  \text{если } 0< x \end{array}

      Пример:

      using System;
      namespace Hello
      {
       class Program
       {
        static double f (double x)
        {
        double y;
        if (x >= 0.9) y = 1 / Math.Pow(1 + x, 2);
        else if (x >= 0) y = 0.2 * x + 0.1;
        else y = x * x + 0.2;
        return y;
       }
      
       static void Main(string[] args)
      {
        Console.Write("a=");
        double a = double.Parse(Console.ReadLine());
        Console.Write("b=");
        double b = double.Parse(Console.ReadLine());
        Console.Write("h=");
        double h = double.Parse(Console.ReadLine());
        for (double i = a; i <= b; i += h)
        Console.WriteLine("f({0:f2})={1:f4}", i, f(i));
        }
       }
      }
    2. y=\left\{\begin{array}{ll} \sin{(x)}, & \text{если } |x|<3; \\ \cfrac{\sqrt{x^2+1}}{\sqrt{x^2+5}}, &  \text{если } 3\le |x| < 9; \\ \sqrt{x^2+1}-\sqrt{x^2+5} &  \text{если } |x|\ge9 \end{array}
    3. y=\left\{\begin{array}{ll}0, & \text{если } x<a; \\\cfrac{x-a}{x+a}, &  \text{если } x > a; \\1 &  \text{если } x=a\end{array} 4. y=\left\{\begin{array}{ll} x^3-0.1, & \text{если } |x|\le0.1; \\ 0.2x-0.1, &  \text{если } 0.1< x \le 0.2; \\ x^3+0.1 &  \text{если } |x|>0.2\end{array}
    5. y=\left\{\begin{array}{ll} a+b, & \text{если } x^2-5x<0; \\ a-b, &  \text{если } 0\le (x^2-5x) <10; \\ ab &  \text{если } x^2-5x \ge10\end{array} 6. y=\left\{\begin{array}{ll} x^2, & \text{если } (x^2+2x+1)<2; \\ \cfrac{1}{x^2-1}, &  \text{если } 2\le (x^2+2x+1) <3; \\ 0 &  \text{если } (x^2+2x+1) \ge3\end{array}
    7. y=\left\{\begin{array}{ll} -4, & \text{если } x<0; \\ x^2, &  \text{если } 0\le x < 1; \\ 2 &  \text{если } x\ge1 \end{array} 8. y=\left\{\begin{array}{ll} x^2-1, & \text{если } |x|\le1; \\ 2x-1, &  \text{если } 1< x \le 2; \\ x^5-1 &  \text{если } |x|>2\end{array}
    9. y=\left\{\begin{array}{ll} (x^2-1)^2, & \text{если } x<1; \\ \cfrac{1}{(1+x)^2}, &  \text{если } x > 1; \\ 0 &  \text{если } x=1\end{array} 10. y=\left\{\begin{array}{ll} x^2, & \text{если } (x+2)<1; \\ \cfrac{1}{x+2}, &  \text{если } 1\le (x+2) <10; \\ x+2 &  \text{если } (x+2) \ge10\end{array}
    11. y=\left\{\begin{array}{ll} x^2+5, & \text{если } x\le 5; \\ 0, &  \text{если } 5< x <20; \\ 1 &  \text{если } x \ge20\end{array} 12. y=\left\{\begin{array}{ll} 0, & \text{если } x<0; \\ x^2+1, &  \text{если } x > 0 \text{ и } x \ne 1; \\ 1 &  \text{если } x=1\end{array}
    13. y=\left\{\begin{array}{ll} 1, & \text{если } x=1 \text{ или } x=-1; \\ \cfrac{1}{1-x}, &  \text{если } x \ge 0 \text{ и } x \ne 1; \\ \cfrac{1}{1+x}, &  \text{если } x < 0 \text{ и } x \ne -1; \end{array} 14. y=\left\{\begin{array}{ll} 0.2x^2-x-0.1, & \text{если } x<0; \\ \cfrac{x^2}{x-0.1}, &  \text{если } x > 0 \text{ и } x \ne 0.1; \\ 0 &  \text{если } x=1\end{array}
    15. y=\left\{\begin{array}{ll} 1, & \text{если } (x-1)<1; \\ 0, &  \text{если } (x-1)=1; \\ -1 &  \text{если } (x-1)>1\end{array} 16. y=\left\{\begin{array}{ll} x, & \text{если } x>0; \\ 0, &  \text{если } -1\le x \le 0; \\ x^2 &  \text{если } x<-1 \end{array}
    17. y=\left\{\begin{array}{ll} a+bx, & \text{если } x<93; \\ b-ac, &  \text{если } 93\le x \le 120; \\ abx &  \text{если } x>120 \end{array} 18. y=\left\{\begin{array}{ll}x^2-0.3, & \text{если } x<3; \\ 0, &  \text{если } 3\le x \le 5; \\ x^2+1, &  \text{если } x>5\end{array}
    19. y=\left\{\begin{array}{ll}\sqrt{5x^2+5}, & \text{если } |x|< 2; \\\cfrac{|x|}{\sqrt{5x^2+5}}, &  \text{если } 2\le |x| < 10; \\0 &  \text{если } |x|\ge10\end{array} 20. y=\left\{\begin{array}{ll}\sin{(x)}, & \text{если } |x|< \cfrac{\pi}{2}; \\\cos{(x)}, &  \text{если } \cfrac{\pi}{2}\le |x| \le \pi; \\0 &  \text{если } |x|>\pi\end{array}
  3. Перегрузите метод f из предыдущего раздела так, чтобы его сигнатура (заголовок) соответствовала виду static void f (double x, out double y). Продемонстрируйте работу перегруженных методов.
< Лекция 4 || Лекция 5: 123 || Лекция 6 >
Sahib Dadashev
Sahib Dadashev
Россия
Роман Казимирчик
Роман Казимирчик
Беларусь