🗊Презентация ПЯВУ. Основы программирования. Лекция 6

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

Содержание

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

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


Слайд 1





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

Слайд 2





Вопросы для повторения
Назовите 4 обязательных характеристики переменной?
Что определяет типа данных?
Зачем определены 2 числовых типа данных: int и double?
Какие операции можно выполнять над строками?
Как происходит сравнение строк?
Опишите “время жизни” переменной.
Описание слайда:
Вопросы для повторения Назовите 4 обязательных характеристики переменной? Что определяет типа данных? Зачем определены 2 числовых типа данных: int и double? Какие операции можно выполнять над строками? Как происходит сравнение строк? Опишите “время жизни” переменной.

Слайд 3





Содержание
Массивы. Одномерные массивы 
Понятие алгоритма, запись алгоритма
Примеры простейших алгоритмов
Поиск наибольшего/наименьшего
Поиск условного наибольшего/наименьшего
Дополнительные операторы управления циклом (break и continue)
Массивы. Многомерные массивы
Описание слайда:
Содержание Массивы. Одномерные массивы Понятие алгоритма, запись алгоритма Примеры простейших алгоритмов Поиск наибольшего/наименьшего Поиск условного наибольшего/наименьшего Дополнительные операторы управления циклом (break и continue) Массивы. Многомерные массивы

Слайд 4





Массивы
Важнейшая структура данных
Массив – совокупность элементов данных одного типа, имеющих одно имя, доступ к которым выполняется по номеру элемента.
Массив – новый тип данных. Абстрактный. Контейнер.
Описание слайда:
Массивы Важнейшая структура данных Массив – совокупность элементов данных одного типа, имеющих одно имя, доступ к которым выполняется по номеру элемента. Массив – новый тип данных. Абстрактный. Контейнер.

Слайд 5





Примеры
int [] v = new int [16]; 		// 16 целых
double [] a = new double [4]; 	// 4 double
Массивы могут быть образованы из данных любого определенного ранее типа.
В общем виде:
<тип> [] <имя массива> = new <тип>[<количество>];
Описание слайда:
Примеры int [] v = new int [16]; // 16 целых double [] a = new double [4]; // 4 double Массивы могут быть образованы из данных любого определенного ранее типа. В общем виде: <тип> [] <имя массива> = new <тип>[<количество>];

Слайд 6





Доступ к элементам массива
int [] v = new int [16];
int x = v[3]; 	// чтение элемента массива
v[1] = x; 		// изменение элемента
Описание слайда:
Доступ к элементам массива int [] v = new int [16]; int x = v[3]; // чтение элемента массива v[1] = x; // изменение элемента

Слайд 7





Нумерация элементов массива
У объекта–массива имеется свойство Length.
int n = v.Length; // количество элементов
Нумерация элементов всегда начинается с 0; 
//Какой тип данных напоминает?
Описание слайда:
Нумерация элементов массива У объекта–массива имеется свойство Length. int n = v.Length; // количество элементов Нумерация элементов всегда начинается с 0; //Какой тип данных напоминает?

Слайд 8





Перебор элементов
double [] v = new double [16];
//Заполнение массива
for(int i = 0; i < v.Length; i++)
{
	v[i] = …
}
Описание слайда:
Перебор элементов double [] v = new double [16]; //Заполнение массива for(int i = 0; i < v.Length; i++) { v[i] = … }

Слайд 9





Инициализация массива
Массивы можно инициализировать как и обычные переменные.
int [] a = new int[3] {1, 2, 3};
Для числовых типов, если массив не инициализирован, все его элементы равны 0;
Для логических – false;
Для строковых – пустой строке.
Описание слайда:
Инициализация массива Массивы можно инициализировать как и обычные переменные. int [] a = new int[3] {1, 2, 3}; Для числовых типов, если массив не инициализирован, все его элементы равны 0; Для логических – false; Для строковых – пустой строке.

Слайд 10





