- •Кафедра прикладной математики лекция № 16. Тема: «структурированные типы данных»
- •1. Пользовательские типы.
- •1.1. Перечисляемый тип.
- •1.2. Интервальный тип (диапозон).
- •2. Структурированные типы данных.
- •3. Тождественность и совместимость типов.
- •4. Массивы.
- •4.1. Объявление массива.
- •4.2. Действия над массивами.
- •4.3. Действия над элементами массива.
- •4.4. Многомерные массивы.
- •5. Строковый тип данных.
- •5.1. Строковые выражения.
- •5.2. Строковые процедуры и функции.
- •6. Множественный тип данных.
- •6.1. Операции над множествами.
- •Пример 3.
- •7. Запись.
- •7.1. Оператор with.
- •7.2. Записи с вариантами.
- •Контрольные вопросы
- •Задачи для самостоятельной работы
- •Лекция № 16 по курсу «информатика»
Задачи для самостоятельной работы
Задача 1.
Создайте матрицу 5x5, значение каждого элемента которой равно сумме номера строки и столбца, на пересечении которых он находится, и вычислите сумму элементов каждой строки.
Задача 2.
Найдите сумму элементов массива ниже главной диагонали, произведение не равных нулю элементов выше главной диагонали и количество элементов в главной диагонали, попадающих в интервал [-1;1].
Задача 3.
Дана матрица целых чисел размером 10x12. Найдите индексы всех ее седловых точек. (Седловой точкой называется элемент, который является наименьшим в своей строке и наибольшим в своем столбце или, наоборот, наибольшим в своей строке и наименьшим в своем столбце.)
Задача 4.
Составьте программу, проверяющую, образуют ли элементы двумерного массива магический квадрат (в магическом квадрате суммы чисел по всем вертикалям, всем горизонталям и двум диагоналям одинаковы).
Задача 5.
Заполнить массив А размером 10х10, состоящий из целочисленных величин следующим образом:
а) 0 0 0 … 0 б) 1 2 … 10 в) 1 2 3 … 10
0 1 0 … 0 11 12 … 20 0 1 2 … 9
0 0 2 … 0 21 22 … 30 0 0 1 … 8
. . . . . . . . . . . . . . . . . . . . . . . . . .
0 0 0 … 9 91 92 … 100 0 0 0 . . . 1
Задача 6.
Дана программа. На вход ее подается следующий текст:
5A7233111BGE2257CDE.,
признаком конца текста является точка. Определить, что напечатано в результате обработки этого текста программой ZAF:
program ZAF;
var z:set of 0..9;
i,k:integer;
si:char;
begin
readln;
write(‘=>’);
z:=[ ];
repeat
read(si);
k:=ord(si)-ord(‘0’);
if k in [0..9] then z:=z+[k]
until k=’.’;
if z=[ ] then writeln(‘в тексте нет цифр’)
else
begin
writeln(‘в тексте имеются следующие цифры:’);
for i:=1 to 9 do
if i in z then writeln(i:2);
writeln
end
end.
Задача 7.
Если дано описание var p:set of 0..9;
i,j:integer;
и i=3 и j=5, то какое значение получит переменная p при выполнении следующего оператора присваивания:
а) p:=[i+3, j div 2, j..sqr(i)-3];
б) p:=[2*i..j];
в) p:=[i, j, 2*i, 2*j]
Задача 8.
Составьте программу шифрования текстового сообщения. Можно использовать такой способ шифрования. Шифровальщик задает ключ шифрования – целое число, который определяет величину смещения букв русского алфавита, например: ключ = 3, тогда в тексте буква «а» заменяется на «г» и т.д. Используются все буквы русского алфавита. Е считывается дважды.
Задача 9.
Составить программу, определяющую сколько раз в данной строке встречается символ «а».