🗊Презентация Массивы. Определение, описание, размещение в памяти, использование. (Лекция 8)

Нажмите для полного просмотра!
Массивы. Определение, описание, размещение в памяти, использование. (Лекция 8), слайд №1Массивы. Определение, описание, размещение в памяти, использование. (Лекция 8), слайд №2Массивы. Определение, описание, размещение в памяти, использование. (Лекция 8), слайд №3Массивы. Определение, описание, размещение в памяти, использование. (Лекция 8), слайд №4Массивы. Определение, описание, размещение в памяти, использование. (Лекция 8), слайд №5Массивы. Определение, описание, размещение в памяти, использование. (Лекция 8), слайд №6Массивы. Определение, описание, размещение в памяти, использование. (Лекция 8), слайд №7Массивы. Определение, описание, размещение в памяти, использование. (Лекция 8), слайд №8Массивы. Определение, описание, размещение в памяти, использование. (Лекция 8), слайд №9Массивы. Определение, описание, размещение в памяти, использование. (Лекция 8), слайд №10Массивы. Определение, описание, размещение в памяти, использование. (Лекция 8), слайд №11Массивы. Определение, описание, размещение в памяти, использование. (Лекция 8), слайд №12Массивы. Определение, описание, размещение в памяти, использование. (Лекция 8), слайд №13Массивы. Определение, описание, размещение в памяти, использование. (Лекция 8), слайд №14Массивы. Определение, описание, размещение в памяти, использование. (Лекция 8), слайд №15Массивы. Определение, описание, размещение в памяти, использование. (Лекция 8), слайд №16Массивы. Определение, описание, размещение в памяти, использование. (Лекция 8), слайд №17Массивы. Определение, описание, размещение в памяти, использование. (Лекция 8), слайд №18Массивы. Определение, описание, размещение в памяти, использование. (Лекция 8), слайд №19Массивы. Определение, описание, размещение в памяти, использование. (Лекция 8), слайд №20Массивы. Определение, описание, размещение в памяти, использование. (Лекция 8), слайд №21Массивы. Определение, описание, размещение в памяти, использование. (Лекция 8), слайд №22

Содержание

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

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


Слайд 1





Массивы. Определение, описание, размещение в памяти, использование
Лекция 8
Описание слайда:
Массивы. Определение, описание, размещение в памяти, использование Лекция 8

Слайд 2





Массив представляет собой совокупность данных (элементов) одного типа с общим для всех элементов именем.
Массив представляет собой совокупность данных (элементов) одного типа с общим для всех элементов именем.
Элементы массива пронумерованы, и обратиться к каждому из них можно по номеру. Номера элементов массива иначе называются индексами.
Характеристики массива:
тип — общий тип всех элементов массива;
размерность (ранг) — количество индексов массива;
диапазон изменения индекса (индексов) — определяет количество элементов в массиве.
Описание слайда:
Массив представляет собой совокупность данных (элементов) одного типа с общим для всех элементов именем. Массив представляет собой совокупность данных (элементов) одного типа с общим для всех элементов именем. Элементы массива пронумерованы, и обратиться к каждому из них можно по номеру. Номера элементов массива иначе называются индексами. Характеристики массива: тип — общий тип всех элементов массива; размерность (ранг) — количество индексов массива; диапазон изменения индекса (индексов) — определяет количество элементов в массиве.

Слайд 3





Одномерный массив — это массив, в котором элементы нумеруются одним индексом.
Одномерный массив — это массив, в котором элементы нумеруются одним индексом.
Если в массиве хранится таблица значений (матрица), то такой массив называется двумерным, а его элементы нумеруются двумя индексами — номером строки и столбца соответственно.
При обращении к элементу массива индекс указывается в квадратных скобках после имени массива. 
Например, а[3], с[1,2].

В памяти компьютера все элементы массива обязательно занимают одну непрерывную область (массив), отсюда и произошло это название. Двумерные массивы располагаются в памяти по строкам: сначала все элементы первой строки, затем — второй и т. д.
Описание слайда:
Одномерный массив — это массив, в котором элементы нумеруются одним индексом. Одномерный массив — это массив, в котором элементы нумеруются одним индексом. Если в массиве хранится таблица значений (матрица), то такой массив называется двумерным, а его элементы нумеруются двумя индексами — номером строки и столбца соответственно. При обращении к элементу массива индекс указывается в квадратных скобках после имени массива. Например, а[3], с[1,2]. В памяти компьютера все элементы массива обязательно занимают одну непрерывную область (массив), отсюда и произошло это название. Двумерные массивы располагаются в памяти по строкам: сначала все элементы первой строки, затем — второй и т. д.

