Составить программу для решения квадратного уравнения ax2 bx c 0 блок схема

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

Пример . Вычисление площади треугольника по трем сторонам a , b , c по формуле Герона:

Блок-схема алгоритма имеет вид:

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

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

Блок-схема алгоритма имеет вид:

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

Пример . Вычисление факториала натурального числа

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

Основные блок-схемы решения линейных и квадратичных задач с параметрами

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

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

Рассматриваются аналитические методы решения ЗсП, сводящиеся к исследованию линейных или квадратных уравнений (неравенств), а также квадратного трехчлена. Такой выбор обусловлен тем, что курс школьной математики ограничен «вглубь», по существу, «теорией квадратичного».

Линейные уравнения

Определение. Уравнение вида ax=b, где a, b принадлежат множеству всех действительных чисел, будем называть стандартным видом линейного уравнения. Всевозможные варианты, возникающие при решении линейных уравнений, отразим в блок–схеме I.

Количество корней линейного уравнения отразим в блок-схеме II:

Пример 1. Для всех действительных значений параметра m решите уравнение m 2 x–2=4x+m.

Решение. Приведем заданное линейное уравнение к стандартному виду:

m 2 x–2=4x+m, m 2 x–4x=m+2, (m 2 –4)x=m+2.(1)

Следуя схеме I, рассмотрим два случая для коэффициента при x:

1)если m 2 – 4 не равно 0, m не равно ±2, то x=(m+2)/(m 2 -4), x=1/(m–2);

а) при m = –2 уравнение (1) примет вид 0х=0, отсюда х – любое действительное число;

б) при m = 2 уравнение (1) примет вид 0х= 4, отсюда следует, что корней нет.

Ответ. Если m 2 то x=1/(m–2); если m= – 2, то x – любое действительное число; если m=2, то корней нет.

Решение квадратного уравнения на Python

Пример 2. При каких значениях параметра k уравнение 2(k–2x)=kx+3 не имеет корней?

Решение. 2(k–2x)=kx+3, (k+4)x=2k–3. В силу схемы II уравнение не имеет корней, если k+4=0 и 2k–3 не равно 0 => k= –4 и k не равно 1,5 => k = –4.

Системы линейных уравнений

Определение 1. Система называется совместной, если она имеет хотя бы одно решение.

Определение 2. Система называется несовместной, если она не имеет ни одного решения.

Количество решений системы линейных уравнений отразим в блок-схеме III.

Замечание. Так как уравнение прямой y=kx+b в общем виде записывается следующим образом ax+by+c=0, то взаимное расположение двух прямых отразим в блок-схеме IV.

Пример. При каких значениях параметра c система из двух уравнений c 2 x+(2–c)y–4=c3 и (2c–1)y+cx+2=c 5 совместна?

Решение. Запишем систему в стандартном виде: c 2 x+(2–c)y=c 3 +4 и cx+(2c–1)y=c 5 –2. Сначала найдем значения c, при которых эта система не имеет решений. В силу схемы III имеем условие,

c 2 /с=(2-с)/(2с–1), с не равно (c 3 +4)/(c 5 –2),

которое равносильно системе из уравнения и неравенства

с=(2–с)/(2с–1) и с не равно (c 3 +4)/(c 5 –2).

Решением системы является с=1. Итак, система имеет решения при всех действительных значениях с, кроме с=1.

Ответ. с — любое действительное число, с не равно 1.

Линейные неравенства

Определение. Неравенство вида ax>b, ax b, ax b, отразим в блок-схеме V.

Пример. Для всех значений параметра m решите неравенство 5x–m>mx–3.

Решение. 5x–m>mx–3, (5–m)x>m–3.

Следуя схеме V, рассмотрим три случая для коэффициента при х:

2)если 5–m 5, то x 2. Откуда следует, что решений нет.

Ответ. Если m (m–3)/(5–m); если m=5, то решений нет; если m>5, то х 2 +bx+c=0, где a, b, c — любые действительные числа, a>0, называется квадратным уравнением относительно действительного переменного x.

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

Пример. При каких значениях параметра c уравнение (c–2)x 2 +2(с–2)x+2=0 не имеет корней?

Решение. Рассмотрим два случая:

1) если с–2 не равно 0, c не равно 2, то D 2 –2(c–2) 2 +(c+4)x+c+7=0 имеет только отрицательные корни?

