68994

Логічний та рядковий типи даних

Лекция

Информатика, кибернетика и программирование

Логічні змінні можуть мати одне з двох значень: true (істинне) або false (хибне). Як і maxint, ці значення належать до наперед визначених сталих, тобто їх не треба описувати. Логічні змінні найчастіше використовують для керування послідовністю виконання операторів програми.

Украинкский

2014-09-28

52.5 KB

0 чел.

Лекція № 4

Тема: Логічний та рядковий типи даних

План заняття

  1.  Операції порівняння логічного типу
  2.  Функції логічного типу
  3.  Символьний тип даних
  4.  Функції для роботи з символьним типом

Операції порівняння логічного типу

Логічні змінні можуть мати одне з двох значень: true (істинне) або false (хибне). Як і maxint, ці значення належать до наперед визначених сталих, тобто їх не треба описувати. Логічні змінні найчастіше використовують для керування послідовністю виконання операторів програми.

Є три логічні операції, які, будучи застосовані до логічних операндів, приводять до результату типу boolean:

  •  and - логічна кон'юнкція;
  •  or- логічна диз'юнкція;
  •  not - логічне заперечення.

У ТР є ще одна операція: хоr - додавання за модулем 2. Наприклад, якщо описати

var

х, у, z: boolean;

то можна записувати вирази, які будуть мати логічні значення

x and у or z

not  у and x

х and (у or z)

Послідовність виконання логічних операцій така: not, and, or. Для її зміни використовують дужки.

Правила виконання логічних операцій (х і у- логічні змінні) наведені в табл.

Таблиця істинності логічних операцій

х

у

not x

x and у

х or у

x xor y

true

true

false

false

true

false

true

false

false

false

true

true

true

false

false

false

true

true

true

false

false

true

true

false

Логічний (булів) результат дають також операції порівняння: <, <=, =, <>, >=, >, in. Операнди цих операцій можуть бути дійсного, цілого, а також логічного типу. Значення логічного типу можна порівнювати, оскільки прийнято, що false<true.

До операндів дійсного типу не варто застосовувати операцію "дорівнює", оскільки умова може не виконуватися внаслідок неточного відображення дійсних чисел у пам'яті комп'ютера, а також помилок заокруглення під час обчислення виразів дійсного типу. Тому замість а=b ліпше записати abs(a-b)<E, де Е - деяке мале значення, що залежить від порядку значень а і b. Якщо їхній порядок невідомий, то Е є функцією одного з них, наприклад:

abs(a-b)<abs(a*1E-6) - порівняння з точністю до 0.000001.

Операції порівняння мають нижчий пріоритет виконання, ніж логічні операції, тому у разі потреби використовують дужки. Наприклад (цифрами позначена послідовність виконання операцій):

                                         1      6    4      2       5       3

 (-3>=5) or not (7<9) and (0<=3)

Функції логічного типу

Функції eoln і eof дають бульові значення. Їхніми параметрами можуть бути імена файлів. Якщо параметра нема, то за замовчуванням мають на увазі файл input (файл уведення).

Функція eoln дає true, якщо з файлу введення надійшов кінець рядка; в усіх інших випадках - false.

Функція eof дає true, якщо файл перебуває в стані "кінець файлу", тобто процес дійшов до кінця, в інших випадках - false. Спроба прочитати щось з файлу після того, як значення функції стало true, призведе до помилки. Тому перед читанням треба перевіряти кінець файлу:

if eof

then write('кінець файлу')

else read(sym);

Функція odd має цілочисловий аргумент; odd(i) дає true, якщо і непарне, і false, якщо і - парне.

Якщо х - змінна логічного типу, то оператор процедури write(x) виведе TRUE або FALSE, залежно від значення змінної.

Процедура read не може мати аргументів булевого типу.

Символьний тип

Значенням змінної символьного типу є символ - елемент деякої скінченної та упорядкованої множини символів. Така множина є в кожній обчислювальній системі, оскільки вона потрібна для обміну інформацією з системою. На жаль, нема єдиної стандартної множини символів, різноманітні системи відрізняються як самими символами, так і порядковими номерами. Однак стандартом мови Паскаль передбачено такі властивості множин:

1) кожний символ має порядковий номер;

2) десяткові цифри впорядковані за зростанням і йдуть одна за одною;

3)  букви впорядковані за алфавітом, їхні номери не обов'язково йдуть підряд.

Найчастіше застосовують множину символів ASCII (American Standard Code for Information Interchange).

У програмах символьні сталі, що мають значення, записують між одинарними лапками: 'а' '*' '3.....(апостроф ставлять двічі).

Функції для роботи з символьним типом

Для відображення заданої множини символів номери і навпаки є дві функції:

ord(C) - дає порядковий номер символу С  в заданій упорядкованій множині символів;

chr(i) - дає символ з номером і в цій множині. Нехай С1 і С2 мають символьний тип

var

С1, С2: char;

Тоді якщо С1<>С2, то ord(C1)<>ord(C2).

Над символьними змінними можна виконувати операції порівняння, причому С1<С2 еквівалентне ord(C1)<ord(C2).

З останньої властивості випливає, що ord(T), ord('2'), ..., ord('9') - зростаюча послідовність чисел, що йдуть підряд. Звичайно в множинах ord('0')<>0.

