- •Билет 1
- •Билет 2
- •Билет 3
- •Билет 4
- •2) В отличие от оператора if, оператор case позволяет выбрать и выполнить один оператор не из двух, а из нескольких операторов. В общем случае оператор case может быть записан следующим образом:
- •Билет 5
- •Билет 6
- •Билет 7
- •Билет 8
- •Билет 9
- •Билет 10
- •Билет 11
- •Билет 12
- •Билет 13
- •Билет 14
- •Билет 15
- •Билет 16
- •Билет 17
- •Билет 18
- •Билет 19
- •2) Выражения различают по типу их результата: целые, вещественные, символьные, логические, строковые и т.Д. Выражения, имеющие результат целого и вещественного типа, называются арифметическими.
- •Билет 20
- •Билет 21
- •Билет 22
- •2)Оператор repeat имеет следующий формат:
- •Билет 23
- •2) В Pascal имеются две основных процедуры ввода read и readln, которые используются для чтения данных, вводимых с клавиатуры. Формат этих процедур таков:
- •Билет 24
- •Билет 25
- •Билет 26
Билет 7
Данные логического типа. Представление в ЭВМ. Операции над логическими величинами. Встроенные функции с логическими аргументами.
Составной оператор.
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
Данные символьного типа. Таблица ASCII. Операции и стандартные процедуры над символьными объектами.
Особенности использования нетипизированных параметров в функциях и процедурах.
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 и.т.п.