Применения массивов
Вектора в математике в программировании задаются массивами.
Задача. Найти скалярное произведение векторов a(0,1,1) и b(1,1,0)
double [] a = new double[3]{0,1,1};
double [] b = new double[3]{1,1,0};
double dp = 0;
for(int i = 0; i < a.Length; i++)
{
	dp += a[i] * b[i];
}
//Здесь в dp содержится скалярное произведение векторов
Описание слайда:
Применения массивов Вектора в математике в программировании задаются массивами. Задача. Найти скалярное произведение векторов a(0,1,1) и b(1,1,0) double [] a = new double[3]{0,1,1}; double [] b = new double[3]{1,1,0}; double dp = 0; for(int i = 0; i < a.Length; i++) { dp += a[i] * b[i]; } //Здесь в dp содержится скалярное произведение векторов

Слайд 11





Контрольные вопросы
Что такое массив?
Могут ли элементы одного массива иметь разные типы?
Какой номер имеет последний элемент массива v?
Чему равен элемент массива v с номером 1?
int [] v = new int [3] {1, 2, 3}; 
Что общего между массивом символов и строкой?
В чем различие между массивом символов и строкой?
Описание слайда:
Контрольные вопросы Что такое массив? Могут ли элементы одного массива иметь разные типы? Какой номер имеет последний элемент массива v? Чему равен элемент массива v с номером 1? int [] v = new int [3] {1, 2, 3}; Что общего между массивом символов и строкой? В чем различие между массивом символов и строкой?

Слайд 12





Алгоритм

Алгоритм – конечная последовательность выполнимых действий, которая приводит к решению задачи.
Поваренная книга - пример сборника алгоритмов: имеется задача, исходные данные, указана последовательность действий для достижения цели.
Описание слайда:
Алгоритм Алгоритм – конечная последовательность выполнимых действий, которая приводит к решению задачи. Поваренная книга - пример сборника алгоритмов: имеется задача, исходные данные, указана последовательность действий для достижения цели.

Слайд 13





Текстовая запись алгоритма
Задача. Найти скалярное произведение двух векторов одинаковой размерности.
Обозначим вектора имени a и b, а результат dp.
Занулить аккумулятор dp (dp = 0)
Цикл по элементам вектора a. (i-тый компонент)
Увеличить аккумулятор dp на произведение i-тых (текущих) компонентов векторов a и b.
Конец цикла 2
В dp содержится скалярное произведение a и b.
Описание слайда:
Текстовая запись алгоритма Задача. Найти скалярное произведение двух векторов одинаковой размерности. Обозначим вектора имени a и b, а результат dp. Занулить аккумулятор dp (dp = 0) Цикл по элементам вектора a. (i-тый компонент) Увеличить аккумулятор dp на произведение i-тых (текущих) компонентов векторов a и b. Конец цикла 2 В dp содержится скалярное произведение a и b.

Слайд 14





Поиск наибольшего/наименьшего
Задача. Найти значение наибольшего элемента массива.
Обозначим наибольшее значение aMax, а массив a.
Присвоим aMax значение первого элемента массива;
Цикл по элементам массива начиная со второго
Очередной элемент массива ai сравниваем с aMax
Если ai больше aMax, то присвоить значение ai в aMax
Конец цикла 2
В aMax содержится значение наибольшего элемента массива a.
Что изменится, если нужно найти наименьший?
Описание слайда:
Поиск наибольшего/наименьшего Задача. Найти значение наибольшего элемента массива. Обозначим наибольшее значение aMax, а массив a. Присвоим aMax значение первого элемента массива; Цикл по элементам массива начиная со второго Очередной элемент массива ai сравниваем с aMax Если ai больше aMax, то присвоить значение ai в aMax Конец цикла 2 В aMax содержится значение наибольшего элемента массива a. Что изменится, если нужно найти наименьший?

Слайд 15





