Типы данных множества и интервалы. Операции над множествами в Pascal. Синтаксис и решение задач по программированию.

Добавление правильного окончания (слова) к числу

 

В русском языке, когда говорят о количестве лет, то после числа используют слова "год", "года" и "лет". Например, 1 год, но 10 лет или 3 года.

Требуется написать программу, которая в зависимости от числа добавляет правильное окончание.

 

Объявление множеств и действия над ними

Объявление множеств

В языке программирования Pascal существует понятие множества, имеющее смысл некоторого собрания элементов, одно и того же базового типа. Базовый тип определяет перечень всех элементов, которые вообще могут содержаться в данном множестве. В качестве базового типа может выступать любой простой порядковый тип. Но вещественные числа (real не порядковый тип) и строки (не простой и не порядковый тип) не могут быть элементами множества.

Определить угаданные и неугаданные числа

Компьютер генерирует пять чисел в диапазоне от 1 до 15 включительно. Человек пытается их угадать. Программа должна выводить угаданные и неугаданные числа из тех, что сгенерировала программа, а также ошибочные числа пользователя.

Проверка корректности строки-идентификатора

Проверить введенную пользователем строку на наличие недопустимых символов. В качестве первого символа допустимы только буквы и знак подчеркивания. Остальные символы могут быть буквами, цифрами и знаком подчеркивания.

Пример, иллюстрирующий использование интервального типа и манипуляции над множествами

Компьютер задумывает четырехзначное число, не содержащее двух одинаковых цифр. Вы набираете свое число, и компьютер сообщает количество быков (точно угаданных цифр) и количество коров (цифр, которые есть в задуманном числе, но на другом месте). Например, пусть задуманное число 5734, а вы набрали 0755. Результат будет 1 бык и 2 коровы. Игра продолжается до тех пор, пока вы не получите четыре быка.

Операции над множествами

К переменным типа set применимы следующие операции: =, <>, >=, <=, in, +, -, *.

Операции = и <> используются для проверки эквивалентности: два значения переменной типа set считаются равными, если они состоят из одних и тех же элементов.

Пример.

Данные типа set

Данные типа set задаются путем перечисления значений, разделенных запятыми и заключенных в квадратные скобки.

Общий вид:

[expr1, expr2, …exprn];

Здесь expri – выражение базового типа.

Множества в примерах

Рассмотрим несколько примеров.

Пример. Пусть в вашем распоряжении имеется множество из трех монет разного достоинства: 1 р, 5 р, 10 р. Из этих монет можно составить следующие подмножества (их число равно 23 = 8):

Диапазонный, или интервальный, тип

Для переменной скалярного (перечисляемого) типа можно указать некоторое подмножество значений, которые может принимать данная переменная.

Общий вид: