🗊Презентация Конструируемые типы данных. Массивы

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

Содержание

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

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


Слайд 1






Лекция 6. Конструируемые типы данных.
Массивы
Описание слайда:
Лекция 6. Конструируемые типы данных. Массивы

Слайд 2


Конструируемые типы данных. Массивы, слайд №2
Описание слайда:

Слайд 3





Примерная классификация типов данных С++:
Примерная классификация типов данных С++:
1) базовые типы − предопределенные, стандартные, встроенные, примитивные − определены стандартом языка;
2) конструируемые − строятся на основе других типов, не обязательно базовых − определяются программистом под нужды конкретной задачи, и нуждаются  в предварительном построении (описании).
Описание слайда:
Примерная классификация типов данных С++: Примерная классификация типов данных С++: 1) базовые типы − предопределенные, стандартные, встроенные, примитивные − определены стандартом языка; 2) конструируемые − строятся на основе других типов, не обязательно базовых − определяются программистом под нужды конкретной задачи, и нуждаются в предварительном построении (описании).

Слайд 4





1. Функции. Функция возвращает значение, обладающее типом, значит, она есть частный случай типа.
1. Функции. Функция возвращает значение, обладающее типом, значит, она есть частный случай типа.
2. Массивы.
3. Указатели − инструмент для работы с адресами памяти.
4. Строки − частный случай массива, к которому прилагается библиотека функций обработки строк.
5. Структуры − для объединения в одно целое данных разных типов.
6. Объединения.
7. Классы − инструмент объектного проектирования и программирования.
Описание слайда:
1. Функции. Функция возвращает значение, обладающее типом, значит, она есть частный случай типа. 1. Функции. Функция возвращает значение, обладающее типом, значит, она есть частный случай типа. 2. Массивы. 3. Указатели − инструмент для работы с адресами памяти. 4. Строки − частный случай массива, к которому прилагается библиотека функций обработки строк. 5. Структуры − для объединения в одно целое данных разных типов. 6. Объединения. 7. Классы − инструмент объектного проектирования и программирования.

Слайд 5





Массив − упорядоченное множество однородных величин, объединенных общим именем.
Массив − упорядоченное множество однородных величин, объединенных общим именем.
Важно!  Все элементы массива имеют один и тот же тип.
Тип элементов массива − почти любой, не обязательно базовый тип, например, 
массив целых чисел;
массив координат точек на плоскости, один элемент массива хранит пару значений координат (x, y);
массив сведений о студенте, один элемент массива хранит разнородную информацию  − Имя, Фамилия, Рост, Вес, Цвет_глаз и т.д.
Описание слайда:
Массив − упорядоченное множество однородных величин, объединенных общим именем. Массив − упорядоченное множество однородных величин, объединенных общим именем. Важно! Все элементы массива имеют один и тот же тип. Тип элементов массива − почти любой, не обязательно базовый тип, например, массив целых чисел; массив координат точек на плоскости, один элемент массива хранит пару значений координат (x, y); массив сведений о студенте, один элемент массива хранит разнородную информацию − Имя, Фамилия, Рост, Вес, Цвет_глаз и т.д.

Слайд 6





Строя массив, необходимо определить атрибуты массива, связанные с механизмами выделения памяти:
Строя массив, необходимо определить атрибуты массива, связанные с механизмами выделения памяти:
   1) размерность (стандарт С++ − 1-мерные массивы, векторы данных);
   2) число элементов (знать, сколько данных);
   3) тип элементов (знать, сколько выделить памяти).
Описание слайда:
Строя массив, необходимо определить атрибуты массива, связанные с механизмами выделения памяти: Строя массив, необходимо определить атрибуты массива, связанные с механизмами выделения памяти: 1) размерность (стандарт С++ − 1-мерные массивы, векторы данных); 2) число элементов (знать, сколько данных); 3) тип элементов (знать, сколько выделить памяти).

Слайд 7





Назначение объявления массива:
Назначение объявления массива:
  1) конструирование нового типа;
  2) инициализация (необязательна) − присваивание значений элементам массива.
Синтаксис описания массива:
Тип  Имя_массива [Кол_во_элементов];  
// Возможно, список инициализации
Здесь 
Кол_во_элементов – константная величина, то есть константа в чистом виде или define константа.
Тип – практически любой тип данных.
Описание слайда:
Назначение объявления массива: Назначение объявления массива: 1) конструирование нового типа; 2) инициализация (необязательна) − присваивание значений элементам массива. Синтаксис описания массива: Тип Имя_массива [Кол_во_элементов]; // Возможно, список инициализации Здесь Кол_во_элементов – константная величина, то есть константа в чистом виде или define константа. Тип – практически любой тип данных.

Слайд 8





