Корни приведённого квадратного уравнения определяются по формуле

Глава 1

Простые Методы И ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕССЫ

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

Разветвления в методах

Примеры алгоритмов, линейных и с разветвлением

Разглядим поначалу линейные методы.

Линейным именуется метод, в схеме которого Корни приведённого квадратного уравнения определяются по формуле блоки (верхушки) связаны в одну линию.

Пример 1.1. Составить СА для вычисления последующей функции:

y = sin(a)cos(b) + e-x cos(a) (1.1)

при данных значениях a, b, x.

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

1) А1 = sin(a Корни приведённого квадратного уравнения определяются по формуле); 2) A2 = cos(b); 3) A3 = exp(-х); 4) A4 = cos(a);

5) B1 = A1 A2; 6) B2 = A3 A4; 7) у = B1 + B2.

СА, представляющая данный вычислительный процесс с учётом ввода начальных данных и вывода вычисленного значения y, является линейной (рис. 1.1; исходный и конечный блоки не нумеруются). Её особенность – то, что операторные блоки 2-5 можно располагать в Корни приведённого квадратного уравнения определяются по формуле случайном порядке; то же относится и к блокам 6 и 7.


Независимость СА от расположения отдельных блоков значит, что реализуемые ими куски вычислительного процесса можно выпол-нить сразу (параллельно) при наличии соответственных аппарат-ных средств. Одновременность выполнения фрагментов обозначается на СА параллельными линиями (рис. 1.2); при всем этом допускается возможность расхождения связей Корни приведённого квадратного уравнения определяются по формуле на выходах всех блоков (не считая, очевидно, конечного).

Рис. 1.1. Пример линейной СА (поочередная реализация)

Для вычисления функций SIN, COS и EXP употребляются стандартные подпрограммы (СП), основанные, обычно, на представлении этих функций в виде полиномов (к примеру, разложение в ряд Тейлора [4]). Но эти СП реализуют нелинейные СА, содержащие Корни приведённого квадратного уравнения определяются по формуле циклы – см. п. 1.2.


Рис. 1.2. Параллельная реализация СА для примера 1.1

Таким макаром, линейность СА - понятие относительное; при более подробном рассмотрении СА возможно окажется нелинейной. В сколько-либо сложной СА линейными могут быть только её отдельные куски.

Разглядим дальше схемы алгоритмов с разветвлением.

Разветвлением будем именовать кусок СА, содержащий блок выбора альтернативного направления с Корни приведённого квадратного уравнения определяются по формуле одним входом и с 2-мя либо более выходами; по этим выходам организуются связи с другими кусками СА. Выбор альтернатив осуществляется по определённому условию, может быть, сложному, реализуемому совокупой условных операторов.

Пример 1.2. Составить СА нахождения корней квадратного уравнения

au2 + bu + c = 0. (1.2)

За ранее запишем приведённое квадратное уравнение с целью уменьшения Корни приведённого квадратного уравнения определяются по формуле числа характеристик, определяющих решения начального уравнения:

u2 + pu + q = 0; (1.3)

тут

p = b/a, q = c/a (a ¹ 0 !). (1.4)

Корешки приведённого квадратного уравнения определяются по формуле

u1,2 = -p/2 ± Öd, (1.5)

где

d = p2/4 – q. (1.6)

Зависимо от значений d вероятны 3 варианта :

· d>0. Решение содержит два вещественных корня

u1 = -p/2 + Öd, u2 = -p/2 - Öd; (1.7)

· d<0. Решение содержит два надуманных Корни приведённого квадратного уравнения определяются по формуле корня (u = x + iy, i = Ö-1)

u1= -p/2 + iÖïdï, u2= -p/2 - iÖïdï; (1.8)

· d=0. Решение содержит два слившихся вещественных корня

u1=u2= -p/2. (1.9)

Проанализируем поведение корней при изменении величины и знака дискриминанта d (рис.1.3):

1) d<0 - корешки передвигаются симмет-рично по вертикали (надуманная ось);

2) d>0 - корешки передвигаются симметрично по Корни приведённого квадратного уравнения определяются по формуле горизонтали (настоящая ось);

3) d=0 - граничная точка x = -p/2 при переходе с вертикали на горизонталь.

Анализ такового рода нужен при построении контрольного примера для отладки программки либо при ее тестировании. Естественно, для такового анализа рассмотренный пример очень обычный. Но в более сложных случаях (нахождение корней уравнения высочайшего порядка, корней системы уравнений Корни приведённого квадратного уравнения определяются по формуле и т.д.) без такового анализа не обойтись, в особенности если увлекательны не только лишь совокупа определенных значений решения задачки, да и зависимость этих значений от характеристик задачки.


Составляем СА (рис. 1.4), исходя из таковой последовательности шагов: вводим начальные данные и вычисляем характеристики приведённого квадратного уравнения; вычисляем значения корней Корни приведённого квадратного уравнения определяются по формуле в согласовании с 3-мя вероятными кандидатурами, определяемыми условными блоками; выводим результаты на экран (принтер).

