Разработать программу вычисления значений функции F(x) ** отрезке [а; b] с шагом h....

+790 голосов
1.2m просмотров

Разработать программу вычисления значений функции F(x) на отрезке [а; b] с шагом h. Результат представить в виде таблицы, первый столбец которой — значения аргумента, вто¬рой — соответствующие значения функции: а) используя анонимный метод; б) используя, лямбда-выражения.


Информатика | 1.2m просмотров
+174

На чем?

Дан 1 ответ
+87 голосов

using System;

namespace kp9p_pr_10_zad_7

{

   class Program

   {

       delegate void Anon(int a, int b, int h); // анонимный метод  

       delegate double Lymbd(int a, int h); // метод с использованием лямбда выражения  

       static void Main(string[] args)

       {

           bool usl = false;  

           int a = 0, b = 0, h;  

           while (usl != true)

           {

               Console.Write("Введите первое значение: ");

               a = Convert.ToInt32(Console.ReadLine()); // ввод первого значения  

               Console.Write("Введите второе значение: ");

               b = Convert.ToInt32(Console.ReadLine()); // ввод второго значения  

               if (a < b) // если a меньше b  

               {

                   usl = true; // условие = правда  

               }

               else

               {

                   Console.WriteLine("\nНекорректный ввод\n");  

               }

           }

           Console.Write("Введите шаг: ");

           h = Convert.ToInt32(Console.ReadLine()); // ввод шага  

           void anon(int a1, int b1, int h1)

           {

               Console.WriteLine("\nС использованием анонимного метода\n\nЗначение аргумента:\tОтвет:\n"); // /t - табуляция  

               for (int i = a; i

               {

                   Console.WriteLine("{0}\t\t\t{1:f2}", i, Math.Sqrt(h1) * Math.Pow(Math.Cos(i), 2)); // вычисление и вывод значений функции  

               }

           }

           anon(a, b, h);

           static double lyamb(int a1, int h1) => Math.Sqrt(h1) * Math.Pow(Math.Cos(a1), 2); // вычисление значений функции  

           Console.WriteLine("\nС использованием лямбда-выражения\n\nЗначение аргумента:\tОтвет:\n");  

           for (int i = a; i

           {

               Console.WriteLine("{0}\t\t\t{1:f2}", i, lyamb(i, h)); // вывод значений функции  

           }  

       }

   }

}

(40 баллов)