- •1. Элементы языка
- •2. Операции. Выражения
- •23. Можно ли при записи арифметических выражений на языке Pascal
- •3. Оператор присваивания
- •4. Ввод/вывод
- •5. Логический тип
- •6. Условный оператор
- •7. Операторы цикла
- •8. Символьный тип
- •9. Перечислимый тип, ограниченный тип
- •10. Оператор выбора
- •11. Массивы. Регулярные типы
- •12. Процедуры, функции, модули
- •58. Каким служебным словом подключаются модули? uses
- •13. Строки
- •14. Записи
- •15. Множества
- •16. Файлы
- •17. Рекурсивные функции
- •18. Компоненты
- •19. Указатели
58. Каким служебным словом подключаются модули? uses
59. Можно ли организовать перекрестую ссылку двух модулей? ДА
60. Каким служебным словом заканчивается модуль? end
13. Строки
1. Является ли тип string структурированным типом данных? ДА
2. Что представляет собой тип string:
последовательность английских букв последовательность русских букв последовательность символов ASCII
3. Какое максимально возможное количество символов может содержать короткая строка? 255
4. Как при описании строкового типа указывается длина короткой строки? string[n]
5. Может ли пользователь задать длину строки? Если да, то каким образом? string[n]
6. Всегда ли фактическая длина короткой строки равна объявленной в описании? НЕТ
7. Отметить допустимые операции над строками. + >= <= = <> > <
8. Какие операции присваивания для s:string правильны? s:=’строка’
9. Может ли в процессе выполнения программы изменяться фактическая длина строки? ДА
10. Может ли в процессе выполнения программы фактическая длина короткой строки стать больше, чем объявлено в описании? НЕТ
11. Если длина строки не указана при объявлении типа string, то чем она ограничена? 2GB
12. Могут ли переменные строкового типа быть операндами выражений? ДА
13. Верно ли, что тип string[n] аналогичен одномерному массиву символов array[0..n] of char? НЕТ
14. Верно ли, что к любому символу в строке можно обратиться точно также, как к элементу одномерного массива? ДА
15. Какие операции отношения можно применять к переменным типа string? >= <= = <> > <
16. Пусть s - переменная типа string. Можно ли применять стандартные операторы read(s), write(s) readln(s), writeln(s)? ДА
17. Какая функция возвращает длину строки? Length
18. Какая процедура удаляет часть строки? Delete
19. Какая функция ищет подстроку в строке? Pos
20. Какая процедура вставляет строку в строку? Insert
21. Какая процедура превращает число в строку? Str
22. Какая процедура превращает строку в число? Val
23. Какая процедура копирует часть строки? Copy
14. Записи
1. Верно ли, что запись относится к структурированым типам данных? Да
2. Верно ли, что поля записи должны иметь один и тот же тип? Нет
3. Может ли типом поля записи быть массив? Да
4. Могут ли записи иметь вложенную структуру? Да
5. Могут ли во вложенных записях имена полей повторяться на разных уровнях вложенности? Да
6. Верно ли, что значения переменных типа запись можно присваивать переменным тогоже типа? Да
7. Могут ли совпадать имена полей различных записей? Да
8. Могут ли совпадать имена полей одной и той же записи? Нет
9. Как можно оценить объём памяти, необходимой для хранения записи? сложить объёмы памяти полей, выровненные по модулю 2
10. Можно ли значения полей записи использовать в выражениях? Да
11. Какой оператор используют для упрощения доступа к полям записи? with
12. Сколько вариантных частей может быть в любой записи с вариантами? 1
13. Верно ли, что вариантная часть расположена за всеми фиксированными полями? Да
14. Сколько вариантов может иметь вариантная часть записи? много
15. Как можно оценить объём памяти, выделяемой для записи с вариантами? взять максимум от объёма вариантных частей
16. Верно ли, что ключ выбора должен иметь порядковый тип? Да
17. Можно ли ключу выбора в исполняемой части программы присвоить некоторое значение и таким образом влиять на выбор полей? Да
18. Пусть Zap - переменная типа запись, состоящая из нескольких полей. Можно ли инициализировать значение этой переменной с помощью стандартной процедуры ввода read( Zap )? Нет
19. Верно ли, что все поля записи должны быть разных типов? Нет
20. Можно ли при описании записи её поля перечислять в любом порядке? Да
21. Верно ли, что названия полей записи могут совпадать с именами переменных ,констант и других объектов программы? Да
22. Верно ли, что названия полей записи могут совпадать с названиями полей других записей? Да
23. Должно ли при обращении к полю записи имя поля указываться явно и не должно быть задано в виде выражения? Да
24. Дан фрагмент программы:
type
TPoint1 = array [(x,y)] of real;
TPoint2 = record
x, y : real
end;
var
p1 : TPoint1;
p2 : TPoint2;
Допустим ли данный раздел типов, в котором одними и теми же именами (x и y)
обозначены разные объекты (индексы и поля)? Да
25. Дан фрагмент программы:
type
TPoint1 = array [ (x, y) ] of real;
TPoint2 = record
x, y : real
end;
var
p1 : TPoint1;
p2 : TPoint2;
d : real;
Переменной d присвоить расстояние между точками p1 и p2. d:=Sqrt(Sqr(p1[x]-p2.x)+Sqr(p1[y]-p2.y))
26. Дан фрагмент программы:
type
TPoint1 = array [ (x, y) ] of real;
TPoint2 = record
x, y : real
end;
var
p1 : TPoint1;
p2 : TPoint2;
d : real;
Допустимы ли конструкции p1[succ(x)], p2.succ(x)? Нет