Поиск
 
 

Результаты :
 


Rechercher Расширенный поиск

Кто сейчас на форуме
Сейчас посетителей на форуме: 1, из них зарегистрированных: 0, скрытых: 0 и гостей: 1

Нет

[ Посмотреть весь список ]


Больше всего посетителей (9) здесь было Вс Фев 11, 2018 12:54 pm
Самые активные пользователи за неделю
Ярослав
 


[П 32017] Домашние задания

Перейти вниз

[П 32017] Домашние задания

Сообщение автор Ярослав в Сб Сен 08, 2018 1:22 pm

Д/з №01 (09 сентября 2018)
Консольный ввод-вывод, циклы, ветвления
Срок: по 15 сентября

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

Пользователь вводит сумму вклада, например, 10000 р.
Затем пользователь вводит годовую процентную ставку, например, 15%. Значит, за год банк должен увеличить его вклад на 15% от изначальной суммы.

Программа должна посчитать, сколько денег будет на счёте через 1 год, 2 года, 3 года и так далее до лимита в 25 лет. Распечатайте таблицу в консоли.

2. Пользователь вводит два целых числа, A и B, для примера 3 и 7. Программа должна напечатать трапецию из чисел:

3 3 3
4 4 4 4
5 5 5 5 5
6 6 6 6 6 6
7 7 7 7 7 7 7

Каждое число печатается на новой строке. Число 3 печатается 3 раза, число 4 печатается 4 раза и так далее. Мы начинаем с числа A и движемся вперёд, пока не достигнем числа B. Используйте вложенные циклы.

3. Напишите программу с текстовым меню. Программа предлагает выбрать действие из списка:

1) Добавить новый маршрут
2) Просмотреть список всех маршрутов
3) Удалить маршрут
4) Выйти

Пользователь вводит номер пункта. Эти пункты ничего не делают: программа лишь говорит «маршрут добавлен», «список маршрутов пуст», «маршрут удалён». После этого пользователь возвращается в меню, и процесс повторяется. Пункт 4 действительно выходит из программы.
avatar
Ярослав
Admin

Posts : 641
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: [П 32017] Домашние задания

Сообщение автор Ярослав в Вс Сен 16, 2018 8:52 am

Д/з №02 (16 сентября 2018)
Массивы, строки, классы
Срок: по 22 сентября

1. Объявите два массива:

• Одномерный массив из 5 элементов
• Двумерный массив из 3 строк, 4 столбцов

Заполните их числами:

• Пользователь вводит с клавиатуры значения для первого массива
• Заполните второй массив случайными числами

Распечатайте массивы:

• Одномерный массив в виде строки
• Двумерный массив в виде прямоугольной таблицы

Найдите и покажите сумму элементов в каждом из массивов.

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

3. Создайте класс: Шкаф, Стол, Диван, Кровать... — один из видов мебели на ваш выбор. В этом классе:

• Создайте три поля, описывающие предмет мебели, существенные с точки зрения покупателя. Примеры свойств: ширина, высота, глубина, вместимость, цена, цвет, страна-производитель.
• Создайте get- свойства для этих полей
• Создайте конструктор, позволяющий задать значения всех трёх полей. Например, конструктор с шириной, высотой и глубиной.
• Создайте ещё один конструктор — без параметров. Этот конструктор заполняет поля разумными значениями по умолчанию.
• Создайте функцию, распечатывающую полученный предмет мебели

В Main создайте массив из нескольких экземпляров мебели и распечатайте.
avatar
Ярослав
Admin

Posts : 641
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: [П 32017] Домашние задания

Сообщение автор Ярослав в Вт Сен 25, 2018 9:10 pm

Д/з №03 (23 сентября 2018)
Наследование. Стандартные интерфейсы
Срок: по 29 сентября

1. В некоторой онлайн-игре игроки прокачивают персонажа до максимального 120 уровня, затем собирают экипировку до максимального 1000 уровня, затем тратят время, собирая достижения (бесконечный процесс). Создайте класс Player (игрок) с целочисленными свойствами:

• уровень персонажа;
• уровень экипировки;
• количество очков достижений;

Класс должен реализовывать стандартный интерфейс IComparable<Player>, то есть позволять игроку сравнить себя с другим игроком. Правило сравнения:

