Ветвление в алгоритмах и программах Алгоритм вычисления корней квадратного уравнения начало a,b,c≠0 d:=b*b-4*a*c нет нет d=0 x1:=(-b+sqrt(d))/(2*a) x2:=(-b-sqrt(d))/(2*a) d<0 да да корней нет x:=(-b)/(2*a) x x1,x2 конец Программный код в Делфи a:=strtofloat(edit1.text); b:=strtofloat(edit2.text); c:=strtofloat(edit3.text); d:=sqr(b)-4*a*c; if d<0 then label1.visible:=true else if d=0 then edit4.text:=floattostr((-b)/(2*a)) else begin edit5.text:=floattostr((-b+sqrt(d))/(2*a)); edit5.text:=floattostr((-b+sqrt(d))/(2*a)); end; Полное ветвление Программный код Блок-схема нет Действие 2 условие да Действие 1 If <условие> then <действие 1> else <действие 2>; Полное ветвление Программный код Блок-схема нет условие да Действие 3 Действие 1 Действие 4 Действие 2 If <условие> then begin <действие <действие end else begin <действие <действие end; 1>; 2>; 3>; 4>; Неполное ветвление Программный код Блок-схема нет условие да Действие 1 If <условие> then <действие 1>; Неполное ветвление Программный код Блок-схема нет условие да Действие 1 Действие 2 If <условие> then begin <действие 1>; <действие 2>; end; ВНИМАНИЕ перед ELSE ставить точку с запятой нельзя; Если после ключевых слов THEN и ELSE по одной команде, то операторные скобки begin..end можно не ставить. Реализация в Делфи Переключатель RadioButton1 Флажок CheckBox1 Реализация в Делфи Переключатель If RadioButton1.checked Then <действие 1> Else If RadioButton2.checked Then <действие 2> Else <действие 3>; Флажок If CheckBox1. checked Then < действие 1>; If CheckBox1. checked Then < действие 2>; If CheckBox1. checked Then < действие 3> Else <действие 4>; ВНИМАНИЕ Переключатель используется только тогда, когда нужно выбрать один и только один вариант из нескольких возможных Для обработки состояния переключателей в процедуру включать команды ветвления, вложенные одна в одну Флажок используется тогда, когда может быть выбран один, или несколько, или ни одного из предложенных вариантов Для обработки состояния флажков в процедуру включать команды ветвления, которые независимы одна от одной. ПРИМЕР procedure TForm1.Button1Click(Sender: TObject); begin if RadioButton1.Checked then form1.Color:=clred else if RadioButton2.Checked then form1.Color:=clblue else if RadioButton3.Checked then form1.Color:=clwhite else form1.Color:=clgray; if CheckBox1.Checked then form1.Caption:=‘Новое название'; if CheckBox2.Checked then form1.Height:=350; if CheckBox3.Checked then Label1.Visible:=true; end; Домашнее задание § 2.8, данную презентацию можно скачать по известному вам адресу Знать принципы построения команды ветвления и реализацию в блок-схемах Выполнить задания 1(блок-схема) и 6(блок-схема похожего алгоритма есть в тетрадях)