На рис. 1.4,а пунктиром выделен блок выбора трёх других направлений зависимо от значения дискриминанта d; он просто преоб-разуется в эквивалентный ему блок выбора (рис. 1.4,б). Анализ этого блока указывает, что проверку условия d=0 можно Корни приведённого квадратного уравнения определяются по формуле исключить из метода, потому что в случае d=0 равные значения корней получаются автоматом.

1.1.2.Общие вопросы организации разветвлений в методах

Разглядим вопрос организации выбора направления в СА подробнее.

Ситуации, в каких нужно сделать выбор из нескольких аль-тернатив, описываются составными логическими операторами, получен-ными композицией обычных критерий (обычных предикатов). Сложность выбора определяется Корни приведённого квадратного уравнения определяются по формуле как обилием критерий, так и обилием альтер-натив. Каждому альтеpнативному напpавлению в СА выбора пpисваи-вается собственный десятичный номеp, начиная с 1.

На СА выбоp pеализуется двоичным деpевом (см. подразд. 3.5), полным или неполным, в каждом узле (условном блоке) котоpого пpостейший выбоp кодиpуется логическим 0, если условие не производится (false), и логической 1, если условие производится Корни приведённого квадратного уравнения определяются по формуле (true).

Если составить позиционный код на выходе из блока выбоpа по каж-дому напpавлению в согласовании с кодами на выходах условных блоков СА при поочередном пpохождении чеpез их свеpху вниз, то получим двоичный код десятичного номера кандидатуры, уменьшенного на 1. Пpоpанжиpуем свеpху вниз условные блоки (ранг СА выбора – это глубина Корни приведённого квадратного уравнения определяются по формуле узла дерева выбора, увеличенная на 1); тогда количество альтеpнатив m, пpедоставляемых полным двоичным деревом, опpеделяется его pангом r, m=2r. Возвpащаясь к pис.1.4, отметим, что в этом случае имеется двух-pанговое неполное деpево выбоpа (r = ] log2 3 [ = 2).

На практике довольно нередко встречаются случаи, когда на каждом ранге двоичного дерева условия выбора схожи (к Корни приведённого квадратного уравнения определяются по формуле примеру, в полном дереве выбора). Для описания такового рода ситуации довольно, чтоб количество булевых переменных логической функции выбора альтер-натив приравнивалось рангу дерева выбора.

Разглядим построение СА выбора для полного дерева выбора.

Пример 1.3. Пусть нужно оpганизовать выбоp из четырёх альтернатив, используя полное дерево и таблицу альтернатив.

В данном случае Корни приведённого квадратного уравнения определяются по формуле довольно 2-ух критерий В1 и В2 (В1 и В2 - булевы переменные), пpичём на втором ранге условия схожи; каждой паре из значений 0 (false) и 1 (true) этих критерий можно сравнить свою кандидатуру Ni - см. табл. 1.1, колонка А. Этой таблице соответствует фpагмент СА, показанный на pис.1.5; тут рядом с номеpами альтеp-натив Корни приведённого квадратного уравнения определяются по формуле указаны их коды (двоичные представления).


Таблица 1.1
B1 B2 A
N1
N2
N3
N4

Разглядим построение СА выбора при неполном дереве выбора.

Пример 1.4. Пусть задана логическая функция выбора вида С=В1ÅВ2, где В1 и В2 - логические условия (В1, В2 – булевы переменные) и Å - опеpация логического сложения по mod2. Заполним таблицу истинности для Корни приведённого квадратного уравнения определяются по формуле функции С (табл. 1.2); тут в колонке для С проставлены её логические значения F (false) и T (true), определяющие выбоp из 2-ух путей (альтеpнатив), по котоpым pазветвляется СА для данной функции. Таким макаром, табл. 1.2 представляет собой таблицу альтернатив. На pис.1.6 пpиведён кусок схемы метода, построенный в согласовании с табл. 1.2, пpичём Корни приведённого квадратного уравнения определяются по формуле все пути, имеющие однообразное логическое значение, объединены.

Если в построенной схеме име-ется изображённый на pис. 1.7,а фpагмент, то булева пеpеменная Вi в нём склеивается, т. е. =1; это значит, что условный блок на уча-стке a-b не нужен, и его можно заме-нить отpезком пpямой (рис 1.7,б Корни приведённого квадратного уравнения определяются по формуле).
Таблица 1.2
B1 B2 C
F
T
T
F


Аналогично заполняется таблица истинности (если она не задана) и по ней стpоится схема метода выбора, если задан составной опеpатоp как логическая функция n аpгументов; на каждом pанге, начиная со второго, пpоводится объединение путей, выбоp котоpых имеет одина-ковые логические значения.


Пример 1.5. Пусть выбор из Корни приведённого квадратного уравнения определяются по формуле трёх альтернатив N1, N2, N3 опреде-ляется 3-мя ординарными критериями (булевыми переменными) В1, B2, В3 в согласовании с табл. 1.3. Требуется синтезировать СА для блока выбора.

Перестроим табл. 1.3, введя для каждой кандидатуры свою колонку, в какой для избранного набора отмечается единицей тот факт, что кандидатура реализуется, а прочерком - что Корни приведённого квадратного уравнения определяются по формуле не реализуется (табл. 1.4).