Слайд 4





Описание массивов
Элементы массива могут иметь любой тип, индексы — порядковый тип, чаще всего диапазон. 
Сам массив — это тип, определяемый пользователем на основе типа его элементов и типа индексов. Поэтому имеются два основных способа описания массива:
сначала описать тип массива в разделе описания типов, а затем описать переменную этого типа;
описать массив непосредственно в разделе описания переменных. В этом случае используется анонимный, т. е. безымянный тип.
Описание слайда:
Описание массивов Элементы массива могут иметь любой тип, индексы — порядковый тип, чаще всего диапазон. Сам массив — это тип, определяемый пользователем на основе типа его элементов и типа индексов. Поэтому имеются два основных способа описания массива: сначала описать тип массива в разделе описания типов, а затем описать переменную этого типа; описать массив непосредственно в разделе описания переменных. В этом случае используется анонимный, т. е. безымянный тип.

Слайд 5





Предварительное описание типа массива
Предварительное описание типа считается более строгим способом описания массива. Такое описание необходимо, например, при использовании имени массива в качестве параметра процедуры или функции. 
Например, вот как выглядит описание одномерного массива:
type
ИмяТипа = array[ НижняяГраница .. ВерхняяГраница ] of ТипЭлементов;
var
ИмяМассива : ИмяТипа;
Описание слайда:
Предварительное описание типа массива Предварительное описание типа считается более строгим способом описания массива. Такое описание необходимо, например, при использовании имени массива в качестве параметра процедуры или функции. Например, вот как выглядит описание одномерного массива: type ИмяТипа = array[ НижняяГраница .. ВерхняяГраница ] of ТипЭлементов; var ИмяМассива : ИмяТипа;

Слайд 6





Описание массивов других размерностей выполняется аналогично, например для двумерного массива:
Описание массивов других размерностей выполняется аналогично, например для двумерного массива:
type
ИмяТипа = array [ НижняяГрИндекса1 .. ВерхняяГрИндекса1, НижняяГрИндекса2 .. ВерхняяГрИндекса2 ] of ТипЭлементов;
var
ИмяМассива : ИмяТипа;
Пример:
type
matr = array [1..5, 1..6] of real;
var
m: matr; {matrix - имя переменной, matr —имя ее типа}
Описание слайда:
Описание массивов других размерностей выполняется аналогично, например для двумерного массива: Описание массивов других размерностей выполняется аналогично, например для двумерного массива: type ИмяТипа = array [ НижняяГрИндекса1 .. ВерхняяГрИндекса1, НижняяГрИндекса2 .. ВерхняяГрИндекса2 ] of ТипЭлементов; var ИмяМассива : ИмяТипа; Пример: type matr = array [1..5, 1..6] of real; var m: matr; {matrix - имя переменной, matr —имя ее типа}

Слайд 7





Описание массива в разделе var
Самый простой и короткий способ описания массива — это объявить переменную в разделе описания переменных var. В общем виде описание выглядит так:
□	для одномерного массива:
var ИмяМассива:  array[НижняяГраница..ВерхняяГраница] of ТипЭлементов;
Например:
var a: array[1..100] of integer;{ 100 элементов — целые числа }
□	для двумерного массива:
var ИмяМассива:array[НижняяГрИндекс1..ВерхняяГрИндекс1, НижняяГрИндекс2..ВерхняяГрИндекс2]  of ТипЭлементов;
Например:
Var b:array[1..10, 1..10] of real;{матрица 10 на 10 из вещественных чисел}
Описание слайда:
Описание массива в разделе var Самый простой и короткий способ описания массива — это объявить переменную в разделе описания переменных var. В общем виде описание выглядит так: □ для одномерного массива: var ИмяМассива: array[НижняяГраница..ВерхняяГраница] of ТипЭлементов; Например: var a: array[1..100] of integer;{ 100 элементов — целые числа } □ для двумерного массива: var ИмяМассива:array[НижняяГрИндекс1..ВерхняяГрИндекс1, НижняяГрИндекс2..ВерхняяГрИндекс2] of ТипЭлементов; Например: Var b:array[1..10, 1..10] of real;{матрица 10 на 10 из вещественных чисел}