• Все три показателя игрока складываются, затем смотрят: у кого получилось больше, тот и победил.

2. Напишите класс GuildLeader (лидер гильдии). Этот класс должен реализовывать другой стандратный интерфейс, IComparer<Player>: лидер гильдии умеет сравнивать двух игроков. Он пользуется более детализованным правилом:

• Игрок с большим уровнем персонажа безусловно побеждает;
• Если уровень персонажа одинаковый, то побеждает игрок с лучшей экипировкой;
• Если и уровень экипировки одинаковый, то побеждает игрок с наибольшим числом очков достижений;
• Если игроки полностью идентичны, то они равны.

3. Выразите с помощью наследования тот факт, что лидер гильдии сам является игроком: у него тоже есть уровень, экипировка, очки достижений.
avatar
Ярослав
Admin

Posts : 641
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: [П 32017] Домашние задания

Сообщение автор Ярослав в Сб Сен 29, 2018 3:57 pm

Д/з №04 (30 сентября 2018)
Перегрузка операторов
Срок: по 10 октября

Задание 1. Реализовать класс для хранения комплексного числа. Любое комплексное число z состоит из двух вещественных чисел: x — вещественная часть (real part), y — мнимая (imaginary part):
Код:
z = x + iy,
где i — мнимая единица, то есть вымышленное число, дающее в квадрате -1:
Код:
i^2 = -1
Комплексное число можно представлять себе как точку на плоскости с координатами (x, y).


Требуется перегрузить арифметические операторы +, -, *, / и проверку на равенство == для класса комплексных чисел.

Комплексные числа складываются и вычитаются как векторы, покомпонентно:
Код:
(a + bi) + (c + di) = (a + c) + (b + d)i
(a + bi) - (c + di) = (a - c) + (b - d)i

Два комплексных числа равны, только если их вещественная и мнимая части соответственно равны:
Код:
a + bi == c + di, только если a == c и b == d.

Умножение устроено сложнее, его можно найти, если раскрыть скобки в произведении, воспользоваться знанием, что i^2 = -1, и сгруппировать члены без i отдельно от членов с i:
Код:
(a + bi) * (c + di) = ac + bci + adi + bdi^2 = (ac - bd) + (bc + ad)i

Деление предлагаю поверить на слово, хотя его тоже можно доказать:
Код:
(a + bi) / (c + di) = (ac + bd) / (c^2 + d^2) + (bc - ad) / (c^2 + d^2) i

Проверить класс следующим кодом:
Код:
Complex z = new Complex (1, 1);
Complex result = z - (z * z * z - 1) / (3 * z * z);
Console.WriteLine ($"result = {result}");


Задание 2. Разработать класс Fraction, представляющий простую дробь. В классе предусмотреть два поля: числитель (numerator) и знаменатель (denominator) дроби. Перегрузить арифметические операторы +, -, *, /, а также все шесть операторов сравнения. Перегрузите оператор преобразования целого числа в дробь: каждое целое число является дробью со знаменателем 1.

Все операции действуют по школьным правилам действий с дробями.

Проверьте работу класса следующим фрагментом кода:
Код:
Fraction a = new Fraction (3, 4);
Fraction b = new Fraction (3, 2);
int n = 10;
Fraction sum = a + b;
Fraction diff = a - b;
Fraction mult = sum * diff;
Console.WriteLine ($"{mult.Numerator}/{mult.Denominator}");
avatar
Ярослав
Admin

Posts : 641
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: [П 32017] Домашние задания

Сообщение автор Ярослав в Вс Окт 07, 2018 8:55 am

C# Д/з №05 (07 октября 2018)
Индексаторы, исключения, коллекции
Срок: желательно по 13 октября; в крайнем случае 17 октября

1. Написать класс автоматического переводчика с русского на английский и обратно. Переводчик содержит в себе два словаря: англо-русский и русско-английский.

Переводчик рождается с пустыми словарями, и в него нужно добавлять слова парами: dog=собака, cat=кошка.

2. Затем переводчит криступает к работе. Пользователь выбирает режим: англо-русский или русско-английский, затем вводит фразу, которую надо перевести. Переводчик выполняет перевод дословно. Он не владеет такими тонкостями, как падежи.

