Например, есть магазин, для которого нужно подсчитать доход за месяц, если — презентация
logo
Например, есть магазин, для которого нужно подсчитать доход за месяц, если
  • Например, есть магазин, для которого нужно подсчитать доход за месяц, если
  • Например, есть магазин, для которого нужно подсчитать доход за месяц, если
  • Например, есть магазин, для которого нужно подсчитать доход за месяц, если
  • Например, есть магазин, для которого нужно подсчитать доход за месяц, если
  • Например, есть магазин, для которого нужно подсчитать доход за месяц, если
  • Например, есть магазин, для которого нужно подсчитать доход за месяц, если
  • Например, есть магазин, для которого нужно подсчитать доход за месяц, если
  • Например, есть магазин, для которого нужно подсчитать доход за месяц, если
  • Например, есть магазин, для которого нужно подсчитать доход за месяц, если
  • Например, есть магазин, для которого нужно подсчитать доход за месяц, если
  • Например, есть магазин, для которого нужно подсчитать доход за месяц, если
  • Например, есть магазин, для которого нужно подсчитать доход за месяц, если
  • Например, есть магазин, для которого нужно подсчитать доход за месяц, если
  • Например, есть магазин, для которого нужно подсчитать доход за месяц, если
  • Например, есть магазин, для которого нужно подсчитать доход за месяц, если
  • Например, есть магазин, для которого нужно подсчитать доход за месяц, если
  • Например, есть магазин, для которого нужно подсчитать доход за месяц, если
  • Например, есть магазин, для которого нужно подсчитать доход за месяц, если
  • Например, есть магазин, для которого нужно подсчитать доход за месяц, если
  • Например, есть магазин, для которого нужно подсчитать доход за месяц, если
  • Например, есть магазин, для которого нужно подсчитать доход за месяц, если
  • Например, есть магазин, для которого нужно подсчитать доход за месяц, если
  • Например, есть магазин, для которого нужно подсчитать доход за месяц, если
  • Например, есть магазин, для которого нужно подсчитать доход за месяц, если
1/24

Первый слайд презентации

Например, есть магазин, для которого нужно подсчитать доход за месяц, если известна ежедневная прибыль. Если бы не было массивов, то пришлось бы создавать 30 переменных для каждого дня: Объявлен массив целых чисел, который может содержать не более 30 элементов: Массивы

Изображение слайда

Слайд 2

Можно создавать массивы для хранения значений любого типа данных: Массивом называется последовательность переменных одного типа, использующая одно имя.

Изображение слайда

Слайд 3

Для ссылки на конкретное значение применяется индекс. Индекс – это номер элемента массива. Индексация начинается с нуля : т.е. первый элемент имеет индекс 0, второй элемент – индекс 1, третий элемент – индекс 2 и т.д. Т.о., индекс последнего элемента массива profitDays[30] будет равен 29.

Изображение слайда

Слайд 4

Для работы с массивом чаще всего используется цикл for(;;) :

Изображение слайда

Слайд 5

Можно предоставить пользователю возможность заполнить массив с помощью цикла:

Изображение слайда

Слайд 6

Правильным будет вместо магического числа использовать константу для хранения размера массива :

Изображение слайда

Слайд 7

Использование неинициализированной памяти – это чтение данных из буфера, который был выделен, но не заполнен начальными значениями. Буфер – это область памяти, используемая для временного хранения данных ввода-вывода. Юзер ввёл только 9 значений, а 16 элементов массива остались заполнены мусором

Изображение слайда

Слайд 8

*Массив может быть статическим или динамическим, т.е. храниться в статической или динамической памяти, при этом все элементы располагаются в памяти последовательно, т.е. зная, например, адрес в памяти, по которому хранится целочисленный элемент с индексом 2, можно вычислить, по какому адресу хранится любой другой элемент массива. Область динамической памяти необходимо своевременно возвращать в кучу, чтобы не было утечки памяти. Утечка памяти может привести к переполнению стека либо динамической памяти, что может являться причиной краха программы. Имя массива хранит в себе адрес в памяти на первый элемент массива. Первый элемент (с индексом 0 и значением 2) в этой программе располагается в памяти по адресу 00C8FBB0.

