🗊Презентация ПЯВУ. Лекция 12. Элементы ООП

Нажмите для полного просмотра!
ПЯВУ. Лекция 12. Элементы ООП, слайд №1ПЯВУ. Лекция 12. Элементы ООП, слайд №2ПЯВУ. Лекция 12. Элементы ООП, слайд №3ПЯВУ. Лекция 12. Элементы ООП, слайд №4ПЯВУ. Лекция 12. Элементы ООП, слайд №5ПЯВУ. Лекция 12. Элементы ООП, слайд №6ПЯВУ. Лекция 12. Элементы ООП, слайд №7ПЯВУ. Лекция 12. Элементы ООП, слайд №8ПЯВУ. Лекция 12. Элементы ООП, слайд №9ПЯВУ. Лекция 12. Элементы ООП, слайд №10ПЯВУ. Лекция 12. Элементы ООП, слайд №11ПЯВУ. Лекция 12. Элементы ООП, слайд №12ПЯВУ. Лекция 12. Элементы ООП, слайд №13ПЯВУ. Лекция 12. Элементы ООП, слайд №14ПЯВУ. Лекция 12. Элементы ООП, слайд №15ПЯВУ. Лекция 12. Элементы ООП, слайд №16ПЯВУ. Лекция 12. Элементы ООП, слайд №17ПЯВУ. Лекция 12. Элементы ООП, слайд №18ПЯВУ. Лекция 12. Элементы ООП, слайд №19ПЯВУ. Лекция 12. Элементы ООП, слайд №20ПЯВУ. Лекция 12. Элементы ООП, слайд №21ПЯВУ. Лекция 12. Элементы ООП, слайд №22ПЯВУ. Лекция 12. Элементы ООП, слайд №23ПЯВУ. Лекция 12. Элементы ООП, слайд №24ПЯВУ. Лекция 12. Элементы ООП, слайд №25ПЯВУ. Лекция 12. Элементы ООП, слайд №26ПЯВУ. Лекция 12. Элементы ООП, слайд №27ПЯВУ. Лекция 12. Элементы ООП, слайд №28ПЯВУ. Лекция 12. Элементы ООП, слайд №29ПЯВУ. Лекция 12. Элементы ООП, слайд №30ПЯВУ. Лекция 12. Элементы ООП, слайд №31ПЯВУ. Лекция 12. Элементы ООП, слайд №32ПЯВУ. Лекция 12. Элементы ООП, слайд №33ПЯВУ. Лекция 12. Элементы ООП, слайд №34ПЯВУ. Лекция 12. Элементы ООП, слайд №35

Содержание

Вы можете ознакомиться и скачать презентацию на тему ПЯВУ. Лекция 12. Элементы ООП. Доклад-сообщение содержит 35 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





ПЯВУ. Лекция 12.
Элементы ООП.
А.М. Задорожный
Описание слайда:
ПЯВУ. Лекция 12. Элементы ООП. А.М. Задорожный

Слайд 2





Контрольные вопросы
Где можно и где нельзя использовать каждую конкретную переменную, например double x? (Где она определена, видна?)
Что такое гистограмма в смысле программирования?
Что такое Конструктор? В чем его особенности в C#?
Как создать объект в C#?
Как вызвать метод для конкретного объекта в C#?
Как вызвать статический метод в C#?
Описание слайда:
Контрольные вопросы Где можно и где нельзя использовать каждую конкретную переменную, например double x? (Где она определена, видна?) Что такое гистограмма в смысле программирования? Что такое Конструктор? В чем его особенности в C#? Как создать объект в C#? Как вызвать метод для конкретного объекта в C#? Как вызвать статический метод в C#?

Слайд 3





План лекции
Еще об ООП
Сравнение с функциональным подходом
“Эластичность” ООП
Класс точки. Алгоритм выяснения находится ли точка внутри полигона.
Статические и обычные методы
Фильтры
Пример класса сортировок. 
Сортировка выбором, вставкой и шейкер.
Описание слайда:
План лекции Еще об ООП Сравнение с функциональным подходом “Эластичность” ООП Класс точки. Алгоритм выяснения находится ли точка внутри полигона. Статические и обычные методы Фильтры Пример класса сортировок. Сортировка выбором, вставкой и шейкер.

Слайд 4





ООП и организация программы
Функциональный подход:
Переменная, операции применимые к типу
(int i:		+, -, *, /, %, ++, --, +=, -=, …)
ООП:
			Объект:
			Данные гистограммы
			
			Методы работы