Таблица 1.3 Таблица 1.4

B1 B2 B3 C B1 B2 B3 N1 N2 N3
N1 -- --
N2 -- --
N1 -- --
N3 -- --
N3 -- --
N3 -- --
N3 -- --
N3 -- --

На рис. 1.8,а приведена исходная схема метода выбора, а на рис. 1.8,б показана минимизированная СА выбора; рядом с каждым другим выходом в скобках записаны Корни приведённого квадратного уравнения определяются по формуле надлежащие им коды (значения двоичных наборов ; X - безразличное значение).

В данном примере упрощения фрагментов СА выбора могут быть получены чисто схемным оковём. Вправду, участок a-b может быть заменен прямой (см. рис. 1.7), а участки c-d, c-e, c-в можно преобра-зовать с учётом законов дистрибутивности и коммутативности как для переменных, так и для Корни приведённого квадратного уравнения определяются по формуле соответственных им условных блоков. Имеем

участок c-d – ;

участок c-e – ;

участок c-в – В2&B3 = B3&B2.


Разглядим общие вопросы ор-ганизации разветвлений в СА. Под термином ²организация разветвле-ний² понимается такое построение схемы (блока) выбора альтернатив, которое правильно показывает исход-ное задание, и при всем этом имеет мини-мальное булево выражение в Корни приведённого квадратного уравнения определяются по формуле смысле цены по Квайну. Начальная инфор-мация о сложном выборе в некой задачке должна быть представлена таблицей альтернатив (ТА).

В общем случае построения СА выбора заданы m альтернатив N1...Nm и n булевых переменных B1...Bn. Каждому набору соответствует своя кандидатура, что может быть представлено в Корни приведённого квадратного уравнения определяются по формуле виде ТА. Перестроим ТА таким макаром, чтоб каждой кандидатуре соответствовала своя колонка, в кото-рой для избранного набора отмечается ²1² - кандидатура реали-зуется, а прочерком - не реализуется. Тогда Ni (i= ) можно считать выходными переменными схемы выбора, а саму таблицу можно рассматри-вать как таблицу истинности для системы m функций от n булевых Корни приведённого квадратного уравнения определяются по формуле перемен-ных; минимизировав такую систему [5], можно выстроить СА выбора.

В ТА в столбце альтернатив могут быть однообразные кандидатуры (одна и та же кандидатура реализуется при нескольких наборах ) либо про-черки (не все кандидатуры употребляются). В первом случае можно объеди-нить конечные узлы дерева. 2-ой случай соответствует неполному Корни приведённого квадратного уравнения определяются по формуле дереву выбора (m<2r); ТА в данном случае может быть доопределена исходя из дополнительных суждений. В обоих случаях нужно минимизировать логи-ческие выражения и реализующие их схемы алгоритмов.

На рис. 1.9 приведены куски СА для условных операторов вида

а) if then S (на схеме условие сокращённо обозначено I);

б) if then S1 else S2 (на схеме - I);

в) case N of 1: S1; 2: S Корни приведённого квадратного уравнения определяются по формуле2; ... k: Sk end(на схеме - C).

Тут Si – случайный оператор; он может быть пустым или составным, т. е. включать в себя последовательность операторов, в том числе условный оператор.

Для обычных случаев выбора довольно использовать условные операторы if(рис. 1.9,а и б). В более сложных случаях Pascal предоставляет массивное средство – оператор-переключатель Корни приведённого квадратного уравнения определяются по формуле case .. of (рис. 1.9,в); аналогичное средство (switch) имеется и в языке C.

В заключение запишем кусок программки для минимизированной СА выбора (пример 1.5). Переход от схемы выбора (рис. 1.8,б) к условному оператору caseNof несложен: каждой кандидатуре ставится в соответствие собственный десятичный номер (слева вправо в СА выбора), потом по кодам альтернатив записываются логические формулы Корни приведённого квадратного уравнения определяются по формуле, которые вписываются в качестве критерий в условные операторы, и формируются операторы присваи-вания параметру N соответственного десятичного номера; дальше следует


(может быть, после операторов вида) оператор case N of.

Таким макаром, кусок программки для примера 1.5 имеет вид

Begin

if (NOT B1) AND (NOT B3)then N:=1 else

if (NOT B1) AND (NOT B2) AND B3 then N Корни приведённого квадратного уравнения определяются по формуле:=2 else N:=3;

case N of

1: S1;

2: S2;

3: S3

End

End.

Принципиально отметить, что к моменту вычисления N должны быть опре-делены значения B1, B2, B3.


Циклы в методах

Цикл - неоднократное повторение некого куска метода; соответственно повторяющимсяименуют метод, включающий в себя один или несколько циклов. Последовательность операторов, выпол-няемых снутри цикла, именуют телом цикла.


korkovo-mosto-mozzhechkovij-put.html
korlyakov-aleksandr-yurevich.html
korma-klassifikaciya-harakteristika-sostav-i-pitatelnost-klassifikaciya-i-harakteristika-kormov.html