к уроку информатики по программированию решение

  • docx
  • 28.05.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Задача по программированию Решить квадратное уравнение заданного вида с параметром.docx

Задача № 26. Решить квадратное уравнение заданного вида с параметром

Формулировка. Дано натуральное число n. Вывести на экран решения всех квадратных уравнений вида x2 + 2ax – 3 = 0 для всех a от 1 до n.

Решение. Эта задача очень похожа на задачу 12. В принципе, ее можно было бы решить, используя код этой задачи, взяв первый и последний коэффициенты равными 1 и –3 соответственно и запустив цикл по всем a от 1 до n, умножив a на 2 во всех формулах.

Однако исследуем это уравнение математически и попытаемся оптимизировать решение:

1) Найдем дискриминант уравнения:

Очевидно, что найденная величина неотрицательна, и, если быть точнее, то при a от 1 до n она всегда принимает значение не меньше 16 (так как при a = 1 она равна 4 * (1 + 3) = 4 * 4 = 16). Следовательно, наше уравнение всегда имеет решение, причем их два.

2) Найдем формулы корней уравнения:

Итак, формулы корней уравнения получены, и теперь только осталось вывести в цикле значения корней для всех a от 1 до n, не забыв сделать вывод форматированным (так как решения будут вещественными).

Код:

    1.   program MyQuadraticEquation;

    2.    

    3.   var

    4.     a, n: word;

    5.     x1, x2: real;

    6.    

    7.   begin

    8.     readln(n);

    9.     for a := 1 to n do begin

  10.       x1 := sqrt(a * a + 3) - a;

  11.       x2 := -a - sqrt(a * a + 3);

  12.       writeln('a = ', a, ', x1 = ', x1:4:2, ', x2 = ', x2:4:2)

  13.     end

  14.   end.

 


 

Скачано с www.znanio.ru