Слайд 8





Следует знать:
Следует знать:
границы изменения индекса должны быть константами. Нельзя использовать переменные при описании границ массива, т. к. память под массив должна быть выделена до начала выполнения программы, а переменные получают значения при выполнении программы;
верхнюю границу индекса обычно определяют исходя из максимально возможного количества элементов в массиве;
поскольку в качестве индексов используются переменные и выражения, то возможна ситуация выхода индекса за границы массива. 
Например, если массив а описан как var a: array [1..100] of integer, то обращение к a[i] при i, равном 0 или 200, означает выход индекса за границу массива. Ошибка выхода индекса за границы выдается, только если включена ди­ректива компилятора {$r+} (по умол­чанию она  отключена).
Описание слайда:
Следует знать: Следует знать: границы изменения индекса должны быть константами. Нельзя использовать переменные при описании границ массива, т. к. память под массив должна быть выделена до начала выполнения программы, а переменные получают значения при выполнении программы; верхнюю границу индекса обычно определяют исходя из максимально возможного количества элементов в массиве; поскольку в качестве индексов используются переменные и выражения, то возможна ситуация выхода индекса за границы массива. Например, если массив а описан как var a: array [1..100] of integer, то обращение к a[i] при i, равном 0 или 200, означает выход индекса за границу массива. Ошибка выхода индекса за границы выдается, только если включена ди­ректива компилятора {$r+} (по умол­чанию она отключена).

Слайд 9





Действия над массивами
Над массивом как целым допускается только одна операция — массивы, идентичные по структуре, т. е. с одинаковыми типами индексов и элементов, могут быть операндами в операторе присваивания.
Например, если а и b являются именами массивов одного типа:
type mas = array[1..100] of integer;
type vec = array[1..100] of integer;
var a,b: mas;
c: vec;
то разрешено присваивание: a:=b;. В этом случае массив а будет представлять собой точную копию массива b. Присваивание а:=с; запрещено и вызовет сообщение об ошибке Type mismatch (Несоответствие типов).
Описание слайда:
Действия над массивами Над массивом как целым допускается только одна операция — массивы, идентичные по структуре, т. е. с одинаковыми типами индексов и элементов, могут быть операндами в операторе присваивания. Например, если а и b являются именами массивов одного типа: type mas = array[1..100] of integer; type vec = array[1..100] of integer; var a,b: mas; c: vec; то разрешено присваивание: a:=b;. В этом случае массив а будет представлять собой точную копию массива b. Присваивание а:=с; запрещено и вызовет сообщение об ошибке Type mismatch (Несоответствие типов).

Слайд 10





Можно присваивать одной строке двумерного массива значения одномерного массива и наоборот. Например:
Можно присваивать одной строке двумерного массива значения одномерного массива и наоборот. Например:
type
  TVec = array[1..10] of integer;
  TMatrix = array[1..10] of TVec;
var
  a: TMatrix;
  b: TVec;
begin
b:=a[5];
end.
Эта операция используется довольно редко. Гораздо чаще приходится обра­батывать массив последовательно, элемент за элементом, используя циклы.
Описание слайда:
Можно присваивать одной строке двумерного массива значения одномерного массива и наоборот. Например: Можно присваивать одной строке двумерного массива значения одномерного массива и наоборот. Например: type TVec = array[1..10] of integer; TMatrix = array[1..10] of TVec; var a: TMatrix; b: TVec; begin b:=a[5]; end. Эта операция используется довольно редко. Гораздо чаще приходится обра­батывать массив последовательно, элемент за элементом, используя циклы.

Слайд 11





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

Слайд 12





Например, ввод с клавиатуры  может выглядеть так:
Например, ввод с клавиатуры  может выглядеть так:
Одномерный массив:
   writeln(‘Введите размерность массива’);
   readln(n);
   for i:=1 to n do 
      begin
      writeln(‘Введите ‘, i, ‘-й элемент массива’);
      readln(a[i]);
      end;
Довольно часто массив заполняется при помощи присваивания элементам определенных или случайных значений. Например, фрагмент программы заполнения одномерного массива х из n элементов случайными числами в диапазоне от 0 до 10 выглядит так:
randomize; 
for i:=1 to n do x[i]:=random(11);
Описание слайда:
Например, ввод с клавиатуры может выглядеть так: Например, ввод с клавиатуры может выглядеть так: Одномерный массив: writeln(‘Введите размерность массива’); readln(n); for i:=1 to n do begin writeln(‘Введите ‘, i, ‘-й элемент массива’); readln(a[i]); end; Довольно часто массив заполняется при помощи присваивания элементам определенных или случайных значений. Например, фрагмент программы заполнения одномерного массива х из n элементов случайными числами в диапазоне от 0 до 10 выглядит так: randomize; for i:=1 to n do x[i]:=random(11);