Решение. В силу условия задачи необходимо рассмотреть два случая (линейный и квадратичный):

1) если c–1=0, c=1, то уравнение примет вид 5x+8=0, x= –5/8 – отрицательный корень;

2) если c–1 не равно 0, c не равно 1, то, следуя схеме VII, получим систему

Решением ее являются промежутки –22/3 2 +bx+c, где a не равно 0, называется квадратичной. График квадратичной функции называется параболой.

Абсциссы точек пересечения параболы y=ax 2 +bx+c с осью (Ox) являются корнями уравнения ax 2 +bx+c=0.

Учитывая это, отразим взаимное расположение параболы и оси (Ox) в следующей схеме:

Замечание. Если уравнение параболы имеет вид y=a(x–p) 2 +q, то (p; q) – координаты вершины параболы.

Пример 1. При каких значениях параметра a вершина параболы y=(x–7a) 2 +a 2 –10+3a лежит в III координатной четверти?

Решение. Пусть (x0, y0) – координаты вершины параболы. В силу замечания имеем x0=7a, y0=a 2 –10+3a. Так как вершина параболы лежит в третьей четверти, то

Пример 2. При каких значениях параметра b график функции y=(4–b 2 )x 2 +2(b+2)x–1 лежит ниже оси (Ox)?

Решение. Рассмотрим два случая.

1) если b=2, то прямая y=8x–1 не лежит ниже оси (Ox);

2) если b= –2, то прямая y= –1 лежит ниже оси (Ox).

2. Пусть 4–b 2 не равно 0. Тогда в соответствии со схемой VIII получим

Объединяя ответы, получим b 2 +bx+c=0. Введем функцию y(x)= ax 2 +bx+c. Тогда расположение корней этого уравнения на числовой оси отразим в блок–схеме IX.

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

Читайте также:
Что такое залогированные программы в компьютере

Пример. При каких значениях параметра a корни уравнения x 2 –2(a+3)x+a 2 +6,25a+8=0 больше 2?

Решение. Введем функцию y(x)=x 2 –2(a+3)x+a 2 +6,25a+8; x0 – абсцисса вершины этой параболы. Так как корни уравнения находятся справа от числа 2, то в соответствии со схемой IX имеем:

Решение. Данная задача равносильна следующей: при каких значениях параметра b система

Решим неравенство (2): 2x 2 –2x–1>0, x1,2=0,5(1±(3) 1/2 ), x 1/2 ) или x>0,5(1+(3) 1/2 ).

Найдем корни уравнения (1): D=(2b–7) 2 , x1=2, x2=2b–5. Поскольку корень x1=2 удовлетворяет неравенству (2), то система имеет одно решение в следующих случаях:

1) если x2=2b–5 не удовлетворяет неравенству (2), то 0,5(1–(3) 1/2 ) 1/2 ) или 0,25(11–O3) 1/2 );

Ответ. 0,25(11–(3) 1/2 ) 1/2 ), b=3,5.

Пример 2. При каких значениях параметра p уравнение 5–4sin 2 x–8cos 2 (x/2)=3p имеет корни?

Решение. Преобразуем заданное уравнение:

5– 4sin 2 x–8cos 2 (x/2)=3p => 5–4(1–cos2x)–4(1+cosx)=3p => 4cos 2 x–4cosx–3p–3=0.

Сделаем замену cosx=t. Тогда заданная задача равносильна следующей: при каких значениях p система

4t2–4t–3p–3=0, (1)
-1 2 –4t–3p–3; t0–вершина этой параболы. В силу схемы IX случаи 1, 2 и 3 описываются следующей совокупностью:

Решение квадратных уравнений на компьютере

-Муниципальное общеобразовательное учреждение
Кувакинская средняя общеобразовательная школа

Учитель информатики МОУ «Кувакинская СОШ»

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

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

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

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

