Лекция. Лекция 3. Операторы языка C#
Скачать 339.25 Kb.
|
6. Написать программу ,которая по признаку геометрической фигуры (п─ прямоугольник, т ─треугольник) , запрашивает необходимые данные для расчетов и выводит на экран периметр и площадь фигуры. using System; namespace Example class Program { static void Main() { Console.WriteLine(“Введите признак фигуры:” + “п ─прямоугольник, т ─треугольник”); char п =char.Parse(Console.WriteLine()); switch (п) { case “п”; Console.WriteLine(“Введите стороны прямоугольника: ”); Console.Write(“a=”); double a= double.Parse(Console.ReadLine()); Console.Write(“b=”); double b= double.Parse(Console.ReadLine()); if (a>0 && b>0) { Console.WriteLine(“p={0:f2} s={1:f2}”; 2 * (a + b ), a * b); } else { Console.WriteLine(“Прямоугольник не существует ”); break; case “т”; Console.WriteLine(“Введите стороны треугольника: ”); Console.Write(“a=”); double a= double.Parse(Console.ReadLine()); Console.Write(“b=”); double b= double.Parse(Console.ReadLine()); Console.Write(“c=”); double c= double.Parse(Console.ReadLine()); if (a + b > c && a + c > b && b + c > a && a > 0 && b > 0 && c > 0) { double p = a + b + c ; double p2 = p/2; double s= Math.Sqrt( p2 * (p2 - a) * (p2 - c)); Console.WriteLine(“p={0:f2} s={1:f2}”, p,s); } else { Console.WriteLine(“Треугольник не существует”); } break ; default; Console.WriteLine(“Вы неверно указали признак фигуры!”); break; } } } } Результат работы программы: Признак a b c ответ п 1 2 p= 6 s=2 п 1 0 Прямоугольник не существует т 3 4 5 p=12 s=6 т 3 1 2 Треугольник не существует к Вы неверно указали признак фигуры Задание. Изменить программу так, чтобы она могла вычислить еще периметр и площадь квадрата. 7. Напечатать числа в виде следующей таблицы: Указания по решению задачи. Исходную таблицу можно схематично разбить на четыре группы строк: В каждой группе две строки, для элементов которых выполняется следующее правило: в первой строчке i-группы напечатано число i, причем i раз, а во второй строчке i-группы i раз напечатано число i + 2. Для решения поставленной задачи можно использовать два последовательных оператораfor, вложенных во внешний по отношению к ним оператор for . Внешний оператор следит за номером текущей группы i, первый вложенный цикл i раз напечатает число i , второй вложенный цикл i раз печатает число i + 2. using System; namespace Example class Program { static void Main() { Console.Write(“n=”); byte n =byte.Parse(Console.ReadLine()); for (byte i = 1; i<=n; ++i) { for (byte j = 1; j<=i; ++j) { Console.Write (“{0,4}, 1”); } Console.WriteLine(); for (byte j = 1; j<=i; ++j) { Console.Write (“{0,4}, i + 2”); } Console.WriteLine(); } } } } Практикум 1. Для произвольных значений аргументов вычислить значение функции, заданной следующим образом: Замечание. Если в некоторой точке вычислить значение функции окажется невозможно, то вывести на экран сообщение «функция не определена». 1.y= ; 2.y= ; 3.y= ; 4. y= ; 5.y= ; 6. y= ; 7. y= ; 8.y= ; 9. y= + ; 10. y= ; 11. y= ; 12. y= ; 13. y= ; 14. y= ; 15. y= ; 16.y= ; 17. y= + 18. y= - 19. y= ; 20.y= + . II. Дана точка на плоскости с координатами (,) . Составить программу, которая выдает одно из сообщений «Да», «Нет», «На границе» в зависимости от того, лежит ли точка внутри заштрихованной области, вне заштрихованной области или на ее границе. Области задаются графически следующим образом: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 III. Составить программу. Замечание. При решении задач можно использовать как оператор switch , так и вложенные операторы if . Свой выбор обоснуйте. 1. Дан порядковый номер месяца, вывести на экран его название. 2. Дан номер масти m(1≤ m ≤4), определить название масти. Масти нумеруются : «пики» ─ 1, «трефы» ─2, «бубны» ─3, «червы» ─4. 3. Дан номер карты k (6≤ k ≤ 14), определить достоинство карты. Достоинства определяются по следующему правилу: «туз» ─14, «король» ─13, «дама» ─12, «валет» ─11, «десятка» ─10, … , «шестерка» ─ 6. 4. Дан номер масти и номер достоинства карты. Определить полное название соответствующей карты в виде «дама пик», «шестерка бубен» и т.д. 5. Дано расписание приемных часов врача. Вывести на экран приемные часы врача в заданный день недели (расписание придумать самостоятельно ). 6. Проведен тест, оцениваемый в целочисленный баллах от нуля до ста. Вывести на экран оценку тестируемого в зависимости от набранного количества баллов : от 90 до 100 ─ «отлично», от 70 до 89 ─ «хорошо», от 50 до 69─ «удовлетворительно », менее 50 ─ «неудовлетворительно». 7. Дан год. Вывести на экран название животного, символизирующего этот год по восточному календарю. 8. Дан возраст человека мужского пола в годах. Вывести на экран возрастную категорию : до года─ «младенец», от года до 11 лет─ «ребенок», от 12 до 15 лет ─ «подросток», от 16 до 25 лет ─ «юноша», от 26 до 70 лет─ «мужчина», более 70 лет─ «пожилой человек». 9. Дан пол человека: м─ мужчина, ж─ женщина. Вывести на экран возможные мужские и женские имена в зависимости от введенного пола. 10. Дан признак транспортного средства: а ─автомобиль, в─ велосипед, м─мотоцикл, с─ самолет, п ─поезд. Вывести на экран максимальную скорость транспортного средства, в зависимости от введенного признака. IV.Вывести на экран: Замечание. При решении задачи можно использовать любой из операторов цикла while, do while и for. Свой выбор обоснуйте. 1)квадраты всех чисел из диапазона от A до B (A≤B) в обратном порядке; 2)квадраты всех четных чисел из диапазона от A до B (A≤B); 3)кубы всех нечетных чисел из диапазона от A до B (A≤B) в обратном порядке; 4) все целые числа из диапазона от A до B (A≤B), оканчивающиеся на цифру X; 5) все целые числа из диапазона от A до B (A≤B), оканчивающиеся на цифру X или Y; 6) все целые числа из диапазона от A до B (A≤B), оканчивающиеся на любую четную цифру; 7)только положительны целые числа из диапазона от A до B (A≤B) с шагом h; 8) только отрицательные четные числа из диапазона от A до B (A≤B); 9)все целые числа из диапазона от A до B, кратные трем (A≤B); 10) все четные числа из диапазона от A до B, кратные трем (A≤B); 11) все нечетные числа из диапазона от A до B, кратные пяти (A≤B); 12) все четные числа из диапазона от A до B, некратные пяти (A≤B); 13) все двузначные числа, в записи которых все цифры разные; 14) все двузначные числа, сумма цифр которых четная; 15) все двузначные числа, произведение цифр которых нечетное; 16) все двузначные числа, в которых старшая цифра отличается от младшей не больше чем на 2; 17) все трехзначные числа, которые начинаются и заканчиваются на одну и ту же цифру; 18) все трехзначные числа, в которых хотя бы две цифры повторяются; 19) все трехзначные числа, сумма цифр которых нечетная; 20) все трехзначные числа, произведение цифр которых четное. V. Вывести на экран числа следующим образом: VI. Постройте таблицу значений функции y=f(x) для x €[a, b] с шагом h. 1.y= 2.y= 3.y= 4.y= 5.y= 6.y= 7.y= 8.y= 9.y= 10.y= 11.y= 12.y= 13.y= 14.y= 15.y= 16.y= 17.y= 18.y= 19.y= 20.y= Самостоятельная работа. При запуске уже готового приложения мы можем столкнуться с необходимостью задержки экрана. Нами рассматривалась возможность использования команды Console.ReadLine(),которая будет задерживать экран до тех пор, пока пользователь не нажмет клавишу Enter. В языке C# существуют и другие способы задержки экрана, например метод Thread.Sleep() из пространства имен System.Threading.Tasks. изучите данные методыс использованием ресурсов портала MSDN. Подумайте в каких случаях следует использовать методы Console.ReadLine(),Thread.Sleep(),Task.Delay(), в чем их преимущества и недостатки. |