Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Упражнения_Лабораторные_C#.pdf
Скачиваний:
273
Добавлен:
21.03.2016
Размер:
1 Мб
Скачать
☆

Реализуйте работу оператора 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