if D 0 then writeln ( ‘x1=’,(-b+sqrt(D))/(2*a)); writeln (‘x2=’, (-b-sqrt(D));

2. РЕШЕНИЕ КВАДРАТНЫХ УРАВНЕНИЙ СРЕДСТВАМИ EXCEL

2.1 Решение квадратных уравнений в Eхcel.

В ячейку А1 набираем фразу «Решение квадратного уравнения вида Ах2+Вх+С=0», и выделяем ячейки строки А от 1 до той которая находится перед пунктирной линией. Форматируем расположение, начертание и размер букв через опцию ЯЧЕЙКИ меню ФОРМАТ. В подпанели Выравнивание устанавливаем значение «Центрировать по выделению».

В подпанели Шрифт — размер и начертание букв (у нашем варианте это полужирный курсив и размер 14). Устанавливаем курсор на ячейке В4 и набираем А=, в ячейке В5 — В=, в ячейке В6 — С=, и производим форматирование по описанному выше методу. Ячейки С4, С5 и С6 выделяем рамкой в подпанели Рамка панели ЯЧЕЙКИ меню ФОРМАТ. Эти ячейки предназначены для ввода в них значений А, В, С.

Набор формулы. В ячейках Е4 и Е6 пишем соответственно х1= и х2=, и форматируем по методу, описанному выше. А в ячейки F4 и F6 записываем формулы так. Сначала ставится равно, потом значение ячейки В5 нажатием на ней мышки, функция Корень вставляется из пункта меню ВСТАВКА — ФУНКЦИЯ. Выбираем из математических функций — КОРЕНЬ.

И нажимаем кнопку Далее — для ввода значения, находящегося под корнем. Следуя формуле дискриминанта вводим B5^2-(4*B4*B6), а общий вид формулы — =(-B5 + КОРЕНЬ(B5^2-(4*B4*B6)))/(2*B4) Такую же формулу вставляем и в ячейку F6, но со знаком минус: =(-B5 — КОРЕНЬ(B5^2-(4*B4*B6)))/(2*B4) Теперь после ввода пользователем значений А, В,С в ячейки В4, В5 и В6, в ячейках F4 и F6 будут выводится соответственно значения х1 и х2.

2.2 Нахождение корней квадратного уравнения с помощью
логических функций.

В ячейку А1 набираем фразу «Решение квадратного уравнения вида Ах2+Вх+С=0»,

В ячейку А2 записываем А=, А3 – В=, в А4 – С=. Ячейки В2. В3, В4 выделяем рамкой.

В ячейки D2, D3, D4 записываем соответственно D=, x1=, x2=.

Напишем формулу для подсчета дискриминанта в информатике =В3*В3+4*В2*В4.

Теперь запишем формулы, используя функцию “ЕСЛИ”:

    Для X1: =ЕСЛИ(E2>0;(-B3-КОРЕНЬ(E2))/(2*B2);ЕСЛИ(E2=0;-(B3)/(2*B2); «корней нет»)) Для X2: =ЕСЛИ(E2>0;(-B3+КОРЕНЬ(E2))/(2*B2);ЕСЛИ(E2=0;-(B3)/(2*B2); «корней нет»))

Решение квадратного уравнения x2-2x+1=0

2.3 Нахождение корней квадратного уравнения с помощью
средства «Поиск решения»

Команда Подбор параметра является удобной для решения задач поиска определенного целевого значения, зависящего от одного неизвестного параметра. Для более сложных задач следует использовать команду Поиск решения (Решатель), доступ к которой реализован через пункт меню Сервис/Поиск решения.

Рассмотрим, как воспользоваться Поиском решения на примере того же квадратного уравнения.

После открытия диалога Поиск решения (рис.9) необходимо выполнить следующие действия:

1) в поле Установить целевую ячейку ввести адрес ячейки, содержащей

формулу для вычисления значений оптимизируемой функции, в нашем примере целевая ячейка – это С4, а

формула в ней имеет вид: = C3^2 — 5*C3 + 6;

2) для максимизации значения целевой ячейки, установить переключатель максимальному значению в положение , для минимизации используется переключатель минимальному значению, в нашем случае устанавливаем переключатель в положение значению и вводим значение 0;

