Презентация ПЯВУ. Основы программирования. Лекция 6 онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему ПЯВУ. Основы программирования. Лекция 6 абсолютно бесплатно. Урок-презентация на эту тему содержит всего 28 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » ПЯВУ. Основы программирования. Лекция 6
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:28 слайдов
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:100.72 kB
- Просмотров:75
- Скачиваний:0
- Автор:неизвестен
Слайды и текст к этой презентации:
№10 слайд
![Применения массивов Вектора в](/documents_6/4553e8cf62251dabde89454f89827e4f/img9.jpg)
Содержание слайда: Применения массивов
Вектора в математике в программировании задаются массивами.
Задача. Найти скалярное произведение векторов 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 слайд
![Контрольные вопросы Что такое](/documents_6/4553e8cf62251dabde89454f89827e4f/img10.jpg)
Содержание слайда: Контрольные вопросы
Что такое массив?
Могут ли элементы одного массива иметь разные типы?
Какой номер имеет последний элемент массива v?
Чему равен элемент массива v с номером 1?
int [] v = new int [3] {1, 2, 3};
Что общего между массивом символов и строкой?
В чем различие между массивом символов и строкой?
№13 слайд
![Текстовая запись алгоритма](/documents_6/4553e8cf62251dabde89454f89827e4f/img12.jpg)
Содержание слайда: Текстовая запись алгоритма
Задача. Найти скалярное произведение двух векторов одинаковой размерности.
Обозначим вектора имени a и b, а результат dp.
Занулить аккумулятор dp (dp = 0)
Цикл по элементам вектора a. (i-тый компонент)
Увеличить аккумулятор dp на произведение i-тых (текущих) компонентов векторов a и b.
Конец цикла 2
В dp содержится скалярное произведение a и b.
№14 слайд
![Поиск наибольшего наименьшего](/documents_6/4553e8cf62251dabde89454f89827e4f/img13.jpg)
Содержание слайда: Поиск наибольшего/наименьшего
Задача. Найти значение наибольшего элемента массива.
Обозначим наибольшее значение aMax, а массив a.
Присвоим aMax значение первого элемента массива;
Цикл по элементам массива начиная со второго
Очередной элемент массива ai сравниваем с aMax
Если ai больше aMax, то присвоить значение ai в aMax
Конец цикла 2
В aMax содержится значение наибольшего элемента массива a.
Что изменится, если нужно найти наименьший?
№15 слайд
![Программирование алгоритма](/documents_6/4553e8cf62251dabde89454f89827e4f/img14.jpg)
Содержание слайда: Программирование алгоритма
//Присвоим 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 слайд
![Поиск наибольшего наименьшего](/documents_6/4553e8cf62251dabde89454f89827e4f/img15.jpg)
Содержание слайда: Поиск наибольшего/наименьшего
Задача. Найти номер первого наибольшего элемента массива.
Обозначим номер наибольшего элемента iMax, а массив a.
Присвоим iMax значение 0;
Цикл по элементам массива начиная со второго
Очередной элемент массива ai сравниваем с aiMax
Если ai больше aiMax, то присвоить значение i в iMax
Конец цикла 2
В iMax содержится номер первого наибольшего элемента массива a.
Как изменится, если нужен номер последнего наибольшего?
№17 слайд
![Программирование алгоритма](/documents_6/4553e8cf62251dabde89454f89827e4f/img16.jpg)
Содержание слайда: Программирование алгоритма
//Присвоим 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
}
№19 слайд
![Укрупнение алгоритма Найти](/documents_6/4553e8cf62251dabde89454f89827e4f/img18.jpg)
Содержание слайда: Укрупнение алгоритма
Найти первый элемент массива, который делится на 3 и присвоить его в aMax.
Применить алгоритм “поиск наибольшего” к оставшимся элементам массива, пропуская те, которые не делятся на 3.
Что произойдет, если у в массиве не будет элементов, которые делятся на 3?
№20 слайд
![Уточнение алгоритма Будем](/documents_6/4553e8cf62251dabde89454f89827e4f/img19.jpg)
Содержание слайда: Уточнение алгоритма
Будем искать НОМЕР элемента
Поместить в iMax значение -1
Найти номер первого элемента массива, который делится на 3 и присвоить его в iMax.
Если в массиве нет будет элементов, которые делятся на 3, то iMax будет равно -1. На этом решение задачи завершено. Искомого элемента нет!
Применить алгоритм “поиск наибольшего” к последующим (iMax) элементам массива, пропуская те, которые не делятся на 3.
Если в массиве не будет элементов, которые делятся на 3, то iMax будет равно -1. Если такие элементы есть, то iMax равно номеру наибольшего элемента
№21 слайд
![Реализация алгоритма int iMax](/documents_6/4553e8cf62251dabde89454f89827e4f/img20.jpg)
Содержание слайда: Реализация алгоритма
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.
№23 слайд
![Контрольные вопросы Что такое](/documents_6/4553e8cf62251dabde89454f89827e4f/img22.jpg)
Содержание слайда: Контрольные вопросы
Что такое алгоритм?
Что значит: “Задача не имеет алгоритмического решения”?
Что означает фраза: “Степень детализации алгоритма”?
Для чего применяется ключевое слово break?
Для чего применяется ключевое слово continue?
Как будет выглядеть алгоритм задачи:
“Найти среднее арифметическое элементов массива”?
7. В чем отличие алгоритма и программы, которые вы разрабатываете для реализации алгоритма?
№24 слайд
![Многомерные массивы Можно](/documents_6/4553e8cf62251dabde89454f89827e4f/img23.jpg)
Содержание слайда: Многомерные массивы
Можно создавать массивы более чем из одной размерности.
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 слайд
![Массив массивов Элементами](/documents_6/4553e8cf62251dabde89454f89827e4f/img24.jpg)
Содержание слайда: Массив массивов
Элементами массива могут быть и массивы.
int [][] a = new int [3][];
Пользоваться таким массивом еще нельзя. Нужно задать каждый из его элементов.
for(int i = 0; I < a.Length; i++)
a[i] = new int[3];
Теперь задана матрица, которая состоит из 3 строк по 3 элемента в каждой.
№26 слайд
![Пример использования массива](/documents_6/4553e8cf62251dabde89454f89827e4f/img25.jpg)
Содержание слайда: Пример использования массива массивов
У массива массивов каждый элемент-массив может иметь свою длину. Вот как можно выяснить длину каждого элемента.
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 слайд
![Применения многомерных](/documents_6/4553e8cf62251dabde89454f89827e4f/img26.jpg)
Содержание слайда: Применения многомерных массивов
Матрицы в математике задаются двумерными массивами.
Задача. Найти сумму 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.
Скачать все slide презентации ПЯВУ. Основы программирования. Лекция 6 одним архивом:
Похожие презентации
-
ПЯВУ. Основы программирования. Лекция 3. Понятие цикла. Оператор while. Представление целых чисел в компьютере
-
ПЯВУ. Основы программирования. Лекция 8. Алгоритм Евклида. Решето Эратосфена
-
ПЯВУ. Основы программирования. Лекция 11. Гистограммы. Основы ООП на примере гистограммы
-
ПЯВУ. Основы программирования. Лекция 1. Переменные. Целочисленное деление. Двоичная система счисления
-
ПЯВУ. Основы программирования. Лекция 7. Массив. Простейшие алгоритмы. Форматы вывода чисел
-
ПЯВУ. Основы программирования. Лекция 14. Решение системы уравнений методом Гаусса. Вычисление числа Пи методом МонтеКарло
-
ПЯВУ. Основы программирования. Лекция 15. История изучения программирования
-
ПЯВУ. Основы программирования. Лекция 4. Типы текстовых данных
-
ПЯВУ. Лекция 5. Основы программирования. Типы данных. Понятие выражения, переменной. Область видимости
-
Основы программирование: Введение в Java. Коллекции