Слайд 13





Вывод элементов массива
Например, запишем вывод одномерного массива из n элементов:
□	в столбец:
for i:=1 to n do writeln(a[i]);
□	в одну строку, через пробел-разделитель:
for i:=1 to n do write(a[i], '   '); writeln;
□	или с заданием формата, где под каждый элемент отводится 4 позиции:
for i:=1 to n do write(a[i]:4); writeln;
Описание слайда:
Вывод элементов массива Например, запишем вывод одномерного массива из n элементов: □ в столбец: for i:=1 to n do writeln(a[i]); □ в одну строку, через пробел-разделитель: for i:=1 to n do write(a[i], ' '); writeln; □ или с заданием формата, где под каждый элемент отводится 4 позиции: for i:=1 to n do write(a[i]:4); writeln;

Слайд 14





Обработка одномерных массивов
Рассмотрим типовые задачи обработки на примере одномерных массивов. Для массивов других размерностей применяются аналогичные алгоритмы, которые несколько усложняются использованием вложенных циклов.
Условимся, что в массиве а содержится n элементов. Над n элементами массива а выполним следующие действия.
1. Вычисление суммы элементов:
s:=0;
for i:=1 to n do s:=s+a[i];  
2.	Вычисление произведения элементов:
s:=1;
for i:=1 to n do s:=s*a[i];
Описание слайда:
Обработка одномерных массивов Рассмотрим типовые задачи обработки на примере одномерных массивов. Для массивов других размерностей применяются аналогичные алгоритмы, которые несколько усложняются использованием вложенных циклов. Условимся, что в массиве а содержится n элементов. Над n элементами массива а выполним следующие действия. 1. Вычисление суммы элементов: s:=0; for i:=1 to n do s:=s+a[i]; 2. Вычисление произведения элементов: s:=1; for i:=1 to n do s:=s*a[i];

Слайд 15





3. Подсчет количества элементов, удовлетворяющих какому-либо условию (например, подсчет количества четных чисел в целочисленном массиве):
3. Подсчет количества элементов, удовлетворяющих какому-либо условию (например, подсчет количества четных чисел в целочисленном массиве):
k:=0;
for i:=1 to n do
if a[i] mod 2=0 then k:=k+1;
4.	Поиск элемента с заданным значением. Найти элемент — это значит выяснить его номер в массиве (например, найдем номер первого нулевого элемента массива а. Если таких элементов нет, то выведем соответствующее сообщение).
i:=0;  { номер элементов массива }
repeat
  i:=i+1;
until(a[i]=0) or (i=n) ;
if a[i]=0 then writeln('Номер первого нулевого эл-та ',i)
              else writeln('Таких элементов нет'); 
Описание слайда:
3. Подсчет количества элементов, удовлетворяющих какому-либо условию (например, подсчет количества четных чисел в целочисленном массиве): 3. Подсчет количества элементов, удовлетворяющих какому-либо условию (например, подсчет количества четных чисел в целочисленном массиве): k:=0; for i:=1 to n do if a[i] mod 2=0 then k:=k+1; 4. Поиск элемента с заданным значением. Найти элемент — это значит выяснить его номер в массиве (например, найдем номер первого нулевого элемента массива а. Если таких элементов нет, то выведем соответствующее сообщение). i:=0; { номер элементов массива } repeat i:=i+1; until(a[i]=0) or (i=n) ; if a[i]=0 then writeln('Номер первого нулевого эл-та ',i) else writeln('Таких элементов нет'); 

Слайд 16





5. Поиск максимального элемента и его номера.
5. Поиск максимального элемента и его номера.
Переменная max хранит значение максимума, k — его номер в массиве:
max:=a[1]; 
k:=1;  
for i:=2 to n do   
   if a[i]>max then
       begin
        max:=a[i];
        k:=i;  { запоминаем значение и номер элемента,  который больше всех предыдущих}
       end;
Описание слайда:
5. Поиск максимального элемента и его номера. 5. Поиск максимального элемента и его номера. Переменная max хранит значение максимума, k — его номер в массиве: max:=a[1]; k:=1; for i:=2 to n do if a[i]>max then begin max:=a[i]; k:=i; { запоминаем значение и номер элемента, который больше всех предыдущих} end;

Слайд 17





6. Изменение значений элементов.
6. Изменение значений элементов.
Например, пусть в массиве а хранятся зарплаты n сотрудников. Тем со­трудникам, у которых зарплата меньше минимально возможной суммы, поднимем зарплату до этого минимального значения minzp.
 for i:=1 to n do
if a[i]<minzp then a[i]:=minzp;
Описание слайда:
6. Изменение значений элементов. 6. Изменение значений элементов. Например, пусть в массиве а хранятся зарплаты n сотрудников. Тем со­трудникам, у которых зарплата меньше минимально возможной суммы, поднимем зарплату до этого минимального значения minzp. for i:=1 to n do if a[i]<minzp then a[i]:=minzp;

Слайд 18





Пример. Пользователь вводит количество учащихся в группе и их оценки. Определить средний балл по группе.
Пример. Пользователь вводит количество учащихся в группе и их оценки. Определить средний балл по группе.
type
  mas=array[1..30] of integer;
var a:mas;     i,n,s:integer;      sr:real;
begin
writeln(‘Введите количество учащихся');
readln(n);
s:=0;
for i:=1 to n do
  begin
  writeln(‘Введите оценку ’,i,’-го учащегося’);
  readln(a[i]);
  s:=s+a[i];
  end;
Описание слайда:
Пример. Пользователь вводит количество учащихся в группе и их оценки. Определить средний балл по группе. Пример. Пользователь вводит количество учащихся в группе и их оценки. Определить средний балл по группе. type mas=array[1..30] of integer; var a:mas; i,n,s:integer; sr:real; begin writeln(‘Введите количество учащихся'); readln(n); s:=0; for i:=1 to n do begin writeln(‘Введите оценку ’,i,’-го учащегося’); readln(a[i]); s:=s+a[i]; end;

Слайд 19





sr:=s/n;
sr:=s/n;
writeln(‘Средний балл по группе ’sr:3:1);
readln;
end.
Описание слайда:
sr:=s/n; sr:=s/n; writeln(‘Средний балл по группе ’sr:3:1); readln; end.

Слайд 20





Схема Горнера
Схема Горнера  — алгоритм вычисления значения многочлена, записанного в виде суммы мономов, при заданном значении переменной.
Описание алгоритма
Задан многочлен P(x):
Пусть требуется вычислить значение данного многочлена при фиксированном значении x = x0. Представим многочлен P(x) в следующем виде:
Описание слайда:
Схема Горнера Схема Горнера — алгоритм вычисления значения многочлена, записанного в виде суммы мономов, при заданном значении переменной. Описание алгоритма Задан многочлен P(x): Пусть требуется вычислить значение данного многочлена при фиксированном значении x = x0. Представим многочлен P(x) в следующем виде:

Слайд 21





Определим следующую последовательность:
Определим следующую последовательность:
…
…
Искомое значение P(x0) = b0.
Описание слайда:
Определим следующую последовательность: Определим следующую последовательность: … … Искомое значение P(x0) = b0.

Слайд 22





Домашнее задание
1. Составить опорный конспект лекции по теме «Массивы. Определение, описание, размещение в памяти, использование» на основе презентации.
2. Программирование на языке Pascal. Рапаков Г. Г., Ржеуцкая С. Ю. СПб.: БХВ-Петербург, 2004, стр. стр. 221-233.
Составить программы:
Пользователь вводит размерность массива и его элементы. Найти минимальный элемент массива.
Пользователь вводит размерность массива и его элементы. Найти произведение четных элементов массива.
В заданном массиве необходимо умножить все его четные элементы на значение его максимального элемента.
Описание слайда:
Домашнее задание 1. Составить опорный конспект лекции по теме «Массивы. Определение, описание, размещение в памяти, использование» на основе презентации. 2. Программирование на языке Pascal. Рапаков Г. Г., Ржеуцкая С. Ю. СПб.: БХВ-Петербург, 2004, стр. стр. 221-233. Составить программы: Пользователь вводит размерность массива и его элементы. Найти минимальный элемент массива. Пользователь вводит размерность массива и его элементы. Найти произведение четных элементов массива. В заданном массиве необходимо умножить все его четные элементы на значение его максимального элемента.



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