Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
билеты мини.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
154 Кб
Скачать
☆

Вопрос 14. Отношения и булевские выражения. Сокращенные вычисления.

Оператор отношения – оператор который сравнивает свои операнды. Выражение отношения состоит из 2х операндов и оператора отношения. Значение выражения отношения принадлежит типу bool.

Операция

Pascal

ADA

C

Fortran 77

Равно

=

=

=

.EQ.

Не равно

<>

/=

!=

.NE.

Больше

>

>

>

.GT.

Меньше

<

<

<

.LT.

Больше равно

>=

>=

>=

.GE.

Меньше равно

<=

<=

<=

.LE.

Пример: a>b; c!=d;

Логические операторы

&&

И (and)

||

ИЛИ(or)

!

НЕ(not)

Пример: a>b and a<c or k=0

Операторы отношения имеют наименьший приоритет выполнения.

Сокращенное вычисление.

Сокращенное вычисление – это ситуации, когда мы получаем значение выражения не выполняя всех предписанных операций.

Пример(13*A)/(B+C/D)=0 при А=0, нет смысла производить дальнейшее вычисление т.к. результат деления на ноль равен нулю.

(A>=0)and(C<S) при A=-10, значение будет false.

Вопрос 15. Операторы присваивания.

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

<целевая переменная><знак оператора присваивания><выражение>

Оператор

Назначение

=

Сохранение значения второго операнда в объект, указанный первым операндом (простое присваивание).

*=

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

/=

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

%=

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

+=

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

–=

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

Операторы присваивания бывают:

  1. Простой оператор присваивания записывается так:

переменная = выражение;

  1. Составной оператор – позволяет задавать в сокращенном виде те или иные формы операторов присваивания.

s += 5; тоже самое, что s = s + 5;

  1. Унарный оператор присваивания

s=++c

Вопрос 16.Структура операторов управления. Составной оператор и оператор ветвления (2 варианта).

Структура операторов управления.

Управляющая структура

Оператор языка Object Pascal

Пример

Последовательность    

A; B; Сначала выполняется A, затемB. A, B – операторы обработки информации

readln(x); y:= x;

Если_То_Иначе   

if P then A else B; Если значение логического выражения P истинно, то выполняется A, иначе – B.

if x>0 then y:= 1 else y:=0;

Если_То   

if P then A;  

if x>0 then y:= 1;  

Выбор  

case K of 1: A; 2: B; 3: C else D; end; K– переменная («переключатель»), значение которой определяет выполнение операторов: если K = 1, то A; если K = 2, то B; если K = 3, то C иначе – D;

var ch: char; begin . . . case ch of '0'..'9': writeln('Это цифра'); 'a'..'z': writeln('Это буква') else writeln('Это другой символ'); end; . . . end.

Цикл_Пока (цикл с предусловием)  

while P do A; Оператор A выполняется,пока значение логического выражения Pистинно.

while N>0 do N:=N-1;  

Цикл_со_счетчиком (цикл с предусловием)  

for i:= <начальное значение> to <конечное значение> do A;   Переменная i– это показатель цикла, значение которого на каждом шаге цикла автоматически увеличивается (или уменьшается) на 1.

for i:= 1 to N do writeln(i); for i:= N downto 1 do writeln(i);

Цикл_До (цикл с постусловием)     

repeat A; until P;   Оператор Aвыполняется до тех пор, пока логическое выражение Pне станет истинным.

repeat N:=N-1; until N <= 0;  

Составной оператор – это последовательность операторов, перед которой стоит слово BEGIN, а после – END. Слова BEGIN и END часто именую операторными скобками.

Пример составного оператора:

        BEGIN           a := 10;           b :+ a*5;           Write( a, b )         END;

Составной оператор может содержать любое количество простых операторов. Он допускает вложенность, т.е. может содержать внутри себя другие составные операторы.

ВАЖНО: Составной оператор применяется в тех случаях, когда синтаксис языка Паскаль допускает использование только одного оператора, в то время как алгоритм требует задания некоторой последовательности действий. В Паскале все управляющие структуры (операторы) не различают простой и составной оператор: там где стоит простой оператор, можно поставить и составной.

Опера́тор ветвле́ния (усло́вная инстру́кция, усло́вный опера́тор) — оператор, конструкция языка программирования, обеспечивающая выполнение определённой команды (набора команд) только при условии истинности некоторого логического выражения, либо выполнение одной из нескольких команд (наборов команд) в зависимости от значения некоторого выражения.

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

Пример

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

if условие then команды end

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

Условный оператор с двумя ветвями

if условие then команды1 else команды2 end

Здесь при истинности условия выполняются команды1 при ложности — команды2. При необходимости проверить последовательно несколько условий возможно каскадирование условных операторов:

if условие1

then команды1

else if условие2 then команды2

else if условие3 then команды3

...

else if условиеN-1 then командыN-1

else командыN end;

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

Algol

If условие

then

begin

операторы;

end

else

begin

операторы;

end;

Ада

if условие1 then команды1

else if условие2 then команды2

...

else командыN

end if;