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

Обновлено: 02.07.2024

Тип урока: урок развития и закрепления умений и навыков.

Цель урока: показать учащимся возможность использования информатики (программирования) для решения задач из других областей знания, в частности, математики, закрепить навыки составления алгоритмов с ветвлениями.

  • закрепить определение видов ветвлений (полные, неполные); показать взаимосвязь математики и информатики; научить использовать знания, полученные на уроке математики, при решении задач информатики с помощью блок-схем, а также на языке программирования;
  • способствовать развитию логического мышления , воспитание информационной культуры учащихся, внимательности, аккуратности, дисциплинированности;
  • развитие умения связывать изучение нового материала с уже известными фактами; развивать умение анализировать, сравнивать, обобщать, делать выводы .
  • обеспечить благоприятные условия для сохранения здоровья в процессе учебы через создание благоприятного физического и эмоционального климата

Аппаратное обеспечение: компьютер, экран, мультимедийный проектор, компьютеры учащихся.

Программное обеспечение: операционная система Windows, мультимедийные презентации, среда программирования "Кумир".

  1. Организационный момент.
  2. Повторение пройденного на прошлом уроке.
  3. Постановка темы урока .
  4. Постановка проблемы урока.
  5. Развитие умений.
  6. Подведение итогов урока.
  7. Домашнее задание.
  1. Организация класса .
  2. Повторение пройденного на прошлом уроке, проверка домашнего задания (слайд1-3).
  3. Постановка темы (слайд 4).

Вопрос. Можно ли данные поговорки и народные приметы перевести на алгоритмический язык?

Ответ . Да можно.

Вопрос. Какую алгоритмическую структуру мы можем использовать при написании программы?

Ответ. Полную и сокращенную форму алгоритмической структуры ветвление?

Учитель . Сформулируйте тему сегодняшнего урока.

Слайд 5. Тема урока: Решение задач с конструкцией ветвление.

Слайд 6. Задание: решите уравнение

Вопрос. Как быстро вы сможете найти корни уравнения?

Ответ. Придется потрудиться над решением данного уравнения.

Вопрос. Можно ли переложить эту работу на компьютер?

Вопрос. Что для этого нужно сделать?

Ответ. Составить алгоритм решения уравнения на алгоритмическом языке.

Основной Вопрос (основная проблема урока). Как создать алгоритм нахождения корней квадратного уравнения на алгоритмическом языке?

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

Ответ . a, b, c – коэффициенты при х.

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

Ответ. С нахождения дискриминанта по формуле D=b 2 -4ac

Вопрос. Как мы решаем далее квадратное уравнение?

Ответ . Сравнение D с нулём.

Вопрос. Какие выводы мы из этого делаем?

Ответ . Если D 0, то два корня.

Вопрос. Как найти корни квадратного уравнения?

Составление блок-схемы алгоритма (слайд 9)

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

Задание выполняется вместе с доской (слайд 9)

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

Практическое задание (слайд 10):

Решить на компьютере квадратные уравнения, результат записать в конспект:

  1. 2х 2 + 3х + 5 = 0
  2. 6х 2 + 21х + 3 = 0
  3. 2х 2 + 8х + 8 = 0

6) Подведение итогов:

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

7) Домашнее задание .

Повторить §3.4.2, учебник с. 145 №8,9,19

Предварительный просмотр:

Подписи к слайдам:

Целая Вещественная Тип величины в алгоритме Символьная Числовой Один символ Строка символов Текстовый ДА (ИСТИНА, TRUE, 1) НЕТ (ЛОЖЬ, FALSE, 0) Логический Литерная Типы величин

Ветвление Ветвление - алгоритмическая конструкция, в которой в зависимости от результата проверки условия («да» или «нет») предусмотрен выбор одной из двух последовательностей действий (ветвей). Алгоритмы, в основе которых лежит структура «ветвление», называют разветвляющимися.

Полная форма ветвления Действие 1 Условие Действие 2 если то иначе все Неполная форма ветвления Действие 1 Условие если то все

«Большие пузыри на лужах, к долгому дождю» «Ласточки низко летают, быть дождю» «Добрая слава лежит, а худая бежит»