Обернена до ord функція chr має цілий аргумент, видає символьне значення і визначена тільки в діапазоні значень функції ord. Наприклад, нехай

var

і: integer;

тоді chr(i) буде визначене, якщо є символ sym такий, що ord(sym)=i. У цьому випадку chr(i)=sym. Зокрема, якщо

var

і: integer;

і відомо, що 0 < c f < 9, то відповідним символом буде chr(cf+ord('0')). Символи з вхідного файлу читають за допомогою стандартної процедури read (пропусками ігнорують, на відміну від уведення цілих і дійсних чисел):

var

sym: char;

read (sym);

Оператором процедури write(sym) записують символ у вихідний файл. Зокрема, оператор write(sym: р), де р - ширина поля, виведе пропуски в кількості р-1, і після того - символ sym;

Оператор write(' ': р) виведе пропуски в кількості р.


 

А также другие работы, которые могут Вас заинтересовать

46385. Бухгалтерский и налоговый учет в строительстве. Учебное пособие 362.5 KB
  ПБУ 2 94 Учет договоров контрактов на капитальное строительство; Руководство Минстроя РФ по составлению договоров подряда на строительство в РФ; ПБУ 10 99 Расходы организации ; ПБУ 9 99 Доходы организации; МСФО 11 Договоры подряда; Глава 25 НК РФ и Методические рекомендации по применению главы Расходы подрядчика связанные с получением заключением договоров на строительство которые могут быть отдельно выделены и существует уверенность в том что договор будет заключен могут относиться к данному договору и...
46387. ТРАКТОРЫ И АВТОМОБИЛИ 993 KB
  Эффективные показатели двигателя Основные параметры цилиндра и двигателя. Тепловой баланс двигателя.Построение теоретических характеристик двигателя
46388. ИСПЫТАНИЕ ОБРАЗЦА НА РАСТЯЖЕНИЕ 361 KB
  Статической вязкостью называется способность материала поглощать энергию идущую на деформирование образца.2 При испытании образца рис.1 на испытательной машине получают первичную диаграмму растяжения в координатах: нагрузка удлинение образца рис.
46389. Изучение схемотехники усилителей электрических сигналов с использованием биполярных и полевых транзисторов 268.5 KB
  Для всех схем включения транзистора снять АЧХ. АЧХ на биполярном транзисторе при включении его с общим эмиттером. Ширина полосы пропускания = 1 kHz – 400 kHz АЧХ на биполярном транзисторе при включении его с общим коллектором. АЧХ на биполярном транзисторе при включении его с общим эмиттером c включенным конденсатором С2.
46390. ЖИТТЄВИЙ ЦИКЛ КЛІТИН. МІТОЗ 875 KB
  Виготовлення тимчасових препаратів корінців проростків пофарбованих ацетокарміном Визначення рівня мітотичної активності мерістематичної тканини Мета: Навчитися фіксувати і фарбувати хромосоми в клітинах рослинних мерістематичних тканин що активно діляться розрізняти фази мітозу в клітинах корінців проростків різних сільськогосподарських культур та розраховувати мітотичний індекс; Матеріали обладнання та реактиви: 1 корінці 5ти денних проростків різних сільськогосподарських культур фіксовані протягом 24 годин через кожні...
46391. Розробка функціональної схеми МПС 179.5 KB
  Розробити функціональну схему МПС яка забезпечує виконання наступних функцій: Роздільне керування записом та читанням пам’яті і ЗП за допомогою сигналів МЕMR MEMW I OR i I OW; Ввід вивід даних у послідовному форматі по 3м каналам; 3 Обробку запитів на переривання від 5ти джерел; Керування клавіатурою; Прямий доступ до пам’яті від 3ти джерел; Обмін даними у паралельному форматі між ЗП та МПС по 6ти каналам у режимі синхронний ввід вивід. Загальний опис МПС Дана МПС не має у своєму складі системного контролера отже...
46392. Магнетизм, електромагнітні коливання і хвилі. Оптика, теорія відносності. Елемен- ти атомної фізики, квантової механіки і фізики твердого тіла. Фізика ядра та елементарних часток 7.63 MB
  Він побудований у відповідності з робочою програмою цієї частини курсу дотриманням вимог загальноприйнятих найменувань і позначення фізичних величин та одиниць їх вимірювання у системі SI; нумерація формул і малюнків проведена в межах кожного розділу. Цей момент дорівнює нулю в рівноважному положенні контура а в деякому положенні він – максимальний.1 де І – сила струму в контурі S – його площа – одиничний вектор нормалі до площини контура напрямок якого визначається за правилом свердлика. Відношення максимального обертового моменту до...
46393. Сутність, складові та засади організації місцевих фінансів 443 KB
  Сутність складові та засади організації місцевих фінансів Сучасне поняття місцеві фінанси ґрунтується на ідейнотеоретичних засадах що формувалися протягом досить тривалого часу: 1. Він представляв собою збірник місцевих законів що вміщував норми державного земельного кримінального проце суального та спадкового права. розвиток поглядів на сутність місцевих фінансів їх склад та принципи організації проходив від представлення їх як: 1. Фінансового господарства...