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(' ': р) виведе пропуски в кількості р.


 

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

36384. Моделирование на ЭВМ типовых звеньев САУ 59.29 KB
  Моделирование на ЭВМ типовых звеньев САУ В состав структурных схем большинства систем автоматического управления САУ входит достаточно ограниченный набор типовых звеньев. В основу процедуры моделирования многих типовых звеньев положен метод РунгеКутта. Апериодическое звено первого порядка Реальное дифференцирующее звено Пропорциональноинтегральное звено Структурные схемы некоторых типовых звеньев. При моделировании более сложных звеньев таких как апериодическое пропорциональноинтегральное дифференциальное и т.
36385. Принцип действия термопары и термометра сопротивления 37.39 KB
  Термопара два разнородных с различной концентрацией свободных электронов металлических проводника термоэлектроды соединенных пайкой или сваркой на измерительном рабочем конце подвергаемом воздействию измеряемой температуры и разомкнутых на контрольном свободном конце находящемся под воздействием известной температуры и подключаемом к измерительному прибору. Принцип действия термопреобразователей сопротивления или резистивных детекторов температуры основан на способности металлов или полупроводниковых материалов изменять...
36386. Техническое обеспечение САПР 12.99 KB
  Выделяют автоматизированные рабочие места АРМ трех классов: микро АРМ для решения простых конструкторских и технологических задач в автономном режиме в составе средств двухуровневой САПР. Средние АРМ помимо задач выполняемых микро АРМ посредством графического процессора позволяют представлять объект проектирования в двух и трехмерном виде имеют пакеты прикладных программ инвариантные к различным видам объекта проектирования. Супер АРМ способны решать весь комплекс задач САПР в масштабе предприятия. Все вычислительные комплексы САПР в том...
36387. Универсальные CADCAMCAE-системы 12.71 KB
  Универсальные CDCMCEсистемы. Системы проектирования в масштабах предприятия за рубежом принято определять как CD CM CE системы функции автоматизированного проектирования распределяются в них следующим образом: модули CD Computer ided Design для геометрического моделирования и машинной графики модули подсистемы CM Computer ided Mnufcturing для технологической подготовки производства а модули CE Computer ided Engineering для инженерных расчетов и анализа с целью поверки проектных решений. Все универсальные CD CM CE ...
36388. Электрические принципиальные схемы систем и средств автоматизации. Назначение и правила выполнения 24.29 KB
  Электрические принципиальные схемы систем и средств автоматизации. Принципиальные электрические схемы определяют полный состав приборов аппаратов и устройств а также связей между ними действие которых обеспечивает решение задач управления регулирования защит измерения и сигнализации. Эти схемы служат для изучения принципа действия системы они необходимы при производстве наладочных работ и в эксплуатации. Схемы выполняются применительно к определенным самостоятельным элементам установкам или участкам автоматизированной системы...
36389. тема или АИС это совокупность различных программноаппаратных средств которые предназначены для автомат. 28.78 KB
  Учет снабжения Финансовый учет Информация опоставке информация об оплате Бухгалтерский учет Требования на отпускинформация о поступлении груза цены на ресурсы данные о качестве Учет производства и контроль качества Учет вспомогательно прва Управление и анализ Отчетность по снабжению указания и планы Подсистема Учет снабжения предназначена для ввода и обработки информации по обеспечению оборудованием и материалами предоставляемой отделами и службами предприятия. Данная подсистема осуществляет интенсивный обмен информацией с подсистемой...
36390. Перестроение импульсной характеристики в кривую разгона 887.85 KB
  На участке 1 переходная характеристика совпадает с импульсной. На последующем участке переходная характеристика получается путем суммирования ординат импульсной характеристики на этом участке с соответствующими значениями ординат на предыдущем участке.
36391. Приведите и поясните постановки задач синтеза линейных САУ 42.84 KB
  При синтезе задается множество М систем на котором производится выбор сист по заданному критерию оптимальности. Задача не тривиальна когда множество М содержит более 1го элемента т. 1 Параметрический синтез Элты мнва М различаются параметрами при этом мнва М2 второго ранга неопределенности представляет собой множество полностью определенных сист М3 и с допустимым диапазоном изменения параметров Q M2={ M3 Q} Пр: М2: Wpp=K1K21 p M3: K1 K2 G т. 2 Структурный синтез Элементы исходного множества отличаются...
36392. Сравнительный анализ АСУТП и АСУП 45.5 KB
  Сравнительный анализ АСУТП и АСУП У произвом и ТП имеет ряд отличий: 1 Произвом упрют люди в процессе У они воздействуют на людей. Технол процессом также упрют люди но они воздют на вещи срва произва и предметы труда. Сром труда в современном произве явлся машина человек получает данные о работе машины ее состоянии о наличии и качве сырья материалов и готовой продукции сравет их с планми и норматми данными принимает решение и передает его машине изменяя режим ее работы. 2 Продукт труда в У ТП продукт произва или...