Программирование алгоритма
//Присвоим aMax значение первого элемента массива
double aMax = a[0];
//Цикл по элементам массива начиная со второго
for(int i = 1; i < a.Length; i++)
{
//Очередной элемент массива ai сравниваем с aMax
if(a[i] > aMax)
{
//Если ai больше aMax, то присвоить значение ai в aMax
aMax = a[i];
}
//Конец цикла 2
}
Описание слайда:
Программирование алгоритма //Присвоим aMax значение первого элемента массива double aMax = a[0]; //Цикл по элементам массива начиная со второго for(int i = 1; i < a.Length; i++) { //Очередной элемент массива ai сравниваем с aMax if(a[i] > aMax) { //Если ai больше aMax, то присвоить значение ai в aMax aMax = a[i]; } //Конец цикла 2 }

Слайд 16





Поиск наибольшего/наименьшего
Задача. Найти номер первого наибольшего элемента массива.
Обозначим номер наибольшего элемента iMax, а массив a.
Присвоим iMax значение 0;
Цикл по элементам массива начиная со второго
Очередной элемент массива ai сравниваем с aiMax
Если ai больше aiMax, то присвоить значение i в iMax
Конец цикла 2
В iMax содержится номер первого наибольшего элемента массива a.
Как изменится, если нужен номер последнего наибольшего?
Описание слайда:
Поиск наибольшего/наименьшего Задача. Найти номер первого наибольшего элемента массива. Обозначим номер наибольшего элемента iMax, а массив a. Присвоим iMax значение 0; Цикл по элементам массива начиная со второго Очередной элемент массива ai сравниваем с aiMax Если ai больше aiMax, то присвоить значение i в iMax Конец цикла 2 В iMax содержится номер первого наибольшего элемента массива a. Как изменится, если нужен номер последнего наибольшего?

Слайд 17





Программирование алгоритма
//Присвоим iMax значение 0
int iMax = 0;
//Цикл по элементам массива начиная со второго
for(int i = 1; i < a.Length; i++)
{
//Очередной элемент массива ai сравниваем с aiMax
if(a[i] > a[iMax])
{
//Если ai больше aiMax, то присвоить значение i в iMax
iMax = i;
}
//Конец цикла 2
}
Описание слайда:
Программирование алгоритма //Присвоим iMax значение 0 int iMax = 0; //Цикл по элементам массива начиная со второго for(int i = 1; i < a.Length; i++) { //Очередной элемент массива ai сравниваем с aiMax if(a[i] > a[iMax]) { //Если ai больше aiMax, то присвоить значение i в iMax iMax = i; } //Конец цикла 2 }

Слайд 18





Усложнение задачи
Задача. Найти значение наибольшего элемента массива целых, среди элементов, делящихся на 3.
Исходная задача решалась так:
int aMax = a[0];
for(int i = 1; i < a.Length; i++)
{
if(a[i] > aMax)
aMax = a[i];
}
Как ее изменить?
Описание слайда:
Усложнение задачи Задача. Найти значение наибольшего элемента массива целых, среди элементов, делящихся на 3. Исходная задача решалась так: int aMax = a[0]; for(int i = 1; i < a.Length; i++) { if(a[i] > aMax) aMax = a[i]; } Как ее изменить?

Слайд 19





Укрупнение алгоритма
Найти первый элемент массива, который делится на 3 и присвоить его в aMax.
Применить алгоритм “поиск наибольшего” к оставшимся элементам массива, пропуская те, которые не делятся на 3.
Что произойдет, если у в массиве не будет элементов, которые делятся на 3?
Описание слайда:
Укрупнение алгоритма Найти первый элемент массива, который делится на 3 и присвоить его в aMax. Применить алгоритм “поиск наибольшего” к оставшимся элементам массива, пропуская те, которые не делятся на 3. Что произойдет, если у в массиве не будет элементов, которые делятся на 3?

Слайд 20