Пример:
Код:
I have a cat -> Я иметь некоторый кошка

Пользователь фразу, получает перевод; вводит ещё одну фразу, получает перевод; и так далее.

Если встречается незнакомое слово, переводчик создаёт аварийную ситуацию. Он справляется с ней и возобновляет общение с пользователем.

3. Добавить в класс переводчика индексатор. Пользователь запрашивает определённое слово. Переводчик ищет это слово в обоих словарях и возвращает перевод.

Если слово не найдено, переводчик создаёт аварийную ситуацию. Используйте одно из стандартных исключений.
avatar
Ярослав
Admin

Posts : 641
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: [П 32017] Домашние задания

Сообщение автор Ярослав в Вс Окт 14, 2018 8:39 am

Д/з №06 (14 октября 2018)
События. LINQ. Лямбда-выражения
Срок: к 16:00 20 октября. Крайний срок — 24 октября

1. В соцсети «Лайкни меня» все постоянно лайкают друг друга. Чтобы пользователи были в курсе последних лайков, соцсеть предоставляет возможность подписаться на уведомления.

В соцсети предусмотрено одно событие: кто-то лайкнул кого-то. Вам приходит уведомление со следующей информацией:
• Кто лайкнул
• Кого
• Когда

Создайте класс SocialNetwork с событием, на которые можно подписаться. Подпишите три функции на него. Соцсеть генерирует 10 случайных событий, каждый раз уведомляя всех подписчиков.


2. Имеется массив из 5 сотрудников (с полями Name, Salary, BirthDate и Occupation).

Распечатайте следующую информацию двумя способами:
• Сначала без LINQ, опираясь только на циклы и ветвления,
• Затем с LINQ с лямбда-выражениями.

Что распечатать:
• Список сотрудников, у которых день рождения в октябре.
• Список сотрудников вместе с зарплатой, отсортированный по убыванию зарплаты.
• Список только должностей сотрудников.
avatar
Ярослав
Admin

Posts : 641
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: [П 32017] Домашние задания

Сообщение автор Ярослав в Вс Окт 21, 2018 1:30 pm

C# Д/з №07 (21 октября 2018)
Файлы, папки, сериализация, XML
Срок: к 16:00 27 октября

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

2. Напишите программу, которая ищет все файлы в текущей папке. Для каждого найденного файла она создаёт резервную копию: файл с таким же содержимым и именем, к которому в конце добавлено ".bak". Например, "file.txt.bak".

3. Имеется файл book.xml со следующей структурой:

Код:
<?xml version="1.0" encoding="UTF-8"?>
<book>
    <title>Язык C# 5.0</title>
    <author>Э. Троелсен</author>
    <edition>6</edition>
    <year>2013</year>
</book>

Программа должна извлекать содержательную информацию о книге из этого файла и печатать на экран.
avatar
Ярослав
Admin

Posts : 641
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: [П 32017] Домашние задания

Сообщение автор Ярослав в Вс Окт 28, 2018 8:03 am

C# Д/з №08 (28 октября 2018)
XML. Библиотеки DLL. Регулярные выражения
Срок: до 16:00 дня перед экзаменом 17 ноября

1. Создайте библиотеку (DLL) для работы с данными о клиентах. У клиента есть имя и день рождения. Имя клиента — это имя и фамилия через пробел. День рождения — это строка вида «YYYY-mm-dd».

Библиотека предоставляет следующие услуги:
• Загрузить файл клиентов
• Сохранить файл клиентов
• Добавить нового клиента. Пользователь вводит их данные в консоли
• Удалить клиента

При вводе данных и загрузке из файла происходит валидация: программа проверяет введённые значения регулярными выражениями.

2. Напишите программу, позволяющую управлять списком клиентов: добавлять, удалять, просматривать имеющихся.

• При запуске программа загружает клиентов из файла
• Перед выходом программа сохраняет всё обратно в файл
• В основном цикле программа предоставляет пользователю меню, где можно добавить клиента, удалить и посмотреть список всех клиентов.
avatar
Ярослав
Admin

Posts : 641
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: [П 32017] Домашние задания

Сообщение автор Спонсируемый контент


Спонсируемый контент


Вернуться к началу Перейти вниз

Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения