Опубликован: 19.02.2009 | Уровень: специалист | Доступ: свободно
Лекция 4:
Операторы языка C#
Практикум
- Дана точка на плоскости с координатами (х, у). Составить программу, которая выдает одно из сообщений "Да", "Нет", "На границе" в зависимости от того, лежит ли точка внутри заштрихованной области, вне заштрихованной области или на ее границе.
Пример:
1. using System; namespace Hello { class Program { static void Main() { Console.Write("x="); float x = float.Parse(Console.ReadLine()); Console.Write("y="); float y = float.Parse(Console.ReadLine()); if (x * x + y * y < 9 && y > 0) Console.WriteLine("внутри"); else if (x * x + y * y > 9 || y < 0) Console.WriteLine("вне"); else Console.WriteLine("на границе"); } } }
Области задаются графически следующим образом:
- Составить программу.Замечание. При решении данных задач возможно использовать оператор switch или вложенные операторы if.
- Дан порядковый номер дня недели, вывести на экран его название.
Пример:
using System; namespace Hello { class Program { static void Main() { Console.Write("n="); byte n = byte.Parse(Console.ReadLine()); switch (n) { case 1: Console.WriteLine("понедельник"); break; case 2: Console.WriteLine("вторник"); break; case 3: Console.WriteLine("среда"); break; case 4: Console.WriteLine("четверг"); break; case 5: Console.WriteLine("пятница"); break; case 6: Console.WriteLine("суббота"); break; case 7: Console.WriteLine("воскресенье"); break; default: Console.WriteLine("ВЫ ОШИБЛИСЬ"); break; } } } }
- Дан порядковый номер месяца, вывести на экран количество месяцев оставшихся до конца года.
- Дан порядковый номер дня месяца, вывести на экран количество дней оставшихся до конца месяца.
- Дан номер масти m ( 1 <= m <= 4 ), определить название масти. Масти нумеруются: "пики" - 1, "трефы" - 2, "бубны" - 3, "червы" - 4.
- Дан номер карты k ( 6 <= k <= 14 ), определить достоинство карты. Достоинства определяются по следующему правилу: "туз" - 14, "король" - 13, "дама" - 12, "валет" - 11, "десятка" - 10, , "шестерка" - 6.
- Дан номер масти m ( 1 <= m <= 4 ) и номер достоинства карты k ( 6 <= k <= 14 ). Определить полное название соответствующей карты в виде "дама пик", "шестерка бубен" и т.д.
- С 1 января 1990 года по некоторый день прошло n дней, определить название текущего месяца.
- С 1 января 1990 года по некоторый день прошло m месяцев, определить название текущего месяца.
- С некоторой даты по настоящий день прошло m месяцев, определить название месяца неизвестной даты.
- С некоторой даты по настоящий день прошло m месяцев, найти неизвестную дату.
- С некоторой даты по настоящий день прошло n дней, найти неизвестную дату.
- С 1 января 1990 года по некоторый день прошло m месяцев и n дней, определить название текущего месяца.
- Дано расписание приемных часов врача. Вывести на экран приемные часы врача в заданный день недели (расписание придумать самостоятельно).
- Проведен тест, оцениваемый в целочисленный баллах от нуля до ста. Вывести на экран оценку тестируемого в зависимости от набранного количества баллов: от 90 до 100 - "отлично", от 70 до 89 - "хорошо", от 50 до 69 - "удовлетворительно", менее 50 - "неудовлетворительно".
- Дан год. Вывести на экран название животного, символизирующего заданный год по восточному календарю.
- Дан возраст человека мужского пола в годах. Вывести на экран возрастную категорию: до года - "младенец", от года до 11 лет - "ребенок", от 12 до 15 лет - "подросток", от 16 до 25 лет - "юноша", от 26 до 70 лет - "мужчина", более 70 лет - "старик".
- Дан пол человека: м - мужчина, ж - женщина. Вывести на экран возможные мужские и женские имена в зависимости от введенного пола.
- Дан признак транспортного средства: a - автомобиль, в - велосипед, м - мотоцикл, с - самолет, п - поезд. Вывести на экран максимальную скорость транспортного средства в зависимости от введенного признака.
- Дан номер телевизионного канала. Вывести на экран наиболее популярные программы заданного канала.
- Дан признак геометрической фигуры на плоскости: к - круг, п - прямоугольник, т - треугольник. Вывести на экран периметр и площадь заданной фигуры (данные, необходимые для расчетов, запросить у пользователя).
- Дан порядковый номер дня недели, вывести на экран его название.
- Вывести на экран:Замечание. Решите каждую задачу тремя способами - используя операторы цикла while, do while и for.
- целые числа 1, 3, 5, ..., 21 в строчку через пробел:
Пример:
using System; namespace Hello { class Program { static void Main() { Console.Write("n="); byte n = byte.Parse(Console.ReadLine()); Console.Write("while: "); int i = 1; while (i <= n) { Console.Write(" " + i); i += 2; } Console.Write("do while: "); i = 1; do { Console.Write(" " + i); i += 2; } while (i <= n); Console.Write("For: "); for (i = 1; i<=n; i+=2) { Console.Write(" " + i); } } } }
- целые числа 10, 12, 14, ..., 60 в обратном порядке в столбик;
- таблицу соответствия между весом в фунтах и весом в килограммах для значений 1, 2, 3, ..., 10 фунтов (1 фунтов = 453г);
- таблицу перевода 5, 10, 15, ..., 120 долларов США в рубли по текущему курсу (значение курса вводится с клавиатуры);
- таблицу стоимости для 10, 20, 30,..., 100 штук товара, при условии, что одна штука товара стоит х руб (значение х водится с клавиатуры);
- таблицу перевода расстояний в дюймах в сантиметры для значений 2, 4, 6, ..., 12 дюймов (1 дюйм = 25.4 мм);
- кубы всех целых чисел из диапазона от А до В ( А<=В ) в обратном порядке;
- все целые числа из диапазона от А до В ( А<=В ), оканчивающиеся на цифру Х ;
- все целые числа из диапазона от А до В ( А<=В ), оканчивающиеся на цифру Х или У ;
- все целые числа из диапазона от А до В ( А<=В ), оканчивающиеся на любую четную цифру;
- только положительные целые числа из диапазона от А до В ( А<=В );
- все целые числа из диапазона от А до В , кратные трем ( А<=В );
- все четные числа из диапазона от А до В , кратные трем ( А<=В );
- только отрицательные четные числа из диапазона от А до В ( А<=В );
- все двухзначные числа, в записи которых все цифры разные;
- все двухзначные числа, в которых старшая цифра отличается от младшей не больше чем на 1;
- все трехзначные числа, которые начинаются и заканчиваются на одну и ту же цифру;
- все трехзначные числа, в которых хотя бы две цифры повторяются.
- Вывести на экран числа следующим образом:
Пример :
using System; namespace Hello { class Program { static void Main() { for (int i = 1; i<=4; ++i, Console.WriteLine()) { for(int j=1; j<=6; ++j) Console.Write(" " + i); } } } }
2) 1 2 3 … 10 3) -10 -9 -8 … 12 1 2 3 … 10 -10 -9 -8 … 12 1 2 3 … 10 -10 -9 -8 … 12 1 2 3 … 10 -10 -9 -8 … 12 -10 -9 -8 … 12 4) 41 42 43 … 50 5) 5 6) 1 1 1 1 1 51 52 53 … 60 5 5 1 1 1 1 61 62 63 … 70 5 5 5 1 1 1 … 5 5 5 5 1 1 71 72 73 … 80 5 5 5 5 5 1 7) 1 8) 6 6 6 6 6 9) 7 2 2 7 7 7 7 6 6 3 3 3 8 8 8 5 5 5 4 4 4 4 9 9 4 4 4 4 5 5 5 5 5 10 3 3 3 3 3 10) 8 8 8 8 8 11) 1 12) 1 7 7 7 7 1 2 2 1 6 6 6 1 2 3 3 2 1 5 5 1 2 3 4 4 3 2 1 4 1 2 3 4 5 5 4 3 2 1 13) 0 1 2 3 4 14) 4 3 2 1 0 15) 1 0 1 2 3 3 2 1 0 0 0 1 2 2 1 0 2 2 0 1 1 0 0 0 0 0 3 3 3 0 0 0 4 4 4 4 0 0 0 0 5 5 5 5 5 0 0 0 0 0 0 16) 8 17) 1 18) 9 7 6 4 7 7 2 2 8 8 6 6 7 7 3 3 6 6 6 3 3 3 7 7 7 5 5 5 8 8 8 2 2 2 2 5 5 5 5 4 4 4 4 6 6 6 6 6 4 4 4 4 9 9 9 9 1 1 1 1 1 19) 3 20) 2 2 2 2 2 0 3 4 5 6 7 2 3 2 2 2 2 9 0 2 3 4 5 2 2 3 2 2 2 8 9 0 1 2 3 2 2 2 3 2 2 7 8 9 0 0 1 2 2 2 2 3 2 6 7 8 9 0 -1
- целые числа 1, 3, 5, ..., 21 в строчку через пробел:
Самостоятельная работа
Задача 1.Дана шахматная доска размером nxn клеток. Верхняя левая клетка доски черная и имеет номер (1, 1). Например, для n=4 шахматная таблица выглядит следующим образом:
- для заданного значения n определить количество черных ячеек шахматной доски;
- по номеру ячейки (k, m) определить ее цвет;
- определить, являются ли ячейки с номерами (k1, m1) и (k2, m2) одного цвета;
- определить, находится ли фигура, стоящая в ячейке с номером (k1, m1), под ударом второй фигуры, стоящей в ячейке с номером (k2, m2), при условии, что ход второй фигуры и ей является:
- пешка;
- слон;
- ладья;
- ферзь;
- конь.
Задача 2. Задана дата в формате <день>.<месяц>.<год>. Определить:
- сколько дней прошло с начала года;
- сколько дней осталось до конца года;
- дату предыдущего дня;
- дату следующего дня.
Задача 3.Натуральное число из n цифр является числом Армстронга, если сумма его цифр, возведенных в n-ную степень, равна самому числу. Например, 153=13+53+33. Найти все трехзначные числа Армстронга.
Задача 4.Стороны прямоугольника заданы натуральными числами n и m. Найти количество квадратов (стороны которых выражены натуральными числами), на которые можно разрезать данный прямоугольник, если от него каждый раз отрезать квадрат:
- наименьшей площади;
- наибольшей площади