Содержание
- 2. Контрольные вопросы Где можно и где нельзя использовать каждую конкретную переменную, например double x? (Где она
- 3. План лекции Еще об ООП Сравнение с функциональным подходом “Эластичность” ООП Класс точки. Алгоритм выяснения находится
- 4. ООП и организация программы Функциональный подход: Переменная, операции применимые к типу (int i: +, -, *,
- 5. Гистограмма. Функциональный подход Гистограмма в функциональном подходе { Random r = new Random(); int [] hist
- 6. Гистограмма. ООП подход Гистограмма в ООП { Random r = new Random(); Histogram h = new
- 7. ООП. Эластичность I Эластичность – простота изменения программы при изменении требований. Изменить диапазон чисел с [0,
- 8. ООП. Эластичность I Эластичность – простота изменения программы при изменении требований. Изменить диапазон чисел с [0,
- 9. ООП. Эластичность II Изменяться могут не только параметры задачи, изменяться могут требования. Связать с каждой гистограммой
- 10. ООП. Эластичность II Добавим данные в гистограмму (заголовок) public class Histogram { public double LeftEdge; public
- 11. ООП. Эластичность II Доработаем метод Write public class Histogram { … public double Write() { Console.WriteLine(“Гистограмма
- 12. ООП. Эластичность II Использование гистограммы: Histogram h = new Histogram (“Проверка Random”, -5, 5, 25); for(int
- 13. ООП. Выводы На примере гистограммы: ООП позволяет строить понятия более сложные чем заложенные в язык примитивы:
- 14. Вопросы для обсуждения В чем преимущества ООП? Как изменится гистограмма, если нужно для каждой гистограммы учитывать
- 15. Контрольные вопросы Где нужно объявить переменную, которая будет использоваться только в одном методе? Где нужно объявить
- 16. Геометрия Лежит ли точка внутри? Зачем могло бы применяться?
- 17. Геометрия Посчитать число пересечений луча из точки Px с ломаной
- 18. Представление полигона class Point { public double x; public double y; } Point [] poly; …
- 19. Геометрия Посчитать число пересечений луча из точки Px с ломаной
- 20. Алгоритм (подсчет пересечений)
- 21. Алгоритм (подсчет пересечений) bool IsPointInsidePolygon(Point[] poly, Point p) { bool c = false; for (int i
- 22. Упражнения Доказать, что при выполнении условия, луч пересекает отрезок ломаной! Когда IsPointInsidePolygon не может быть выполнен?
- 23. ООП. Статические методы Вызов обычного метода (метода объекта) Histogram h = new Histogram (“Проверка Random”, -5,
- 24. ООП. Статические методы Вызов статического метода (метода класса) double [] d = …. // За полнили
- 25. Класс сортировок public static class Sorter { public static void BubbleSort(double [] a) { for(int j
- 26. Сортировка выбором Иногда оказывается, что обмен переменных значениями (перестановка элементов в массива) довольно дорогая операция. В
- 27. Класс сортировок public static class Sorter { public static void BubbleSort(double [] a) {…} public static
- 28. Сортировка вставкой Метод сортировки вставками полезен, когда нужно строить отсортированную последовательность поступающих данных. Идея метода заключается
- 29. Класс сортировок public static class Sorter { public static void BubbleSort(double [] a) {…} public static
- 30. Сортировка “шейкер” Мы улучшали сортировку пузырьком, останавливая ее, если по ходу итерации не было ни одной
- 31. Класс сортировок public static class Sorter { public static void BubbleSort(double [] a) {…} public static
- 32. Класс сортировок Шейкер public static void ShakerSort(double [] a) { double left = 0, right =
- 33. Класс сортировок Применение Double [] d = new Double[15]; Random r = new Random(); for(int i
- 34. Контрольные вопросы Зачем применяются статические методы? Почему все методы сортировки объявлены как static? Зачем может применяться
- 36. Скачать презентацию