#define N 100
#define N 100
. . .
int  Arr[4];		      // 4 int значения, все имеют имя Arr
int  Matr[2][3];             // Массив массивов
float W[N];		// N=100
char  Symb[N][80];        // Текст  N строк, по 80 символов)
Внимание! Элементы массива нумеруются с 0, таким образом, для
int Arr[4];
имеются элементы   Arr[0], Arr[1], Arr[2], Arr[3]
Описание слайда:
#define N 100 #define N 100 . . . int Arr[4]; // 4 int значения, все имеют имя Arr int Matr[2][3]; // Массив массивов float W[N]; // N=100 char Symb[N][80]; // Текст N строк, по 80 символов) Внимание! Элементы массива нумеруются с 0, таким образом, для int Arr[4]; имеются элементы Arr[0], Arr[1], Arr[2], Arr[3]

Слайд 9





Имя массива сопоставлено всей совокупности данных.
Имя массива сопоставлено всей совокупности данных.
Элементы массива размещаются подряд в соответствии с ростом номера элемента внутри массива (индекса). 
В С++ нет контроля выхода за границу массива.
Пусть объявлен и инициализирован массив:
int Arr[4] = {10,20,30,40};
int i;	// Для нумерации элементов массива 
Пример − размещение в памяти.
Описание слайда:
Имя массива сопоставлено всей совокупности данных. Имя массива сопоставлено всей совокупности данных. Элементы массива размещаются подряд в соответствии с ростом номера элемента внутри массива (индекса). В С++ нет контроля выхода за границу массива. Пусть объявлен и инициализирован массив: int Arr[4] = {10,20,30,40}; int i; // Для нумерации элементов массива Пример − размещение в памяти.

Слайд 10





sizeof позволяет определить общий размер памяти, занимаемой: 
sizeof позволяет определить общий размер памяти, занимаемой: 
   а) данным любого типа (в том числе конструируемого),
   б) типом данного.
Имя типа или имя объекта указываются в параметре.
Примеры:
sizeof(x)           // x, это имя переменной
int Count = sizeof(Arr)    //  в байтах
sizeof(long int)    // long int , это имя типа
Описание слайда:
sizeof позволяет определить общий размер памяти, занимаемой: sizeof позволяет определить общий размер памяти, занимаемой: а) данным любого типа (в том числе конструируемого), б) типом данного. Имя типа или имя объекта указываются в параметре. Примеры: sizeof(x) // x, это имя переменной int Count = sizeof(Arr) // в байтах sizeof(long int) // long int , это имя типа

Слайд 11





Никаких операций с массивами не разрешено, кроме 
Никаких операций с массивами не разрешено, кроме 
операции обращения к элементам массива [], синтаксис которой: 
Операнд_1 [Операнд_2] 
Фактически, это составное имя:
Имя_массива [Индекс] 
Семантика операции [] позволяет выделить один элемент с указанным номером.
 Индекс – выражение целого типа, определяющее номер элемента внутри массива (счет с 0).
Описание слайда:
Никаких операций с массивами не разрешено, кроме Никаких операций с массивами не разрешено, кроме операции обращения к элементам массива [], синтаксис которой: Операнд_1 [Операнд_2] Фактически, это составное имя: Имя_массива [Индекс] Семантика операции [] позволяет выделить один элемент с указанным номером. Индекс – выражение целого типа, определяющее номер элемента внутри массива (счет с 0).

Слайд 12





Инициализация, это присвоение значения при объявлении, например:
Инициализация, это присвоение значения при объявлении, например:
int a=99;
Для массива можно задать список инициализирующих значений.
int month [12] = {31,28,31,30,31,30,31,31,30,31,30,31};     
Удобно использовать инициализацию:  
   а) если значения не меняются,
   б) при отладке.
Эквивалент − присваивание вида:
month[0] = 31;        // Январь  
		       .. и т.д.
month[11] = 31;      // Декабрь
Описание слайда:
Инициализация, это присвоение значения при объявлении, например: Инициализация, это присвоение значения при объявлении, например: int a=99; Для массива можно задать список инициализирующих значений. int month [12] = {31,28,31,30,31,30,31,31,30,31,30,31}; Удобно использовать инициализацию: а) если значения не меняются, б) при отладке. Эквивалент − присваивание вида: month[0] = 31; // Январь .. и т.д. month[11] = 31; // Декабрь

Слайд 13





int month []   = {31,28,30,31,30,31,30,31,30,31};  
int month []   = {31,28,30,31,30,31,30,31,30,31};  
			//Количество = 12.
int month [12] = {31,28,31,30}; 
			// Выделено 12, остальные = 0
int month [2]  = {31,28,31,30}; 
			// Ошибка!
Пример.
Описание слайда:
int month [] = {31,28,30,31,30,31,30,31,30,31}; int month [] = {31,28,30,31,30,31,30,31,30,31}; //Количество = 12. int month [12] = {31,28,31,30}; // Выделено 12, остальные = 0 int month [2] = {31,28,31,30}; // Ошибка! Пример.

Слайд 14





Как определить число элементов
Пусть есть объявление:
int a[] = {1,2,3,4,5,6,7,8,9,10,11,12};
// Сколько элементов в массиве?
int len_a;
len_a = sizeof(a)/sizeof(int);
Пример.
Описание слайда:
Как определить число элементов Пусть есть объявление: int a[] = {1,2,3,4,5,6,7,8,9,10,11,12}; // Сколько элементов в массиве? int len_a; len_a = sizeof(a)/sizeof(int); Пример.