Уточнение алгоритма
Будем искать НОМЕР элемента
Поместить в iMax значение -1
Найти номер первого элемента массива, который делится на 3 и присвоить его в iMax.
Если в массиве нет будет элементов, которые делятся на 3, то iMax будет равно -1. На этом решение задачи завершено. Искомого элемента нет!
Применить алгоритм “поиск наибольшего” к последующим (iMax) элементам массива, пропуская те, которые не делятся на 3.
Если в массиве не будет элементов, которые делятся на 3, то iMax будет равно -1. Если такие элементы есть, то iMax равно номеру наибольшего элемента
Описание слайда:
Уточнение алгоритма Будем искать НОМЕР элемента Поместить в iMax значение -1 Найти номер первого элемента массива, который делится на 3 и присвоить его в iMax. Если в массиве нет будет элементов, которые делятся на 3, то iMax будет равно -1. На этом решение задачи завершено. Искомого элемента нет! Применить алгоритм “поиск наибольшего” к последующим (iMax) элементам массива, пропуская те, которые не делятся на 3. Если в массиве не будет элементов, которые делятся на 3, то iMax будет равно -1. Если такие элементы есть, то iMax равно номеру наибольшего элемента

Слайд 21





Реализация алгоритма
int iMax = -1;
for(int i = 0; i < a.Length; i++)
if(a[i] % 3 == 0)
{
iMax = i;
break;
}
//Здесь известен номер первого элемента, который делится на 3
if(iMax  >=  0)
{
        for(int i = iMax + 1; i < a.Length; i++)
if(a[i] % 3 == 0 && a[i] > a[iMax])
iMax = i;
}
// Здесь iMax или равно -1 или равно номеру наибольшего элемента массива, среди тех, которые делятся на 3.
Описание слайда:
Реализация алгоритма int iMax = -1; for(int i = 0; i < a.Length; i++) if(a[i] % 3 == 0) { iMax = i; break; } //Здесь известен номер первого элемента, который делится на 3 if(iMax >= 0) { for(int i = iMax + 1; i < a.Length; i++) if(a[i] % 3 == 0 && a[i] > a[iMax]) iMax = i; } // Здесь iMax или равно -1 или равно номеру наибольшего элемента массива, среди тех, которые делятся на 3.

Слайд 22





Дополнительные операторы управления циклом
break – прекращает выполнение цикла
continue – переход к следующей итерации
for(int i = 0; i < 100; i++)
{
	if(i%5 == 0) continue;
	…
}
Описание слайда:
Дополнительные операторы управления циклом break – прекращает выполнение цикла continue – переход к следующей итерации for(int i = 0; i < 100; i++) { if(i%5 == 0) continue; … }

Слайд 23





Контрольные вопросы
Что такое алгоритм?
Что значит: “Задача не имеет алгоритмического решения”?
Что означает фраза: “Степень детализации алгоритма”?
Для чего применяется ключевое слово break?
Для чего применяется ключевое слово continue?
Как будет выглядеть алгоритм задачи: 
“Найти среднее арифметическое элементов массива”?
7. В чем отличие алгоритма и программы, которые вы разрабатываете для реализации алгоритма?
Описание слайда:
Контрольные вопросы Что такое алгоритм? Что значит: “Задача не имеет алгоритмического решения”? Что означает фраза: “Степень детализации алгоритма”? Для чего применяется ключевое слово break? Для чего применяется ключевое слово continue? Как будет выглядеть алгоритм задачи: “Найти среднее арифметическое элементов массива”? 7. В чем отличие алгоритма и программы, которые вы разрабатываете для реализации алгоритма?

Слайд 24





Многомерные массивы
Можно создавать массивы более чем из одной размерности.
int [,] m = new int[3, 3] {{1, 2, 3}, {4,5,6}, {7,8,9}};
У такого массива свойство Length говорит об общем количестве элементов. (в примере m.Length == 9)
Чтобы узнать размер массива по одному из измерений нужно пользоваться методом GetLength(n), где n – целое число, номер измерения.
Нумеруются измерения с 0, т.е. m.GetLength(0) вернет количество строк матрицы m, а m.GetLength(1) – количество столбцов.
Элемент такого массива определяется 2-мя индексами
m[1,2] = …
int t = m[0,2]
Описание слайда:
Многомерные массивы Можно создавать массивы более чем из одной размерности. int [,] m = new int[3, 3] {{1, 2, 3}, {4,5,6}, {7,8,9}}; У такого массива свойство Length говорит об общем количестве элементов. (в примере m.Length == 9) Чтобы узнать размер массива по одному из измерений нужно пользоваться методом GetLength(n), где n – целое число, номер измерения. Нумеруются измерения с 0, т.е. m.GetLength(0) вернет количество строк матрицы m, а m.GetLength(1) – количество столбцов. Элемент такого массива определяется 2-мя индексами m[1,2] = … int t = m[0,2]

