- •Лекция 1. Платформа Microsoft .Net Framework 2.0
- •Понятия приложения, проекта, решения
- •Среда разработки Visual Studio .Net
- •Создание первого проекта
- •Компиляция и выполнение программы в среде clr
- •1.2. Рекомендации по выполнению практикума
- •1.3. Рекомендации по самостоятельной работе
- •Лекция 2. Технология объектно-ориентированного программирования
- •Состав языка
- •Типы данных
- •Переменные и константы
- •Организация ввода-вывода данных. Форматирование
- •Вывод данных
- •Ввод данных
- •Практикум
- •Самостоятельная работа
- •Лекция 3. Операции
- •Выражения и преобразование типов
- •Практикум
- •Самостоятельная работа
- •Лекция 4. Операторы языка c#
- •Операторы следования
- •Операторы ветвления
- •Условный оператор if
- •Оператор выбора switch
- •Операторы цикла
- •Цикл с предусловием while
- •Цикл с постусловием do while
- •Цикл с параметром for
- •Вложенные циклы
- •Операторы безусловного перехода
- •Оператор безусловного перехода goto
- •Оператор выхода break
- •Оператор перехода к следующей итерации цикла continue
- •Практикум
- •Самостоятельная работа
- •Лекция 5. Методы: основные понятия
- •Методы: основные понятия. Перегрузка методов. Методы: основные понятия
- •Перегрузка методов
- •Практикум
- •Самостоятельная работа Теоретический материал
- •Практическое задание
- •Лекция 6. Рекурсивные методы
- •Практикум
- •Самостоятельная работа
- •Лекция 7. Обработка исключений
- •Оператор try
- •Операторы checked и unchecked
- •Генерация собственных исключений
- •Полезные совет
- •Практикум
- •Самостоятельная работа Теоретический материал Вычисление конечных сумм и произведений
- •Вычисление бесконечных сумм
- •Практическое задание
- •Лекция 8. Массивы
- •Одномерные массивы
- •Массивы и исключения
- •Массив как параметр
- •Массив как объект
- •Многомерные массивы
- •Ступенчатые массивы
- •Оператор foreach и его использование при работе с массивами
- •Практикум
- •Самостоятельная работа Теоретический материал Вставка и удаление элементов в массивах
- •Практические задания
- •Лекция 9. Символы и строки
- •Символы char
- •Неизменяемые строки string
- •Изменяемые строки
- •Практикум
- •Самостоятельная работа
- •Запуск программы из командной строки
- •Передача параметров в метод Main из командной строки
- •Практические задачи
- •Лекция 10. Регулярные выражения
- •Метасимволы в регулярных выражениях
- •Поиск в тексте по шаблону
- •Редактирование текста
- •Практикум
- •Самостоятельная работа Теоретический материал
- •Практическое задание
- •Лекция 11. Организация с#-системы ввода-вывода
- •Байтовый поток
- •Символьный поток
- •Двоичные потоки
- •Перенаправление стандартных потоков
- •Практикум
- •Самостоятельная работа
- •Лекция 12. Работа с файловой системой
- •12.1.Работа с файловой системой: классы Directory и Filе и классы DirectoryInfo и FileInfo Работа с файловой системой
- •Работа с каталогами Абстрактный класс FileSystemInfo
- •Класс DirectoryInfo
- •Класс Directory
- •Работа с файлами Класс Filelnfo
- •Класс File
- •12.2. Практикум
- •12.3. Самостоятельная работа
- •Данные: поля и константы
- •Конструкторы
- •Конструкторы экземпляра
- •Конструкторы класса
- •Свойства
- •"Один класс - один файл",
- •13.2. Практикум
- •13.3. Самостоятельная работа
- •13.4. Классы: деструкторы, индексаторы, операции класса, операции преобразования типов Деструкторы
- •Индексаторы
- •Операции класса
- •Унарные операции
- •Бинарные операции
- •Операции преобразования типов
- •13.5. Практикум (продолжение практикума 13)
- •13.6. Самостоятельная работа
- •Лекция 14. Иерархия классов
- •14.1 Иерархия
- •Наследование
- •Использование защищенного доступа
- •Наследование конструкторов
- •Многоуровневая иерархия
- •Переменные базового класса и производного класса
- •Виртуальные методы
- •Абстрактные методы и классы
- •Запрет наследования
- •14.2. Практикум
- •14.3. Самостоятельная работа
- •Лекция 15. Интерфейсы и структуры
- •15.1. Пользовательские и стандартные интерфейсы. Структуры Интерфейсы
- •Стандартные интерфейсы .Net
- •Структуры
- •15.2. Практикум
- •15.3. Самостоятельная работа Теоретический материал
- •Задание
- •Лекция 16. Коллекции
- •16.1. Классификация коллекций. Коллекции общего назначения: стек. Очередь, динамический массив, хеш-таблица Коллекции
- •Коллекции общего назначения
- •Класс Stack
- •Класс Queue
- •Класс ArrayList
- •Класс Hashtable
- •16.2. Практикум
- •16.3. Самостоятельная работа
- •Дополнения Дополнение. Операции с#
- •Дополнение. Математические функции языка с#
- •Литература
Практикум
Замечание. При решении задач следует руководствоваться правилом: если в строке должны производится изменения, то лучше пользоваться классом StringBuilder; если необходимо разбивать строки на слова, то классом String. При решении некоторых задач, потребуется использовать оба класса.
Разработать программу, которая для заданной строки s:
вставляет символ x после каждого вхождения символа y;
Пример
using System;
using System.Text;
namespace ConsoleApplication
{
class Class
{
static void Main()
{
Console.WriteLine("Введите строку: ");
StringBuilder a = new StringBuilder(Console.ReadLine());
Console.WriteLine("Исходная строка: "+a);
Console.WriteLine("Введите символ x: ");
char x=char.Parse(Console.ReadLine());
Console.WriteLine("Введите символ y: ");
char y=char.Parse(Console.ReadLine());
for (int i=0; i<a.Length; ++i)
if (a[i]==x){a.Insert(i+1,y); ++i;}
Console.WriteLine("Измененная строка: "+a);
}
}
}
меняет местами первую букву со второй, третью с четвертой и т.д.
определяет, какой из двух заданных символов встречается чаще в строке;
подсчитывает общее число вхождений символов х и y;
подсчитывает количество букв в строке;
определяет, имеются ли в строке два соседствующих одинаковых символа;
удаляет среднюю букву, если длина строки нечетная, и две средних, если длина строки четная;
удваивает каждое вхождение заданного символа x;
удаляет все символы х;
удаляет все подстроки substr;
заменяет все вхождения подстроки substr1 на подстроку substr2;
подсчитывает сумму всех содержащихся в ней цифр;
подсчитывает количество содержащихся в ней цифр;
находит порядковые номера первого и последнего вхождения символа x;
заменяет все группы стоящих рядом точек на многоточие;
выводит на экран последовательность символов, расположенных до первого двоеточия;
выводит на экран последовательность символов, расположенных после последнего двоеточия;
удаляет из нее последовательность символов, расположенных между круглыми скобками (считается, что в строке ровно одна пара круглых скобок).
удаляет из нее последовательность символов, расположенных между двумя запятыми (считается, что в строке ровно две запятые);
определяет, сколько различных символов встречается в строке.
Дана строка, в которой содержится осмысленное текстовое сообщение. Слова сообщения разделяются пробелами и знаками препинания.
Вывести только те слова сообщения, в которых содержится заданная подстрока.
Пример
using System;
using System.Text;
namespace ConsoleApplication
{
class Class
{
static void Main()
{
Console.WriteLine("Введите строку: ");
StringBuilder a = new StringBuilder(Console.ReadLine());
Console.WriteLine("Исходная строка: "+a);
Console.WriteLine("Введите заданную подстроку: ");
string x=Console.ReadLine();
for (int i=0; i<a.Length;)
if (char.IsPunctuation(a[i]))a.Remove(i,1);
else ++i;
string str=a.ToString();
str=str.Trim();
string []s=str.Split(' ');
Console.WriteLine("Искомые слова: ");
for (int i=0; i<s.Length; ++i)
if (s[i].IndexOf(x)!=-1) Console.WriteLine(s[i]);
}
}
}
Вывести только те слова сообщения, которые содержат не более чем n букв.
Вывести только те слова сообщения, которые начинаются с прописной буквы.
Вывести только те слова сообщения, которые содержат хотя бы одну цифру.
Удалить из сообщения все слова, которые заканчиваются на заданный символ.
Удалить из сообщения все слова, содержащие данный символ (без учета регистра).
Удалить из сообщения все однобуквенные слова (вместе с лишними пробелами).
Удалить из сообщения все повторяющиеся слова (без учета регистра).
Подсчитать сколько раз заданное слово встречается в сообщении.
Подсчитать сколько слов, состоящих только из прописных букв, содержится в сообщении.
Найти самое длинное слово сообщения.
Найти все самые длинные слова сообщения.
Найти самое короткое слово сообщения.
Найти все самые короткие слова сообщения.
Вывести на экран все слова-палиндромы, содержащиеся в сообщении.
По правилу расстановки знаков препинания перед каждым знаком препинания пробел отсутствует, а после него обязательно стоит пробел. Учитывая данное правило, проверьте текст на правильность расстановки знаков препинания и, если необходимо, внесите в текст изменения.
Вывести только те слова, которые встречаются в тексте ровно один раз.
Вывести только те слова, которые встречаются более n раз.
Вывести слова сообщения в алфавитном порядке.
Вывести слова сообщения в порядке возрастания их длин.