Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
12 C# перечисления и наборы_10_4_13.doc
Скачиваний:
30
Добавлен:
29.03.2016
Размер:
277.5 Кб
Скачать

Задание 3.4. Работа со словарями

3.4.1. Создать набор типа словарь ключ-значение (Hashtable) содержащий 10 ключ-значение. Тематика словаря выбирается в соответствии с вариантом (табл. 1).

3.4.2. В консольном приложении осуществить запрос у пользователя ввода ключа.

3.4.3. Осуществить поиск значения в соответствии с введенным ключом, если такой есть то вывести его значение на экран, если отсутствует, то вывести соответствующее сообщение.

Таблица 1.

Вариант

Тематика (ключ-значение)

1

Книга - автор

2

Номер - игрок

3

Предмет - оценка

4

Товар - цена

5

Зачетка - фамилия

6

Номер заказа - покупатель

7

Имя - телефон

8

Фамилия – e-mail

9

Город - индекс

10

Заказ-фирма

11

Улица-номер дома

12

Фамилия-адрес

13

Телефон - фамилия

14

Фирма - сайт

15

Композиция - исполнитель

16

Программа - разработчик

17

Место – команда

3.4.4. Удалить из набора найденный элемент.

3.4.5. Вывести на экран все оставшиеся элементы.

3.4.6. Удалить все элементы набора.

Задание 3.5. Работа с набором двоичных значений

3.5.1. Создать набор двоичных значений.

3.5.2. Записать в набор значения своей фамилии и имени для четных вариантов 1 для гласных и 0 для согласных, для нечетных наоборот.

3.5.3. Осуществить две логические операции над каждым элементом набора в соответствии с вариантом (см. табл .1.).

Таблица 1.

Вариант

Операция 1

Операция 2

1

AND 1

Not

2

AND 0

Not

3

OR 0

Not

4

OR 1

Not

5

XOR 1

Not

6

XOR 0

Not

7

AND 1

OR 1

8

AND 0

OR 1

9

AND 1

OR 0

10

AND 0

OR 0

11

OR 1

XOR 1

12

OR 0

XOR 1

13

OR 1

XOR 0

14

OR 0

XOR 0

15

AND 1

XOR 0

16

AND 0

XOR 0

17

AND 1

XOR 1

18

AND 0

XOR 1

3.5.4. Результат вывести на экран в виде цифровых значений.

Методические указания

Методические указания к пункту 3.1.

Перечисления представляют множество именованных целочисленных констант. Конструкция:

emum имя {список};

Рассмотрим пример:

Из примера видно что перечисления объявляются не в методе Main а для использования значений нужно применять приведение к целочисленному типу. В результате выполнения программы будет выведены значении 0 и 2. Если значения констант не указывать то они устанавливаются по умолчанию по следующему правилу: инкремент значения предыдущей константы, значение первой константы равно 0.

Значения констант можно установить вручную. Пример:

В результате на экран будет выведено: 50, 51 и 0. Для констант b и d не было объявлено значений, поэтому для них были присвоены значения инкремента о предыдущий значений – 51 и 0 соответственно.

Методические указания к пункту 3.2.1.

Для решения задания нужно подключить дополнительно пространство имён: System.Collections. Подключение:

Вначале, нужно создать набор типа ArrayList:

Генерация случайных значений в интервале осуществляется с помощью метода Next экземпляра класса Random. В примере 10 элементов созданного набора заполняются случайными числами из диапазона от 1 до 100:

Методические указания к пункту 3.2.2.

Сортировка осуществляется с помощью метода Sort:

Методические указания к пункту 3.2.3.

Для того чтобы выполнить вывод всех элементов на консоль нужно составить цикл foreach:

Для того что бы добавить в набор элемент по заданному индексу необходимо применить метод Insert. Занесения в 5 индекс значения 700:

Методические указания к пункту 3.2.4.

Генерация значений осуществляется как в пункте 3.1.1. Для проверки наличия в наборе элемента применяется метод Contains возвращающий тип bool. Для поиска индекса по заданному его значению используется метод IndexOf. Пример проверка на наличие в наборе значения 700 и случае присутствия, поиск его индекса и вывод на консоль:

