Инфоурок Информатика Другие методич. материалыРешение квадратного уравнения. Дискриминант в Паскале.

Решение квадратного уравнения. Дискриминант в Паскале.

Скачать материал

Методические разработки к Вашему уроку:

Получите новую специальность за 2 месяца

Социальный педагог

Получите профессию

Фитнес-тренер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Краткое описание документа:

Формулировка. Даны вещественные числа ab и c, причем a отлично от 0. Решить квадратное уравнение ax2 + bx + c = 0 или сообщить о том, что действительных решений нет.

Решение. Из алгебры известно, что:

Квадратное уравнение ax2 + bx + c = 0, выражение D = b2 – 4ac – дискриминант:

– если D > 0, имеет два решения:  , ;

– если D = 0, имеет единственное решение: ;

– если D < 0, не имеет действительных решений.

Следовательно, нам необходимо вычислить дискриминант (заведем для него вещественную переменную d типа real) и в зависимости от его значения организовать ветвления. Сначала нужно проверить, имеет ли уравнение действительные решения (для решений заведем переменные x1 и x2 типа real). Если да, и если дискриминант не равен нулю, то вычисляем оба решения по формулам, а если дискриминант равен нулю, то вычисляем единственное решение. Если же действительных решений нет, выводим текстовое сообщение об этом. Основной алгоритм можно проиллюстрировать следующей блок-схемой:

Три нерасшифрованных блока представляют собой стандартные операторы вывода. Разберем их подробнее:

1)      При выводе двух корней выражение будет выглядеть следующим образом:

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

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

writeln('x1 = ', x1:4:2, ', x2 = ', x2:4:2);

При этом выводимое выражение будет выглядеть так: 'x1 = mx2 = n', где синим цветом выделены однозначные текстовые константы, которые берутся из списка аргументов writeln, красным – вычисленные значения x1 и x2. Причем корни выведены в форматированном виде: число после первого двоеточия задает ширину поля вывода для переменной вместе с точкой (при нехватке поля она будет расширено программой), а число после второго двоеточия – количество выводимых дробных знаков (его при работе программы изменить нельзя);

2)      При выводе одного корня – все то же самое, только выводится один корень:

x1 := -(b / 2 * a);

writeln('x = ', x1:4:2);

3)      При отсутствии действительных корней выводим сообщение:

writeln('No real solutions!');

В итоге внутренний условный оператор с телом включительно будет выглядеть так:

if d <> 0 then begin

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

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

  writeln('x1 = ', x1:4:2, ', x2 = ', x2:4:2)

end

else begin

  x1 := -(b / 2 * a);

  writeln('x = ', x1:4:2)

end;

Код:

  1. program QuadraticEquation;
  2. var
  3. a, b, c, d, x1, x2: real;
  4. begin
  5. readln(a, b, c);
  6. d := b * b - 4 * a * c;
  7. if d >= 0 then begin
  8. if d <> 0 then begin
  9. x1 := (-b + sqrt(d)) / 2 * a;
  10. x2 := (-b - sqrt(d)) / 2 * a;
  11. writeln('x1 = ', x1:4:2, ', x2 = ', x2:4:2)
  12. end
  13. else begin
  14. x1 := -(b / 2 * a);
  15. writeln('x = ', x1:4:2)
  16. end
  17. end
  18. else begin
  19. writeln('No real solutions!');
  20. end
  21. end.

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 655 003 материала в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

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

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 05.01.2015 1024
    • 21 мбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Юсупов Зиявдин Абдулкеримович. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

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

    Удалить материал
  • Автор материала

    Юсупов Зиявдин Абдулкеримович
    Юсупов Зиявдин Абдулкеримович
    • На сайте: 8 лет и 9 месяцев
    • Подписчики: 0
    • Всего просмотров: 6981
    • Всего материалов: 6

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Экскурсовод

Экскурсовод (гид)

500/1000 ч.

Подать заявку О курсе

Курс повышения квалификации

Методика преподавания информатики в начальных классах

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Этот курс уже прошли 67 человек

Курс профессиональной переподготовки

Управление сервисами информационных технологий

Менеджер по управлению сервисами ИТ

600 ч.

9840 руб. 5900 руб.
Подать заявку О курсе
  • Сейчас обучается 26 человек из 19 регионов
  • Этот курс уже прошли 34 человека

Курс профессиональной переподготовки

Педагогическая деятельность по проектированию и реализации образовательного процесса в общеобразовательных организациях (предмет "Информатика")

Учитель информатики

300 ч. — 1200 ч.

от 7900 руб. от 3950 руб.
Подать заявку О курсе
  • Этот курс уже прошли 20 человек

Мини-курс

Основы финансовой отчетности

3 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Педагогические идеи выдающихся педагогов, критиков и общественных деятелей

10 ч.

1180 руб. 590 руб.
Подать заявку О курсе

Мини-курс

Музыкальная журналистика: история, этика и авторское право

4 ч.

780 руб. 390 руб.
Подать заявку О курсе