Старые задания по курсу "Платформа .NET" — различия между версиями

Материал из Вики ИТ мехмата ЮФУ
Перейти к: навигация, поиск
(Новая страница: «=== Старые задания === ====* Старые задания на строки - не выполнять!!!==== 6.3. Дана строка слов. У…»)
(нет различий)

Версия 13:16, 29 декабря 2017

Старые задания

* Старые задания на строки - не выполнять!!!

6.3. Дана строка слов. Убрать лишние пробелы и упорядочить слова по алфавиту. Воспользоваться методом расщепления s.Split(массив разделителей,System.StringSplitOptions.RemoveEmptyEntries) строки на массив строк и методом string.Join(разделитель,ss) слияния массива строк в строку. Аналогично упорядочить слова по длине, записав их в единой строке.

6.4. Используя различные кодировки System.Text.Encoding, преобразовать строку "Спецкурс C# и платформа .NET 2012" в массив байтов. Для этого использовать GetBytes соответствующей кодировки:

System.Text.Encoding.UTF8.GetBytes(s); 

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

Encoding.GetEncodings();

возвращающим массив объектов EncodingInfo.

6.5. Вводятся вещественные числа (возможно, на нескольких строках), конец ввода - 0. На одной строке может быть несколько вещественных чисел, а также не числа. Используя метод Append класса StringBuilder, сформировать строку, в которой эти вещественные числа разделены одним пробелом, и количество цифр в дробной части равно 1. Не числа - игнорировать. Для разбора вещественного использовать double.TryParse, для форматирования вещественного - d.ToString (формат вывода для вещественного с 1 цифрой в дробной части)

6.6. Используя объект System.Globalization.DateTimeFormatInfo, переопределить свойство DateSeparator на ';'. Проверить работу нового формата, выведя текущую дату DateTime.Now в новом формате. Используя указанный формат, считать строку, содержащую две даты в указанном формате и найти дни недели, соответствующие этим датам, а также разницу между этими датами в днях, часах и минутах.

6.7. Используя тот факт, что для объекта StringBuilder доступна операция обращения по индексу [] на запись, преобразовать в строке слов первую букву каждого слова в заглавную.

*Задание 6 на строки

  • 6.1. Используя System.Globalization.NumberFormatInfo, переопределить разделитель в вещественном числе с запятой на точку (в русских версях windows по умолчанию - запятая). Для этого создать экземпляр NumberFormatInfo и переопределить в нем свойство NumberDecimalSeparator на '.'. Для преобразования вещественного в строку воспользоваться d.ToString(nfi), где nfi - переменная типа NumberFormatInfo. Для считывания вещественного с другим разделителем воспользоваться преобразованием строки в вещественное
double.Parse(s,nfi);

Реализовать на основе этого суммирование всех вещественных, записанных в строке в виде

 3.14    2.8   4.19  5.3

и сформировать строку вида

3.14 + 2.8 + 4.19 + 5.3 = ...

Для формирования строки воспользоваться объектом класса StringBuilder, добавляя строку в конец.

  • 6.2. Считать содержащиеся в строке шестнадцатеричные числа
 AAFF    BCDF     1FF4    123D9     CC11D3

и просуммировать их. Результат выдать в восьмеричной системе счисления.

*Задание 8 на регулярные выражения

Теория по регулярным выражениям (Абрамян М.Э.)

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

8.1. Вывести все слова - каждое на отдельной строке

  var r = new Regex(@"\w+");
  foreach (Match s in r.Matches(" jh kj hjk k "))
    Console.WriteLine(s);

8.2. Вывести все слова, начинающиеся и заканчивающиеся на 'a'

8.3. Вывести все слова, содержащие в начале от 2 до 4 согласных букв

8.4. Вывести все числа с десятичной точкой и вычислить их сумму

8.5. Вывести все полные имена файлов (и только их). Полные имена файлов задаются в формате Диск:\папка1\папка2\имя.расширение. Диск и папки могут отсутствовать.

8.6. Вывести все URL в строке в формате http://edu.mmcs.sfedu.ru/course/view.php?id=9.

8.7. Считать многострочную строку из файла слов (слова могут разделяться одним или несколькими пробелами и символами перехода на новую строку), используя вызов

var s = System.IO.File.ReadAllText('Text.txt');

Создать регулярное выражение с опцией RegexOptions.Multiline.

а) Вывести все слова, стоящие в начале строки.

б) Вывести все слова, стоящие в конце строки.

в) Вывести все слова стоящие первыми в строке (перед словами могут быть один или несколько пробелов)

г) Вывести все строки, начинающиеся с пробела

д) Вывести номера символов, с которых начинается каждая строка

е) Вывести все URL в файле в формате http://edu.mmcs.sfedu.ru/ (последний слеш необязателен) и места их вхождений (строка-столбец). Номер столбца подсчитывать, используя результат предыдущего задания (находить номер, с которого начинается строка, в которой нашли вхождение, после чего находить индекс вхождения в этой строке)