Лабораторная работа № 8 множественный тип данных

      Комментарии к записи Лабораторная работа № 8 множественный тип данных отключены

(4 часа)

Цель работы: Освоить на практике организацию множества, как структуры данных, средствами языка Object Pascal /

Домашнее задание:

1. Изучить организацию типа множество в Object Pascal

(set of ).

2. Освоить операции и стандартные функции, допустимые при работе с множествами.

Порядок выполнения работы.

1. Открыть проект Delphi Structures.

2. Добавить в управляющее главное меню пункт «Лабораторная работа №1», при выборе которого должно появляться окно модуля «Set» (модуль «Set» с формой добавить в проект).

3. Установить на форму модуля Set компоненты, обеспечивающие ввод исходных данных, управляющую кнопку (класса TButton или TBitBtn) и компоненты для вывода результатов на экране в соответствии с вариантом задания таблицы №1.

4. В обработчике события onClick управляющей кнопки на языке

Object Pascal написать фрагмент программы для реализации алгоритма в соответствии с вариантом задания.

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

5. Составить отчет и защитить работу преподавателю. В отчете обязательно представить блок-схему алгоритма решения задачи.

Таблица 8.1

№ вар. Текст задачи
1. TypeStroka= string[80];Var s:stroka;Описать функцию Schet(s) , подсчитывающую общее кол-во цифр и знаков ‘+’, ‘-‘, ‘*’ ,входящих в строку s.Организовать Windows- приложение в Delphi , в котором исходная строка вводится с клавиатуры с помощью объекта класса TEdit , а результаты обращения к Function Schet вывести в объект класса TLabel.
2. Type month= 1..12;Описать функцию CountDays (m:month), определяющую количество дней в месяце m ( невисокосного типа).Организовать Windows- приложение в Delphi , в котором номер месяца вводить с помощью объекта класса TEdit ,а результат обращения к функции CountDays для введенного месяца вывести в объект класса TLabel .
3. В языке Паскаль нет стандартной операции , позволяющей узнать, сколько и какие именно элементы входят в некоторое множество. Как реализовать эту операцию другими средствами языка?Пусть имеем описание:TypeLat = set of ‘a’ .. ‘z’;Var А:Lat;Описать:1)функцию count(А) ,подсчитывающую количество элементов в множестве А ( например: count([‘d’,’q’,’s’]) =3) .2)процедуру print(A) ,которая выводит на экран в алфавитном порядке все элементы множества А.
4. Не используя дополнительных переменных , поменять местами значения переменных- множеств А и В.
5. Дан текст из цифр и малых латинских букв, за которым следует точка. Определить, каких букв- гласных( а, е, i, o, u) или согласных больше в этом тексте. Использовать тип множество.
6. Описать функцию Digits(n: integer) ,подсчитывающую количество различных(значащих) цифр в десятичной записи натурального числа n .Организовать Windows- приложение , в котором с помощью объекта класса TEdit ввести натуральное n , обратиться к функции Digits для подсчета количества различных цифр в записи числа и вывести полученный результат в объект на форму. Рекомендация. Сначала выделить цифры из числа n и записвть их в множество sd.
7. Дан текст из малых латинских букв , за которым следует точка.Организовать программу, которая ищет и выводит:1) первое вхождение каждой буквы в текст , сохраняя их исходный порядок.2) все буквы, входящие в текст( на выводе все буквы по одному разу, независимо от того, сколько раз они встречаются в тексте. Рекомендация. В цикле посимвольной обработки текста формируйте множество , в которое войдут все буквы , встречающиеся в этом тексте.

Контрольные вопросы

1. Что представляет собой структура данных множество?

2.Какие операции допустимы при работе с множествами?

3.Как добавить элемент в множество?

4.Как убрать элемент из множества?

5.Что представляет собой пустое множество?

6.С помощью какой функции можно извлечь порядковый номер элемента в множестве?

Множественные аллели. Анализирующее скрещивание