Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2012-2013 Вопросы к экзамену П бак 1 семестр.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
724.74 Кб
Скачать

17.Принцип локализации. (поискать)

Принцип локализации означает группирование логически связанных элементов; это относится к данным и этапом выполнения алгоритмов. Он реализуется через создание структур данных (массивы, записи) и программных структур типа отдельных подпрограмм или процедур

18.Массив как структура данных.

Массив – упорядоченный набор элементов одинакового типа имеющих общее имя. В памяти элементы массива располагаются последовательно. Обратится к каждому элементу массива можно по имени массива и индексу элемента.

Номер элемента массива необязательно начинается с единицы или с нуля. Комплексные числа не используются. Можно описывать массив, пронумеровав любыми целыми числами. Необходимо чтобы левая граница индекса была меньше, чем правая. Нумеровать массивы можно не только целыми типами, любой порядковый тип данных (перечисляемый, интервальный, символьный, логический), а так же любой тип, созданный на основе перечисляемого имеет право выступать в роли нумерации.

var a: array [1..N] of integer;

type <имя массива> = array [тип1..типN] of <тип>;

ab: array [-10 .. 10] of ^string – массив из указателей и строк

ab: array [1 .. 100] of array [1 .. 100] of char – массив из массивов символов

ab: array [0 .. 100] of record – массив из записей

Замечание: общее ограничение на размер любых массивов 65535

19.Строки.

Строки в Pascal – массивы обрабатываемые специальными процедурами и функциями, каждая ячейка такого массива представляет собой символ.

Шаблон описания строки:

var <имя строки>:string[n];

где n – длина строки, максимальная длина 256 символов.

Элементы строки нумеруется с нуля. Нулевой байт хранит длину строки.

Замечание: длина строки в 1 символ и 1 символ – разные вещи.

c:char ≠ s:string[1];

В тексте программы символы заключённые в апострофы воспринимаются как строка или как отдельный символ. В константе – строке автоматически минимальный тип данных, достаточной для её восприятия. Если константа длиннее, той строки, куда компилятор пытается её записать, то автоматически будет произведено усечение. Пустая строка задаётся двумя последовательными апострофами, если необходимо чтобы среди символов строки присутствовал сам апостроф он удваивается.

Не типизированные константы

const