Алгоритм решения данной задачи сначала должен быть представлен в виде словесного описания или графически в виде блок-схемы. Алгоритм вычисления корней квадратного уравнения может быть представлен в виде блок-схем, изображенных на рисунках, отображающих основные элементы блок-схем и алгоритм вычисления корней квадратного уравнения:

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

После разработки алгоритма решения задачи и представления его в виде блок-схемы можно перейти к написанию программы – последовательности инструкций на выбранном языке программирования, соответствующей разработанному алгоритму. Например, ниже приведен фрагмент программы решения квадратного уравнения, соответствующий приведенному выше алгоритму, составленному на языке Visual Basic.

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

Компилятор создает исполняемую программу только в том случае, если в тексте исходной программы нет синтаксических ошибок. Однако генерация исполняемой программы машинного кода свидетельствует только об отсутствии в тексте программы синтаксических ошибок. Убедиться в правильности работы программы можно только во время ее тестирования – пробных запусках программы и при анализе полученных результатов. Например, если в программе нахождения корней квадратного уравнения допущена ошибка в записи выражения вычисления дискриминанта, то даже если это выражение будет синтаксически верно, программа выдаст неверные значения корней.

Решение квадратных уравнений средствами Visual Basic

Задача: Дано квадратное уравнение общего вида: ax 2 +bx+c=0. Ввести в память компьютера числовые коэффициенты: a, b, c, выполнить необходимый анализ введенной информации согласно известному из курса средней школы алгоритму решения квадратного уравнения: найти дискриминант d=b 2 -4ac и, проанализировав его знак, найти все действительные корни, если знак дискриминанта положительный, или сообщить о том, что действительных корней нет, если знак дискриминанта отрицательный.

Начать составление проекта решения данной задачи необходимо с ответа на вопрос: что нужно поместить на форму Form1?

Поместим на форму две кнопки: CommandButton1 и CommandButton2.

Для этого нужно воспользоваться Панелью элементов (объектов) управления General, которая расположена в левой части основного окна компилятора Visual Basic.

Первая кнопка CommandButton1 предназначается для начала работы программы согласно следующему алгоритму:

Необходимо написать специальную процедуру события, реагирующую на щелчок мышки по кнопке CommandButton1 на форме, которую назовем: «Введите коэффициенты уравнения a, b, c», и выполняющую названный выше алгоритм.

Эта процедура будет иметь название: Command1_Click().

Войдя в компилятор Visual Basic, выберем в главном меню раздел RUN и выполним команду Start. Перед нами появится окно формы нашего проекта задачи «Решение квадратного уравнения». Щелкнем по кнопке «Введите коэффициенты уравнения a, b, c».

Перед нами появится окно InputBox для ввода коэффициента a уравнения.

Введем числовое значение, например 1, требуемого коэффициента и нажмите кнопку Ok.

Вслед за этим появится окно для ввода второго коэффициента уравнения b.

Введем коэффициент b (например –5), как это мы сделали для коэффициента a уравнения. Нажмем кнопку Ok.

Проделаем то же самое, чтобы ввести третий коэффициент уравнения c, например с=6.

После ввода третьего коэффициента уравнения c перед нами появится окно формы, содержащее решение квадратного уравнения, коэффициенты которого мы ввели.

Мы рассмотрели процесс решения квадратного уравнения: x 2 -5x+6=0.

Далее рассмотрим процесс решения второго квадратного уравнения: 10x 2 +5x+200=0.

В окне InputBox вводим значение первого коэффициента уравнения a=10.

Ввод первого коэффициента a завершается нажатием кнопки Ok.

Аналогично в окне InputBox вводим значение второго коэффициента уравнения b=5.

Ввод второго коэффициента b так же завершается нажатием соответствующей кнопки Ok.

Наконец, в окне InputBox вводим значение третьего коэффициента нового уравнения c=200.

Ввод третьего коэффициента c так же завершается нажатием соответствующей кнопки Ok.

И, наконец, рассмотрим процесс решения третьего квадратного уравнения: x 2 -8x+16=0.

Это уравнение имеет двукратный корень, так как его дискриминант d=0. Как и в двух предыдущих случаях, вводим коэффициенты квадратного уравнения. Первым вводим коэффициент a=1.

Далее вводим второй коэффициент уравнения b= –8.

Третий коэффициент уравнения c=16 вводим в последнюю очередь.

В итоге мы должны увидеть правильное решение третьего квадратного уравнения. Действительно последнее уравнение имеет два одинаковых корня.

Рассмотрим использование оператора if на примерах 3 В задачах этой главы мы не будем уделять много внимания интерфейсу создаваемых программ, чтобы у читателя была возможность разобраться в алгоритмах и способах их записи на языке Free Pascal. .

ЗАДАЧА 3.1. Дано вещественное число . Для функции, график которой приведён на рис. 3.10, вычислить .

Аналитически функцию, представленную на рис. 3.10, можно записать так:

y(x) = \begin</p>
4, & x \le -2, \\ x^2, & -2 < x < 1, \\ 1, & x \ge 1. \end

Составим словесный алгоритм решения этой задачи:

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

Блок-схема алгоритма решения задачи 3.1


увеличить изображение
Рис. 3.11. Блок-схема алгоритма решения задачи 3.1

Текст программы на языке Free Pascal будет иметь вид:

Эту программу можно ввести в текстовом редакторе Geany (или в текстовом редакторе Free Pascal) и запустить на выполнение.

ЗАДАЧА 3.2. Даны вещественные числа и . Определить, принадлежит ли точка с координатами заштрихованной части плоскости (рис. 3.12).

Как показано на рис. 3.12, область ограничена линиями и . Значит, точка с координатами будет принадлежать этой области, если будут выполняться следующие условия: и . Иначе точка лежит за пределами области.

Блок-схема, описывающая алгоритм решения данной задачи, представлена на рис. 3.13.

Графическое представление задачи 3.2

Алгоритм решения задачи 3.2

Текст программы к задаче 3.2:

ЗАДАЧА 3.3. Написать программу решения квадратного уравнения ax^2+ bx + c = 0.

Исходные данные: вещественные числа и — коэффициенты квадратного уравнения.

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


увеличить изображение
Рис. 3.14. Алгоритм решения квадратного уравнения

d

Вспомогательные переменные: вещественная переменная , в которой будет храниться дискриминант квадратного уравнения.

Составим словесный алгоритм решения этой задачи.

Блок-схема, соответствующая этому описанию, представлена на рис. 3.14.

Текст программы, которая реализует решение квадратного уравнения:

ax^2 + bx + c = 0

ЗАДАЧА 3.4. Составить программу нахождения действительных и комплексных корней квадратного уравнения .

Исходные данные: вещественные числа и — коэффициенты квадратного уравнения.

Результаты работы программы: вещественные числа и — действительные корни квадратного уравнения — либо и — действительная и мнимая части комплексного числа.

d

Вспомогательные переменные: вещественная переменная , в которой будет храниться дискриминант квадратного уравнения.

Можно выделить следующие этапы решения задачи:

x_1 = \frac<-b+\sqrt<d></p>
>\text < и >x_2 = \frac>

Алгоритм решения задачи 3.4

\frac</p>
+i\frac<\sqrt<|d|>>, \frac-i\frac<\sqrt<|d|>>.

У обоих комплексных корней действительные части одинаковые, а мнимые отличаются знаком. Поэтому можно в переменной x1 хранить действительную часть числа , в переменной x2 — модуль мнимой части /(2a)" />
, а в качестве корней вывести x1+ix2 и x1-ix2 .

На рис. 3.15 изображена блок-схема решения задачи. Блок 1 предназначен для ввода коэффициентов квадратного уравнения. В блоке 2 осуществляется вычисление дискриминанта. Блок 3 осуществляет проверку знака дискриминанта; если дискриминант отрицателен, то корни комплексные, их расчёт происходит в блоке 4 (действительная часть корня записывается в переменную x1 , модуль мнимой — в переменную x2 ), а вывод — в блоке 5 (первый корень x1+ix2 , второй — x1-ix2 ). Если дискриминант положителен, то вычисляются действительные корни уравнения (блоки 6—7) и выводятся на экран (блок 8).

Текст программы, реализующей поставленную задачу:

ax^3 + bx^2 + cx + d = 0

ЗАДАЧА 3.5. Составить программу для решения кубического уравнения .

Кубическое уравнение имеет вид

ax^3 + bx^2 + cx + d = 0
( 3.1)

