🗊Презентация Массивы

Нажмите для полного просмотра!
Массивы, слайд №1Массивы, слайд №2Массивы, слайд №3Массивы, слайд №4Массивы, слайд №5Массивы, слайд №6Массивы, слайд №7Массивы, слайд №8Массивы, слайд №9Массивы, слайд №10Массивы, слайд №11Массивы, слайд №12Массивы, слайд №13Массивы, слайд №14Массивы, слайд №15Массивы, слайд №16Массивы, слайд №17Массивы, слайд №18Массивы, слайд №19Массивы, слайд №20Массивы, слайд №21Массивы, слайд №22Массивы, слайд №23Массивы, слайд №24Массивы, слайд №25

Содержание

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

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


Слайд 1





Массив
Описание слайда:
Массив

Слайд 2





Массив — это область памяти, где могут последовательно храниться несколько значений.

Возьмем группу студентов из десяти человек. У каждого из них есть фамилия. Создавать отдельную переменную для каждого студента — не рационально. Создадим массив, в котором будут храниться фамилии всех студентов.
Описание слайда:
Массив — это область памяти, где могут последовательно храниться несколько значений. Возьмем группу студентов из десяти человек. У каждого из них есть фамилия. Создавать отдельную переменную для каждого студента — не рационально. Создадим массив, в котором будут храниться фамилии всех студентов.

Слайд 3





Пример инициализации массива

string students[10] = {
"Иванов", "Петров", "Сидоров",
"Ахмедов", "Ерошкин", "Выхин",
"Андеев", "Вин Дизель", "Картошкин", "Чубайс"
};
Описание слайда:
Пример инициализации массива string students[10] = { "Иванов", "Петров", "Сидоров", "Ахмедов", "Ерошкин", "Выхин", "Андеев", "Вин Дизель", "Картошкин", "Чубайс" };

Слайд 4





Описание синтаксиса

Массив создается почти так же, как и обычная переменная. Для хранения десяти фамилий нам нужен массив, состоящий из 10 элементов. Количество элементов массива задается при его объявлении и заключается в квадратные скобки.
Описание слайда:
Описание синтаксиса Массив создается почти так же, как и обычная переменная. Для хранения десяти фамилий нам нужен массив, состоящий из 10 элементов. Количество элементов массива задается при его объявлении и заключается в квадратные скобки.

Слайд 5





Чтобы описать элементы массива сразу при его создании, можно использовать фигурные скобки. В фигурных скобках значения элементов массива перечисляются через запятую. В конце закрывающей фигурной скобки ставится точка с запятой.
Попробуем вывести наш массив на экран с помощью оператора cout.
Описание слайда:
Чтобы описать элементы массива сразу при его создании, можно использовать фигурные скобки. В фигурных скобках значения элементов массива перечисляются через запятую. В конце закрывающей фигурной скобки ставится точка с запятой. Попробуем вывести наш массив на экран с помощью оператора cout.

Слайд 6





#include <iostream>
#include <string>
int main()    
{
std::string students[10] = {
"Иванов", "Петров", "Сидоров",
"Ахмедов", "Ерошкин", "Выхин",
"Андеев", "Вин Дизель", "Картошкин", "Чубайс"
};
std::cout << students << std::endl; // Пытаемся вывести весь массив непосредственно
return 0;
}
Описание слайда:
#include <iostream> #include <string> int main() { std::string students[10] = { "Иванов", "Петров", "Сидоров", "Ахмедов", "Ерошкин", "Выхин", "Андеев", "Вин Дизель", "Картошкин", "Чубайс" }; std::cout << students << std::endl; // Пытаемся вывести весь массив непосредственно return 0; }

Слайд 7





Скомпилируйте этот код и посмотрите, на результат работы программы. Готово? А теперь запустите программу еще раз и сравните с предыдущим результатом. 

В моей операционной системе вывод был следующим:
•	Первый вывод: 0x7ffff8b85820
•	Второй вывод: 0x7fff7a335f90
•	Третий вывод: 0x7ffff847eb40
Описание слайда:
Скомпилируйте этот код и посмотрите, на результат работы программы. Готово? А теперь запустите программу еще раз и сравните с предыдущим результатом. В моей операционной системе вывод был следующим: • Первый вывод: 0x7ffff8b85820 • Второй вывод: 0x7fff7a335f90 • Третий вывод: 0x7ffff847eb40

Слайд 8





Мы видим, что выводится адрес этого массива в оперативной памяти, а никакие не «Иванов» и «Петров».