c3 = '''';

s3 = 'This is a string';

Действия со строками в Паскале

Операция слияния (сцепления, конкатенации) применяется для соединения нескольких строк в одну, обозначается знаком «+». Операция слияния применима для любых строковых выражений, как констант, так и переменных.

Операции отношения позволяют сравнивать строки на отношение равенства (=), неравенства (<>), больше (>), меньше (<), больше или равно (>=), меньше или равно (<=). В результате сравнения двух строк получается логическое значение (true или false). Сравнение строк производится слева направо посимвольно до первого несовпадающего символа, большей считается та строка, в которой первый несовпадающий символ имеет больший код в таблице кодировки. Если строки имеют различную длину, но в общей части символы совпадают, считается, что короткая строка меньше. Строки равны, если они имеют равную длину и соответствующие символы совпадают.

Стандартные функции.

Вызов

Описание

function Chr(a: byte): char;

Символ ASCII c номером а.

function Concat(s1,s2,...: string): string;

Возвращает строку, являющуюся результатом слияния строк s1,s2,...

function Copy(s: string; index,count: integer): string;

Возвращает подстроку строки s длины count с позиции index

procedure Delete(var s: string; index,count: integer);

Удаляет из строки s count символов с позиции index.

procedure Insert(source: string; var s: string; index: integer);

Вставляет подстроку source в строку s с позиции index

function Length(s: string): integer;

Возвращает длину строки

function LowCase(ch: char): char;

Строка S в нижнем регистре.

function Pos(subs,s: string): integer;

Возвращает позицию подстроки subs в строке s. Если не найдена, возвращает 0

procedure Str(i: integer; var s: string

Преобразует целое значение i к строковому представлению и записывает результат в s

function StringOfChar(ch: char; count: integer): string;

Возвращает строку, состоящую из count символов ch

function UpCase(ch: char): char;

Преобразует символ в верхний регистр

Val(S,V, C)

Преобразует строку S в число V. При ошибке  в C заносится номер ошибочного символа строки S.

Ord(n)

Номер n (Код ASCII)

Succ (n)

Следующее значение в последовательности

Pred (n)

Предыдущее значение в последовательности

function ChrUnicode(a: word): char; Преобразует код в символ в кодировке Unicode

function OrdUnicode(a: char): word; Преобразует символ в код в кодировке Unicode

function UpperCase(ch: char): char; Преобразует символ в верхний регистр

function LowerCase(ch: char): char; Преобразует символ в нижний регистр

function PosEx(subs,s: string; from: integer := 1): integer; Возвращает позицию подстроки subs в строке s начиная с позиции from. Если не найдена, возвращает 0

procedure SetLength(var s: string; n: integer); Устанавливает длину строки s равной n

function Concat(s1,s2: string): string; Возвращает строку, являющуюся результатом слияния строк s1 и s2

function LowerCase(s: string): string; Возвращает строку в нижнем регистре

function UpperCase(s: string): string; Возвращает строку в верхнем регистре

function ReverseString(s: string): string; Возвращает инвертированную строку

function CompareStr(s1,s2: string): integer; Сравнивает строки. Возвращает значение < 0 если s1 0 если s1>s2 и = 0 если s1=s2

function LeftStr(s: string; count: integer): string; Возвращает первые count символов строки s

function RightStr(s: string; count: integer): string; Возвращает последние count символов строки s

function Trim(s: string): string; Возвращает строку с удаленными начальными и конечными пробелами

function TrimLeft(s: string): string; Возвращает строку с удаленными начальными пробелами

function TrimRight(s: string): string; Возвращает строку с удаленными конечными пробелами

function Format(fmtstr: string; params pars: array of object): string; Возвращает отформатированную строку, построенную по форматной строке fmtstr и списку форматиуемых параметров pars

function StrToInt(s: string): integer; Преобразует строковое представление целого числа к числовому значению

function StrToInt64(s: string): int64; Преобразует строковое представление целого числа к числовому значению

function StrToFloat(s: string): real; Преобразует строковое представление вещественного числа к числовому значению

function TryStrToInt(s: string; var value: integer): boolean; Преобразует строковое представление s целого числа к числовому значению и записывает его в value. При невозможности преобразования возвращается False

function TryStrToInt64(s: string; var value: int64): boolean; Преобразует строковое представление s целого числа к числовому значению и записывает его в value. При невозможности преобразования возвращается False

function TryStrToFloat(s: string; var value: real): boolean; Преобразует строковое представление s вещественного числа к числовому значению и записывает его в value. При невозможности преобразования возвращается False

function TryStrToFloat(s: string; var value: single): boolean; Преобразует строковое представление s вещественного числа к числовому значению и записывает его в value. При невозможности преобразования возвращается False

procedure Val(s: string; var value: integer; var err: integer); Преобразует строковое представление s целого числа к числовому значению и записывает его в переменную value. Если преобразование успешно, то err=0, иначе err>0

procedure Val(s: string; var value: shortint; var err: integer); Преобразует строковое представление s целого числа к числовому значению и записывает его в переменную value. Если преобразование успешно, то err=0, иначе err>0

procedure Val(s: string; var value: smallint; var err: integer); Преобразует строковое представление s целого числа к числовому значению и записывает его в переменную value. Если преобразование успешно, то err=0, иначе err>0

procedure Val(s: string; var value: int64; var err: integer); Преобразует строковое представление s целого числа к числовому значению и записывает его в переменную value. Если преобразование успешно, то err=0, иначе err>0

procedure Val(s: string; var value: byte; var err: integer); Преобразует строковое представление s целого числа к числовому значению и записывает его в переменную value. Если преобразование успешно, то err=0, иначе err>0

procedure Val(s: string; var value: word; var err: integer); Преобразует строковое представление s целого числа к числовому значению и записывает его в переменную value. Если преобразование успешно, то err=0, иначе err>0

procedure Val(s: string; var value: longword; var err: integer); Преобразует строковое представление s целого числа к числовому значению и записывает его в переменную value. Если преобразование успешно, то err=0, иначе err>0

procedure Val(s: string; var value: uint64; var err: integer); Преобразует строковое представление s целого числа к числовому значению и записывает его в переменную value. Если преобразование успешно, то err=0, иначе err>0

procedure Val(s: string; var value: real; var err: integer); Преобразует строковое представление s вещественного числа к числовому значению и записывает его в переменную value. Если преобразование успешно, то err=0, иначе err>0

procedure Val(s: string; var value: single; var err: integer); Преобразует строковое представление s вещественного числа к числовому значению и записывает его в переменную value. Если преобразование успешно, то err=0, иначе err>0

procedure Str(r: real; var s: string); Преобразует вещественное значение r к строковому представлению и записывает результат в s

function IntToStr(a: integer): string; Преобразует целое число к строковому представлению

function IntToStr(a: int64): string; Преобразует целое число к строковому представлению

function FloatToStr(a: real): string; Преобразует вещественное число к строковому представлению

Операции со строками.