Урок С №6. и Урок VB № 8. Условия. Логические операторы. - Начинающим - Shelek
Эта тема теоретически является общей для любых языков программирования. Хотя практически, в синтаксисе есть разница. Поэтому после того, как вы прочитаете часть независимую от вида используемых операторов, вы перейдете по ссылке на часть, которая будет разбирать написание операторов сравнения на том языке, который вы изучаете. Задания даны для обоих языков одинаковые, только записанные с теми операторами, которые приняты в данном языке.

Управляющие конструкции программирования. (часто употребляют термин "управляющие структуры")
Если не предусмотрено другого, операторы программы выполняются один за другим, как они написаны. Но, в определенных случаях, необходимо, чтобы следующим выполнялся не очередной оператор, а какой-то другой. Это называется передачей управления. Все программы могут быть написаны с использованием всего 3 управляющих конструкций:

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


Условия и логические выражения.
Основанием для принятия решений в управляющих конструкциях являются условные выражения это способ записи условий. Такие выражения, которые могут принимать значения, либо ЛОЖЬ (false), либо ИСТИНА (true). В условных выражениях используются операторы сравнения. Т.к. они несколько различаются в разных языках, о них чуть позже. Пример пока с математическими знаками (в примере ниже НЕ используются программные операторы сравнения!!!), чтобы можно было понять суть условных выражений:

Пусть у вас есть переменная х=2. Вам нужно проверить выражение х>0. В данном случае х действительно больше 0, т.к. его текущее значение 2. Следовательно выражение х>0 верно и равно (выражение равно!) true. Если при том же значении х вам придется проверить выражение х<0, то данное выражение уже будет неверным, т.к. х=0. Значит значение второго выражения будет false.

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

Таблица значений логических операций

оператор операнд 1 операнд 2 значение выражения
AND
true
false
true
false

true
true
false
false

true
false
false
false
OR
true
false
true
false

true
true
false
false

true
true
true
false
XOR(только для VB !!!. В С/C++ для логических выражений не используется)
true
false
true
false

true
true
false
false

false
true
true
false
NOT
true
false


false
true



* AND- операция логическое И или логическое умножение (конъюнкция). И одно, и другое условные выражения должны быть истинны, чтобы все сложное выражение можно было считать истиной.
* OR- операция логическое ИЛИ или логическое сложение (дизъюнкция ). Достаточно, чтобы одно из выражений было истинным, чтобы все сложное выражение было истинным.
* XOR операция исключающее ИЛИ. Обычное ИЛИ дает true, когда оба операнда true, а данный вариант исключает по принципу или-или, но не оба вместе и дает false. Итак, если одно и только одно условное выражение имеет значение ИСТИНА, то результат будет ИСТИНА. Если оба условия ИСТИНА или оба ЛОЖЬ, то результат будет ЛОЖЬ.
* NOT- операция "логическое НЕ" или отрицание. Это операция с одним операндом. Если операнд является истинным, то все выражение- будет ложью. И наоборот.


Продолжение для VB. Операторы сравнения в VB.
Порядок выполнения операции сравнения- слева направо
< - меньше (то есть, первый операнд, стоящий слева от данного оператора имеет значение меньшее, чем операнд, стоящий справа)
> - больше (аналогично)
<= - меньше или равно
>= - больше или равно
<> - не равно
= - равно. ! Обратите внимание: в VB один и тот же оператор = используется для двух различных операций- для операции присваивания и операции сравнения.

Операторы логических действий в VB пишутся точно так, как они написаны в таблице.
Например:
х0 AND y=10
Логические выражения выполняются слева направо. К логическим выражениям также можно применять скобки, они работают так же, как в математике- сперва выполняется то, что находится в скобках.

Задачи на логические выражения

* Пусть х=3, у= -9. Вычислить значение выражений (то есть, true или false):

o х=3;
o xy;
o y/2=4;
o 7 MOD 3= 1 (дополнительная информация: MOD это оператор, который выполняет операцию взять остаток, то есть, при делении первого операнда на второй мы получаем остаток от этого деления) ;
o NOT y=-50;
o 1x AND x5;
o x4 OR y-15;
o x4 OR y-15
* Является ли выражение х10 истинным, если

o х=0;
o х=2;
o х=10;
o х=5;
o х=15
* Является ли выражение х=10 ложным, если а) х=1; б) х=3; в) х=10;г) х=12; д) х=25
* Записать логические выражения с применением соответствующих операторов языка для математических неравенств:
а) 0=x10
б) 5x8
в) x=1 или x9
г) x=2, x12
д) x=0 и y=0
* Вычислить логическое значение выражения , если х=5, у=12, z=-3
(x=1 AND y2 AND z=0) OR (x0 XOR y=10)




операторы сравнения в С/С++. Проядок выполнения операции сравнения- слева направо
< - меньше (то есть, первый операнд, стоящий слева от данного оператора имеет значение
меньшее, чем операнд, стоящий справа)
> - больше (аналогично)
<= - меньше или равно
>= - больше или равно
!= - не равно
== - равно. ! Обратите внимание: не путайте два разных оператора: = используется для операции присваивания, а для операции сравнения используется двойное равенство!!!

Операторы логичнеских действий пишутся НЕ так, как они написаны в таблице.
&& - это оператор логическое И (в нашей таблице- AND)
|| - это логическое ИЛИ (OR в таблице)
! - это логическое НЕ. (NOT).

Например:
х0 && y=10

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

Задачи на логические выражения

* Пусть х=3, у= -9. Вычислить значение выражений (то есть, true или false):

o х==3;
o xy;
o y/2= =4;
o 7%3= =1;
o !(y=-50);
o 1x && x5;
o x4 || y-15;
o x4 || y-15
* Является ли выражение х10 истинным, если а) х=0; б) х=2; в) х=10;г) х=5; д) х=15
* Является ли выражение х=10 ложным, если а) х=1; б) х=3; в) х=10;г) х=12; д) х=25
* Записать логические выражения с применением соответствующих операторов языка для математических неравенств:
а) 0=x10
б) 5x8
в) x=1 или x9
г) x=2, x12
д) x=0 и y=0
* Вычислить логическое значение выражения , если х=5, у=12, z=-3
(x=1 && y2 && z=0) || (x0 || y=10)


Автор: Never и Sashok
Information
  • Posted on 31.01.2010 23:38
  • Просмотры: 3809