3) в поле Изменяя ячейки ввести адреса изменяемых ячеек, т. е. аргументов целевой функции (С3), разделяя их знаком «;» (или щелкая

Составить программу для решения квадратного уравнения ax2 bx c 0 блок схема

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

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

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

procedure SqRoot(Editi,Edit2,Edit3:tEdit;Label2:tLabel);
var
a,b,c:real;
d:real;
xl,x2:real;
begin
a:=StrToFloat(Editl.text);
b:=StrToFloat(Edit2.text);
с:=StrToFloat(Edj.t3.text);
d:=Sqr(b)-4*a*c;
if d=0 then begin
Label2.color:=clRed;
Label2.font.color:=clRed;
Label2.caption:=’Дискриминант меньше нуля.’+#13+
‘Уравнение не имеет корней.’ end else
begin

х1:=(-b+Sqrt(d))/(2*a);
x2:=(-b-Sqrt(d))/(2*а);

Label2.font.color:=clBlack;
Label 2.caption=’Корни уравнения:’ +#13+’xl=1+FloatToStr(xl)
+#13+’x2=’+FloatToStr(x2);
end;
end.

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

Читайте также:
Программа куклы что где когда

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

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

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

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

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

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

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

  1. ввод коэффициентов исходного уравнения a, b, c;
  2. расчет дискриминанта d=b 2 — 4ac;
  3. анализ знака дискриминанта, вычисление корней уравнения и вывод их на форму, если знак дискриминанта d>0 (положительный);
  4. вывод сообщения: «Решений нет», если знак дискриминанта d 2 -5x+6=0.

Visual basic практическая работа «Решение квадратного уравнения»

Решение квадратного уравнения на языке VB в двух вариантах и рассмотрение блок-схемы решения задачи.

Просмотр содержимого документа
«Visual basic практическая работа «Решение квадратного уравнения»»

Лабораторная работа №1. Решение квадратного уравнения. 1. Вывод результата с помощью оператора Print Решение. Рассмотрим блок-схему решения данной задачи: Программа написана справа от блок-схемы. Private Sub Command1_Click() d = b * b — 4 * a * c X1 = (-b + Sqr(d)) / (2 * a) X2 = (-b — Sqr(d)) / (2 * a) Для выполнения программы нажимает клавишу F5.

Вводим значения коэффициентов a, b, c. Результат работы программы читаем в форме. a=1567, b = -110, c = -15, ответ: x1=0,13904296372987 x2=-6,88451334809872E-02 При вводе десятичных дробей через окно InputBox следует применять запятую.

a=1,5, b = 1, c = -4, ответ: x1 = 1,3333333, x2 = -2 Если запустить программу и ничего не вводить (a=0, b = 0, c = 0), а нажимать ОK (Enter), то появится сообщение об ошибке. Следует нажать кнопку End. 2) Добавление новых элементов в форму Главным объектом среды программирования Visual Basic является форма.

До сих пор на форме мы располагали только одну кнопку, результат читали также на поверхности формы. Инструментальное меню Visual Basic содержит много элементов, которые также можно разместить на форме. Познакомимся поближе со второй строкой этой панели. Буква А означает надпись. При наведении на неё курсора появляется слово Label (читается лэйбл, переводится этикетка, надпись).

На форме надпись будет растягиваться аналогично командной кнопке — в виде прямоугольника. В неё мы будем печатать поясняющие надписи. Справа от неё находится кнопка текстовое окно TextBox (читается ТекстБокс, текстовая панель). В текстовое окно можно вводить и выводить информацию (числа, слова).

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

Методом растягивания, перетаскивания и изменения размеров создайте форму с кнопкой, четырьмя лейблами, и четырьмя текстовыми окнами. Изменение свойств формы Щелкнем на свободном месте формы. Она будет ограничена квадратными маркерами по восьми направлениям изменения размеров формы.

Справа активизировалась панель свойств этой формы – Properties – Form1 (читается пропетиз фом ван, переводится свойства формы один). В этом окне слева расположены названия свойств, а справа их значения. Значения мы можем менять по своему усмотрению. Названия свойств являются ключевыми словами языка VB, их постепенно надо запоминать. Нам надо изменить текст в заголовке формы.

Изменение текста заголовка формы выполняется в строке Caption (произносится — кэпшн, переводится заголовок). Щелкаем мышкой по этому свойству, печатаем – Решение квадратного уравнения, нажимаем Enter. Текст появляется в заголовке формы. Изменим цвет формы. Для этого в свойствах находим строку BackColor (бэк колор, задний цвет).

На вкладке Palette (палетте, палитра) выбираем нужный нам цвет для формы, щелкнув по нему указателем мыши. Выделяем командную кнопку и в разделе свойств Caption печатаем Вычислить. Выделяет объект Label1. В разделе свойств Caption печатаем а =. Переходим к свойству Alignment (читается — элайнмент, переводится выравнивание).

