yandex rtb 1
ГоловнаЗворотній зв'язок
yande share

Основы программирования

4. ВЕТВЛЕНИЯ

1. Составная команда. Составная команда - это конструкция такого вида:

begin

             <команда 1>;

                        …

                         <команда n>;

           end;

 

Составную команду компилятор рассматривает как одну ко­манду. На это свойство следует обратить особое внимание.

Замечание. Запись begin end; или ;; называется пустой командой

В дальнейшем под командой будем понимать пустую, простую или составную команду.

2. Логическое выражение - это способ записи на языке программирования условий для поиска необходимых данных. Логическое выражение может принимать значения true(истина) или(истина) или false (ложь). Логические выражения бывают простые и сложные. Простое выражение - это два арифметических выражения, соединенных символом отношения, а сложное - это простые логические выражения, соединенные логическими операциями not, and или or. Приоритет выполнения логических операций такой:

1) not,                         2) and,                                   3)ог.

Ниже приведены определения логических операций..

Выражение

 

Значение

 

Выражение

 

Значение

 

not true

 

false

 

not false

 

true

 

true and true

 

true

 

true or true

 

true

 

true and false

 

false

 

false or true

 

true

 

false and true

 

false

 

true or false

 

true

 

false and false

 

false

 

false or false

 

false

 

 

Пример. Пусть х = 3, у = -9. Рассмотрим некоторые логические выражения и их значения.

Простые выражения

 

Значения

 

Сложные выражения

 

Значения

 

x = 3

 

true

 

not (у <= -50)

 

true

 

х > у

 

true

 

(1 < x) and (х < 5)

 

true

 

7 mod 3 = 1

 

true

 

> 4) or (у < -15)

 

false

 

у div 2 = 4

 

false

 

> 4) or (у > -15)

 

true

 

Двойное неравенство 1 < х < 5 как сложное логическое выражение записывают так:

(1 < х) and (х < 5). Совокупность неравенств вида х < 1; х > 5 так: (х < 1) or (х > 5). Простые логические выражения, из которых состоят сложные, всегда берут в круглые скобки.

3. Команда ветвления if. Команду ветвления if иначе называют условной командой. Она имеет две формы: полную и короткую.

Полная форма команды ветвления выглядит так:

if <логическое выражение>

 

then <команда 1>

 else <команда 2>;

 

Действие команды. Если логическое выражение истинно, то выполняется команда 1, в противном случае - команда 2. Команды 1 и 2 могут быть простыми или составными.

 

Пример. Пусть х = 9. Тогда в результате выполнения команд

if х > 7 then у := х * х else у := sin(x);

if х < 5 then z := exp(x) else z := sqrt(x);

получим у = 81, z = 3.

Пример. Пусть а = 5. Тогда в результате выполнения команд

if a < 7 then

begin

b:=a-2;

с:= 1 + 2 *а

end

 else

begin

b:=2 + 5*a;

с := 12 - 4 * (a - 3)

end;

получим b = 3, с = 11.

Задание 1. Вычислите значения b и с, если а = 8,

Задача 1. Вычислить и вывести значения сложной функции у

в некоторой заданной пользователем точке х, если

       ,   x<-1,

y=   sin(x),    <1,

       cos(x),   

program Myfunction;

uses Crt;

var х, у : real;

begin

clrscr;

writeln('Введите х');

readln(x);

if x < -1 then у := ln(abs(x)) else

if (x >= -1) and (x < 1) then у :=sin(x)

                                        else у :=cos(x)

 

writeln(‘x =’, x:5:2, ‘   у =’, y:5:2);

readln

end.

 

Замечание. В команде if перед служебным словом else символ «;» не ставится,

'

Задание 2. Решить задачу № За своего варианта.

Задание 3. Решить задачу № 3б своего варианта.

2. Короткая форма команды ветвления if выглядит так:

if <логическое выражение> then <команда

Действие команды. Если логическое выражение истинно, то выполняется команда 1, иначе выполняется команда, Которая находится после данной конструкции.

Пример. Пусть х = 25. Тогда в результате выполнения команд

if х > 12 then у := 2 * х; z := 10;

 if х < 5 then z := 10 + х / 2;

получим у = 50, z = 10.

Задание 4. Решить задачу № 36 своего варианта, используя короткую форму команды ветвления.

4. Команда goto. Команда goto - это команда безусловного перехода. Она предназначена для изменения последовательности выполнения команд в программе путём передачи управления некоторой команде с меткой. Команда имеет вид

goto <метка>;

Метка может стоять перед любой командой в программе. Она отделяется от команды двоеточием (:)

<метка> : <команда>;

Метки нужно заранее объявить в разделе label:

label <список меток>;

Метка может быть идентификатором или числом от 0 до 9999.

Задача 2. Ввести несколько вариантов значений коэффициентов квадратного уравнения ах2 + bх + с =* 0, а ¹ 0. Вывести сообщение о наличии действительных корней для каждого варианта.

 

program Uravnenia;

uses Crt;

label 99, finish;

var a, b, c, d, x, у : real;

begin

clrscr; -,

99: writeln(‘Введите коэффициенты квадратного уравнения’);

readln(a, b, с);

if a = 0 then goto finish;

d:=b*b-4*a*c;

if d >= 0 then writeln(‘Данное уравнение имеет

действительные корни’)

else

    begin

writeln(‘Данные введены некорректно’);

writeln(‘Уравнение действительных решений не

имеет’);

goto 99;

end;

finish: readln

end.

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

 

9