-
Введите на консоль строку, и, если она совпадает со строкой «Я буду усердно делать все задания по C# и заниматься дома», выведите строку «За это ты получишь печеньку».
-
Создайте консольное приложение для игры в «Камень-ножницы-бумага». Пользователь должен ввести одно из этих трёх значений, в ответ программа должна выдать свой вариант, выбранный случайным образом. В конце программы огласите победителя.
-
Посчитайте приближенное значение суммы рядов, и выведите на консоль.
-
Разработайте программу, в случайных местах на консоли с частотой в 250 мс выводящую строку «C#».
-
Напишите программу, в которой пользователя по циклу должны просить нажать какую-либо (случайную) клавишу на клавиатуре. После 20 подряд идущих правильных нажатий, нужно похвалить пользователя и завершить программу. В случае неверного ввода, счёт правильных нажатий нужно обнулять. Если пользователь ошибётся 3 раза, завершить программу.
-
Создайте массив из 10 элементов. Затем сформируйте второй массив, каждый i-ый элемент которого должен быть равен сумме i-ого элемента отсортированного по убыванию массива и оригинального i-ого элемента.
-
Разработайте метод, возвращающий целочисленный массив без элементов со значениями, переданными в качестве набора параметров. Метод первым параметром должен принимать массив, а дальше переменное количество чисел, которые будут удаляться из этого массива. Возвращаться должен новый массив, состоящий из элементов оригинального массива, за исключением удаляемых.
-
Напишите метод, принимающий параметром массив чисел, и который будет возвращать минимальное значение, максимальное значение и среднее значение среди положительных элементов массива. Можете попробовать сделать это двумя способами: через out параметры и при помощи кортежа.
-
Напишите статический метод, принимающий параметр-строку. Метод должен возвращать число, полученное путём следующих вычислений: сумма кодов всех уникальных символов в строке в степени количества их повторений, и всё это по модулю 8. Например, для строки «Мурсапилами» нужно посчитать: Коды: М – 1052, у – 1091, р – 1088, с – 1089, а – 1072, п – 1087, и – 1080, л – 1083, м – 1084. (1052^1 + 1091^1 + 1088^1 + 1089^1 + 1072^2 + 1087^1 + 1080^2 + 1083^1 + 1084^1) % 8 = (1052 + 1091 + 1088 + 1089 + 1149184 + 1087 + 1166400 + 1083 + 1084) % 8 = 2323158 % 8 = 6.
-
Разработайте класс, который должен содержать:
- элементы разного уровня доступа (public и private);
- не менее 4 свойств;
- не менее 3 методов;
- хотя бы одну перегрузку метода;
- статический метод;
- константное или поле только для чтения;
- не менее 3 конструкторов;
- финализатор. В Main-е создайте объекты вашего класса и продемонстрируйте работоспособность конструкторов и методов.
Модифицируйте программу из предыдущего задания, построив на его основе иерархию (через наследование), как минимум из 5 классов. Корневой класс иерархии должен быть абстрактным, а хотя бы один класс из потомков – бесплодным. У каждого из классов должно быть хотя бы одно собственное свойство и метод. Также должны быть продемонстрированы виртуальные и переопределённые методы.
Модифицируйте проект из предыдущего задания, выделив общие поведенческие модели среди классов в интерфейсы. Интерфейсов должно быть как минимум 2. Добавьте дополнительный класс, не входящий в вашу иерархию классов, который также реализует один из созданных интерфейсов.
- Создайте класс коллекции Set – множество чисел типа int. Множество – структура данных, наподобие списка, с несколькими особенностями: все элементы множества уникальны. Т.е. в множестве не может присутствовать 2 одинаковых элемента. Если попытаться добавить элемент, который уже присутствует во множестве, ничего не должно происходить.
- Внутри класса элементы могут храниться в виде списка.
- Нужно сделать конструктор, который будет инициализировать множество на основе массива (параметр – массив чисел).
- Написать свойство для количества элементов.
- Написать методы Add и Remove для добавления и удаления элементов из множества, соответственно. Добавление должно быть реализовано таким образом, чтобы повторки не добавлялись.
- Реализуйте метод для вывода всех элементов множества на консоль.
- Операции над множествами (объединение, пересечение, разность, симметрическая разность) должны быть реализованы через методы (можно обычные, можно статические).
- Реализуйте метод проверки, является ли одно множество подмножеством другим, т.е. есть ли все элементы первого множества во втором.
- Переделайте класс, заменив методы действия над множествами на перегрузки операторов (которые работают также):
- Объединение множеств – с помощью оператора бинарного +
- Пересечение множеств – с помощью оператора *
- Разность множеств – с помощью оператора бинарного -
- Симметрическую разность множеств – с помощью оператора %
- Проверку на подмножество – с помощью операторов > и <
-
Сделайте класс Set обобщённым с типом-параметром T. Т.е. чтобы он мог хранить не только целые числа, но любые типы данных. Если элементы сравнивались у вас с помощью операторов == и !=, замените их на вызовы метода Equals.
-
Продемонстрируйте работу вашего класса для 3 различных типов данных, один из которых должен быть вашим классом из предыдущих заданий.
Модифицируйте проект из заданий перед классом множества. Добавьте в ваши классы/интерфейса как минимум 2 обратных вызова (callback) и 2 события (event).
-
Создайте приложение WPF с графическим интерфейсом для создания объекта какого-либо из ваших классов. Продемонстрируйте в нем работу не менее 3 различных элементов управления. С помощью формы должно вводиться не менее 5 свойств класса.
-
Добавьте в программу механизмы валидации (проверки) вводимых значений. Если вводится неправильное значение, рядом с элементом ввода должно отобразиться сообщение с пояснением о совершённой ошибке.
Создайте приложение Калькулятор. Интерфейс – заурядного калькулятора. Обязательно наличие кнопок для: ввода чисел, сложения, вычитания, умножения, деления, вывода результата.