Изображение слайда

Слайд 9

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

Изображение слайда

Слайд 10

Изображение слайда

Слайд 11

Изображение слайда

Слайд 12

Инициализация массива Массив может быть инициализирован сразу во время объявления, например: float a [4] = {1.0, 2.0, 3.0, 4.0}; // элементу a[0] присваивается 1 // элементу a[1] – значение 2 и т.д. Размер массива может определяться и количеством инициализирующих констант. Например, следующее объявление идентично представленному выше: float a [] = {1.0, 2.0, 3.0, 4.0}; Все элементы массива можно инициализировать одним и тем же значением, указав его только один раз. Например, все 50 элементов массива a инициализируются значением 6: int a [50] = { 6 }; Можно инициализировать массив без использования знака = int a[3]{10, 30, 200}; или так:

Изображение слайда

Слайд 13

Неинициализированный массив хранит мусор: Во время отладки можно увидеть, что заданными значениями инициализируются первые три элемента из 10, остальные по умолчанию инициализируются нулями:

Изображение слайда

Слайд 14

Чтобы незаполненный массив не хранил мусор, его можно автоматически заполнить нулями, дописав {} :

Изображение слайда

Слайд 15

Выход за границы массива Самая распространенная ошибка – неправильное обращение к последнему элементу массива, например, по адресу a[15] массива, состоящего из 15 элементов. Хотя это всего лишь следующий за концом массива элемент, записывать или считывать его не менее опасно, чем любой другой некорректный адрес. Математики перечисляют содержимое массивов, начиная с элемента номер 1. Первым элементом математического массива a является a[ 1 ]. В некоторых языках программирования также начинают перечисление элементов массива с 1. Но в C++ массивы индексируются начиная с нуля. Первый элемент массива C++ обозначается как a[ 0 ]. Первый индекс массива C++ нулевой, поэтому последним элементом 15-элементного целочисленного массива a является a[ 14 ], а не a[15]. В C++ не проверяется выход индекса за пределы массива. C++ может предоставить доступ и к элементу a[500]. Более того, C++ позволит обратиться даже к a[-100]. Это можно объяснить с помощью следующей аналогии. Имеется улица, на которой 15 жилых домов. Если мы захотим найти 20-й дом, идя вдоль улицы и пересчитывая дома, то его просто может не быть. Тут могут быть заброшенные руины или, хуже того, дом, стоящий уже на другой улице. Чтение значения элемента a[20] может дать некоторое непредсказуемое значение или даже привести к ошибке нарушения защиты, а запись – к совершенно непредсказуемым результатам вплоть до полного краха программы.

Изображение слайда

Слайд 16

Примеры решения задач

Изображение слайда

Слайд 17

1. Вывести содержимое неинициализированного массива ( “ мусор ” ) из 5 элементов.

Изображение слайда

Слайд 18

2. Заполнить массив числами от 10 до -5. Вывести все элементы массива.

Изображение слайда

Слайд 19

3. Вывести элементы массива в обратном порядке.

Изображение слайда

Слайд 20

4. Создать массив из 10 элементов. Выполнить заполнение массива случайными числами (от -100 до 100). Вывести массив.

Изображение слайда

Слайд 21

5. Получить от пользователя значения для массива из 10 элементов. Вывести наименьший и наибольший элементы массива.

Изображение слайда

Слайд 22

6. Создать массив для хранения 8 вещественных чисел, получить значения элементов от пользователя. Затем каждый элемент массива разделить на значение, введенное пользователем. Вывести получившийся массив, кроме элемента с индексом 0.

Изображение слайда

Слайд 23

Задача 1. Создать новый проект. Сохранить. Написать программу, которая находит среднее арифметическое чисел, введенных пользователем. Предварительно программа должна вывести список введенных чисел (как в предыдущей программе). Ввод нулевого значения означает конец ввода последовательности. Нулевая сумма чисел приводит к завершению работы программы. Функции описывать в заголовочных файлах.

Изображение слайда

Последний слайд презентации: Например, есть магазин, для которого нужно подсчитать доход за месяц, если

Златопольский Д.М. Сборник задач по программированию. Глава 11 выборочно.

Изображение слайда

Похожие презентации

Ничего не найдено