Как найти квадратный корень уравнения по информатике

Программирование на Паскале. Тема: «Решение квадратного уравнения с использованием конструкции IF–THEN–ELSE»

Цели урока:

  • Повторить с учащимися правила решения квадратных уравнений
  • Вспомнить алгоритмическую конструкцию IF-THEN-ELSE
  • Составить блок-схему программы и саму программу на языке Pascal
  • Проверить работоспособность программы на конкретных примерах
  • Расширить представления учащихся о применении языка Pascal
  • Воспитать у учащихся чувство аккуратности, внимательности, ответственности
  • Научить учащихся самостоятельно находить свои ошибки в программах
  • Оборудование:

  • Таблички с формулами
  • Плакат с блок-схемой алгоритма КВУР
  • Листочки с индивидуальными заданиями
  • Система программирования «Turbo Pascal 7.0»
  • До сих пор мы с вами говорили о каких-то отвлечённых задачах из области математики. Сегодня мы поговорим о конкретной задаче, которая встречается у вас почти на каждом уроке. Это решение квадратного уравнения. Я хочу, чтобы вы на примере этой задачи поняли, что программирование — это не просто прихоть учителя, это действительно раздел информатики, который может нам помочь, например, в решении конкретных математических задач. Нужно только уметь разбираться в этом.

    2. Математическое решение

    Давайте вспомним, что понимают под квадратным уравнением?

    Что из себя представляют числа a,b,c и как их называют?

    С чего начинают решение квадратного уравнения?

    Найдите вокруг себя формулу дискриминанта. (D=b 2 -4ac) (Приложение 3)

    Как мы решаем далее квадратное уравнение? (сравнение D с нулём)

    Какие выводы мы из этого делаем?

    (если D 0, то два корня)

    Как найти корни квадратного уравнения? Найдите формулы корней среди тех, что развешены повсюду.

    Если я случай наличия корней квадратного уравнения сведу к условию D0, то что я получу в случае D=0?

    (Два одинаковых корня)

    Давайте ещё раз подробно разберём нашу задачу:

    Итак, у нас есть квадратное уравнение ax 2 +bx+c=0.

    Мы должны решить его, т.е. найти такие значения х, при которых правая часть уравнения =0. Мы знаем, что для этого нам надо:

    Найти дискриминант D=b 2 — 4ac.

    Сравнить его с нулём

    D=b 2 -4ac=10 2 -4*3*3=100 — 36 =64

    Х1=,

    X2 =

    3. Составление блок-схемы алгоритма.

    По заданному решению попробуем составить блок-схему алгоритма в тетради. Кто справится первым, прошу к доске.

    Подпишем основные элементы блок — схемы применительно к языку программирования.

    4. Составление программы по блок — схеме.

    Теперь, пользуясь нашими записями, составим программу и покажем её учителю. Тот, кто до конца урока составит только программу, не проверив её на компьютере, получит три, тот, кто наберёт программу на компьютере, но не проверит её на примерах, получит три. Тот, кто выполнит всё задание, получит пять.

    А я раздам вам домашнее задание.

    Var a,b,c,d,x1,x1: real;

    Write(‘введите коэффициенты уравнения a,b,c’); readln(a,b,c);

    Else writeln(‘действительных корней нет’)

    1. Составить и набрать программу КВУР на компьютере.

    Загрузка среды Pascal- 2ЩЛКМ по значку Pascal, нажать ALT+ENTER.

    Запуск программы — ЩЛКМ по кнопке RUN выбрать RUN.

    2. Решить следующие квадратные уравнения и показать учителю их решения (если нет такой возможности, то занести их в маршрутный лист (Приложение 4)

    1,5х 2 -0,6х — 4,8 = 0

    3. Переделайте программу КВУР таким образом, чтобы в ней учитывался случай, когда D=0 и уравнение имеет один корень.

    4. Закрыть программу.

    Подсказка: Меню File — Exit или ALT+X.

    1. За простое воспроизведение (набор программы) без проверки оценка «3»

    2. За проверку работы программы на примерах, представленных учителем оценка «4»

    3. За решение всех заданий и дополнительное изменение программы для случая D=0, оценка «5»

    4. Закрыть программу.

    Подсказка: Меню File — Exit или ALT+X.

    Х1 Х2
    1 3,230139 0,1031947
    2 1,464102 -5,464102
    3 1,106107 -1,356107
    4 Корней нет
    5 Корней нет
    6 1,6 0
    7 2 -1,6
    8 Корней нет
    9 0,6872614 -1,131706
    10 9,486833 -9,486833

    Можно дать дополнительное задание:

    Изменить программу так, чтобы ответ был с точностью до 2-х знаков после запятой.

    1) Напишите программу проверки пароля. Пусть пароль — некоторое число, зафиксированное в программе. Программа печатает приглашение «введите пароль» и вводит число. Если введённое число совпадает с фиксированным паролем, то программа выводит приветствие, если нет — сообщает о том, что пароль не угадан.

    7. Подведение итогов урока.

    Итак, ребята, сегодня мы с вами решали конкретные задачи из математики, применяя свои умения по программированию. Вы получили следующие оценки за свои знания. (Перечисление оценок) На следующем уроке нам предстоит познакомиться с новыми алгоритмами — Циклическими.

    На сегодня наш урок закончен. До свидания.

    Литература:

  • И. Семакин, Л. Залогова «Информатика. Базовый курс. 9 класс», М., БИНОМ, 2005г.
  • А.А. Чернов «Конспекты уроков информатики в 9-11 классах», Волгоград: Учитель, 2006г.
  • Л.И. Белоусова, С.А. Веприк «Сборник задач по курсу информатики», М., «Экзамен», 2007.
  • Решить квадратное уравнение

    Найти корни квадратного уравнения и вывести их на экран, если они есть. Если корней нет, то вывести сообщение об этом. Конкретное квадратное уравнение определяется коэффициентами a , b , c , которые вводит пользователь.

    Квадратное уравнение имеет вид ax 2 + bx + c = 0 . Коэффициенты a , b и c — это конкретные числа, а x надо найти, решив уравнение.

    1. Вычислить дискриминант по формуле d = b 2 — 4ac .
    2. Если дискриминант больше нуля, то вычислить два корня уравнения:
      x1 = (-b+√d) / 2a
      x2 = (-b-√d) / 2a
    3. Если дискриминант равен нулю, то вычислить только один корень (второй будет равен ему).
    4. Если дискриминант отрицателен, то вывести сообщение, что корней нет.

    Pascal

    квадратное уравнение паскаль

    Язык Си

    Ключ -lm при компиляции gcc.

    Python

    КуМир

    Basic-256

    • Total 0
    • 0
    • 0
    • 0
    • 0

    квадратное уравнение паскаль

    var
    a,b,c,d,x1,x2: real;
    begin
    write(‘a=’); readln(a);
    write(‘b=’); readln(b);
    write(‘c=’); readln(c);
    d := b*b — 4*a*c;
    if d > 0 then begin
    x1 := (-b + sqrt(d)) / (2*a);
    x2 := (-b — sqrt(d)) / (2*a);
    writeln(‘x1=’,x1:3:2,’; x2=’,x2:3:2);
    end
    else
    if d = 0 then begin
    x1 := (-b) / (2*a);
    writeln(‘x=’,x1:5:2);
    end
    else
    writeln(‘Корней нет’);
    end.

    main() <
    float a,b,c,d,x1,x2;
    printf(«a=»); scanf(«%f»,&a);
    printf(«b=»); scanf(«%f»,&b);
    printf(«c=»); scanf(«%f»,&c);
    d = b*b — 4*a*c;
    if (d>0) <
    x1 = (-b + sqrt(d)) / (2*a);
    x2 = (-b — sqrt(d)) / (2*a);
    printf(«x1=%.2f; x2=%.2f», x1, x2);
    >
    else
    if (d = 0) <
    x1 = -b / (2*a);
    printf(«x1=%.2f; x2=%.2f», x1, x2);
    >
    else printf(«Корней нет.»);
    printf(«n»);
    >

    Ключ -lm при компиляции gcc.

    python квадратное уравнение

    print(«Введите коэффициенты для квадратного уравнения (ax^2 + bx + c = 0):»)
    a = float(input(«a = «))
    b = float(input(«b = «))
    c = float(input(«c = «))

    discr = b**2 — 4 * a * c;
    print(«Дискриминант D = %.2f» % discr)
    if discr > 0:
    import math
    x1 = (-b + math.sqrt(discr)) / (2 * a)
    x2 = (-b — math.sqrt(discr)) / (2 * a)
    print(«x1 = %.2f nx2 = %.2f» % (x1, x2))
    elif discr == 0:
    x = -b / (2 * a)
    print(«x = %.2f» % x)
    else:
    print(«Корней нет»)

    input «a = «, a
    input «b = «, b
    input «c = «, c
    d = b^2 — 4*a*c

    if d > 0 then
    x1 = (-b + sqrt(d)) / (2*a)
    x2 = (-b — sqrt(d)) / (2*a)
    print «x1 = » + x1 + «, x2 = » + x2
    else
    if d = 0 then
    x = -b / (2*a)
    print «x = » + x
    else
    print «Корней нет»
    endif
    endif

    Команда decimal указывает сколько знаков после запятой следует выводить.

    Программа для решения квадратных уравнений на C++

    Довольно часто в пособиях по программированию встречаются задания по нахождению решений каких-нибудь математических уравнений. Задача нахождения корней квадратного уравнения — это довольно тривиальная задача, как и многие другие задачи. Решается она очень просто при помощи листа бумаги и ручки, но решение можно автоматизировать посредством написания прикладной программы и её использования. В этой статье мы напишем такую программу.

    Алгоритм решения квадратного уравнения

    Многие знают, что уравнение вида ax 2 + bx + c = 0 , где a не равно 0, называют квадратным уравнением.

    Существуют различные способы решения квадратных уравнений, но мы рассмотрим решение через дискриминант.

    Обозначается дискриминант буквой D . Из школьного курса знаем, что D = b 2 — 4ac .

    Существует несколько условий:

    • Если D > 0, то решение имеет 2 различных вещественных корня.
    • Если D = 0, то оба вещественных корня равны.
    • Если D для вводавывода в консоли, #include для работы с математическими функциями и область using namespace std;

    Просим пользователя ввести значения переменных и сохраняем каждое значение

    Проверяем условие, если дискриминант больше или равен 0, то находим корни и выводим

    в противном случае выводим сообщение

    На этом всё, осталось скомпилировать, запустить и проверить. Запускаем и вводим данные, чтобы D был меньше 0

    В этом случае D = 3*3 — 4*2*3 = -15, а это меньше 0, значит ответ программа дала верный.

    Ответы тоже верны. Программа работает правильно.

    Ниже представлен весь листинг программы для нахождения корней квадратного уравнения на C++

    Для вас это может быть интересно:

    Программа для решения квадратных уравнений на C++ : 24 комментария

    Программировать так сложно…

    1. Nicknixer Автор записи 15.10.2016

    Не так сложно, как Вам кажется! Немного литературы, немного практики и смотреть на код решения такой задачи Вы будете по-другому.

    Доброго времени суток! Помогите пожалуйста написать программу, которая считает сколько символов в ряде двумерного массива. То есть , например массив 5 на 5, сколько символов в 1 ряде, сколько во 2 и т.д.

    Ответил вам по электронной почте

    Критику принимаете? 🙂
    Программа дырявая как сито.

    Если число очень маленькое, но положительное, например 10^(-20) — у вас будет переполнение или типо того. Оператор > проверяет знак числа (это отдельный бит), а оператор == для дробных чисел не имеет смысла, т.к. в младших разрядах числа обычно находится какой-нибудь мусор, который при таком сравнении дает false.

    x = ( -1*b + sqrt(b*b — 4*a*c) ) / (2 * a);
    x = ( -1*b — sqrt(b*b — 4*a*c) ) / (2 * a);

    Тут есть три вопроса:
    1) зачем два раза вычислять одно и тоже (я про корень)
    2) что делать если мне корни надо как-то использовать, а не просто вывести (тут есть проблема, ведь у меня то один корень — то два). Чтобы лучше понять в чем проблема — попробуйте вынести вычисление корней в отдельную функцию. У вас то вообще, если корень один — то их выведется все равно два, одинаковых.
    3) в переменной «a» может быть ноль (или близкое к нулю число) — при этом мы получим деление на ноль (а точнее, переполнение).

    Но это ведь еще не все. Что будет если и «a» и «b» равны нулю? — тебе надо рассмотреть два варианта — если c = 0 (условно, близко к нулю), то корней бесконечно много. А если c != 0, то корней нет.

    Вообще, эта задача — прекрасный пример для юнит-тестирования и демонстрации принципов разработки через тестирование. Именно его я рассматривал в своей статье по теме тестирования: Юнит-тестирование. Пример. Boost Unit Test. Дело в том, что тут куча вариантов сделать ошибку, при этом их понимание приходит не сразу, т.е. школьник решая задачу напишет по формуле которой учили (ну и вот как у вас). А потом надо разбираться и смотреть как программа может сломаться, при этом разрабатывать тесты.

    1. Николай Сергейчук Автор записи 09.02.2017

    Принимаем 🙂
    Согласен с вами во всём! Программу можно реализовать намного лучше, используя различные проверки и валидацию входных данных.
    Однако, статья рассчитана на аудиторию, которая только начинает познавать программирование или делает лабораторную. 🙂 Чтобы людям легче было понять, реализация данной программы упрощена до невозможности. И, возможно, несправедливо было с моей стороны не предупредить их о возможных ошибках в работе программы, которые могут вскрыться позже, если подать на вход определенные значения.
    Кстати, у вас интересная статья по тестированию!

    Николай, доброго времени суток! Можете помочь с написанием програмки в с++? 1-1/2!+1/3!-1/4!+1/5! и так до 1/100! ? Чтобы при заднии в строке номера члена последовательности выдавал сумму до него по такой вот формуле? Буду очень благодарен!

    Пожалуйста подскажите как ввести экран правильный ответ дискриминанта

    Помогите решить в Dev C++
    Sqrt x^2+1+sqrt|x|,x0

    Здравствуйте, можете помочь с решением биквадратного и триквадратного уравнения?

    #include
    using namespace std;
    int main()
    <
    /*Решение квадратных уравнений*/
    setlocale(0, «»);
    cout a;
    cout <> b;
    cout <> c;
    D = pow(b, 2) — 4 * a * c;
    cout

    ну и? если даже тупо скопировать код и вставить его в cpp.sh , ничего не работает. поебота какая то этот с++

    Уважаемая, Лена! Я, надеюсь, вы знаете, что код программы, написанной на языке программирования C++ нельзя тупо вставить в блокнот и сохранить под названием «cpp.sh»? Если не знали, то я, видимо, открыл для вас Америку!

    помогите решить. заданы 3 перемены a.b.c записать вы радение на С
    < 7a/b+2a, если a=b,
    Х= < -34, если a>b,
    < 3a/(2b-100), если a>b и а не равно != с

    iconcerts где забыл
    #include

    Я ради интереса написал программу нахождения корней квадратного уравнения на С++, с выводом корней как в десятичном виде, так и в виде простой дроби (причём уже сокращённой), потому что выводя корни в десятичном виде программа их одновременно сокращает и округляет и 1/3 превращается в 0.333333 хотя на самом деле 0.333333 (3), то есть для проверки правильно ли нашёл корни ваш ребёнок, вы с получите что-то типа: X1= 0.285714; X2=0.214286, а на самом деле это будет X1=2/7; X2=3/14, кроме того, если корень из дискриминанта не получается целым числом, вы уже получите двойную неточность: сначала при извлечении корня программа отсечёт значение до 4-6 цифр после запятой с округлением, а затем сделает то же самое при делении числителя на знаменатель. Я и здесь сделал вывод корней в двух значениях: в десятичном и в виде выражения X1= (-b + sqrt(D))/(2*a); X2= (-b — sqrt(D))/(2*a), то есть выводится примерно вот так X1=-5+sqrt(21)/2; X2=-5-sqrt(21)/2 с одновременным разложением дискриминанта под корнем на множители, вынесением этих множителей из-под корня, если они выносятся нацело, их перемножением и дальнейшим сокращением. Вот, например, имеем a=3, b=15, c=3, при решении получаем D=189 программа выдаёт десятичные корни X1= -0.208712 и X2= -4.79129, а в виде выражения имеем: X1= -5+sqrt(21)/2, то есть первоначально получаем: X1= -15+sqrt(189)/6, -> 189=21*9 -> -15+3sqrt(21)/6 далее идёт сокращение на 3 и итог -5+sqrt(21)/2

    День добрый.
    Недавно начал изучать C++. Решил попробовать написать решение квадратного уравнения именно через оператор вида «условие ? выполняется : не выполняется». Т.е. если условие выполняется, то имеем два решения (даже если d = 0, то тоже должно быть два решения x1 = x2), если d a;
    std::cout <> b;
    std::cout <> c;
    d = pow(b, 2) — 4 * a*c;
    d >= 0 ? xfst = ((-b + sqrt(d)) / double(2 * a)) , xscd = ((-b — sqrt(d)) / double(2 * a)) : std::cout

    1. Николай Сергейчук Автор записи 12.02.2020

    if (d >= 0) <
    xfst = ((-b + sqrt(d)) / double(2 * a));
    xscd = ((-b — sqrt(d)) / double(2 * a));
    std::cout

    Создать программу для решения квадратного уравнения.
    У меня не получаеться, но и копифейсом я не хочу заниматься.
    Прошу помогите. Заранее спасибо.

    Здравствуйте! Как решить эту задачу? Приведенный пример сверху не подходит .

    Давайте напишем действительно полезную программу! Вы наверняка уже устали считать дискриминант для квадратных уравнений? Давайте автоматизируем этот процесс.

    На вход программы подаются три целых числа — коэффициенты уравнения ax^2 + bx + c = 0ax
    2
    +bx+c=0

    Гарантируется, что a neq 0a

    =0.

    Выведите через пробел корни уравнения в порядке убывания и округленные «вниз». Если уравнение имеет корень кратности 2 — выведите одно число. Если у уравнения нет действительных корней — выведите «NO»

    Для извлечения корней используйте функцию sqrt. Она содержится в библиотеке сmath ( она уже импортирована в коде ). Для округления воспользуйтесь функцией floor ( из той же библиотеки ).

    1 0 -4
    Sample Output 1:

    2 -2
    Sample Input 2:

    1 2 2
    Sample Output 2:

    Пожалуйста подскажите как ввести экран ответ дискриминанта

    Пожалуйста подскажите как ввести на екран ответь дискриминанта

    Подскажите как правильно решить?
    Обчислити z = (x1 + y1) / (x2 + y2), де х1, х2 — коренi рiвняння 2х^2 + x — 4 =0.
    y1, y2 — коренi рiвняння ay^2 + 2y — 1 = 0. Усi коренi дiйснi.

    using namespace std;

    int main() <
    double a = 2, b, c = -4;
    int x1, x2;
    double a1, b1 = 2, c1 = -1;
    int y1, y2;
    float z;

    if((b*b — 4*a*c) >= 0 ) <
    x1 = ( -1*b + sqrt(b*b — 4*a*c)) / (2 * a);
    cout a1;

    if((b1*b1 — 4*a1*c1) >= 0) <
    y1 = ( -1*b1 + sqrt(b1*b1 — 4*a1*c1)) / (2 * a1);
    cout = 0, y1 >= 0, y2 >= 0) <
    z = (x1 + y1)/(x2 +y2);
    cout

    Добавить комментарий Отменить ответ

    Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

    источники:

    http://gospodaretsva.com/quadratic-equation.html

    http://nicknixer.ru/programmirovanie/programma-dlya-resheniya-kvadratnyx-uravnenij-na-c/

    Перейти к содержанию

    Решить квадратное уравнение

    Просмотров 12.6к. Обновлено 15 октября 2021

    Найти корни квадратного уравнения и вывести их на экран, если они есть. Если корней нет, то вывести сообщение об этом. Конкретное квадратное уравнение определяется коэффициентами abc, которые вводит пользователь.

    Квадратное уравнение имеет вид ax2 + bx + c = 0. Коэффициенты ab и c — это конкретные числа, а x надо найти, решив уравнение.

    1. Вычислить дискриминант по формуле d = b2 — 4ac.
    2. Если дискриминант больше нуля, то вычислить два корня уравнения:
      x1 = (-b+√d) / 2a
      x2 = (-b-√d) / 2a
    3. Если дискриминант равен нулю, то вычислить только один корень (второй будет равен ему).
    4. Если дискриминант отрицателен, то вывести сообщение, что корней нет.

    Pascal

    квадратное уравнение паскаль


    var
    a,b,c,d,x1,x2: real;
    begin
    write('a='); readln(a);
    write('b='); readln(b);
    write('c='); readln(c);
    d := b*b - 4*a*c;
    if d > 0 then begin
    x1 := (-b + sqrt(d)) / (2*a);
    x2 := (-b - sqrt(d)) / (2*a);
    writeln('x1=',x1:3:2,'; x2=',x2:3:2);
    end
    else
    if d = 0 then begin
    x1 := (-b) / (2*a);
    writeln('x=',x1:5:2);
    end
    else
    writeln('Корней нет');
    end.



    a=7
    b=1
    c=-6
    x1=0.86; x2=-1.00

    Язык Си


    #include < stdio.h>
    #include < math.h>

    main() {
    float a,b,c,d,x1,x2;
    printf("a="); scanf("%f",&a);
    printf("b="); scanf("%f",&b);
    printf("c="); scanf("%f",&c);
    d = b*b - 4*a*c;
    if (d>0) {
    x1 = (-b + sqrt(d)) / (2*a);
    x2 = (-b - sqrt(d)) / (2*a);
    printf("x1=%.2f; x2=%.2f", x1, x2);
    }
    else
    if (d = 0) {
    x1 = -b / (2*a);
    printf("x1=%.2f; x2=%.2f", x1, x2);
    }
    else printf("Корней нет.");
    printf("n");
    }



    a=-20
    b=8
    c=1.5
    x1=-0.14; x2=0.54

    Ключ -lm при компиляции gcc.

    Python

    python квадратное уравнение


    print("Введите коэффициенты для квадратного уравнения (ax^2 + bx + c = 0):")
    a = float(input("a = "))
    b = float(input("b = "))
    c = float(input("c = "))

    discr = b**2 - 4 * a * c;
    print("Дискриминант D = %.2f" % discr)
    if discr > 0:
    import math
    x1 = (-b + math.sqrt(discr)) / (2 * a)
    x2 = (-b - math.sqrt(discr)) / (2 * a)
    print("x1 = %.2f nx2 = %.2f" % (x1, x2))
    elif discr == 0:
    x = -b / (2 * a)
    print("x = %.2f" % x)
    else:
    print("Корней нет")

    КуМир


    алг квадратное уравнение
    нач
    вещ a, b, c, D, x1, x2
    ввод a
    ввод b
    ввод c
    D := b**2 - 4*a*c
    вывод "D = ", D, нс
    если D > 0 то
    x1 := (-b + sqrt(D)) / (2 * a)
    x2 := (-b - sqrt(D)) / (2 * a)
    вывод "x1 = ", x1, нс
    вывод "x2 = ", x2, нс
    иначе
    если D = 0 то
    x1 := -b / (2 * a)
    вывод "x = ", x1, нс
    иначе
    вывод "корней нет", нс
    все
    все
    кон

    Basic-256


    input "a = ", a
    input "b = ", b
    input "c = ", c
    d = b^2 - 4*a*c

    decimal 3

    if d > 0 then
    x1 = (-b + sqrt(d)) / (2*a)
    x2 = (-b - sqrt(d)) / (2*a)
    print "x1 = " + x1 + ", x2 = " + x2
    else
    if d = 0 then
    x = -b / (2*a)
    print "x = " + x
    else
    print "Корней нет"
    endif
    endif

    Команда decimal указывает сколько знаков после запятой следует выводить.

    Исходник программы Паскаль, которая находит корни квадратного уравнения по заданным коэффициентам

    Исходник программы Паскаль, которая находит корни квадратного уравнения по заданным коэффициентам

    Добрый день. Сегодня я хочу поделиться программой, написанной на языке программирования Паскаль, а именно исходник программы, которая находит корни квадратного уравнения.  

    Итак, задача звучит следующим образом:

    «Составьте программу вычисления корней квадратного уравнения по данным значениям его коэффициентов«.

    Решение задачи на языке паскаль довольно простое. Вначале необходимо считать данные (значения коэффициентов) в три переменные a,b,c. Затем нужно посчитать дискриминант, после проверить больше или меньше нуля или равно ему значение дискриминанта. В зависимости от значения дискриминанта считать значение корней или вывести сообщение о том, что корней нет. 

    Исходный код программы нахождения корней:

    var a,b,c: real;
        x1,x2,D: real;
    begin
      readln(a,b,c);
      D := b*b - 4*a*c;
      if D<0 then
        writeln('Корней нет')
      else if D=0 then begin
        x1 := -b/2/a;
        writeln('x1=x2=',x1);
      end
      else begin
        x1 := (-b-sqrt(D))/2/a;
        x2 := (-b+sqrt(D))/2/a;
        writeln('x1=',x1,' x2=',x2);
      end;
    end.

    Скачать исходник: koren2.pas

    В последнее время я перешел на linux, совсем забыв про windows 8. В связи с переездом с одной системы на другую, я как-то потерял этот исходник и не выкладовал его с 2012 года! Теперь я загрузил старый компьютер с windows и нашел на рабочем столе этот исходник. Кстати, если Вас интресуют  Темы для Windows 8.1, то посетите сайт 7themes.su.

    Дата: 2014-06-11 17:48:56   Просмотров: 115618

    Теги: Исходник исходники Паскаль Pascal скачать

    Quadratic Equation is polynomial equations that have a degree of two, which implies that the highest power of the function is two. The general form of the quadratic equation is ax2 + bx + c, so in this article, we will find out the roots of the quadratic equation. 

    Quadratic Equation

    What is Quadratic Equation

    Quadratic Equation is polynomial equations that have a degree of two, which implies that the highest power of the function is two. The quadratic equation is represented by ax2 + bx + c, Where a, b, c are real numbers and constants and a ≠ 0. The root of the quadratic equations is a value of x that satisfies the equation. 

    How to Find Roots of Quadratic Equations 

    The nature of the roots is different and it depends upon the discriminant value.

    Discriminant(D) = b2 -4ac

    1. D > 0, Roots are real and different

    root1 = dfrac{-b +sqrt{(b^2 - 4ac)}}{2a}

    root2 = dfrac{-b -sqrt{(b^2 - 4ac)}}{2a}

    2. D = 0, Roots are real and the same

    root1 = root2 = dfrac{-b}{2a}

    3. D < 0, Roots are complex 

    root1 = dfrac{-b}{2a} + dfrac{isqrt{-(b^2 -4ac)}}{2a}

    root2 = dfrac{-b}{2a} - dfrac{isqrt{-(b^2 -4ac)}}{2a}

    Examples :

     Input  :  a = 1, b = -2, c = 1

     Output :  1,  Roots are real and same

    Explanation :  D = b2 – 4ac = (-2)2 -4(1)(1) = 0, which is equal to 0
                     

     Input  :  a = 1, b = 7, c = 12

    Output :  -3, -4,  Roots are real and different

    Explanation :  D = b2 – 4ac = (7)2 -4(1)(12) = 1, which is greater then 0
                     

    Input  :  a = 1, b = 1, c = 1
    Output :  Roots are complex 
                      -0.5 + i1.73205
                     -0.5 – i1.73205  

    Explanation :  D = b2 – 4ac = (1)2 -4(1)(1) = -3, which is less then 0

    C Program for Quadratic Equation roots

    C

    #include <math.h>

    #include <stdio.h>

    #include <stdlib.h>

    void findRoots(int a, int b, int c)

    {

        if (a == 0)

        {

            printf("Invalid");

            return;

        }

        int d = b * b - 4 * a * c;

        double sqrt_val = sqrt(abs(d));

        if (d > 0)

        {

            printf("Roots are real and different ");

            printf("%f%f",

                  (double)(-b + sqrt_val) /

                          (2 * a),

                  (double)(-b - sqrt_val) /

                          (2 * a));

        }

        else if (d == 0)

        {

            printf("Roots are real and same ");

            printf("%f",

                    -(double)b / (2 * a));

        }

        else

        {

            printf("Roots are complex ");

            printf("%f + i%f%f - i%f",

                   -(double)b / (2 * a),

                   sqrt_val/(2 * a),

                   -(double)b / (2 * a),

                   sqrt_val/(2 * a));

        }

    }

    int main()

    {

        int a = 1, b = -7, c = 12;

        findRoots(a, b, c);

        return 0;

    }

    Output

    Roots are real and different 
    4.000000
    3.000000

    Time Complexity: O(log(D)), where D is the discriminant of the given quadratic equation.
    Auxiliary Space: O(1)

    Last Updated :
    27 Mar, 2023

    Like Article

    Save Article

    Цели урока:


    • Повторить с учащимися правила решения
      квадратных уравнений
    • Вспомнить алгоритмическую конструкцию IF-THEN-ELSE
    • Составить блок-схему программы и саму программу
      на языке Pascal
    • Проверить работоспособность программы на
      конкретных примерах
    • Расширить представления учащихся о применении
      языка Pascal
    • Воспитать у учащихся чувство аккуратности,
      внимательности, ответственности
    • Научить учащихся самостоятельно находить свои
      ошибки в программах

    Оборудование:


    • Таблички с формулами
    • Плакат с блок-схемой алгоритма КВУР
    • Листочки с индивидуальными заданиями
    • Система программирования «Turbo Pascal 7.0»

    ХОД УРОКА

    1. Введение.

    До сих пор мы с вами говорили о каких-то
    отвлечённых задачах из области математики.
    Сегодня мы поговорим о конкретной задаче,
    которая встречается у вас почти на каждом уроке.
    Это решение квадратного уравнения. Я хочу, чтобы
    вы на примере этой задачи поняли, что
    программирование — это не просто прихоть
    учителя, это действительно раздел информатики,
    который может нам помочь, например, в решении
    конкретных математических задач. Нужно только
    уметь разбираться в этом.

    2. Математическое решение

    Давайте вспомним, что понимают под квадратным
    уравнением?

    Вопросы:

    Что из себя представляют числа a,b,c и как их
    называют?

    С чего начинают решение квадратного уравнения?

    Найдите вокруг себя формулу дискриминанта. (D=b2-4ac)
    (Приложение 3)

    Как мы решаем далее квадратное уравнение?
    (сравнение D с нулём)

    Какие выводы мы из этого делаем?

    (если D <0, то нет корней, если D=0, то один корень,
    если D>0, то два корня)

    Как найти корни квадратного уравнения? Найдите
    формулы корней среди тех, что развешены повсюду.

    Если я случай наличия корней квадратного
    уравнения сведу к условию D0, то что я получу в случае D=0?

    (Два одинаковых корня)

    Давайте ещё раз подробно разберём нашу задачу:

    Итак, у нас есть квадратное уравнение ax2+bx+c=0.

    Мы должны решить его, т.е. найти такие значения
    х, при которых правая часть уравнения =0. Мы знаем,
    что для этого нам надо:

    Найти дискриминант D=b2 — 4ac.

    Сравнить его с нулём

    Если D<0 , то «корней нет» иначе два корня х1 и
    х2.

    Х1 = , Х2=

    Пример: (вызываем ученика)

    2-10х+3=0

    D=b2-4ac=102-4*3*3=100 — 36 =64

    D>0, два корня

    Х1=,

    X2 =

    3. Составление блок-схемы алгоритма.

    По заданному решению попробуем составить
    блок-схему алгоритма в тетради. Кто справится
    первым, прошу к доске.

    Подпишем основные элементы блок — схемы
    применительно к языку программирования.

    4. Составление программы по блок — схеме.

    Теперь, пользуясь нашими записями, составим
    программу и покажем её учителю. Тот, кто до конца
    урока составит только программу, не проверив её
    на компьютере, получит три, тот, кто наберёт
    программу на компьютере, но не проверит её на
    примерах, получит три. Тот, кто выполнит всё
    задание, получит пять.

    А я раздам вам домашнее задание.

    Ответ:

    Program kwur;

    Uses CRT;

    Var a,b,c,d,x1,x1: real;

    Begin

    Clrscr;

    Write(‘введите коэффициенты уравнения a,b,c’);
    readln(a,b,c);

    D:=b*b-4*a*c;

    If d>=0 then

    Begin

    X1:=(-b+sqrt(d))/(2*a); x2:=(-b-sqrt(d))/(2*a);

    Writeln(‘x1=’,x1′ x2=’,x2)

    END;

    Else writeln(‘действительных корней нет’)

    End.

    5. Практическая работа (Приложение
    1).

    1. Составить и набрать программу КВУР на
    компьютере.

    Подсказка:

    Загрузка среды Pascal- 2ЩЛКМ по значку Pascal, нажать
    ALT+ENTER.

    Запуск программы — ЩЛКМ по кнопке RUN выбрать RUN.

    2. Решить следующие квадратные уравнения и
    показать учителю их решения (если нет такой
    возможности, то занести их в маршрутный лист (Приложение 4)

    2 -10х +1=0

    0,5х2+2х — 4=0

    2 + х — 6=0

    2 + 3х +8=0

    х2 +4 =0

    2 -8х = 0

    1,5х2-0,6х — 4,8 = 0

    -2х2+4х — 8 = 0

    2+4х -7 = 0

    0,1х2— 9 = 0

    3. Переделайте программу КВУР таким образом,
    чтобы в ней учитывался случай, когда D=0 и
    уравнение имеет один корень.

    4. Закрыть программу.

    Подсказка: Меню File — Exit или ALT+X.

    Оценивание:

    1. За простое воспроизведение (набор программы)
    без проверки оценка «3»

    2. За проверку работы программы на примерах,
    представленных учителем оценка «4»

    3. За решение всех заданий и дополнительное
    изменение программы для случая D=0, оценка «5»

    4. Закрыть программу.

    Подсказка: Меню File — Exit или ALT+X.

    Ответы:

    Х1 Х2
    1 3,230139 0,1031947
    2 1,464102 -5,464102
    3 1,106107 -1,356107
    4 Корней нет
    5 Корней нет
    6 1,6 0
    7 2 -1,6
    8 Корней нет
    9 0,6872614 -1,131706
    10 9,486833 -9,486833

    Можно дать дополнительное задание:

    Изменить программу так, чтобы ответ был с
    точностью до 2-х знаков после запятой.

    6. Домашнее задание: (Приложение 2)

    1) Напишите программу проверки пароля. Пусть
    пароль — некоторое число, зафиксированное в
    программе. Программа печатает приглашение
    «введите пароль» и вводит число. Если введённое
    число совпадает с фиксированным паролем, то
    программа выводит приветствие, если нет —
    сообщает о том, что пароль не угадан.

    7. Подведение итогов урока.

    Итак, ребята, сегодня мы с вами решали
    конкретные задачи из математики, применяя свои
    умения по программированию. Вы получили
    следующие оценки за свои знания. (Перечисление
    оценок) На следующем уроке нам предстоит
    познакомиться с новыми алгоритмами —
    Циклическими.

    На сегодня наш урок закончен. До свидания.

    Литература:


    1. И. Семакин, Л. Залогова «Информатика. Базовый
      курс. 9 класс», М., БИНОМ, 2005г.
    2. А.А. Чернов «Конспекты уроков информатики в 9-11
      классах», Волгоград: Учитель, 2006г.
    3. Л.И. Белоусова, С.А. Веприк «Сборник задач по
      курсу информатики», М., «Экзамен», 2007.

    Понравилась статья? Поделить с друзьями:
  • Как найти свою учетную запись майкрософт windows
  • Как найти выручку от общего объема выручки
  • Примерный бизнес план как составить бизнес план
  • Как найти потерянный талисман
  • Как составить деловые качества сотрудника