Нуль-терминальная строка Pchar.
2. Что является общим для строковых типов в Delphi?
Общим для этих типов является то, что каждая строка трактуется как одномерный массив символов, количество символов в котором может меняться в работающей программе: для String[N] длина строки меняется от 0 до N, для String и Pchar – от 0 до 2 Гбайт.
3. Объявите длинную строку st в разделе описания переменных.
st: String;
4. Объявите короткую строку s длиной до 100 символов в разделе описания переменных.
s: String[100]
5. Приведите пример строковой константы.
t:=′20 лет спустя’
6. Перечислите имена процедур для обработки строк.
Delete, Insert, Str, Val
7. Перечислите имена функций для обработки строк.
Concat, Copy, Length, Ord, Pos
8. Перечислите имена процедур и функций, результатом которых является число.
Length, Ord, Pos, Val
9. Перечислите имена процедур и функций, результатом которых является строка.
Concat, Copy, Delete, Insert, Str
10. Формат и назначение copy.
Copy (st, p, n) – функция копирует из строки st с позиции p n символов.
11. Формат и назначение delete.
Delete (st, p, n) – процедура удаляет из строки st с позиции p n символов
12. Формат и назначение insert.
Insert (s, st, p) – процедура вставляет подстроку s в строку st с позиции p.
13. Формат и назначение length.
Length (st) – функция возвращает текущую длину строки st.
14. Формат и назначение ord.
Ord (st[0]) – функция возвращает текущую длину строки st, которая хранится в нулевой позиции.
15. Формат и назначение pos.
Pos (s, st) – функция отыскивает в строке st первое вхождение подстроки s и возвращает номер позиции, с которой она начинается; если подстрока не найдена, возвращается ноль.
16. Memo1.Lines.Add(copy('Январь февраль март апрель',8,7));
Что будет выведено?
Февраль
17. s:='Битва железных канцлеров'; delete(s,7,9); Memo1.Lines.Add(s);
Что будет выведено после выполнения вышеприведенного фрагмента обработчика события?
'Битва канцлеров'
18. s:='брусника клюква черника'; insert('смородина ',s,10); Memo1.Lines.Add(s);
Что будет выведено после выполнения вышеприведенного фрагмента обработчика события?
'брусника смородина клюква черника'
19. s:='Достоевский Чехов Толстой'; Memo1.Lines.Add('L='+IntToStr(length(s)));
Что будет выведено?
20. Memo1.Lines.Add('P='+IntToStr(pos('фон','домофон магнитофон фон')));
Что будет выведено?
ТЕСТ
Задание. Выберите к каждому вопросу один правильный ответ.
Вопрос 1. Перечислите функции для обработки строк
1. length, ord, str, val
2. length, ord, concat, pos, copy
3. delete, insert, str, val
4. Верны ответы 2, 3
Нет правильного ответа
Вопрос 2. Эта процедура преобразует строку в число
Val(st, x, code)
2. length(st)
3. copy(st, p, n)
4. concat(st1, st2)
5. str(x, st)
Примечание: st, st1, st2 – строки.
Вопрос 3.... предназначена для получения копии из строки st с позиции p n символов.
1. insert
Copy
3. length
4. delete
5. concat
Вопрос 4. Результатом этих процедур и функций является строка
1. insert, delete
2. pos, val, length, ord
3. concat, copy, str
4. Верны ответы 1, 2
5. Верны ответы 1, 3
Вопрос 5. Объявление строковой переменной может быть выполнено так
1. var c:char;
2. var s:shortstring;
3. var st:string[100];
4. Верны ответы 1, 2
5. Верны ответы 2, 3
Вопрос 6. Перечислите процедуры для обработки строк
1. length, ord, str, val
2. length, ord, concat, pos, copy
Delete, insert, str, val
4. Верны ответы 2, 3
5. Нет правильного ответа
Вопрос 7. Функция сцепления
1. val(st, x, code)
2. length(st)
3. copy(st, p, n)
Concat(st1, st2)
5. str(x, st)
Примечание: st, st1, st2 – строки.
Вопрос 8.... предназначена для удаления из строки st с позиции p n символов.
1. insert
2. copy
3. length
Delete
5. concat
Вопрос 9. Результатом этих процедур и функций является число
1. insert, delete
Pos, val, length, ord
3. concat, copy, str
4. Верны ответы 1, 2
5. Верны ответы 1, 3
Вопрос 10. Вызов функция может стоять
1. В правой части оператора присваивания
2. В списке вывода, в условии (логическом выражении)
3. В операторе безусловного перехода
4. Верны ответы 1, 2
5. Верны ответы 2, 3
Вопрос 1. Общим для строковых типов в Delphi является то, что …
Каждая строка трактуется как одномерный массив символов
2. каждая строка трактуется как двумерный массив символов
3. каждая строка трактуется как матрица символов
4. каждая строка трактуется как прямоугольная таблица символов
Вопрос 2. Объявление короткой строки s длиной до 100 символов выглядит так:
1. Var s: String[100];
2. Var s: ShortString[100];
3. Var s: PChar;
4. Var s: WideString;
Вопрос 3. Объявление длинной строки st в разделе описания переменных выглядит так:
1. Var st: String;
2. Var st: String[200];
3. Var st: WideString;
4. Var st: ShortString;
Вопрос 4. Memo1.Lines.Add(′P=′+IntToStr(pos(′ром′,′аромат ромашка ром′))); В Memo1 будет выведено
1. P=2
2. P=ром
3. P=16
4. P=8
Вопрос 5. s:=′гвоздика мак тюльпан′; insert(′гладиолус ′,s,14); Memo1.Lines.Add(s); В Memo1 будет выведено
гвоздика мак гладиолус тюльпан
2. гвоздика гладиолус мак тюльпан
3. гвоздика гладиолус тюльпан
4. гладиолус мак тюльпан
Вопрос 6. s:=′Днепр Дунай Рейн Висла′; delete(s,13,5); Memo1.Lines.Add(s); В Memo1 будет выведено
Днепр Дунай Висла
2. Днепр Дунай Рейн
3. Днепр Рейн Висла
4. Дунай Рейн Висла
Вопрос 7. Memo1.Lines.Add(copy(′Варшава Прага Будапешт′,9,5)); В Memo1 будет выведено
Прага
2. Варшава
3. Будапешт
4. Варшава Будапешт
Вопрос 8. s:=′Лазурит изумруд рубин аметист′; Memo1.Lines.Add(′L=′+IntToStr(length(s))); В Memo1 будет выведено ….
1. L=29
2. L=26
3. изумруд рубин
4. L=аметист