Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Лабораторная работа № 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.   Type Stroka= 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. В языке Паскаль нет стандартной операции, позволяющей узнать, сколько и какие именно элементы входят в некоторое множество. Как реализовать эту операцию другими средствами языка? Пусть имеем описание: Type Lat = 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.С помощью какой функции можно извлечь порядковый номер элемента в множестве?

 


 





Поделиться с друзьями:


Дата добавления: 2016-12-05; Мы поможем в написании ваших работ!; просмотров: 568 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Своим успехом я обязана тому, что никогда не оправдывалась и не принимала оправданий от других. © Флоренс Найтингейл
==> читать все изречения...

2396 - | 2210 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.