Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kitkat_otvety.doc
Скачиваний:
3
Добавлен:
01.08.2019
Размер:
3.29 Mб
Скачать

Билет 7

  1. Данные логического типа. Представление в ЭВМ. Операции над логическими величинами. Встроенные функции с логическими аргументами.

  2. Составной оператор.

1)В Object Pascal данные логического (булева) типа могут принимать одно из двух зна­чений: true (истина) или false (ложь). К логическим относятся типы Boolean, Byte-Bool, Bool, WordBool и LongBool. В стандартном Паскале определен только тип Boolean, остальные логические типы введены в Object Pascal для совместимости с Windows и с некоторыми другими системами программирования: типы Boolean и ByteBool зани­мают по одному байту каждый, Bool и WordBool - по 2 байта, LongBool - 4 байта. Поскольку логические типы относятся к порядковым, то для них определены стан­дартные функции Ord, Succ, Prеd. Особенностью применения этих функций к значениям различных логических типов является то, что для разных типов результат будет различ­ным. Например, если в программе описаны следующие переменные:

var

a:Boolean; b:ByteBool; c:HordBool; d:LongBool;

то результат применения к ним функций Ord, Succ и Pred можно представить в виде сле­дующей таблицы:

Ord(False) - 0;

Ord(True) <> 0;

Succ(False)= True;

Pred(True) = False.

Преимущественно пользуются типом Boolean. Остальные типы используются, как правило, при вызове стандартных подпрограмм, имеющих параметры этого типа.

Для логических данных применимы операции отношения < > <= >= <> =. При этом надо всегда помнить, что независимо от того, какой тип имеют некоторые логические переменные х и у - Boolean, BytеBool, WordBool или LongBool, если х равно true, а у -false, то результатом выражения х >. y всегда будет true. Для логических данных применимы логические операции not, and, or, xor.

2) Составной оператор – сложный оператор. Составным оператором называется группа операторов, заключенная в операторные скобки begin...end . Зарезервированные слова begin и end называются операторными скобками. Операторы, входящие в составной оператор, выполняются в порядке их написания. От­сюда, в частности, следует, что тело любой программы представляет собой один со­ставной оператор. Составной оператор используется в тех случаях, когда по правилам языка Object Pascal разрешается использовать один оператор, а программисту для ре­шения задачи необходимо выполнить группу операторов. Чаше всего такие ситуации воз­никают при использовании сложных операторов, например, таких, как if, for, while и т.д. Object Pascal не накладывает никаких ограничений на характер операторов, входящих в составной оператор. Среди них могут быть и другие составные операторы - язык Object Pascal допускает произ­вольную глубину их вложенности. Точка с запятой предназначена для разделения операторов, т.е. не входит в состав оператора. Составные операторы - важный инструмент Object Pascal, дающий возможность писать программы по современной технологии структурного программирования (без операторов перехода goto).

Билет 8

  1. Данные символьного типа. Таблица ASCII. Операции и стандартные процедуры над символьными объектами.

  2. Особенности использования нетипизированных параметров в функциях и процедурах.

1) Данные символьного типа предназначены для хранения одного символа. Значениями символьного типа является множе­ство всех символов ПК.

В Object Pascal представлены следующие символьные типы: ANSiChar (1 b), WideChar (2 b), Char (1 b).

Тип ANSIChar представляет собой так называемые Ansi-символы. Это символы, кото­рые используются в операционных системах семейства Windows. Каждому символу соот­ветствует число, либо, иначе говорят, - код ANSI, что расшифровывается как American National Standard Institute - американский национальный институт стандартизации, в ко­тором разработан этот код. Всего в таблице содержится 256 символов, которые кодируются числами от 0 до 255. Символы с номерами от 0 до 31 являют­ся служебными символами, т.е. предназначены не для отображения информации, а для управления отображением информацией. Например, символ с кодом 9 вставляет в текст знак табуляции, а символ с кодом 13 означает конец абзаца, т.е. эквивалентен нажатию клавиши Enter. Тип WideChar предназначен для хранения так называемых Unicode-символов, которые в отличие от Ansi-символов занимают два байта. Это позволяет кодировать символы числами от 0 до 65535 и используется для представления различных азиатских алфави­тов. Первые 256 символов в стандарте Unicode совпадают с символами Ansi. Поскольку тип WideChar предназначен для использования в операционной системе Windows, то его следует использовать при создании оконных приложений. Тип Char в Delphi эквивалентен типу AnsiChar и обеспечивает наибольшую произ­водительность. Консольное приложение выполняется под управлением операционной MS DOS, которая эмулируется операционными системами семей­ства Windows. В отличие от Windows в MS DOS используется кодировка символов ASCII.

Сравнивая таблицы ANSI и ASCII, можно заметить, что первые их половины, т.е. симво­лы с кодами 0..127, совпадают, а вторые половины - коды с символами 128..255 - раз­личны. В первой половине содержатся цифры и буквы английского алфавита, а во вто­рой - буквы русского алфавита. Поскольку консольное приложение создается в операционной системе Windows, а выполняется как программа MS DOS, то попытки вы­вести русские символы на экран из-за различия в кодировках ANSI и ASCII обречены на неудачу.

К значениям символьных типов можно применять операции отношения: <, >, <=, >=, <=,<>, =. При сравнении символов сравниваются соответствующие им коды, и большим будет символ, имеющий больший код. Для отображения множества символов в подмножество натуральных чисел и обрат­но имеются следующие две стандартные функции: ord(c) - даст порядковый номер символа с; Chr (i) - функция типа char; преобразует числовое целое значение в символ и возвращает его своим значением. . Функция chr является циклической с величиной периода равной 256. аргументами функции могут быть как числа, превышающие 255, так и отрица­тельные. Поскольку символьные типы относятся к порядковым, для них предопределены та­кие функции, как Pred(с), Succ(с).

2) Полезное свойство Object Pascal - возможность использования нетипизированных параметров. Параметр считается нетипизированным, если тип формального параметра-переменной в заголовке подпрограммы не указан, при этом соответствующий ему фактический параметр может быть переменной любого типа. Нетипизированными могут быть только параметры-переменные: Procedure MyProc(var aParametr); Нетипизированные параметры обычно используются в случае, когда тип данных несущественен. Такие ситуации чаще всего возни­кают при разного рода копированиях одной области памяти в дру­гую, например, с помощью процедур BlockRead. BlockWrite, Move-Memory и.т.п.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]