Слайд 25





Массив массивов
Элементами массива могут быть и массивы.
int [][] a = new int [3][];
Пользоваться таким массивом еще нельзя. Нужно задать каждый из его элементов.
for(int i = 0; I < a.Length; i++)
	a[i] = new int[3];
Теперь задана матрица, которая состоит из  3 строк по 3 элемента в каждой.
Описание слайда:
Массив массивов Элементами массива могут быть и массивы. int [][] a = new int [3][]; Пользоваться таким массивом еще нельзя. Нужно задать каждый из его элементов. for(int i = 0; I < a.Length; i++) a[i] = new int[3]; Теперь задана матрица, которая состоит из 3 строк по 3 элемента в каждой.

Слайд 26





Пример использования массива массивов
У массива массивов каждый элемент-массив может иметь свою длину. Вот как можно выяснить длину каждого элемента.
for(int i = 0; i < a.Length; i++)
    Console.WriteLine(“Элемент {0} имеет длину {1}.”, 
       					i, 	a[i].Length);
for(int i = 0; i < a.Length; i++)
	for(int j = 0; j < a[i].Length; j++)
		a[i][j] = i+j;
Описание слайда:
Пример использования массива массивов У массива массивов каждый элемент-массив может иметь свою длину. Вот как можно выяснить длину каждого элемента. for(int i = 0; i < a.Length; i++) Console.WriteLine(“Элемент {0} имеет длину {1}.”, i, a[i].Length); for(int i = 0; i < a.Length; i++) for(int j = 0; j < a[i].Length; j++) a[i][j] = i+j;

Слайд 27





Применения многомерных массивов
Матрицы в математике задаются двумерными массивами.
Задача. Найти сумму 2-х матриц одинаковой размерности.
double [,] a = new double[3,3]{{0,1,1}, {1,1,1}, {0,1,1}};
double [,] b = new double[3,3]{{1,1,0}, {2,0,0}, {3,1, 0}};
double [,] ab = new double[a.GetLength(0), a.GetLength(1)];
for(int i = 0; i < a.GetLength(0); i++)
	for(int j = 0; j < a.GetLength(1); j++)
		ab[i, j] = a[i, j] + b[i, j];
//Здесь в ab содержится сумма двух матриц a и b.
Описание слайда:
Применения многомерных массивов Матрицы в математике задаются двумерными массивами. Задача. Найти сумму 2-х матриц одинаковой размерности. double [,] a = new double[3,3]{{0,1,1}, {1,1,1}, {0,1,1}}; double [,] b = new double[3,3]{{1,1,0}, {2,0,0}, {3,1, 0}}; double [,] ab = new double[a.GetLength(0), a.GetLength(1)]; for(int i = 0; i < a.GetLength(0); i++) for(int j = 0; j < a.GetLength(1); j++) ab[i, j] = a[i, j] + b[i, j]; //Здесь в ab содержится сумма двух матриц a и b.

Слайд 28





Контрольные вопросы
Как можно задать двумерный массив?
Чем двумерный массив отличается от массива массивов?
О чем говорит в многомерном массиве свойство Length?
Как узнать количество элементов многомерного массива по первому измерению?
Описание слайда:
Контрольные вопросы Как можно задать двумерный массив? Чем двумерный массив отличается от массива массивов? О чем говорит в многомерном массиве свойство Length? Как узнать количество элементов многомерного массива по первому измерению?



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