Методические указания к пункту 3.2.5.

Удаление элементов набора осуществляется с помощью метода Remove. Пример удаления элемента с индексом 5:

Методические указания к пункту 3.2.6.

Очистка набора осуществляется с помощью метода Clear:

Методические указания к пункту 3.3.1

Для генерации случайного текста необходимо определить диапазон значений кодовой таблицы, в которых располагаются нужные символы. По умолчанию в C# применяется кодовая таблица UTF-8, соответствие наборов символов и диапазонов располагается в приложении данных методических указаний. После определения диапазона значений, нужно с помощью генерации псевдослучайных чисел в этом диапазоне и их преобразованием в символьный тип получить текст.

Рассмотрим по пунктам на основе примера – необходимо сгенерировать текст из 100 символов, значения из кодировки берутся в пределе от 1000 до 1050. Генерация случайных значений в интервале осуществляется с помощью метода Next экземпляра класса Random:

Как видно в примере метод принимает в качестве параметров значение пределов, в которых нужно генерировать значение.

Для генерации строки символов нужно с помощью регулярного цикла задать число необходимых символов и использовать приведение типов из числового (int) в символьный (char). Пример:

Методические указания к пункту 3.3.2.

Вначале, нужно создать набор типа очередь (Queue). Добавление элементов в очередь осуществляется с помощью метода Enqueue. В примере рассмотрено создание очереди и добавление двух элементов – строкового и числового типа:

Методические указания к пункту 3.3.4.

Возвращение элемента очереди без его удаления из неё осуществляется с помощью метода Peek.

Методические указания к пункту 3.3.5.

Количество элементов в очереди возвращает метод Count. Возвращает элемент очереди, и удалят из неё метод Dequeue. Пример удаления всех элементов очереди:

Методические указания к пункту 3.3.6.

Вначале, нужно создать набор типа стек (Stack). Добавление элементов в очередь осуществляется с помощью метода Push. В примере рассмотрено создание стека и добавление двух элементов – строкового и числового типа:

Методические указания к пункту 3.3.7.

Извлечение элементов из набора стек осуществляется методом Pop. В примере с помощью цикла извлекается поочередно 5 элементов и выводятся на консоль:

Методические указания к пункту 3.3.8.

Извлечение без удаления верхнего элемента стека осуществляется с помощью метода Peek.

Методические указания к пункту 3.4.1.

Для решения задания нужно подключить дополнительно пространства имён: System.Collections.Specialized. Подключение:

Необходимо создать набор типа словарь ключ-значение:

Заполнение осуществляется с помощью метода add, в качестве параметров передается ключ и зщначение. Пример заполнения:

Методические указания к пункту 3.4.2.

Вывод на консоль осуществляется с помощью метода WriteLine класса Console, а считывание осуществляется с помощь метода ReadLine. Пример запрос ввод имени пользователя в переменную s типа String:

Методические указания к пункту 3.4.3

Осуществить поиск значения в соответствии с введенным ключом, можно осуществить с помощью вызова элемента с заданным ключом. Пример:

Методические указания к пункту 3.4.4

Удаление осуществляется с помощью метода Remove

Методические указания к пункту 3.4.5

Вывести на экран все значения можно с помощью цикла foreach:

Методические указания к пункту 3.4.6

Для удаления всех элементов массива существует специальный метод очистки (Clear). Пример его использования:

Методические указания к пункту 3.5.1.

Необходимо создать битовый набор (BitArray) с указанием числа элементов. Пример создания битового набора с 3 элементами:

Методические указания к пункту 3.5.2.

Заполнение битового набора осуществляется с помощью переменных типа bool. Пример, в созданный набор заносятся значения 101:

Методические указания к пункту 3.5.3.

Для осуществления логических операций над битовым массивом нужно использовать методы битового набора – and (логическое И), or (логическое Или), xor (исключающее Или), not (инверсия). В качестве параметра передается другой битовый массив с необходимыми значениями. Пример применения Исключающего Или:

Методические указания к пункту 3.5.4.

Для того чтобы вывести все значения набора в цифровом виде нужно организовать цикл проверяющий значения набора. Пример: