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

Материал из Вики ИТ мехмата ЮФУ
Перейти к: навигация, поиск
(Новая страница: «=== Старые задания === ====* Старые задания на строки - не выполнять!!!==== 6.3. Дана строка слов. У…»)
 
(*Задание 8 на регулярные выражения)
 
Строка 75: Строка 75:
  
 
е) Вывести все URL в файле в формате http://edu.mmcs.sfedu.ru/ (последний слеш необязателен) и места их вхождений (строка-столбец). Номер столбца подсчитывать, используя результат предыдущего задания (находить номер, с которого начинается строка, в которой нашли вхождение, после чего находить индекс вхождения в этой строке)
 
е) Вывести все URL в файле в формате http://edu.mmcs.sfedu.ru/ (последний слеш необязателен) и места их вхождений (строка-столбец). Номер столбца подсчитывать, используя результат предыдущего задания (находить номер, с которого начинается строка, в которой нашли вхождение, после чего находить индекс вхождения в этой строке)
 +
 +
==== (нет) Задание 14 на LINQ to XML====
 +
Теоретические материалы ('''перед занятием - скачать и распечатать!''')
 +
 +
[http://edu.mmcs.sfedu.ru/mod/resource/view.php?id=1526 Язык XML и объектные модели XML-документа]
 +
 +
[http://edu.mmcs.sfedu.ru/mod/resource/view.php?id=1538 LINQ to XML. Классы модели X-DOM]
 +
 +
[http://edu.mmcs.sfedu.ru/mod/resource/view.php?id=1539 LINQ to XML. Методы расширения и дополнительные возможности]
 +
 +
=====Индивидуальные задания по LinqXML=====
 +
 +
Метелица Елена      6, 16, 25, 38, 45, 59, 76, 63, 65, 90
 +
Басова Ольга        6, 16, 24, 36, 43, 58, 68, 64, 72, 89
 +
Ибрагимов Руслан    7, 19, 26, 35, 46, 59, 84, 86, 80, 67
 +
Свиридкин Дмитрий    4, 15, 25, 33, 52, 53, 83, 78, 88, 89
 +
Бурховецкий Виктор  9, 14, 29, 33, 47, 60, 77, 64, 88, 89
 +
Ивлев Иван          5, 12, 29, 35, 51, 60, 62, 70, 73, 74
 +
Барабаш Николай      8, 19, 27, 36, 48, 54, 62, 71, 81, 90
 +
Павлов Иван          7, 17, 24, 39, 41, 58, 69, 85, 87, 74
 +
Буцыкина Олеся      5, 18, 27, 38, 49, 53, 69, 79, 81, 75   
 +
Полянский Андрей    9, 17, 25, 40, 42, 54, 76, 79, 66, 75
 +
Турчин Юрий          3, 18, 25, 40, 44, 58, 84, 86, 66, 67
 +
Руденец Андрей      8, 13, 26, 34, 49, 58, 77, 71, 73, 89

Текущая версия на 08:17, 19 декабря 2018

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

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

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/ (последний слеш необязателен) и места их вхождений (строка-столбец). Номер столбца подсчитывать, используя результат предыдущего задания (находить номер, с которого начинается строка, в которой нашли вхождение, после чего находить индекс вхождения в этой строке)

(нет) Задание 14 на LINQ to XML

Теоретические материалы (перед занятием - скачать и распечатать!)

Язык XML и объектные модели XML-документа

LINQ to XML. Классы модели X-DOM

LINQ to XML. Методы расширения и дополнительные возможности

Индивидуальные задания по LinqXML
Метелица Елена       6, 16, 25, 38, 45, 59, 76, 63, 65, 90
Басова Ольга         6, 16, 24, 36, 43, 58, 68, 64, 72, 89
Ибрагимов Руслан     7, 19, 26, 35, 46, 59, 84, 86, 80, 67
Свиридкин Дмитрий    4, 15, 25, 33, 52, 53, 83, 78, 88, 89
Бурховецкий Виктор   9, 14, 29, 33, 47, 60, 77, 64, 88, 89
Ивлев Иван           5, 12, 29, 35, 51, 60, 62, 70, 73, 74
Барабаш Николай      8, 19, 27, 36, 48, 54, 62, 71, 81, 90
Павлов Иван          7, 17, 24, 39, 41, 58, 69, 85, 87, 74
Буцыкина Олеся       5, 18, 27, 38, 49, 53, 69, 79, 81, 75     
Полянский Андрей     9, 17, 25, 40, 42, 54, 76, 79, 66, 75
Турчин Юрий          3, 18, 25, 40, 44, 58, 84, 86, 66, 67
Руденец Андрей       8, 13, 26, 34, 49, 58, 77, 71, 73, 89