a

После деления на уравнение (3.1) принимает канонический вид:

x^3 + rx^2 + sx + t = 0
( 3.2)

где . В уравнении (3.2) сделаем замену и получим приведённое уравнение:

y^3 + py + q = 0,
( 3.3)

p = \frac<3s-r^2></p>
, q = \frac<2r^> - \frac+t.

D = (p/3)^3+ (q/2)^2

Число действительных корней приведённого уравнения (3.3) зависит от знака дискриминанта приведённого кубического уравнения (табл. 3.1).

Корни приведённого уравнения могут быть рассчитаны по формулам Кардано:

\beginy_ & = u+v\\ y_ & = \frac>+\fraci\sqrt\\ y_ & = \frac>-\fraci\sqrt \end
( 3.4)

u=\sqrt[</p>
]>, v=\sqrt[]>.

При отрицательном дискриминанте уравнение (3.1) имеет три действительных корня, но они будут вычисляться через вспомогательные комплексные величины. Чтобы избавиться от этого, можно воспользоваться формулами:

\beginy_1&=2\sqrt[3]\cos\left(\frac\right),\\ y_2&=2\sqrt[3]\cos\left(\frac+\frac<2\pi>\right),\\ y_3&=2\sqrt[3]\cos\left(\frac+\frac<4\pi>\right), \end
( 3.5)

\rho =\sqrt<\frac<-p^3></p>
>, \cos(\varphi)=\frac.

Таким образом, при положительном дискриминанте кубического уравнения (3.3) расчёт корней будем вести по формулам (3.4), а при отрицательном — по формулам (3.5).

После расчёта корней приведённого уравнения (3.3) по формулам (3.4) или (3.5) необходимо по формулам

x_</p>
=y_-\frac, k=1,2,3\ldots

перейти к корням заданного кубического уравнения (3.1).

Блок-схема решения кубического уравнения представлена на рис. 3.16.

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


увеличить изображение
Рис. 3.16. Алгоритм решения кубического уравнения

Описание блок-схемы. В блоке 1 вводятся коэффициенты кубического уравнения, в блоках 2—3 рассчитываются коэффициенты канонического и приведённого уравнений. Блок 4 предназначен для вычисления дискриминанта. В блоке 5 проверяется знак дискриминанта кубического уравнения. Если он отрицателен, то корни вычисляются по формулам (3.5) (блоки 6—7). При положительном значении дискриминанта расчёт идет по формулам (3.4) (блок 9, 10). Блоки 8 и 11 предназначены для вывода результатов на экран.

Текст программы с комментариями приведён ниже5 5 При расчёте величин и в программе предусмотрена проверка значения подкоренного выражения. Если \pm \sqrt > 0" />
, то + \sqrt> > 0" />
, а - \sqrt> > 0" />
. Если \pm \sqrt < 0" />
, то + \sqrt> > 0" />
, а - \sqrt> > 0" />
. Соответственно, при нулевом значении подкоренного выражения и обращаются в ноль. .

ax^4 + bx^2+ c = 0

ЗАДАЧА 3.6. Заданы коэффициенты a, b и c биквадратного уравнения . Найти все его действительные корни.

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


Запустите программу на выполнение и решите следующие квадратные уравнения:

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

ПРОГРАММА на БЕЙСИК

PRINT “Количество корней квадратного уравнения“

INPUT “Ввести a, b, c: “, a, b, c

d = b * b – 4 * a * c

IF d > 0 THEN PRINT “2 разных корня“ ELSE PRINT “2 одинаковых корня“

ELSE PRINT “Действительных корней нет“

Запустите программу на выполнение и определите количество корней в следующих квадратных уравнениях:

Задача 3*. Составить блок-схему и программу, определяющие имеет ли квадратное уравнение ax 2 + bx + c = 0 хотя бы один корень, больший числа m .

Запустите программу на выполнение и определите имеется ли корень в следующих квадратных уравнениях:

Задача 1. Определить является ли введенное с клавиатуры число корнем квадратного уравнения ax 2 + bx + c = 0 .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Х1 Х2
1 3,230139 0,1031947
2 1,464102 -5,464102
3 1,106107 -1,356107
4 5 6 1,6
7 2 -1,6
8 9 0,6872614 -1,131706
10 9,486833 -9,486833

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

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

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

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

