- •Лабораторная работа 1. Создание программы с помощью среды разработки Visual Studio.NET
- •Упражнение 1. Создание простой программы в текстовом редакторе
- •Упражнение 2. Создание программы с помощью среды разработки Visual Studio .NET
- •Упражнение 3. Использование отладчика Visual Studio .NET
- •Упражнение 4. Добавление в C#-программу обработчика исключительных ситуаций
- •Упражнение 4. Реализация структуры Point
- •Лабораторная работа 2. Создание и использование размерных типов данных
- •Упражнение 1. Использование встроенных размерных типов
- •Упражнение 2. Создание перечисления
- •Упражнение 3. Создание и использование структуры
- •Лабораторная работа 3. Использование выражений
- •Упражнение 1. Реализация операторов выбора
- •Задание 1. Применение конструкции if-else-if
- •Задание 2. Применение оператора switch
- •Задание 3. Определение високосного года
- •Упражнение 2. Реализация циклов при работе с массивами размерных типов
- •Задание 1. Использование операторов цикла while, do while и for.
- •Задание. 2. Использование двух счетчиков при реализации цикла
- •Задание 3. Расчет суммы, используя операторы перехода
- •Задание 4. Стрельба по мишени
- •Лабораторная работа 4. Создание и использование методов
- •Упражнение 1. Использование параметров в методах, возвращающих значения
- •Упражнение 2. Использование в методах параметров, передаваемых по ссылке
- •Упражнение 3. Использование возвращаемых параметров в методах
- •Лабораторная работа 5. Реализация класса
- •Упражнение 1. Разработка класса Book
- •Упражнение 2. Использование конструкторов
- •Упражнение 3. Реализация класса Triangle
- •Лабораторная работа 6. Создание иерархии классов
- •Упражнение 1. Реализация наследования классов
- •Упражнение 2. Использование конструкторов
- •Упражнение 3. Переопределение методов
- •Упражнение 4. Применение абстрактного класса и абстрактных методов
- •Упражнение 5. Реализации модели включения/делегации
- •Лабораторная работа 7. Использование интерфейсов при реализации иерархии классов
- •Упражнение 1. Создание и реализация интерфейса
- •Упражнение 2. Использование стандартных интерфейсов
- •Упражнение 3. Создание иерархии классов «Фигуры»
- •Лабораторная работа 8. Применение делегатов и событий
- •Упражнение 1. Использование делегата при вызове метода
- •Упражнение 2. Работа с событиями
- •Задание на самостоятельную работу. Иерархия классов учебного центра
Реализуйте работу оператора switch
Реализуйте логику работы переключателя, при этом учтите, что операция
деления возможна с помощью двух символов “/” и “:” switch (op)
{
case '+': res = a + b; break; case '-': res = a - b; break; case '*': res = a * b; break; case '/':
case ':':
res = a / b; break; default: ok = false; break;
}
Перед выводом результата проверьте переменную ok, и в случае ее значения false выведете сообщение об ошибке выбора типа операции:
if (ok) Console.WriteLine("{0} {1} {2} = {3}", a, op, b, res); else Console.WriteLine("Операция не определена");
Протестируйте работу программы
Постройте и запустите приложение.
Протестируйте работу программы с правильными значениями.
Проверьте работу при делении на нуль, делении нуль на нуль. Объясните полученные результаты.
Проверьте работу при неправильном указании символа операции, объясните полученный результат.
Задание 3. Определение високосного года
Дано натуральное число. Требуется определить, является ли год с данным номером високосным. Если год является високосным, то выведите YES, иначе выведите NO.
Указание: год является високосным, если его номер кратен 4, но не кратен 100, а также, если он кратен 400.
Упражнение 2. Реализация циклов при работе с массивами размерных типов
Задание 1. Использование операторов цикла while, do while и for.
В этом задании Вы напишите программу, выводящую на экран последовательность целых нечетных чисел в строчку через пробел с помощью трех операторов цикла while, do while и for.
Создайте проект
Создайте проект Loop.sln в папке install folder\Labs\Lab03\.
14
Реализуйте запрос количества чисел
В методе Main c помощью методов Write и ReadLine запросите у
пользователя количество чисел:
Console.Write("n = ");
int n = int.Parse(Console.ReadLine());
Реализуйте вывод чисел с помощью операторов цикла
Реализуйте вывод последовательности целых нечетных чисел в строчку через пробел с помощью оператора цикла
while:
Console.Write("\nwhile: \t\t"); int i = 1;
while (i <= n)
{
Console.Write(" " + i); i += 2;
}
do while:
Console.Write("\ndo while: \t"); i = 1;
do
{
Console.Write(" " + i); i += 2;
}
while (i <= n);
for:
Console.Write("\nFor: \t\t"); for (i = 1; i<=n; i+=2)
{
Console.Write(" " + i);
}
Постройте и протестируйте приложение.
Добавьте возможность работы с массивом
В методе Main создайте массив:
int[] myArray = { 100, 1, 32, 3, 14, 25, 6, 17, 8, 99 };
Реализуйте вывод элементов массива в строчку через пробел с помощью любого оператора цикла. При этом вместо четных элементов должно отображаться нули. Изменение четных чисел можно выполнить с помощью
следующей проверки:
if (myArray[i] % 2 == 0) myArray[i] = 0;
Постройте и протестируйте приложение.
15
Задание. 2. Использование двух счетчиков при реализации цикла
В этом задании решается следующая задача: является ли строка текста палиндромом. Палиндромом называется симметричная строка текста, читающаяся одинаково слева направо и справа налево.
Создайте проект
Создайте проект Palindrom.sln в папке install folder\Labs\Lab03\.
Реализуйте взаимодействие с пользователем
В методе Main объявите две строковые переменные:
string answer, text;
С помощью двух циклов с проверкой в конце и в начале реализуйте возможность многократного ввода строки:
do
{
Console.WriteLine("Введите слово"); text = Console.ReadLine();
int i = 0;
int j = text.Length - 1;
while ((i < j) && (text[i] == text[j])) { i++; j--; }
if (text[i] == text[j])
Console.WriteLine(text + " - это палиндром!"); else
Console.WriteLine(text + " - это не палиндром!"); Console.WriteLine("Продолжим? (yes/no)");
answer = Console.ReadLine();
}
while (answer == "yes");
Постройте и протестируйте приложение.
Внутренний цикл замените на цикл for. Используйте два счетчика – один возрастающий, другой убывающий.
Постройте и протестируйте приложение.
Задание 3. Расчет суммы, используя операторы перехода
В этом задании требуется составить программу, реализующую сумму:
si,
i1100
для i, находящихся от 1 до k и от m до 100.
Для суммирования чисел в диапазоне можно воспользоваться циклом for и оператором перехода continue:
for (i=1;i<=100;i++)
{
if (i>k && i<m) continue;
16
