yuip2008
?>

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

Информатика

Ответы

zotcet7

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 <= b; i += h1)

               {

                   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 <= b; i += h)

           {

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

           }  

       }

   }

}

vikola2008
1. В приведенном коде ошибка. Не хватает ";" в третьей строке снизу.
2. Немного изменим ваш код и получим искомое значение x
Искомое число х = 16293

var
  x, y, a, b, k: integer;

begin
  k:=10000;
  repeat
    x:=k;
    a := 0; b := 0; y := 1;
    while x > 0 do
    begin
      if (x mod 10) mod 2 = 0
        then
        a := a * 10 + x mod 10
      else begin
        y := y * 10;
        b := b * 10 + x mod 10
      end;
      x := x div 10
    end;
    a := a * y + b;
    k := k + 1;
    until a = 26391;
    writeln(a:8, k-1:8); 
end.

 
Boris1247
Предположим, что фальшивая монета легче подлинной.
Разделим монеты на группы по 15 и одну монету отложим в сторону. Взвесим группы по 15. Если весы находятся в равновесии, то фальшивая монета отложена. Если же одна из чаш весов оказалась легче, то фальшивая монета там.
15 монет из легкой чаши снова разделим на 7, 7 и монета в стороне. Повторим взвешивание. Если фальшивая монета не найлена, то из более легкой чаши монетки разделим на 3, 3 и одну.
Повторим взвешивание с лекгой чашей  в четвертый раз. 1, 1 и монета в стороне. 
Фальшивка найдена не более чем за 4 взвешивания.

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

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

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

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

yyyaga
elena-kondyreva
volodinnikolay19
anna-leonova
mashuska
qadjiyevaaynura
korotaeva778898
larinafashion829
barkhatl-2p7
tarhan1221
svetlanam81
eeirikh
Veselova
Natakarpova75732
Petrushin482