Дело в том, что при создании переменной, ей выделяется определенное место в памяти. Если мы объявляем переменную типа int, то на машинном уровне она описывается двумя параметрами — ее адресом и размером хранимых данных.
Описание слайда:
Мы видим, что выводится адрес этого массива в оперативной памяти, а никакие не «Иванов» и «Петров». Дело в том, что при создании переменной, ей выделяется определенное место в памяти. Если мы объявляем переменную типа int, то на машинном уровне она описывается двумя параметрами — ее адресом и размером хранимых данных.

Слайд 9





Массивы в памяти хранятся таким же образом. Массив типа int из 10 элементов описывается с помощью адреса его первого элемента и количества байт, которое может вместить этот массив. Если для хранения одного целого числа выделяется 4 байта, то для массива из десяти целых чисел будет выделено 40 байт.
Описание слайда:
Массивы в памяти хранятся таким же образом. Массив типа int из 10 элементов описывается с помощью адреса его первого элемента и количества байт, которое может вместить этот массив. Если для хранения одного целого числа выделяется 4 байта, то для массива из десяти целых чисел будет выделено 40 байт.

Слайд 10





Так почему же, при повторном запуске программы, адреса различаются? Это сделано для защиты от атак переполнения буфера. Такая технология называется рандомизацией адресного пространства и реализована в большинстве популярных ОС.
Попробуем вывести первый элемент массива — фамилию студента Иванова.
Описание слайда:
Так почему же, при повторном запуске программы, адреса различаются? Это сделано для защиты от атак переполнения буфера. Такая технология называется рандомизацией адресного пространства и реализована в большинстве популярных ОС. Попробуем вывести первый элемент массива — фамилию студента Иванова.

Слайд 11





#include <iostream>
#include <string>
int main()
{    
std::string students[10] = {
"Иванов", "Петров", "Сидоров",
"Ахмедов", "Ерошкин", "Выхин",
"Андеев", "Вин Дизель", "Картошкин", "Чубайс"
};
std::cout << students[0] <<  std::endl;
return 0;
}
Описание слайда:
#include <iostream> #include <string> int main() { std::string students[10] = { "Иванов", "Петров", "Сидоров", "Ахмедов", "Ерошкин", "Выхин", "Андеев", "Вин Дизель", "Картошкин", "Чубайс" }; std::cout << students[0] << std::endl; return 0; }

Слайд 12





Смотрим, компилируем, запускаем. Убедились, что вывелся именно «Иванов». Заметьте, что нумерация элементов массива в C++ начинается с нуля. Следовательно, фамилия первого студента находится в students[0], а фамилия последнего — в students[9].

В большинстве языков программирования нумерация элементов массива также начинается с нуля.
Описание слайда:
Смотрим, компилируем, запускаем. Убедились, что вывелся именно «Иванов». Заметьте, что нумерация элементов массива в C++ начинается с нуля. Следовательно, фамилия первого студента находится в students[0], а фамилия последнего — в students[9]. В большинстве языков программирования нумерация элементов массива также начинается с нуля.

Слайд 13





Попробуем вывести список всех студентов. Но сначала подумаем, а что если бы вместо группы из десяти студентов, была бы кафедра их ста, факультет из тысячи, или даже весь университет? Ну не будем же мы писать десятки тысяч строк с cout?

Конечно же нет! Мы возьмем на вооружение циклы, о которых был написан предыдущий урок.
Описание слайда:
Попробуем вывести список всех студентов. Но сначала подумаем, а что если бы вместо группы из десяти студентов, была бы кафедра их ста, факультет из тысячи, или даже весь университет? Ну не будем же мы писать десятки тысяч строк с cout? Конечно же нет! Мы возьмем на вооружение циклы, о которых был написан предыдущий урок.

Слайд 14





Вывод элементов массива через цикл
#include <iostream>
#include <string>
int main()
{
std::string students[10] = {
"Иванов", "Петров", "Сидоров",
"Ахмедов", "Ерошкин", "Выхин",
"Андеев", "Вин Дизель", "Картошкин", "Чубайс"
};  
for (int i = 0; i < 10; i++) {
std::cout << students[i] << std::endl;
}
return 0;
}
Описание слайда:
Вывод элементов массива через цикл #include <iostream> #include <string> int main() { std::string students[10] = { "Иванов", "Петров", "Сидоров", "Ахмедов", "Ерошкин", "Выхин", "Андеев", "Вин Дизель", "Картошкин", "Чубайс" }; for (int i = 0; i < 10; i++) { std::cout << students[i] << std::endl; } return 0; }

Слайд 15





Если бы нам пришлось выводить массив из нескольких тысяч фамилий, то мы бы просто увеличили конечное значение счетчика цикла — строку for (...; i < 10; ...) заменили на 
for (...; i < 10000; ...).
Заметьте что счетчик нашего цикла начинается с нуля, а заканчивается девяткой.
Описание слайда:
Если бы нам пришлось выводить массив из нескольких тысяч фамилий, то мы бы просто увеличили конечное значение счетчика цикла — строку for (...; i < 10; ...) заменили на for (...; i < 10000; ...). Заметьте что счетчик нашего цикла начинается с нуля, а заканчивается девяткой.

Слайд 16





Если вместо оператора строгого неравенства — i < 10 использовать оператор «меньше, либо равно» — i <= 10, то на последней итерации программа обратится к несуществующему элементу массива — students[10].
Описание слайда:
Если вместо оператора строгого неравенства — i < 10 использовать оператор «меньше, либо равно» — i <= 10, то на последней итерации программа обратится к несуществующему элементу массива — students[10].

Слайд 17





Это может привести к ошибкам сегментации и аварийному завершению программы. Будьте внимательны — подобные ошибки бывает сложно отловить.
Массив, как и любую переменную можно не заполнять значениями при объявлении.
Описание слайда:
Это может привести к ошибкам сегментации и аварийному завершению программы. Будьте внимательны — подобные ошибки бывает сложно отловить. Массив, как и любую переменную можно не заполнять значениями при объявлении.

Слайд 18





Объявление массива без инициализации


string students[10]; 
// или
string teachers[5];
Описание слайда:
Объявление массива без инициализации string students[10]; // или string teachers[5];

Слайд 19





Элементы такого массива обычно содержат в себе «мусор» из выделенной, но еще не инициализированной, памяти. Некоторые компиляторы, такие как GCC, заполняют все элементы массива нулями при его создании.
Описание слайда:
Элементы такого массива обычно содержат в себе «мусор» из выделенной, но еще не инициализированной, памяти. Некоторые компиляторы, такие как GCC, заполняют все элементы массива нулями при его создании.

Слайд 20





При создании статического массива, для указания его размера может использоваться только константа. Размер выделяемой памяти определяется на этапе компиляции и не может изменяться в процессе выполнения.
Описание слайда:
При создании статического массива, для указания его размера может использоваться только константа. Размер выделяемой памяти определяется на этапе компиляции и не может изменяться в процессе выполнения.

Слайд 21





Выделение памяти в процессе выполнения возможно при работе с динамическими массивами. Но о них немного позже.
Заполним с клавиатуры пустой массив из 10 элементов.
Описание слайда:
Выделение памяти в процессе выполнения возможно при работе с динамическими массивами. Но о них немного позже. Заполним с клавиатуры пустой массив из 10 элементов.

Слайд 22





Заполнение массива с клавиатуры

#include <iostream>
#include <string>
using std::cout;
using std::cin;
using std::endl;
int main()
{    
int arr[10];    // Заполняем массив с клавиатуры
for (int i = 0; i < 10; i++) {
cout << "[" << i + 1 << "]" << ": ";
Описание слайда:
Заполнение массива с клавиатуры #include <iostream> #include <string> using std::cout; using std::cin; using std::endl; int main() { int arr[10]; // Заполняем массив с клавиатуры for (int i = 0; i < 10; i++) { cout << "[" << i + 1 << "]" << ": ";

Слайд 23





cin >> arr[i];
}
// И выводим заполненный массив.
cout << "\nВаш массив: ";
for (int i = 0; i < 10; ++i) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
Описание слайда:
cin >> arr[i]; } // И выводим заполненный массив. cout << "\nВаш массив: "; for (int i = 0; i < 10; ++i) { cout << arr[i] << " "; } cout << endl; return 0; }

Слайд 24


Массивы, слайд №24
Описание слайда:

Слайд 25





Если у вас возникают проблемы при компиляции исходников из уроков — внимательно прочитайте ошибку компилятора, попробуйте проанализировать и исправить ее. Если вы нашли ошибку в коде — напишите об этом в комментариях к уроку.
Описание слайда:
Если у вас возникают проблемы при компиляции исходников из уроков — внимательно прочитайте ошибку компилятора, попробуйте проанализировать и исправить ее. Если вы нашли ошибку в коде — напишите об этом в комментариях к уроку.



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