Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Условный оператор






Алгоритмические структуры «выбор» и «ветвление».

 

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

Но линейных алгоритмов, как правило, недостаточно для реализации какой-то более сложной задачи. К примеру, требуется программа, запрашивающая у пользователя 2 числа и вычисляющая их частное (т.е. выполняющая деление одного числа на другое). Всё бы ничего, но если второе число будет нулём? В результате выполнения деления возникнет ошибка и программа экстренно закончит свою работу. Как же быть? В этом случае нужен другой алгоритм - алгоритм с ветвлениями.

Ветвления (выбор) используются для выбора одного из нескольких направлений дальнейшего хода программы. Для нашего примера перед делением будет выбор из двух направлений - если исходные данные верны (т.е. второе число - не 0), то выполняется деление и выдаётся результат; но если второе число - 0, то деление выполнено не будет, а взамен, к примеру, пользователю будет выдано сообщение об ошибке.

Мы рассмотрим два типа ветвления - с помощью условного оператора и оператора выбора.

 

Условный оператор

Условный оператор, который называется IF (англ. " если") используется для выбора одного из двух направлений хода программы. Выбор последовательности инструкций осуществляется во время выполнения программы в зависимости от выполнения условия.

Общий синтаксис условного оператора IF:

 

if {условие} then
{последовательность команд}

THEN - англ. " тогда". Таким образом, строка вполне переводима и на русский язык: " Если условие выполняется, тогда сделать что-то..."

Здесь условие - выражение логического. Если выражение является истинным (True), т.е. условие выполняется, то выполняется последовательность команд, указанная после THEN. Если же условие не выполняется, данный блок пропускается. В случае, если команд, ассоциированных с условием, несколько, то они заключаются в BEGIN... END:

 

if {условие} then
begin
Команда 1;
Команда 2;
Команда 3
end;

 

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

Полная форма даёт возможность указать две последовательности команд: одну - для случая, если условие выполняется, а другую - если не выполняется. Третьего не дано... Синтаксис:

 

if {условие} then
{команды, если условие выполняется}
else
{команды, если условие не выполняется}

ELSE - англ. " иначе, в противном случае": " Если условие выполняется, то сделать что-то, а в противном случае сделать что-то другое".
Аналогично, если требуется выполнить несколько команд, они заключаются в BEGIN... END:

 

if {условие} then
begin
{...}
{команды, если условие выполняется}
{...}
end
else
begin
{...}
{команды, если условие не выполняется}
{...}
end;

 

Ниже приведена блок схема данного алгоритма:

 

 

Составим программу для нашего примера, для чего выполним проект «Частное двух чисел».

 

Проект «Частное двух чисел»

Требуется программа, запрашивающая у пользователя 2 числа и вычисляющая их частное.

Для этого запустим Delphi и создадим новый проект:

 

 

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

 

 

Двойным нажатием на кнопку «Выполнить» мы перейдем в окно записи процедуры обработки, которую будет выполнять данная кнопка при нажатии на нее. Наберём следующий код:

 

procedure TForm1.Button1Click(Sender: TObject);

begin

var a, b, c: real;

begin

a: =StrToInt(Edit1.Text);

b: =StrToInt(Edit2.Text);

if b=0 then Edit3.Text: ='На 0 делить нельзя'

Else

Begin

c: =a/b;

Edit3.Text: =IntToStr(c);

end;

end;

 

end.

 

Расшифровав данный код, получим: если b равно 0 то выведется запись «На 0 делить нельзя», в противном случае находится частное a/b и выводится в поле Edit3.

Программа дана в «Приложении №1», в папке «Условный оператор».

 

Задание для самостоятельной работы:

Написать программу нахождения корней квадратного уравнения вида: a*x2+b*x+c=0. Напомним, что x1, x2

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.