- •Ответы на устные вопросы экзамена по программированию 3 «г».
- •Вопрос 1. Язык программирования t. P.
- •Вопрос 2. Типы данных в t. P. Основные функции и выражения.
- •Вопрос 3. Структура программы на языке программирования t. P.
- •Вопрос 4. Оператор присваивания. Команда ввода информации.
- •Вопрос 5. Команда вывода информации.
- •Вопрос 6. Организация программ линейной структуры в t. P.
- •Вопрос 7. Разветвляющиеся вычислительные процессы. Операторы условного перехода.
- •2. Формат записи не полного условного оператора (краткая форма):
- •Вопрос 8. Разветвляющиеся вычислительные процессы. Вложенный условный оператор.
- •Вопрос 9. Оператор выбора в t. P.
- •Вопрос 10. Циклические вычислительные процессы и операторы цикла в t. P..
- •Вопрос 11. Оператор цикла с параметром.
- •Вопрос 12. Оператор цикла с предусловием.
- •Вопрос 13. Оператор цикла с постусловием.
- •Вопрос 14. Вложенные циклы в t. P.
- •Вопрос 15. Одномерные массивы. Объявление одномерного массива в программе.
- •Вопрос 16. Многомерные массивы. Работа с многомерными массивами.
- •Вопрос 17. Сортировка элементов массива. Алгоритмы пузырьковой сортировки.
- •Вопрос 18. Подпрограммы. Процедуры.
- •Вопрос 19. Подпрограммы. Функции в t. P.
- •Вопрос 20. Глобальные и локальные, фактические и формальные параметры.
- •Вопрос 21. Символьные величины. Операции над символьными величинами.
- •Вопрос 22. Процедуры для работы с символьными величинами.
- •Вопрос 23. Понятие «множество». Описание множеств в программе.
- •Вопрос 24. Основные процедуры для работы с множествами.
- •Вопрос 25. Записи. Описание записей в программе.
- •Вопрос 26. Операторы для работы с записями в программе.
- •Вопрос 27. Файлы. Виды файлов в t. P.
- •Вопрос 28. Процедуры для работы с файлами в t. P. Стандартные процедуры для работы с типизированными файлами.
- •Вопрос 29. Текстовые файлы в t. P. Процедуры для работы с текстовыми файлами.
- •Вопрос 30. Работа с диагональными элементами в квадратной матрице.
- •Вопрос 31. Задачи перестановок и вставки элементов в массиве.
- •Вопрос 32. Работа над множествами в программе.
- •Вопрос 33. Задачи поиска максимального и минимального элементов массива.
- •Вопрос 34. Основные функции для работы с символьными величинами.
Вопрос 30. Работа с диагональными элементами в квадратной матрице.
При работе с диагональными элементами удобно использовать квадратный массив, то есть массив, у которого количество строк равно количеству столбцов. Для квадратного двухмерного массива введем два определения: главная диагональ двухмерного массива и побочная диагональ двухмерного массива. Главная диагональ — образуется элементами, расположенными между элементом в верхнем левом и элементом в нижнем правом углах массива,
включая сами эти элементы.
Индексы элементов главной диагонали всегда совпадают друг с другом.
Чтобы обратиться к элементам главной диагонали, необходимо:
For i:=l to n do
Writeln a[i, i];
Побочную диагональ квадратного двухмерного массива образуют элементы, расположенные между элементов в верхнем правом и нижнем левом углах массива, включая сами эти элементы.
Взаимосвязь индексов элемента побочной диагонали, стоящего на пересечении i-й строки и j-ro столбца, выражается соотношением i+j = n+1. Чтобы обратиться к элементам побочной диагонали необходимо:
b:=n;
For i:=l to n do begin
Writeln a[i, b];
b:=b-l; end;
Вопрос 31. Задачи перестановок и вставки элементов в массиве.
Дан массив. Поменять местами m-й и n-й элементы.
Program massiv;
Const c=10;
Var a,: array [1 ..c] of integer;
i, n, b,m: integer;
begin
readln (n, m);
for i:=l to с do
readln (a[i]);
b:=a[m];
a[m]:=a[n];
a[n]:=b;
for i:=l to с do
writeln (a[i]);
end.
Задача № 6:
Вставить в массив число 10 после второго элемента.
Program massiv;
Const n=10;
Var a,: array [l..n] of integer;
i: integer;
begin
for i:=l to n-1 do
readln (a[i]);
for i:=n-1 downto 3 do
a[i+l]:=a[i];
a[3]:=10;
for i:=l to n do
writeln (a[i]);
end.
Вопрос 32. Работа над множествами в программе.
Операции над множествами разделяются на операции, создающие производные множества, и операции сопоставления множеств (сравнение множеств и проверка принадлежности множеству). В операциях над множествами могут участвовать только те множества, которые построены на одном базовом типе (т.е. сопоставимые).
Операции, создающие производные множества.
Объединение двух множеств А и В (записываемое как А+В) есть новое множество, состоящее из элементов, принадлежащих или множеству А, или множеству В, или тому и другому одновременно
Пересечение двух множеств А и В (записываемое как А*В) есть новое множество, состоящее из элементов, принадлежащих как множеству А, так и множеству В.
Разность двух множеств А и В ( записываемая как А-В ) есть новое множество, состоящее из элементов, принадлежащих множеству А и не принадлежащих множеству В.
Сравнение множеств. Проверка принадлежности множеству.
Сравнение множеств предполагает проверку следующих ситуаций: равны множества или нет; является ли одно множество подмножеством другого или нет.
1. Множество А равно множеству В (записывается как А=В) тогда и только тогда, когда каждый элемент множества А является элементом множества В и наоборот.
2. Множество А не равно множеству В (записывается как А<>В), если не каждый элемент множества А является элементом множества В или наоборот.
3. Множество А есть подмножество множества В (записывается как А<=В) тогда и только тогда, когда каждый элемент множества А является элементом множества В. В этом случае говорят, что множество А входит во множество В.
4. Множество В есть подмножество множества А (записывается как А>=В) тогда и только тогда, когда каждый элемент множества В является элементом множества А. В этом случае говорят, что множество А содержит множество В.
Операции сравнения множеств - двуместные. Результат операции будет логического типа: TRUE, если условие выполняется, и FALSE в противном случае.
Проверка принадлежности элемента множеству выполняется с помощью операции in. Пусть элемент S и множество А имеют одинаковый базовый тип. Тогда операция S in А проверяет, принадлежит ли элемент S множеству А; если да, то результат операции TRUE, иначе - FALSE.
В Паскале принят следующий приоритет операций, выполняемых над множествами: *, +, -, =, <>,>=, <=, in. Для изменения порядка выполнения операций используются круглые скобки.