Содержание
- 2. Сбор мусора. Деструкторы. Каждому объекту класса при создании выделяется память в heap. В C# имеется система
- 3. Синтаксис деструктора: ~ имя класса ( ) { тело конструктора} тильда
- 5. Свойства класса Свойство – это элемент класса, предоставляющий доступ к его полям. Обычно связано с закрытым
- 6. Имя свойства можно использовать как обычную переменную в операторах присваивания и выражениях. При обращении к свойству
- 7. Например, в классе Cilindr из примера выше методы set_radius и get_radius можно заменить на свойство: public
- 8. Аксессор set можно дополнить проверкой значения на положительность: public double Radius { get { return radius_osnovania;
- 9. Обработка исключительных ситуаций Все исключения являются подклассами класса Exception пространства имен System. Исключения генерирует среда программирования
- 10. Исключения перехватываются и обрабатываются оператором try. Свойства класса Exception: Message текстовое описание ошибки TargetSite Метод, выбросивший
- 11. try {контролируемый блок} catch (тип1 [имя1]) { обработчик исключения1 } catch (тип2 [имя2]) { обработчик исключения2
- 12. Блок finally будет выполнен после выхода из try/catch-блока, независимо от условий его выполнения. При возникновении ошибки
- 13. Форма обработчика catch (тип ) { обработчик исключения } используется если важен только тип исключения, а
- 14. Форма обработчика catch (тип имя) { обработчик исключения } используется когда имя параметра используется в теле
- 15. Форма обработчика catch { обработчик исключения } применяется для перехвата всех исключений, независимо от их типа.
- 16. Например: double x; if (x == 0) throw new DivideByZeroException(); Генерирование исключений вручную Исключение можно сгенерировать
- 19. Исключение, перехваченное одной catch-инструкцией, можно перегенерировать, чтобы обеспечить возможность его перехвата другой (внешней) catch-инструкцией. Чтобы повторно
- 21. Один try-блок можно вложить в другой. Исключение, сгенерированное во внутреннем try-блоке и не перехваченное catch-инструкцией, которая
- 22. Например:
- 23. Использование массивов в C#. Лекция №4
- 24. Массив - это структурированный тип данных, представляющий собой последовательность однотипных элементов, имеющих общее имя и снабженных
- 25. Одномерный массив Можно описать одним из следующих способов: тип[ ] имя_массива; Например, double[ ] y, z;
- 26. Например, int[] x = new int[] {2, -5, 0, 9}; В этом случае размерность массива явно
- 27. Обращение к элементу массива: имя массива [индекс] Например, x[3], MyArray[10] Ввод массива: Console.WriteLine("Введите количество элементов"); int
- 28. Оператор цикла foreach предназначен для просмотра всех элементов из некоторой группы данных: массива, списка и др.
- 29. Например, нельзя написать foreach (double xt in x) { xt = Convert.ToDouble(Console.ReadLine()); } Можно так: int
- 30. Вывод: for (int i = 0; i Console.WriteLine( x[i] ); Или с помощью foreach: foreach (double
- 31. Свойства класса System.Array: Статические методы:
- 33. Нестатические методы:
- 34. Пример. Вычислить значение функции , где a, b и c – количество положительных элементов в массивах
- 35. class Massiv { double[ ] a; public Massiv(int n) { a = new double[n]; } public
- 36. public int kolich_polog { get { int k = 0; foreach (double x in a) {if
- 37. public void vyvod( string zagolovok) { Console.WriteLine(zagolovok); foreach (double x in a) Console.WriteLine(x); }
- 38. public void vvod( string name ) { Console.WriteLine("Введите элементы массива " + name); for (int i
- 39. static void Main(string[] args) { Console.WriteLine("Введите размер массива A"); Massiv A = new Massiv(Convert.ToInt32(Console.ReadLine())); A.vvod("A"); Console.WriteLine("Введите
- 40. Massiv C = new Massiv(A.a1.Length+3); A.a1.CopyTo(C.a1,0); Array.Copy(B.a1, 0, C.a1, A.a1.Length, 3); A.vyvod("Массив А"); B.vyvod("Массив B"); C.vyvod("Массив
- 41. double z = 3 * Math.Pow(Math.Cos(3 * A.kolich_polog), 2) - 4 * Math.Sin(B.kolich_polog) - Math.Pow(C.kolich_polog, 2.1);
- 42. Пример. Задать параметры N прямоугольников. Определить количество прямоугольников, площадь которых превышает заданное число. Получить список прямоугольников,
- 43. public double Shir { get { return shir; } set { shir = value; } }
- 44. class Program { static void Main(string[] args) { Console.WriteLine("Сколько прямоугольников"); Pramoug[] pr=new Pramoug[Convert.ToInt32(Console.ReadLine())]; for (int i
- 45. Console.WriteLine("Задайте пороговую площадь"); double pl=Convert.ToDouble(Console.ReadLine()); int k = 0; foreach (Pramoug p in pr) { if
- 46. Console.WriteLine("Квадраты:"); foreach (Pramoug p in pr) { if (Math.Abs(p.Shir-p.Vys) Console.WriteLine(Array.IndexOf(pr,p)+"-й прямоугольник"); ; } Console.ReadKey(); } }
- 47. Многомерные массивы Многомерным называется массив, который характеризуется двумя или более измерениями, а доступ к отдельному элементу
- 48. Простейший многомерный массив — двумерный, в котором позиция любого элемента определяется двумя индексами. Двумерный массив можно
- 49. Например, int[,] x = new int[,] {{2, -5, 0, 9}, {3, 2, -5, 5}, {2, 4,
- 50. Обращение к элементу матрицы: имя массива [индекс1, индекс2] Например, x[3,4], MyArray[1,0] Ввод матрицы:
- 51. Вывод матрицы: Применение оператора foreach для просмотра прямоугольных массивов. Повторение оператора foreach начинается с элемента, все
- 52. Например, пусть требуется найти максимальный элемент матрицы. double max = x[0, 0]; foreach (double xt in
- 53. Метод для вывода массива: Пример. Если максимальный элемент матрицы А больше максимального элемента матрицы B, увеличить
- 54. class Matrica { int[,] x; public Matrica() { Console.WriteLine("Введите кол-во строк:"); int n = int.Parse(Console.ReadLine()); Console.WriteLine("Введите
- 55. public Matrica(int n, int m) { x = new int[n, m]; } public int[,] X {
- 56. public void vvod(string name) { Console.WriteLine("Введите матрицу " + name); for (int i = 0; i
- 57. public void vyvod_matr(string zagolovok) { Console.WriteLine(zagolovok); for (int i = 0; i { for (int j
- 58. class Program { static void Main(string[] args) { Console.BackgroundColor = ConsoleColor.Cyan; Console.Clear(); Console.ForegroundColor = ConsoleColor.Black; Matrica
- 59. int max_A = A.max; if (A.max > B.max) { for (int i = 0; i {
- 60. else { for (int i = 0; i { for (int j = 0; j if
- 61. Ступенчатые массивы – это массивы, в которых количество элементов в разных строках может быть различным. Поэтому
- 62. Для самих строк память выделяется индивидуально. Под каждый из внутренних массивов память требуется выделять явным образом.
- 63. Другой способ: тип[ ] [ ] имя = {создание_массива1, создание_массива2,…, создание_массиваN}; Например, int [ ] [
- 64. Пример. Определить средний балл в группах студентов, вывести списки двоечников в каждой группе, назначить студентам стипендию,
- 65. class Student { int[ ] ocenki; string fam, gruppa; static double mrot; public Student(string fam, string
- 66. public string Fam { set { fam = value; } get { return fam; } }
- 67. static Student() { mrot = 200000; } public void vvod_oc() { Console.WriteLine("Введите оценки студента " +
- 68. public double Sr_b { get { double S = 0; foreach (int x in ocenki) S
- 69. public double stip { get { if (Dvoechnik) return 0; else return (Sr_b > 8) ?
- 70. public bool Dvoechnik { get {if (Array.IndexOf(ocenki, 2)>=0) return true; else return false; } } }
- 71. class Program { static void Main(string[ ] args) { Console.WriteLine("Сколько групп?"); int m=int.Parse(Console.ReadLine()); Student[ ][ ]
- 72. Console.WriteLine("Сколько в группе студентов ?"); int ks = Convert.ToInt32(Console.ReadLine()); fakultet[i]=new Student[ks]; for (int j = 0;
- 73. for (int i = 0; i { double Sb = 0; foreach (Student xs in fakultet[i])
- 74. for (int i = 0; i { Console.WriteLine("\n Двоечники группы " + fakultet[i][0].Gruppa); foreach (Student xs
- 76. Скачать презентацию