Описание слайда:
ООП и организация программы Функциональный подход: Переменная, операции применимые к типу (int i: +, -, *, /, %, ++, --, +=, -=, …) ООП: Объект: Данные гистограммы Методы работы

Слайд 5





Гистограмма.
Функциональный подход
Гистограмма в функциональном подходе
{
	Random r = new Random();
	int [] hist = new int [10];
	for(int i = 0; i < 1000; i++)
		Hist(10*r.NextDouble(), hist, 0, 10);
	WriteHist(hist);
	Console.WriteLine(MeanValue(0,10, hist));
}
Описание слайда:
Гистограмма. Функциональный подход Гистограмма в функциональном подходе { Random r = new Random(); int [] hist = new int [10]; for(int i = 0; i < 1000; i++) Hist(10*r.NextDouble(), hist, 0, 10); WriteHist(hist); Console.WriteLine(MeanValue(0,10, hist)); }

Слайд 6





Гистограмма.
ООП подход
Гистограмма в ООП
{
	Random r = new Random();
	Histogram h = new Histogram (0, 10, 10);
	for(int i = 0; i < 1000; i++)
		h.Hist(10*r.NextDouble());
	h.Write();
	Console.WriteLine(h.MeanValue());
}
Описание слайда:
Гистограмма. ООП подход Гистограмма в ООП { Random r = new Random(); Histogram h = new Histogram (0, 10, 10); for(int i = 0; i < 1000; i++) h.Hist(10*r.NextDouble()); h.Write(); Console.WriteLine(h.MeanValue()); }

Слайд 7





ООП. Эластичность I
Эластичность – простота изменения программы при изменении требований.

Изменить диапазон чисел с [0, 10], до [-5,  5] и увеличить количество каналов до 25.
 
	int [] hist = new int [25];
	for(int i = 0; i < 1000; i++)
		Hist(100*r.NextDouble()-10, hist, -5, 5);
	WriteHist(hist);
	Console.WriteLine(MeanValue(-5, 5, hist));
Понадобилось 5 изменений в 3-х строках кода!
Описание слайда:
ООП. Эластичность I Эластичность – простота изменения программы при изменении требований. Изменить диапазон чисел с [0, 10], до [-5, 5] и увеличить количество каналов до 25. int [] hist = new int [25]; for(int i = 0; i < 1000; i++) Hist(100*r.NextDouble()-10, hist, -5, 5); WriteHist(hist); Console.WriteLine(MeanValue(-5, 5, hist)); Понадобилось 5 изменений в 3-х строках кода!

Слайд 8





ООП. Эластичность I
Эластичность – простота изменения программы при изменении требований.

Изменить диапазон чисел с [0, 10], до [-5,  5] и увеличить количество каналов до 25.
 
	Histogram h = new Histogram (-5, 5, 25);
	for(int i = 0; i < 1000; i++)
		h.Hist(10*r.NextDouble());
	h.Write();
	Console.WriteLine(h.MeanValue());
Понадобилось 3 изменения в 1-ой строке кода!
Описание слайда:
ООП. Эластичность I Эластичность – простота изменения программы при изменении требований. Изменить диапазон чисел с [0, 10], до [-5, 5] и увеличить количество каналов до 25. Histogram h = new Histogram (-5, 5, 25); for(int i = 0; i < 1000; i++) h.Hist(10*r.NextDouble()); h.Write(); Console.WriteLine(h.MeanValue()); Понадобилось 3 изменения в 1-ой строке кода!

Слайд 9





ООП. Эластичность II
Изменяться могут не только параметры задачи, изменяться могут требования.

Связать с каждой гистограммой заголовок, при выводе гистограммы выводить заголовок и диапазон, в котором строилась гистограмма.
Описание слайда:
ООП. Эластичность II Изменяться могут не только параметры задачи, изменяться могут требования. Связать с каждой гистограммой заголовок, при выводе гистограммы выводить заголовок и диапазон, в котором строилась гистограмма.

Слайд 10





ООП. Эластичность II
Добавим данные в гистограмму (заголовок)

public class Histogram
{	
	public double LeftEdge;
	public double RightEdge;
	public int [] Data; 	// Массив
	public string Title; 

