Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции СД.doc
Скачиваний:
212
Добавлен:
19.03.2015
Размер:
1.81 Mб
Скачать
  1. Задания для самостоятельной работы

  1. Работа некоторого устройства кодируется одним байтом. Самый старший разряд байта позволяет определить состояние устройства (1 – включено, 0 – выключено). Остальные разряды задают режим работы. Привести пример подпрограммы, устанавливающей заданный режим работы устройства, если оно включено. Подпрограмма должна быть функцией, возвращающей True при задании режима и False, если устройство выключено. Пример режима xx101x1 (x – прежнее значение разряда).

  1. Работа 8 различных устройств кодируется одним байтом. Разряд байта с порядковым номером n позволяет определить состояние данного устройства (1 – включено, 0 – выключено). Привести пример подпрограммы, определяющей работу любого числа заданных устройств. Например, определить, включены ли устройства с порядковыми номерами 1,4,7.

  1. Создать множество из чисел Фибоначчи: F(n)=F(n-1)+F(n-2), F(0)=0, F(1)=1. Множество должно содержать N первых чисел последовательности.

  1. Привести пример подпрограммы считывания числовых данных из текстового файла. Данные вещественного типа, расположены в файле в один столбец. Подпрограмма-функция должна возвращать True при успешном срабатывании и False при ошибке, а объем прочитанных данных через параметр-переменную.

  1. Привести пример подпрограммы, выполняющей транспонирование матрицы. Подпрограмма-процедура должна получать матрицу A (параметр-переменная) и ее размерность N.

  1. Массив объявлен следующим образом:

var r: array [10..25] of Real;

Определить, сколько занимает в памяти массив, смещение к элементу с порядковым номером 5, адрес элемента с порядковым номером 10.

  1. В массиве содержится 100 вещественных чисел. Выполнить их сортировку. Обосновать выбор алгоритма сортировки.

  1. Массив объявлен следующим образом:

var w: array [10..15][5..10] of Word;

Определить, сколько занимает в памяти массив и смещение к элементу [12,8].

  1. Массив объявлен следующим образом:

var w: array [1..100][1..50] of Word;

Привести пример подпрограммы удаления заданного столбца или строки.

  1. Создать динамический массив, размерностью N вещественных чисел. Инициализировать его случайными числами в диапазоне [0..1]. Вычислить процент чисел (от общего объема), меньших числа, заданного пользователем. Вывести результат и удалить массив из памяти.

  1. Информация о студенте включает: ФИО, порядковый номер, название факультета, номер специальности, дату рождения, адрес проживания, телефон. Информация о студентах хранится в виде записей в массиве. Отсортировать всех студентов в алфавитном порядке. Обосновать выбор алгоритма сортировки.

  1. Информация о студенте включает: ФИО, порядковый номер, название факультета, номер специальности, дату рождения, адрес проживания, телефон. Создать список L класса TList и разработать процедуру добавления в него данных-записей о студентах.

  1. Информация о студенте включает: ФИО, порядковый номер, название факультета, номер специальности, дату рождения, адрес проживания, телефон. Информация о студентах хранится в виде записей в списке L класса TList. Разработать процедуру, выполняющую поиск данных (по полю записи) о требуемом студенте в списке.

  1. В списке L класса TList находятся адреса N объектов. Удалить список L из памяти.

  1. Использовать следующий прототип функции для выполнения арифметических операций:

TOperation = function(x,y,z: Integer): Real;

  1. Привести пример реализации программного модуля с процедурами, демонстрирующими работу с кольцевой очередью. Работа очереди должна быть построена на структуре данных «вектор» и «связный список».

  1. Разработать функцию поиска указанной строки в текстовом файле. При обнаружении первого вхождения строки функция должна возвращать True и координаты первого символа, False при отсутствии искомой строки.

  1. Разработать функцию инвертирования заданной строки.

  1. Разработать алгоритм доступа к массиву числовых данных используя механизм хеширования. Применить закрытый метод адресации для разрешения коллизий.