Раскрываем список этой строки и выбираем выравнивание по правому краю 1. Right Justify (Райт джустифай, правое, если много текста, то левая и правая границы выровнены). Можно было нажать клавишу с цифрой 1. Свойство Font (фонт, вид шрифта) позволит нам настроить вид символов. В диалоговом окне можно выбрать тип шрифта, начертание (обычный, курсив, полужирный) и размер 14.

Сделайте так, чтобы текст а = выглядел как а =. “это достигается применением шрифта Times New Roman (Таймс Нью Роман) Аналогично меняем содержимое объектов Label2, Label3. В свойстве Caption объекта Label4 записываем Ответ: В свойствах текстового окна Text1 находим строку Text.

Стираем существующую надпись, можно пробелом, и подтверждаем изменение клавишей Enter или щелчком мыши на другом объекте. Аналогично поступаем с остальными текстовыми окнами. Форма готова. Точечная запись — в качестве переменной Объектно-ориентированные языки программирования работают с объектами.

В качестве объекта может быть форма, командная кнопка, надпись, текстовое окно и др. Каждый из этих объектов имеет свойства. Эти свойства можно менять по нашему усмотрению либо на Панели свойств (Properties), либо из программы.

Для того, чтобы изменить свойства из программы, точнее, иметь доступ к свойствам объекта их командной строки, нужно указать название объекта и через точку свойство. Например, чтобы иметь доступ к содержимому первого текстового окна нашего проекта по свойству Text, надо сделать запись: Text1.

Text. –(в программном коде) Такая запись может использоваться в качестве переменной. Свойство может содержать какое-либо значение. Это значение мы можем записать при запуске программы, или программист, при составлении программы, поместит в него какое-нибудь значение.

Читайте также:
Как запустить программу Mac OS на linux

Сравните две строки: Text1.Text = “5” — эта строка помещает значение 5 в текстовое окно Text1. a= Text1.Text — эта строка присваивает переменной a содержимое текстовой строки. Если в текстовом окне ничего нет, то Visual Basic помещает в него специальное значение Null. Это ни нуль, не пробел, а пустое место.

для этой формы будет выглядеть так: Private Sub Command1_Click() d = b * b — 4 * a * c X1 = (-b + Sqr(d)) / (2 * a) X2 = (-b — Sqr(d)) / (2 * a) Text4.Text = “x1=” “ x2=” источники:»] http://multiurok.ru/files/visual-basic-praktichieskaia-rabota-rieshieniie-kv.html http://dit.isuct.ru/IVT/sitanov/Literatura/InformLes/Pages/Glava6_2.htm [/spoiler]

Свежие записи

  • Сера — химические свойства, получение, соединения.
  • Нитрат кальция: способы получения и химические свойства
  • Кальций: способы получения и химические свойства
  • Гидроксид натрия: способы получения и химические свойства
  • Гидроксид кальция: способы получения и химические свойства

Источник: al-shell.ru

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

Задача хорошо знакома из математики. Исходными данными здесь являются коэффициенты 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, то уравнение имеет два вещественных корня (формулы приведены выше);

Этот же алгоритм на алгоритмическом языке:

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

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

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

если a=0

то если b=0

то если c=0

то вывод «любое х – решение»

иначе вывод «нет решений»

кв

иначе x:= –c/b

кв

иначеd:=b2–4ac

если d

то вывод «нет вещественных корней»

иначе x1:=(-b+Öd)/(2a); x2:=(-b–Öd)/(2a)

вывод “x1=”,x1, “x2=”,x2

кв

кв

Кон

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

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

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

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

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

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

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

целn, i, F

нач ввод n

F:=1; i:=1

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

нц F:=F´i

кц

Кон

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

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

Цикл с предусловием – это основная, но не единственная форма организации циклических алгоритмов. Другим вариантом является цикл с постусловием. Вернемся к алгоритму решения квадратного уравнения. К нему можно подойти с такой позиции: если a=0, то это уже не квадратное уравнение и его можно не рассматривать.

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

алгквадратное уравнение вещ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).

1) если числа равны, то взять их общее значение в качестве ответа; в противном случае продолжить выполнение алгоритма;

2) определить большее из чисел;

3) заменить большее число разностью большего и меньшего значений;

4) вернуться к выполнению пункта 1.

Блок-схема и алгоритм на АЯ будут следующими:

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

Популярное:

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

Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы.

Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение.

Почему 1285321 студент выбрали МегаОбучалку.

Система поиска информации

Источник: megaobuchalka.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru