StaticMethods1.cs 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. 
  2. namespace Library1_4Basics
  3. {
  4. public class StaticMethods1
  5. {
  6. static void Square(int start, int end)
  7. {
  8. Console.Write("Числа, которые являются квадратами других чисел: ");
  9. for (int i = start; i <= end; i++)
  10. {
  11. if (Math.Sqrt(i) % 1 == 0)
  12. {
  13. //Проверяем, является ли число квадратом другого числа
  14. Console.Write(i + " ");
  15. }
  16. }
  17. Console.WriteLine();
  18. }
  19. static double Area(double r)
  20. {
  21. //круг
  22. return Math.PI * Math.Pow(r, 2);
  23. }
  24. static double Area(double a, double h)
  25. {
  26. //параллелограмм
  27. return a * h;
  28. }
  29. static double Area(double a, double b, double h)
  30. {
  31. //трапеция
  32. return (a + b) * h;
  33. }
  34. static void MinNum(ref int a)
  35. {
  36. //Наименьшая цифра целого десятичного числа
  37. int min = 9;
  38. while (a > 0)
  39. {
  40. if (min > a % 10)
  41. {
  42. min = a % 10;
  43. }
  44. a /= 10;
  45. }
  46. Console.WriteLine($"Наименьшая цифра = {min}");
  47. }
  48. static void Quotient(ref int a)
  49. {
  50. int evenProduct = 1;
  51. int oddProduct = 1;
  52. int num = a;
  53. int quotient;
  54. while (num > 0)
  55. {
  56. int digit = num % 10;
  57. if (digit % 2 == 0)
  58. {
  59. evenProduct *= digit;
  60. }
  61. else
  62. {
  63. oddProduct *= digit;
  64. }
  65. num /= 10;
  66. }
  67. quotient = evenProduct / oddProduct; //частное от произведения четных на нечетные числа
  68. if (quotient >= 1)
  69. {
  70. a = a / 2; //исходное число уменьшается в два раза
  71. }
  72. else
  73. {
  74. a = a * 2; //увеличивается в два раза
  75. }
  76. }
  77. static void Roots(ref double a, ref double b, ref double c, out double sum)
  78. {
  79. double d = Math.Pow(b, 2) - 4 * a * c;
  80. double root1, root2;
  81. if (d > 0)
  82. {
  83. root1 = (-b + Math.Sqrt(d)) / (2 * a);
  84. root2 = (-b - Math.Sqrt(d)) / (2 * a);
  85. sum = root1 + root2;
  86. }
  87. else if (d == 0)
  88. {
  89. sum = -b / (2 * a);
  90. }
  91. else
  92. {
  93. sum = a = b = c = 0;
  94. }
  95. }
  96. static void Zadanie1()
  97. {
  98. Console.WriteLine("Введите начало диапазона: ");
  99. int a = Convert.ToInt32(Console.ReadLine());
  100. Console.WriteLine("Введите конец диапазона: ");
  101. int b = Convert.ToInt32(Console.ReadLine());
  102. Square(a, b);
  103. }
  104. static void Zadanie2()
  105. {
  106. double a1, a2, a3;
  107. Console.WriteLine("Площадь какой фигуры вы хотели бы найти?");
  108. Console.WriteLine("1. Площадь круга.");
  109. Console.WriteLine("2. Площадь параллелограмма.");
  110. Console.WriteLine("3. Площадь трапеции.");
  111. int n = Convert.ToInt32(Console.ReadLine());
  112. switch (n)
  113. {
  114. case 1:
  115. Console.Write("Введите радиус круга: ");
  116. a1 = Convert.ToDouble(Console.ReadLine());
  117. Console.WriteLine($"S = {Area(a1)}");
  118. break;
  119. case 2:
  120. Console.Write("Введите длину параллелограмма: ");
  121. a1 = Convert.ToDouble(Console.ReadLine());
  122. Console.Write("Введите высоту параллелограмма: ");
  123. a2 = Convert.ToDouble(Console.ReadLine());
  124. Console.WriteLine($"S = {Area(a1, a2)}");
  125. break;
  126. case 3:
  127. Console.Write("Введите первую сторону трапеции: ");
  128. a1 = Convert.ToDouble(Console.ReadLine());
  129. Console.Write("Введите вторую сторону трапеции: ");
  130. a2 = Convert.ToDouble(Console.ReadLine());
  131. Console.Write("Введите высоту трапеции: ");
  132. a3 = Convert.ToDouble(Console.ReadLine());
  133. Console.WriteLine($"S = {Area(a1, a2, a3)}");
  134. break;
  135. default: Console.WriteLine("Такой фигуры нет"); break;
  136. }
  137. }
  138. static void Zadanie3()
  139. {
  140. Console.WriteLine("Введите целое число: ");
  141. int a = Convert.ToInt32(Console.ReadLine());
  142. MinNum(ref a);
  143. }
  144. static void Zadanie4()
  145. {
  146. Console.WriteLine("Введите четырехзное число: ");
  147. int a = Convert.ToInt32(Console.ReadLine());
  148. while (a > 9999 || a < 1000)
  149. {
  150. Console.WriteLine("Данное число не четырехзначное, попробуйте еще раз: ");
  151. a = Convert.ToInt32(Console.ReadLine());
  152. }
  153. Quotient(ref a);
  154. Console.WriteLine($"Измененное число = {a}");
  155. }
  156. static void Zadanie5()
  157. {
  158. Console.WriteLine("Введите коэффициенты a, b и c квадратного уравнения ax^2+bx+c=0: ");
  159. double a = Convert.ToDouble(Console.ReadLine());
  160. double b = Convert.ToDouble(Console.ReadLine());
  161. double c = Convert.ToDouble(Console.ReadLine());
  162. double sum;
  163. Roots(ref a, ref b, ref c, out sum);
  164. Console.WriteLine($"Cумма корней = {sum}");
  165. Console.WriteLine($"Корни {a}, {b}, {c}");
  166. }
  167. public void Call()
  168. {
  169. int n, end;
  170. do
  171. {
  172. Console.WriteLine("-----------------------------------------------------------------------------------------------------------------------");
  173. Console.WriteLine(" Выберите задание: ");
  174. Console.WriteLine("1. Находит во введенном диапазоне натуральных чисел те, которые являются квадратами других чисел");
  175. Console.WriteLine("2. Статические методы для подсчета площадей фигур с одинаковым именем");
  176. Console.WriteLine("3. Функция должна находить наименьшую цифру целого десятичного числа");
  177. Console.WriteLine("4. Частное от деления произведений четных и нечетных цифр четырехзначного натурального числа");
  178. Console.WriteLine("5. Cумма корней квадратного уравнения");
  179. Console.WriteLine("-----------------------------------------------------------------------------------------------------------------------");
  180. n = Convert.ToInt32(Console.ReadLine());
  181. switch (n)
  182. {
  183. case 1: Zadanie1(); break;
  184. case 2: Zadanie2(); break;
  185. case 3: Zadanie3(); break;
  186. case 4: Zadanie4(); break;
  187. case 5: Zadanie5(); break;
  188. default: Console.WriteLine("Такого задания нет"); break;
  189. }
  190. Console.WriteLine("1 - Выбрать другое задание, 0 - Назад.");
  191. end = Convert.ToInt32(Console.ReadLine());
  192. } while (end > 0);
  193. }
  194. }
  195. }