Задача хорошо знакома из математики. Исходными данными здесь являются коэффициенты a, b, c. Решением в общем случае являются два корня x1 и x2, которые вычисляются по формулам:

Все величины, используемые в этой программе, имеют вещественный тип.

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

вещ a, b, c, x1, x2, d

начввод a, b, c

Кон

Чтобы построить универсальный алгоритм, сначала требуется тщательно проанализировать математическое содержание задачи.

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

если a=0, b=0, c=0, то любое х – решение уравнения;

если a=0, b=0, c¹0, то уравнение решений не имеет;

если a=0, b¹0, то это линейное уравнение, которое имеет одно решение: x=–c/b;

если a¹0 и d=b 2 -4ac³0, то уравнение имеет два вещественных корня (формулы приведены выше);

кв

кв

Кон

В этом алгоритме многократно использована структурная команда ветвления. Общий вид команды ветвления в блок-схемах и на алгоритмическом языке следующий:

еслиусловие то серия 1 иначе серия 2 кв

Вначале проверяется «условие» (вычисляется отношение, логическое выражение). Если условие истинно, то выполняется «серия 1» – последовательность команд, на которую указывает стрелка с надписью «да» (положительная ветвь). В противном случае выполняется «серия 2» (отрицательная ветвь). В АЯ условие записывается после служебного слова «если», положительная ветвь – после слова «то», отрицательная – после слова «иначе». Буквы «кв» обозначают конец ветвления.

Если на ветвях одного ветвления содержатся другие ветвления, то такой алгоритм имеет структуру вложенных ветвлений. Именно такую структуру имеет алгоритм «корни квадратного уравнения». В нем для краткости вместо слов «да» и «нет» использованы соответственно «+» и «–».

Рассмотрим следующую задачу: дано целое положительное число n. Требуется вычислить n! (n-факториал). Вспомним определение факториала.

Ниже приведена блок-схема алгоритма. В нем используются три переменные целого типа: n – аргумент; i – промежуточная переменная; F – результат. Для проверки правильности алгоритма построена трассировочная таблица. В такой таблице для конкретных значений исходных данных по шагам прослеживается изменение переменных, входящих в алгоритм. Данная таблица составлена для случая n=3.

Шаг n F i Условие вывод 1£3, да 2£3, да 3£3, да 4£3, нет

Трассировка доказывает правильность алгоритма. Теперь запишем этот алгоритм на алгоритмическом языке.

алгФакториал

целn, i, F

нач ввод n

F:=1; i:=1

пока i£n, повторять

нц F:=F´i

кц

Кон

Этот алгоритм имеет циклическую структуру. В алгоритме использована структурная команда «цикл-пока», или «цикл с предусловием». Общий вид команды «цикл-пока» в блок-схемах и в АЯ следующий:

пока условие, повторять нц серия кц

Повторяется выполнение серии команд (тела цикла), пока условие цикла истинно. Когда условие становится ложным, цикл заканчивает выполнение. Служебные слова «нц» и «кц» обозначают соответственно начало цикла и конец цикла.

алгквадратное уравнение вещa, b, c, d, x1, x2 нач повторять ввод a, b, c до a¹0 d:=b 2 –4ac если d³0 тоx1:=(–b+Öd)/(2a) x2:=(–b–Öd)/(2a) вывод x1, x2 иначе вывод “нет вещественных корней” кв кон

В общем виде структурная команда «цикл с постусловием» или «цикл-до» представляется так:

повторять серия доусловие

Здесь используется условие окончания цикла. Когда оно становится истинным, цикл заканчивает работу.

Составим алгоритм решения следующей задачи: даны два натуральных числа M и N. Требуется вычислить их наибольший общий делитель – НОД(M,N).

Эта задача решается с помощью метода, известного под названием алгоритма Евклида. Его идея основана на том свойстве, что если M>N, то НОД(M N то M:=M–N иначе N:=N–M кв кц кон

Алгоритм имеет структуру цикла с вложенным ветвлением. Проделайте самостоятельно трассировку этого алгоритма для случая M=18, N=12. В результате получится НОД=6, что, очевидно, верно.

Читайте также: