Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

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

Содержание

КЛАССИФИКАЦИЯ ДАННЫХ ПО СТРУКТУРЕ
МАССИВЫОпределениеОписание Обращение к элементам массиваСвязь массивов с указателямиПримеры программ КЛАССИФИКАЦИЯ ДАННЫХ  ПО СТРУКТУРЕ ОПРЕДЕЛЕНИЕ	Массив - это сложное данное, состоящее из конечного числа упорядоченных компонент, имеющих МАССИВЫ В ПРОГРАММЕОПИСАНИЕОБРАЩЕНИЕ К ЭЛЕМЕНТУ МАССИВАтип имя[размер_1]…[размер_N]СИимя[индекс_1]…[индекс_N]СИиндекс_i - целое выражение, индекс_i = МАССИВЫ В СИ-ПРОГРАММЕПримеры.   float a[20]; а[0], a[1],...,a[19]. int b[3][5];b[0][0] b[0][1] ... Примеры программ с массивамиДан массив а из n элементов, n≤20. Вычислить сумму Блок-схема алгоритмаПрограмма#include void main(){float a[20],s; int k,i,n;coutn; cout Инициализация массивов при описании в СиИнициализация - задание начальных значений.Одномерные массивысhar a[6]={'A', Локальные и глобальные данные Инициализация массивов при описании в СиДвумерные массивыПрисваивание перечисленных значений происходит по строкам Инициализация массивов при описании в СиВывод: при объявлении массива количество его элементов Указатели в СиУказатель - это специальное данное, которая содержит адрес другого данного.Основные Указатели в Си Указатели в СиВНИМАНИЕ!нельзя брать содержимое от константы без приведения типа; запись *200 Указатели в СиРазмер памяти, отводимой под указатель, зависит:от разрядности адресной шины; от модели памяти. Указатели в СиОперации над указателями:*сравнения (=, ==, !=) - с указателями такого Указатели в СиРезультат арифметической операции над указателями зависит не только от значения Связь массивов с указателями в СиОдномерные массивыИмя одномерного массива является указателем-константой, равной Связь массивов с указателями в Си Двумерные массивыb[i][j] ⇔ *(b[i]+j) ⇔ *(*(b+i)+j); &b[i][j] ⇔ b[i]+j ⇔ *(b+i)+j Для Примеры программ с массивамиДан массив а из n элементов, n≤20.Найти максимальное значение элементов массива.Состав данных Блок-схема алгоритма#include void main(){float a[20],max; int i,n;coutn; cout
Слайды презентации

Слайд 2 КЛАССИФИКАЦИЯ ДАННЫХ ПО СТРУКТУРЕ

КЛАССИФИКАЦИЯ ДАННЫХ ПО СТРУКТУРЕ

Слайд 3 ОПРЕДЕЛЕНИЕ
Массив - это сложное данное, состоящее из конечного

ОПРЕДЕЛЕНИЕ	Массив - это сложное данное, состоящее из конечного числа упорядоченных компонент,

числа упорядоченных компонент, имеющих одно имя, одинаковый тип и

расположенных в последовательных ячейках памяти компьютера.
Упорядоченность компонент массива: компоненты пронумерованы.
Доступ к элементу массива - по его номерам (индексам).
Размерность массива - количество индексов у его элементов.
Размер - количество значений каждого индекса.


Слайд 4 МАССИВЫ В ПРОГРАММЕ
ОПИСАНИЕ
ОБРАЩЕНИЕ К ЭЛЕМЕНТУ МАССИВА
тип имя[размер_1]…[размер_N]
СИ
имя[индекс_1]…[индекс_N]
СИ
индекс_i -

МАССИВЫ В ПРОГРАММЕОПИСАНИЕОБРАЩЕНИЕ К ЭЛЕМЕНТУ МАССИВАтип имя[размер_1]…[размер_N]СИимя[индекс_1]…[индекс_N]СИиндекс_i - целое выражение, индекс_i

целое выражение, индекс_i = 0,1,…,N-1
В Си элементы массивов нумеруются,

начиная с нуля.

размеры - только константы


Слайд 5 МАССИВЫ В СИ-ПРОГРАММЕ
Примеры. float a[20];
а[0], a[1],...,a[19].

МАССИВЫ В СИ-ПРОГРАММЕПримеры.  float a[20]; а[0], a[1],...,a[19]. int b[3][5];b[0][0] b[0][1] ...


int b[3][5];
b[0][0] b[0][1] ... b[0][4]
b[1][0] b[1][1] ... b[1][4]
b[2][0] b[2][1]

... b[2][4]

В памяти компьютера элементы массива расположены по строкам (чаще меняется последний индекс)

Первый индекс - номер строки, второй - столбца


Слайд 6 Примеры программ с массивами
Дан массив а из n

Примеры программ с массивамиДан массив а из n элементов, n≤20. Вычислить

элементов, n≤20. Вычислить сумму положительных и количество неположительных элементов

массива.
Состав данных

Слайд 7 Блок-схема алгоритма
Программа
#include
void main()
{float a[20],s; int k,i,n;
coutn;

Блок-схема алгоритмаПрограмма#include void main(){float a[20],s; int k,i,n;coutn; cout

cout

массива*/
for (i=0; i cin>>a[i];
/*Далее алгоритм по блок-схеме*/
s=0; k=0;
for (i=0; i if (a[i]>0)
s=s+a[i];
else
k=k+1;
cout<<" s= “< cout<<” “<<”k=“k<<”\n”;
}


Слайд 8 Инициализация массивов при описании в Си

Инициализация - задание

Инициализация массивов при описании в СиИнициализация - задание начальных значений.Одномерные массивысhar

начальных значений.
Одномерные массивы
сhar a[6]={'A', 'B', 'C', 'D'};
сhar a[ ]={'A',

'B', 'C', 'D'};

Размер массива определяется количеством инициализирующих значений

если a - локальная переменная


Слайд 9 Локальные и глобальные данные

Локальные и глобальные данные

Слайд 10 Инициализация массивов при описании в Си
Двумерные массивы
Присваивание перечисленных

Инициализация массивов при описании в СиДвумерные массивыПрисваивание перечисленных значений происходит по

значений происходит по строкам (в соответствии с расположением массивов

в памяти компьютера).
int m[2][3]={0,1,2,5,6,7}; int m[ ][3]={0,1,2,5,6,7};

0

2

5

7

6

1

int m[ ][3]={{0},{1,2}};


Слайд 11 Инициализация массивов при описании в Си
Вывод: при объявлении

Инициализация массивов при описании в СиВывод: при объявлении массива количество его

массива количество его элементов должно быть задано или явным

указанием константы в квадратных скобках или количеством значений при инициализации.
Исключение: массивы-аргументы функций.
Снятие ограничения: динамические массивы

Слайд 12 Указатели в Си
Указатель - это специальное данное, которая

Указатели в СиУказатель - это специальное данное, которая содержит адрес другого

содержит адрес другого данного.
Основные операции для работы с указателями:
*

- взятие содержимого по адресу (*i - содержимое переменной с адресом i) & - взятие адреса (&a - адрес переменной а).

Описание имеет вид:
тип *имя_указателя;
При описании указателя задается тип значения, на которое он указывает. Примеры описаний: int *i, j, *pointj; int v1, *pointv1=&v1, *p=(int*)200;

Слайд 13
Указатели в Си

Указатели в Си

Слайд 14 Указатели в Си
ВНИМАНИЕ!
нельзя брать содержимое от константы без

Указатели в СиВНИМАНИЕ!нельзя брать содержимое от константы без приведения типа; запись

приведения типа; запись *200 является некорректной в отличие от

*(int*)200;
нельзя брать адрес явной константы (например, некорректна запись &200), в Си адрес явной константы считается недоступным;
нельзя определять адрес выражения.


Слайд 15 Указатели в Си
Размер памяти, отводимой под указатель, зависит:
от

Указатели в СиРазмер памяти, отводимой под указатель, зависит:от разрядности адресной шины; от модели памяти.

разрядности адресной шины;
от модели памяти.


Слайд 16 Указатели в Си
Операции над указателями:
*
сравнения (

Указатели в СиОперации над указателями:*сравнения (=, ==, !=) - с указателями

>, >=, ==, !=) - с указателями такого же

типа или с NULL;
присваивания - значений указателей того же типа или NULL;
арифметические операции сложения, вычитания (с константой)
инкремента и декремента

Слайд 17 Указатели в Си
Результат арифметической операции над указателями зависит

Указатели в СиРезультат арифметической операции над указателями зависит не только от

не только от значения операндов, но и от типа,

с которым связан указатель.
р=р+k, ⇔ р увеличивается на k*sizeof (тип)

Пример. int *p; long int *pp;…//MS DOS p++; /*p увеличилось на 2*/
pp++; /*pp увеличилось на 4*/


Слайд 18 Связь массивов с указателями в Си
Одномерные массивы
Имя одномерного

Связь массивов с указателями в СиОдномерные массивыИмя одномерного массива является указателем-константой,

массива является указателем-константой, равной адресу начала массива, т. е.

адресу элемента с индексом 0 (первого элемента).

int a[10];
&a[0] эквивалентно a,
a[0] эквивалентно *a,
&a[i] эквивалентно a+i (i=0,1,...9),
a[i] эквивалентно *(a+i).

Слайд 19 Связь массивов с указателями в Си

Связь массивов с указателями в Си

Слайд 20 Двумерные массивы
b[i][j] ⇔ *(b[i]+j) ⇔ *(*(b+i)+j);
&b[i][j] ⇔

Двумерные массивыb[i][j] ⇔ *(b[i]+j) ⇔ *(*(b+i)+j); &b[i][j] ⇔ b[i]+j ⇔ *(b+i)+j

b[i]+j ⇔ *(b+i)+j
Для любого из трех обозначений элемента

двумерного массива программа в кодах получается практически одинаковой по производительности, хотя при использовании арифметики указателей вместо квадратных скобок несколько более короткой.
Хороший стиль программирования предполагает употребление в пределах одной программы одного (из трех) обозначений.

Связь массивов с указателями в Си


Слайд 21 Примеры программ с массивами
Дан массив а из n

Примеры программ с массивамиДан массив а из n элементов, n≤20.Найти максимальное значение элементов массива.Состав данных

элементов, n≤20.Найти максимальное значение элементов массива.
Состав данных


  • Имя файла: massivy-klassifikatsiya-dannyh-po-strukture.pptx
  • Количество просмотров: 146
  • Количество скачиваний: 0