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

Программа работы

  1. Создать новый проект String на закладке Classes в меню ФайлðНовыйðДругое и сохранить все его файлы в папке с именем ‘…\Лабораторная работа № 13’.

  2. Создать на форме компоненты Edit1 ¸ Edit10 и кнопку Button1.

  3. В обработчике нажатия кнопки Button1 объявить пять строковых переменных с типами array [0..N] of Char, ShortString, AnsiString, WideString и PChar, присвоить любое значение с числом символов не более 10, вывести их значения в компоненты Edit1 ¸ Edit5, а длину строк в компоненты Edit6 ¸ Edit10.

  4. Запустить программу на выполнение и записать в отчет обработчик нажатия кнопки Button1, а также полученные результаты.

  5. Установить в обработчике нажатия кнопки Button1 точку прерывания после инициализации всех строковых переменных, открыть диалоговое окно наблюдения (сочетание клавиш Ctrl+Alt+W) и задать в нем пять ранее объявленных переменных.

  6. Запустить программу на выполнение и просмотреть в окне наблюдения значения символов всех переменных, начиная с 0 до 12, используя оператор индексации [ ]. Полученные результаты записать в отчет.

  7. Используя оператор @ перед именами пяти переменных, в окне наблюдения просмотреть адреса ячеек памяти, начиная с которых расположены объявленные переменные, и подсчитать, какой объем памяти каждая из них занимает. Полученные результаты записать в отчет.

  8. Используя стандартные процедуры и функции языка Object Pascal для работы со строками, написать программу, которая бы изменяла порядок слов в строке ‘Фамилия Имя Отчество’ на ‘Имя Отчество Фамилия’, и проверить её работоспособность для своих данных.

  9. Разработать и протестировать указанный метод в таблице №3 в соответствии с номером Вашего варианта, не используя стандартные процедуры и функции обработки строк языка Object Pascal, кроме операторов присваивания ( := ) и индексации ( [ ] ).

Таблица №3

Исходные данные

Варианта

Процедура или функция

1

function Copy(S: String; Index, Count: Integer): String;

Возвращает подстроку строки S, начинающуюся с позиции Index и содержащую до Count символов.

2

function Concat(Sl , S2: String): String;

Возвращает строку, склеенную из строк S1 и S2.

3

procedure Delete(var S: String; Index, Count: Integer);

Удаляет из S подстроку, начинающуюся с позиции Index и содержащую до Count символов.

4

procedure Insert(Source: String; var S: String; Index: Integer) ;

Вставляет строку Source в строку S, начиная с позиции Index.

5

procedure Replace (Source: String; var S: String; Index: Integer);

Заменяет символы строки S, начиная с позиции Index, на символы строки Source.

6

procedure Reverse (var S: String);

Переставляет символы из конца строки S в её начало.

7

function PosFirst(Symbol: Char; S: String): Integer;

Возвращает позицию первого вхождения символа Symbol в строку S. Если символа нет в строке S, то возвращается 0.

8

function PosLast(Symbol: Char; S: String): Integer;

Возвращает позицию последнего вхождения символа Symbol в строку S. Если символа нет в строке S, то возвращается 0.

9

function Pos (Symbol: Char; S: String; Count: Integer): Integer;

Возвращает позицию Count вхождения символа Symbol в строку S. Если символ входит в строку S меньше Count раз, то возвращается 0.

10

function Count (Symbol: Char; S: String): Integer;

Возвращает число вхождений символа Symbol в строку S. Если символа нет в строке S, то возвращается 0.

11

function StrComp (Str1, Str2: String): Integer;

Сравнивает две строки Str1 и Str2 c учетом регистра. Возвращает:

-1, если Str1 < Str2; 0, если Str1 = Str2; и 1, если Str1 > Str2.

12

function StrEnd (S: String): Integer;

Возвращает позицию символа конца строки S.