Слайд 15





Как правило, при обработке данных массива, действия применяются ко всем элементам массива по очереди.
Как правило, при обработке данных массива, действия применяются ко всем элементам массива по очереди.
Управление выполняется в циклах, где управляющей переменной является индекс элемента массива.
Пусть 
#define N 10
...
int Arr[N];
Индекс меняется от 0 до N−1, приращение = 1.
Описание слайда:
Как правило, при обработке данных массива, действия применяются ко всем элементам массива по очереди. Как правило, при обработке данных массива, действия применяются ко всем элементам массива по очереди. Управление выполняется в циклах, где управляющей переменной является индекс элемента массива. Пусть #define N 10 ... int Arr[N]; Индекс меняется от 0 до N−1, приращение = 1.

Слайд 16





Синтаксис управления
// Здесь N = число элементов  i < N
for (int i=0; i<N; i++)            
	{
	   // обращение к Arr[i]
	}
for (int i=N-1; i>=0; i--) 
	{
	   // обращение к Arr[i]
   }
Описание слайда:
Синтаксис управления // Здесь N = число элементов i < N for (int i=0; i<N; i++) { // обращение к Arr[i] } for (int i=N-1; i>=0; i--) { // обращение к Arr[i] }

Слайд 17





Один из недостатков массивов – длина статического массива жестко задана в программе. 
Один из недостатков массивов – длина статического массива жестко задана в программе. 
Выходы:
  1) #define определенные константы;
  2) массив условно переменной длины;
  3) динамические массивы.
Кроме того, использование функций обработки массивов, которые решают задачу «в общем виде», принимая абстрактный массив произвольной длины.
Описание слайда:
Один из недостатков массивов – длина статического массива жестко задана в программе. Один из недостатков массивов – длина статического массива жестко задана в программе. Выходы: 1) #define определенные константы; 2) массив условно переменной длины; 3) динамические массивы. Кроме того, использование функций обработки массивов, которые решают задачу «в общем виде», принимая абстрактный массив произвольной длины.

Слайд 18





Механизм #define константы, это изменение текста программы перед ее компиляцией.
Механизм #define константы, это изменение текста программы перед ее компиляцией.
Длина массива записывается в директиве #define, например:
#define	N	20
Имя N – макроподстановка. Числовое значение константы 20 записывается в тексте один раз. 
В тексте программы для управления алгоритмами обработки массива используется имя N.
Перед очередным запуском программы может быть изменено один раз, остальные изменения выполнит препроцессор. После этого программа нуждается в повторной компиляции и сборке.
Пример.
Описание слайда:
Механизм #define константы, это изменение текста программы перед ее компиляцией. Механизм #define константы, это изменение текста программы перед ее компиляцией. Длина массива записывается в директиве #define, например: #define N 20 Имя N – макроподстановка. Числовое значение константы 20 записывается в тексте один раз. В тексте программы для управления алгоритмами обработки массива используется имя N. Перед очередным запуском программы может быть изменено один раз, остальные изменения выполнит препроцессор. После этого программа нуждается в повторной компиляции и сборке. Пример.

Слайд 19





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

Слайд 20





Функции работы с массивами:
Функции работы с массивами:
1) решают задачу обработки массива «в общем виде»;
2) получают массив через параметры «в общем виде»;
3) могут обрабатывать массив любой длины.
Описание слайда:
Функции работы с массивами: Функции работы с массивами: 1) решают задачу обработки массива «в общем виде»; 2) получают массив через параметры «в общем виде»; 3) могут обрабатывать массив любой длины.

Слайд 21





   Используется функция random, прототип которой: 
   Используется функция random, прототип которой: 
int random(int число).
   Диапазон генерируемых значений ( от 0 до «Число–1»)
   Для запуска генератора случайных чисел используется функция randomize(), которая вызывается один раз при старте программы (от системного времени), ее прототип в stdlib.h  и time.h
Описание слайда:
Используется функция random, прототип которой: Используется функция random, прототип которой: int random(int число). Диапазон генерируемых значений ( от 0 до «Число–1») Для запуска генератора случайных чисел используется функция randomize(), которая вызывается один раз при старте программы (от системного времени), ее прототип в stdlib.h и time.h

Слайд 22





 1. Вывод элементов массива.
 1. Вывод элементов массива.
 2. Ввод элементов массива.
 3. Прямой поиск − поиск первого, последнего, любого, поиск с флагом.
 4. Суммирование и его клоны.
 5. Алгоритмы с изменением длины массива − вставка и удаление.
 6. Сортировки.
И так далее.
Примеры реализации алгоритмов работы с массивами.
Описание слайда:
1. Вывод элементов массива. 1. Вывод элементов массива. 2. Ввод элементов массива. 3. Прямой поиск − поиск первого, последнего, любого, поиск с флагом. 4. Суммирование и его клоны. 5. Алгоритмы с изменением длины массива − вставка и удаление. 6. Сортировки. И так далее. Примеры реализации алгоритмов работы с массивами.

Слайд 23





Примеры алгоритмов работы 
Примеры.
Описание слайда:
Примеры алгоритмов работы Примеры.



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