# Лабораторная работа

## Работа с данными типа: множество, дата, кортежи.

### Множества

1. Известны сорта роз, выращиваемых тремя цветоводами: «Анжелика», «Виктория», «Гагарин», «Ave Maria», «Катарина», «Юбилейная». Определить те сорта, которые имеются у каждого из цве товодов, которые есть хотя бы у одного из цветоводов, которых
нет ни у одного из цветоводов.

1. Заданы имена девочек. Определить, какие из этих имен встречаются во всех классах данной параллели, которые есть только в
некоторых классах и какие из этих имен не встречаются ни в одном классе.

1. Задан некоторый набор товаров. Определить для каждого из товаров, какие из них имеются в каждом из п магазинов, какие
товары есть хотя бы в одном магазине и каких товаров нет ни в одном магазине.

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

1. Имеется множество, содержащее натуральные числа из некоторого
диапазона. Сформировать два множества, первое из которых
содержит все простые числа из данного множества, а второе — все составные.

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

1. Известны марки машин, изготовляемых в данной стране и импортируемых за рубеж. Даны некоторые T V стран. Определить для каждой из марок, какие из них были:
    - доставлены во все страны;
    - доставлены в некоторые из стран;
    - не доставлены ни в одну страну.

1. В озере водится несколько видов рыб. Три рыбака поймали рыб, представляющих некоторые из имеющихся видов. Определить:
    - какие виды рыб есть у каждого рыбака;
    - какие рыбы есть в озере, но нет ни у одного из рыбаков.
     
1. В N колхозах выращивают некоторые сельскохозяйственные культуры из имеющегося перечня. Определить культуры:
    - возделываемые во всех колхозах;
    - возделываемые только в некоторых колхозах.

1. Есть список игрушек, некоторые из которых имеются в N детских садах. Определить игрушки из списка:
    - которых нет ни в одном из детсадов;
    - которые есть в каждом из детсадов.

1. Составить программу, которая вычисляет сумму тех элементов
двумерного массива, номера строк и столбцов которых принадлежат
соответственно непустым множествам S1 и S2

1. Задано некоторое множество М и множество T того же типа.
Подсчитать, сколько элементов из множеств Т и М совпадает.

1. Из диапазона целых чисел m...n выделить:
    - множество чисел, делящихся без остатка или на k, или на l (k, l — простые);
    - множество чисел, делящихся на k*l без остатка.

1. Дан текст из цифр и строчных латинских букв, за которыми следует точка. Определить, каких букв — гласных (a, e, i, o, u) или согласных — больше в этом тексте.

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

1. Дан текст из строчных латинских букв, за которыми следует точка. Напечатать все буквы, входящие в текст не менее двух раз.

1. Дан текст из строчных латинских букв, за которыми следует точка. Напечатать все буквы, входящие в текст по одному разу.

1. Дан текст, за которым следует точка. В алфавитном порядке напечатать все строчные русские гласные буквы (а, е, и, о, у, ы, э, ю, я), входящие в этот текст.

1. Дан текст на русском языке. Напечатать в алфавитном порядке все гласные буквы, которые входят в каждое слово.

1. Дан текст на русском языке. Напечатать в алфавитном порядке все согласные буквы, которые не входят ни в одно слово.

1. Дан текст на русском языке. Напечатать в алфавитном порядке все звонкие согласные буквы, которые входят в каждое нечетное слово и не входят ни в одно четное слово.

1. Дан текст на русском языке. Напечатать в алфавитном порядке все звонкие согласные буквы, которые входят хотя бы в одно слово.

1. Дан текст на русском языке. Напечатать в алфавитном порядке все глухие согласные буквы, которые не входят хотя бы в одно слово.

1. Дан текст на русском языке. Напечатать в алфавитном порядке все согласные буквы, которые входят только в одно слово.

1. Дан текст на русском языке. Напечатать в алфавитном по рядке все глухие согласные буквы, которые не входят только в одно слово.

1. Дан текст на русском языке. Напечатать в алфавитном по рядке все звонкие согласные буквы, которые входят более чем в одно слово.

1. Дан текст на русском языке. Напечатать в алфавитном порядке все гласные буквы, которые не входят более чем в одно слово.

1. Дан текст на русском языке. Напечатать в алфавитном порядке все глухие согласные буквы, которые входят в каждое нечетное слово и не входят хотя бы в одно четное слово.

### Даты

1. Ввести с консоли строку в формате `ДД.ММ.ГГГГ`. Проверьте является ли введенная строка валидной датой.

1. Найти количество дней между двумя датами. 

1. Найти количество часов между двумя датами. 

1. Найти количество минут между двумя датами. 

1. Найти "день программиста" (256-й день в году) для указанного года (ввести с консоли). Вывести дату и день недели.

1. Известен номер **n** некоторого дня года (`1 ≤ n ≤ 365`). Определить номер и название дня недели, на который
выпадает данный день года.

1. Задана дата экзамена. С клавиатуры надо вводить другую дату, в случае, если дата раньше даты экзамена, вывести "осталось n дней", если уже прошел экзамен "прошло n дней", и если экзамен сегодня "сегодня экзамен!"

1. Вывести дату в формате `ДД.ММ.ГГГГ` для "завтра"

1. Задан день и месяц рождения в формате `dd.mm`. Определите, сколько дней осталось/прошло с дня рождения. Если сегодня - день рождения, то вывести поздравление.

1. Часы показывают время в формате `hh:mm:ss`. Определите количество секунд, которое прошло с начала суток.

1. Задан неупорядоченный список дат в формате `ДД.ММ.ГГГГ`, найти ближайшую (к сегодняшнему дню) дату из списка.

1. Задан неупорядоченный список дней рождений в формате `ДД.ММ.ГГГГ`. Вывести упорядоченный список месяцев с количеством дней рождений в этом месяце.

1. Поиск наиболее популярного месяца: объявите массив произвольных дат в формате `ДД.ММ.ГГГГ`. Найдите самый популярный месяц. 

1. Пятница, 13-е. Докажите, что 13-е число месяца чаще всего приходится на пятницу.
Напишите программу, которая выводит на экран 7 чисел: вероятности выпадения 13 числа каждого месяца на понедельник, вторник, среду, четверг, пятницу, субботу, воскресенье.

1. На одном из московских вокзалов билеты продают N касс. Каждая касса работает без перерыва определенный промежуток времени по фиксированному расписанию. Требуется определить, в какой промежуток времени работает наибольшее количество касс. (на входе в программу строка вида `00:00-01:00,00:30-02:30,...`)

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