Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры КИТ Вишняков.doc
Скачиваний:
82
Добавлен:
13.02.2016
Размер:
556.03 Кб
Скачать

3.4.3. Формирование логических выражений

В процессе решения широкого круга задач приходится создавать конструкцию типа

ЕСЛИ (ЛогическоеВыражение; Значение1; Значение2),

которая работает следующим образом: вычисляется первый компонент   ЛогическоеВыражение (который, конечно же, должно быть логического типа), и если он имеет значение ИСТИНА, то в качестве результата всей конструкции ЕСЛИ выдается Значение1, в противном случае  Значение2.

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

Примеры

1. Составить логическое выражение, которое принимает значение ИСТИНА, если 2 числа: a и b больше 5

(a>5) AND (b>5)

2. Составить логическое выражение, которое принимает значение ИСТИНА, если среди 3-х чисел: a, b, c имеется хотя бы одно отрицательное

(a<0) OR (b<0) OR (c<0)

3. Составить логическое выражение, которое принимает значение ИСТИНА, если сумма 2-х чисел превышает их произведение, а разность не превосходит 8.

((a+b)>a*b) AND ((a-b)<=8)

4. Составить логическое выражение, которое принимает значение ИСТИНА, если величина х удовлетворяет соотношению 3<x<8.

(3<x) AND (x<8)

Относительно примера 4. Наивная запись напрямую: 3<x<8 не годится. В лучшем случае получим сообщение об ошибке, в худшем  неверный результат. Дело в том, что в исходном выражении имеем две последовательных операции сравнения. При исполнении первого сравнения (3<x) получается логическая величина, которая должна будет сравниваться с 8, т.е. числовой величиной, что обычно не имеет смысла. Попробуйте, например, в Excel ввести формулу "=3<4<8". Получившийся результат (ЛОЖЬ) воистину наглая ложь! 

15.Представление в эвм символьных (текстовых) данных

Символьные данные.Символ  это элемент алфавита (буква, цифра, знак препинания, специальный знак и т.п.).

Примеры символов: А  7  Z  +  ?  &  "  .

Пробел тоже символ. Он не имеет начертания, и эта его особенность при работе с текстами неопытных пользователей нередко порождает ошибки.

Символы служат для задания текстов. Поэтому символьные данные нередко называют текстовыми.

На практике чаще приходится иметь дело не с отдельными символами, а со строками.

Строка  это последовательность символов.

Для явного обозначения символьных данных во многих программных продуктах (в частности, продуктах Microsoft Office) используются кавычки ("), например, "компьютер". Есть программные продукты, в которых используются не кавычки, а апострофы: 'компьютер'.

В ЭВМ символы кодируются с помощью чисел.

Кодовая таблица  это таблица, ставящая в соответствие символам их коды.

Код символа  это его номер в кодовой таблице.

Количество различных символов, которых можно включить в кодовую таблицу, зависит от количества бит, отводимых для кодирования одного символа. Так, например, на 7-и битах можно закодировать 27 = 128 символов, а на 8-и битах (одном байте)  256 символов.

Исторически так уж сложилось, что были разработаны и используются несколько несколько различных систем кодировки, отличающихся не только символьным набором, но даже номерами одних и тех же символов. Это создает проблемы при обмене текстовыми данными, созданными в различных приложениях.