	public Histogram(string title, double leftEdge, double rightEdge, int N)
	{
		Title = title;
		LeftEdge = leftEdge;
		RightEdge = rightEdge;
		Data = new int[N];
	}
	public void Hist(double x){   …   }
	public double MeanValue () {  …  }
	public double Write() {  …  }
}
Описание слайда:
ООП. Эластичность II Добавим данные в гистограмму (заголовок) public class Histogram { public double LeftEdge; public double RightEdge; public int [] Data; // Массив public string Title; public Histogram(string title, double leftEdge, double rightEdge, int N) { Title = title; LeftEdge = leftEdge; RightEdge = rightEdge; Data = new int[N]; } public void Hist(double x){ … } public double MeanValue () { … } public double Write() { … } }

Слайд 11





ООП. Эластичность II
Доработаем метод Write

public class Histogram
{	
	…
	public double Write() {  
		Console.WriteLine(“Гистограмма ‘{0}’”, Title);
		Console.WriteLine(“Диапазон [{0}, {1}]”, 
					LeftEdge, RightEdge);
		Console.Write(h[0]);
		for(int i = 1; i < h.Length; i++)
			Console.Write(“, {0}”, h[i]);
		Console.WriteLine();
	 }
}
Описание слайда:
ООП. Эластичность II Доработаем метод Write public class Histogram { … public double Write() { Console.WriteLine(“Гистограмма ‘{0}’”, Title); Console.WriteLine(“Диапазон [{0}, {1}]”, LeftEdge, RightEdge); Console.Write(h[0]); for(int i = 1; i < h.Length; i++) Console.Write(“, {0}”, h[i]); Console.WriteLine(); } }

Слайд 12





ООП. Эластичность II
Использование гистограммы:

Histogram h = new Histogram (“Проверка Random”, -5, 5, 25);
for(int i = 0; i < 1000; i++)
	h.Hist(10*r.NextDouble());
h.Write();
Console.WriteLine(h.MeanValue());
Описание слайда:
ООП. Эластичность II Использование гистограммы: Histogram h = new Histogram (“Проверка Random”, -5, 5, 25); for(int i = 0; i < 1000; i++) h.Hist(10*r.NextDouble()); h.Write(); Console.WriteLine(h.MeanValue());

Слайд 13





ООП. Выводы
На примере гистограммы:
ООП позволяет строить понятия более сложные чем заложенные в язык примитивы: числа, строки
Вызовы методов стали короче (легче изменять программу, если вызовов много)
Потенциально меньше ошибок (нельзя спутать или изменить границы, изменить массив результатов)
Потенциально ясно, что чем больше гистограмм, тем приведенные выше факторы будут влиять все больше.
Не нужно помнить, какие методы есть у класса (Visual Studio сама подскажет)
Легче развивать функции гистограммы. В основном меняются методы и данные класса, а в программе, которая использует этот инструмент изменений мало.
Описание слайда:
ООП. Выводы На примере гистограммы: ООП позволяет строить понятия более сложные чем заложенные в язык примитивы: числа, строки Вызовы методов стали короче (легче изменять программу, если вызовов много) Потенциально меньше ошибок (нельзя спутать или изменить границы, изменить массив результатов) Потенциально ясно, что чем больше гистограмм, тем приведенные выше факторы будут влиять все больше. Не нужно помнить, какие методы есть у класса (Visual Studio сама подскажет) Легче развивать функции гистограммы. В основном меняются методы и данные класса, а в программе, которая использует этот инструмент изменений мало.

Слайд 14





Вопросы для обсуждения
В чем преимущества ООП? 
Как изменится гистограмма, если нужно для каждой гистограммы учитывать и выводить сколько данных оказалось вне диапазона (левее или правее) гистограммы?
Как ООП влияет на применение (использование) разработанной функциональности программы, например, построение гистограмм?
Как ООП влияет на развитие функциональности программы, например, улучшение метода вывода гистограммы?
Как ООП влияет на изучение разработанной функциональности?
Описание слайда:
Вопросы для обсуждения В чем преимущества ООП? Как изменится гистограмма, если нужно для каждой гистограммы учитывать и выводить сколько данных оказалось вне диапазона (левее или правее) гистограммы? Как ООП влияет на применение (использование) разработанной функциональности программы, например, построение гистограмм? Как ООП влияет на развитие функциональности программы, например, улучшение метода вывода гистограммы? Как ООП влияет на изучение разработанной функциональности?

Слайд 15





Контрольные вопросы
Где нужно объявить переменную, которая будет использоваться только в одном методе?
Где нужно объявить переменную, которая будет использоваться в нескольких методах класса?
Как следует поступить программисту, если ему нужно разработать алгоритм, который будет использовать более сложные конструкции, чем отдельные числа или строки, например, точки на плоскости или в пространстве,  комплексные числа, описания студентов, описания состояния компьютерной игры?
Описание слайда:
Контрольные вопросы Где нужно объявить переменную, которая будет использоваться только в одном методе? Где нужно объявить переменную, которая будет использоваться в нескольких методах класса? Как следует поступить программисту, если ему нужно разработать алгоритм, который будет использовать более сложные конструкции, чем отдельные числа или строки, например, точки на плоскости или в пространстве, комплексные числа, описания студентов, описания состояния компьютерной игры?

Слайд 16





Геометрия
Описание слайда:
Геометрия

Слайд 17





Геометрия
Описание слайда:
Геометрия

Слайд 18





Представление полигона
class Point
{
	public double x;
	public double y;
}
Point [] poly; …
// Что бы получился замкнутый полигон первая и // последняя точка должны быть соединены
Описание слайда:
Представление полигона class Point { public double x; public double y; } Point [] poly; … // Что бы получился замкнутый полигон первая и // последняя точка должны быть соединены

Слайд 19





Геометрия
Описание слайда:
Геометрия

Слайд 20





Алгоритм (подсчет пересечений)

Для y == Ay x == Ax

Для y == By x == Bx
х – координата пересечения луча и отрезка!

Действия оптимизированы для вычисления количества пересечений!
Описание слайда:
Алгоритм (подсчет пересечений) Для y == Ay x == Ax Для y == By x == Bx х – координата пересечения луча и отрезка! Действия оптимизированы для вычисления количества пересечений!

Слайд 21





Алгоритм (подсчет пересечений)
bool IsPointInsidePolygon(Point[] poly, Point p) 
{  bool c = false; 
   for (int i = 0, j = poly.Length - 1; i < poly.Length; j = i++) 
   { 	if ((((poly[i].y <= p.y) && (p.y < poly[j].y)) 
		|| ((poly[j].y <= p.y) && (p.y < poly[i].y)))
	 && (p.x < (poly[j].x - poly[i].x) * (p.y - poly[i].y) /   		(poly[j].y - poly[i].y) + poly[i].x)) 
		c = !c; 
   } 
return c; 
}
Описание слайда:
Алгоритм (подсчет пересечений) bool IsPointInsidePolygon(Point[] poly, Point p) { bool c = false; for (int i = 0, j = poly.Length - 1; i < poly.Length; j = i++) { if ((((poly[i].y <= p.y) && (p.y < poly[j].y)) || ((poly[j].y <= p.y) && (p.y < poly[i].y))) && (p.x < (poly[j].x - poly[i].x) * (p.y - poly[i].y) / (poly[j].y - poly[i].y) + poly[i].x)) c = !c; } return c; }

Слайд 22





Упражнения
Доказать, что при выполнении условия, луч пересекает отрезок ломаной!
Когда IsPointInsidePolygon не может быть выполнен?
Доработайте метод IsPointInsidePolygon так, что бы он безошибочно работал для всех полигонов (имея ввиду ответ на предыдущий вопрос).
Описание слайда:
Упражнения Доказать, что при выполнении условия, луч пересекает отрезок ломаной! Когда IsPointInsidePolygon не может быть выполнен? Доработайте метод IsPointInsidePolygon так, что бы он безошибочно работал для всех полигонов (имея ввиду ответ на предыдущий вопрос).

Слайд 23





ООП. Статические методы
Вызов обычного метода (метода объекта)
Histogram h = new Histogram (“Проверка Random”, -5, 5, 25);
…
h.Write();
A			Вместе с объектом (h) метод Write получил и все 			данные объекта!
Описание слайда:
ООП. Статические методы Вызов обычного метода (метода объекта) Histogram h = new Histogram (“Проверка Random”, -5, 5, 25); … h.Write(); A Вместе с объектом (h) метод Write получил и все данные объекта!

Слайд 24





ООП. Статические методы
Вызов  статического метода (метода класса)
double [] d = …. // За полнили массив данными
double [] fd = Filter. RunningAvrgFilter(d, N);
Статический метод не применяется к объекту!
	V
Он не может использовать данные объекта!
Описание слайда:
ООП. Статические методы Вызов статического метода (метода класса) double [] d = …. // За полнили массив данными double [] fd = Filter. RunningAvrgFilter(d, N); Статический метод не применяется к объекту! V Он не может использовать данные объекта!

Слайд 25





Класс сортировок
public static class Sorter
{
	public static void BubbleSort(double [] a)
	{
for(int j = 1; j < a.Length; j++) {
         bool sorted = true;
         for(int i = 0; i < a.Length - j; i++) 
	if(a[i]>a[i + 1]) {
		double	 x = a[i];
		a[i] = a[i + 1];
		a[i + 1] = x;
		sorted = false;
	}
	if(sorted)  break;
}
	}
}
Описание слайда:
Класс сортировок public static class Sorter { public static void BubbleSort(double [] a) { for(int j = 1; j < a.Length; j++) { bool sorted = true; for(int i = 0; i < a.Length - j; i++) if(a[i]>a[i + 1]) { double x = a[i]; a[i] = a[i + 1]; a[i + 1] = x; sorted = false; } if(sorted) break; } } }

Слайд 26





Сортировка выбором
Иногда оказывается, что обмен переменных значениями (перестановка элементов в массива) довольно дорогая операция.
В таких случаях лучше применять “сортировку выбором”. 
Пусть имеется массив длиной N. Тогда алгоритм может быть описан так:
Номер текущего элемента j = 0;
Для j от 0 до N-1 
Находим номер наименьшего элемента i, начиная с j;
Обмениваем значениями элементы с номерами i и j;
Увеличиваем j на 1 и переходим к 2.
по окончании цикла массив отсортирован в порядке возрастания.
Описание слайда:
Сортировка выбором Иногда оказывается, что обмен переменных значениями (перестановка элементов в массива) довольно дорогая операция. В таких случаях лучше применять “сортировку выбором”. Пусть имеется массив длиной N. Тогда алгоритм может быть описан так: Номер текущего элемента j = 0; Для j от 0 до N-1 Находим номер наименьшего элемента i, начиная с j; Обмениваем значениями элементы с номерами i и j; Увеличиваем j на 1 и переходим к 2. по окончании цикла массив отсортирован в порядке возрастания.

Слайд 27





Класс сортировок
public static class Sorter
{
	public static void BubbleSort(double [] a) {…}
	public static void SelectionSort(double [] a)
	{
for(int j = 0; j < a.Length-1; j++) {
	int m = j;
	for(int i = j; i < a.Length; i++) 
		if(a[i]<a[m])  m = i;
	if(j != m){
		double	 x = a[j];
		a[j] = a[m];
		a[m] = x;
	}
}
	}
}
Описание слайда:
Класс сортировок public static class Sorter { public static void BubbleSort(double [] a) {…} public static void SelectionSort(double [] a) { for(int j = 0; j < a.Length-1; j++) { int m = j; for(int i = j; i < a.Length; i++) if(a[i]<a[m]) m = i; if(j != m){ double x = a[j]; a[j] = a[m]; a[m] = x; } } } }

Слайд 28





Сортировка вставкой
Метод сортировки вставками полезен, когда нужно строить отсортированную последовательность поступающих данных.
Идея метода заключается в том, что рассматриваем отсортированную часть массива  и новый (неотсортированный) элемент. 
В отсортированной части массива:  
находим место для нового элемента, 
большие элементы сдвигаем вправо и 
помещаем новый элемент на нужное место.
Таким образом, отсортированная часть массива увеличивается.
Описание слайда:
Сортировка вставкой Метод сортировки вставками полезен, когда нужно строить отсортированную последовательность поступающих данных. Идея метода заключается в том, что рассматриваем отсортированную часть массива и новый (неотсортированный) элемент. В отсортированной части массива: находим место для нового элемента, большие элементы сдвигаем вправо и помещаем новый элемент на нужное место. Таким образом, отсортированная часть массива увеличивается.

Слайд 29





Класс сортировок
public static class Sorter
{
	public static void BubbleSort(double [] a) {…}
	public static void SelectionSort(double [] a)
	public static void InsertionSort(double [] a)
	{
for(int j = 1; j < a.Length; j++) {
	double x = a[j];
	int i = j;
	for(; i > 0 && x < a[i-1]; i--) 
		a[i] = a[i-1];
 a[i] = x;
}
	}
}
Описание слайда:
Класс сортировок public static class Sorter { public static void BubbleSort(double [] a) {…} public static void SelectionSort(double [] a) public static void InsertionSort(double [] a) { for(int j = 1; j < a.Length; j++) { double x = a[j]; int i = j; for(; i > 0 && x < a[i-1]; i--) a[i] = a[i-1]; a[i] = x; } } }

Слайд 30





Сортировка “шейкер”
Мы улучшали сортировку пузырьком, останавливая ее, если по ходу итерации не было ни одной перестановки.
Ее можно “оптимизировать” дополнительно, имея ввиду, что если, например, в начале массива не было ни одной перестановки, то их не будет и в последующем.
Это и есть идея ShakerSort (CocktailSort). Здесь проход по массиву выполняется сначала слева-направо, потом в обратном порядке. И каждый раз запоминается положение последней перестановки.
Описание слайда:
Сортировка “шейкер” Мы улучшали сортировку пузырьком, останавливая ее, если по ходу итерации не было ни одной перестановки. Ее можно “оптимизировать” дополнительно, имея ввиду, что если, например, в начале массива не было ни одной перестановки, то их не будет и в последующем. Это и есть идея ShakerSort (CocktailSort). Здесь проход по массиву выполняется сначала слева-направо, потом в обратном порядке. И каждый раз запоминается положение последней перестановки.

Слайд 31





Класс сортировок
public static class Sorter
{
	public static void BubbleSort(double [] a) {…}
	public static void SelectionSort(double [] a) {…}
	public static void InsertionSort(double [] a) {…}
	public static void ShakerSort(double [] a) {…}
	{
		…
	}
}
Описание слайда:
Класс сортировок public static class Sorter { public static void BubbleSort(double [] a) {…} public static void SelectionSort(double [] a) {…} public static void InsertionSort(double [] a) {…} public static void ShakerSort(double [] a) {…} { … } }

Слайд 32





Класс сортировок
Шейкер
public static void ShakerSort(double [] a)
{
double left = 0, right = a.Length – 1, c;
do {
                c = 0;
                for (int j = left; j < right; j++)
                    if (a[j] > a[j + 1]) {
                        double x = a[j]; a[j] = a[j + 1]; a[j + 1] = x;
                        c = j;
                    }
                right = c;
                for (int j = right; j > left; j--)
                    if (a[j - 1] > a[j]) {
	       	double x = a[j]; a[j] = a[j - 1]; a[j - 1] = x;
                        	c = j;
                    }
                left = c;
} while (c != 0);
}
Описание слайда:
Класс сортировок Шейкер public static void ShakerSort(double [] a) { double left = 0, right = a.Length – 1, c; do { c = 0; for (int j = left; j < right; j++) if (a[j] > a[j + 1]) { double x = a[j]; a[j] = a[j + 1]; a[j + 1] = x; c = j; } right = c; for (int j = right; j > left; j--) if (a[j - 1] > a[j]) { double x = a[j]; a[j] = a[j - 1]; a[j - 1] = x; c = j; } left = c; } while (c != 0); }

Слайд 33





Класс сортировок
Применение
Double [] d = new Double[15];
Random r = new Random();
for(int i = 0; i < d.Length; i++)
	d[i] = r.Next(25);
Sorter.BubbleSort(a);
или 
Sorter.SelectionSort(a);
или 
Sorter. ShakerSort(a);
Описание слайда:
Класс сортировок Применение Double [] d = new Double[15]; Random r = new Random(); for(int i = 0; i < d.Length; i++) d[i] = r.Next(25); Sorter.BubbleSort(a); или Sorter.SelectionSort(a); или Sorter. ShakerSort(a);

Слайд 34





Контрольные вопросы
Зачем применяются статические методы?
Почему все методы сортировки объявлены как static?
Зачем может применяться сортировка “выбором”?
Когда применение алгоритма сортировки вставкой наиболее естественно?
В чем идея метода сортировки Shaker? Чем он отличается от улучшенного метода сортировки пузырьком?
Описание слайда:
Контрольные вопросы Зачем применяются статические методы? Почему все методы сортировки объявлены как static? Зачем может применяться сортировка “выбором”? Когда применение алгоритма сортировки вставкой наиболее естественно? В чем идея метода сортировки Shaker? Чем он отличается от улучшенного метода сортировки пузырьком?

Слайд 35





Вопросы для повторения
Что определяет Тип данных?
Что такое массив?
Сколько операция сравнения определено для чисел в C#?
Сколько операций сравнения определено для строк в C#?
Сколько в C# определено булевских операций?
Какие операции можно выполнять над булевскими величинами?
Описание слайда:
Вопросы для повторения Что определяет Тип данных? Что такое массив? Сколько операция сравнения определено для чисел в C#? Сколько операций сравнения определено для строк в C#? Сколько в C# определено булевских операций? Какие операции можно выполнять над булевскими величинами?



Похожие презентации
Mypresentation.ru
Загрузить презентацию