Презентация Структурный тип данных. Массив онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Структурный тип данных. Массив абсолютно бесплатно. Урок-презентация на эту тему содержит всего 41 слайд. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Структурный тип данных. Массив
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:41 слайд
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:144.23 kB
- Просмотров:100
- Скачиваний:0
- Автор:неизвестен
Слайды и текст к этой презентации:
№2 слайд
![Одним из важных инструментов](/documents_6/a8e0e6b2da81e6e59b9635b72890aa13/img1.jpg)
Содержание слайда: Одним из важных инструментов программиста является возможность работы с массивами переменных.
Массив - набор однотипных данных, хранящихся вместе и имеющих общее имя.
Возможность объединения групп элементов в массив позволяет, с одной стороны, облегчить массовую обработку данных, а с другой - упростить идентификацию элементов массива.
№3 слайд
![Основные понятия Массив](/documents_6/a8e0e6b2da81e6e59b9635b72890aa13/img2.jpg)
Содержание слайда: Основные понятия
Массив обозначается одним именем.
Например, всю совокупность действительных чисел
1.6, 14.9, -5.0, 8.5, 0.46
можно считать массивом и обозначить одним именем, например А.
Каждый элемент массива обозначается именем массива с индексом, заключенным в квадратные скобки.
A[1], A[2], A[3], ..., A[n].
Индекс определяет положение элемента массива :
A[1]=1.6, A[2]=14.9, A[3]=-5.0, A[4]=8.5, A[5]=0.46
№6 слайд
![Описание массива Var lt](/documents_6/a8e0e6b2da81e6e59b9635b72890aa13/img5.jpg)
Содержание слайда: Описание массива
Var
<перемен>:array[тип индекса] of <тип элементов>;
Например:
M: array[1..4] of integer;
MAS: array[1..3,1..5] of real;
T:array[‘a’..’z’] of byte;
A:array[1..1000] of string;
Поэтому стандартного идентификатора для типа массив нет. Программист сам конструирует тип массив:
Type
<идентиф.типа>=array[тип индекса] of <тип элемент>;
№7 слайд
![Сначала конструируется тип](/documents_6/a8e0e6b2da81e6e59b9635b72890aa13/img6.jpg)
Содержание слайда: Сначала конструируется тип массив в разделе типов Type, где описывается структура массива. Затем нужно выделить память под переменные этого типа.
TYPE
<идентиф. типа>=Array[<тип индекса>] of<тип элементов>;
В качестве типа индекса может быть указан любой порядковый тип, а также диапазоны этих типов: 1..10, ‘a’…’z’.
Тип элементов массива (базовый тип) – любой допустимый в Pascal (в том числе и массив), кроме файла.
Type
Mas=array[1..10] of integer;
Mass_Char=array [byte]of char;
Matr=array[‘A’..’C’,-5..-3]of Mas;
Var
A:Mas; B1,B2:Mass_Char; C:Matr;
№8 слайд
![Двумерный массив можно](/documents_6/a8e0e6b2da81e6e59b9635b72890aa13/img7.jpg)
Содержание слайда: Двумерный массив можно описать двумя способами
Первый способ заключается в прямом указании диапазонов строк и столбцов в квадратных скобках:
Type Matr=array[1..3,1..5] of byte;
Var A:Matr;
{Сначала указывается диапазон строк, затем диапазон столбцов}
Второй способ представляет собой описание одномерного массива, содержащего элементы типа массив.
Type Matr=array[1..3] of array [1..5] of byte;
или
Type Stroka=array [1..5] of byte;
Matr=array[1..3] of Stroka;
Var А:Matr;
№9 слайд
![Второй способ описания](/documents_6/a8e0e6b2da81e6e59b9635b72890aa13/img8.jpg)
Содержание слайда: Второй способ описания двумерного массива определяется его внутренним представлением.
В памяти компьютера массив любой размерности, в том числе и двумерный, хранится в виде одномерных (линейных) массивов.
Т.е. двумерный массив представляет собой массив массивов, т.е. линейный массив элементов, которые в свою очередь также являются линейными массивами.
Поэтому массив А в памяти ЭВМ имеет следующую структуру: ((0,0,0,0,0), (0,0,0,0,0), (0,0,0,0,0)).
Длина массива составляет 3*5=15 байт.
№11 слайд
![Значения элементов массива в](/documents_6/a8e0e6b2da81e6e59b9635b72890aa13/img10.jpg)
Содержание слайда: Значения элементов массива в программе можно определить тремя способами:
Массив может быть инициализирован с помощью типизированных констант или просто присваиванием значений элементам;
Элементы массива могут быть введены с клавиатуры или из файла;
Элементы массива могут быть определены в программе:
С использованием датчика случайных чисел;
Заданным образом, в том числе и скопированы из другого массива.
№13 слайд
![Значения элементов](/documents_6/a8e0e6b2da81e6e59b9635b72890aa13/img12.jpg)
Содержание слайда: Значения элементов многомерных массивов перечисляют в порядке возрастания индексов справа налево, заключая в скобки каждый подмассив.
CONST
B: array [1..2, 1..6] of real=
((0, -3, 7, 2.3, 5.0, -9), (0,0,0,0,0,0));
S: array [1..3, 0..1, 1..4] of byte=(((0,0,0,0),(1,1,1,1)),
((2,2,2,2),(3,3,3,3)),
((4,4,4,4),(5,5,5,5)));
№14 слайд
![Заполнение массива с помощью](/documents_6/a8e0e6b2da81e6e59b9635b72890aa13/img13.jpg)
Содержание слайда: Заполнение массива с помощью генератора случайных чисел
program Mas;
Uses CRT;
Const n=10;
Type MyMass=array[1..n] of integer;
Var A:MyMass; i:Integer;
Begin
randomize; {подключение генератора случайных чисел}
for i:=1 to n do
A[i]:=random(20);
{вывод массива А в одну строку}
for I:=1 to n do
write(A[i]:3);
end.
№15 слайд
![задания Заполните двумерный](/documents_6/a8e0e6b2da81e6e59b9635b72890aa13/img14.jpg)
Содержание слайда: задания
Заполните двумерный массив из 5 строк и 3 столбцов случайными числами в диапазоне -50…50.
Заполнить массив А(20) числами Фибоначчи.
Сформируйте двумерный массив N*N по следующему правилу: элементы главной диагонали равны 1, элементы ниже главной диагонали – 0, а выше – сумме индексов соответствующего элемента.
Дан линейный массив А(15) случайных чисел. Подсчитать, сколько в нем различных чисел.
Заполните массив М(20) случайными числами, при этом чтобы все элементы были различны.
№18 слайд
![Основные операции с массивами](/documents_6/a8e0e6b2da81e6e59b9635b72890aa13/img17.jpg)
Содержание слайда: Основные операции с массивами:
Заполнение массива данными,
Вывод элементов массива на экран или в файл,
Поиск элемента (элементов),
Упорядочивание элементов массива,
Вставка/удаление элемента массива.
Все эти операции требуют последовательной обработки всех элементов массива, а поэтому требуют использования циклов.
№21 слайд
![Алгоритм линейного поиска](/documents_6/a8e0e6b2da81e6e59b9635b72890aa13/img20.jpg)
Содержание слайда: Алгоритм линейного поиска
Алгоритм заключается в последовательном просмотре элементов массива на определение искомого значения.
Последовательный просмотр элементов выполняется в цикле. Условием выхода из цикла будет либо обнаружение искомого элемента, либо конец массива (т.е. все элементы проверены).
№22 слайд
![Пример. Составить программу](/documents_6/a8e0e6b2da81e6e59b9635b72890aa13/img21.jpg)
Содержание слайда: Пример. Составить программу обработки массива размерностью n, заполненного целыми числами, введенными с клавиатуры. Вывести индексы и значения положительных элементов массива.
CONST N=10;
VAR A:ARRAY[0..N] of integer;
i:byte;
begin
{ заполнение массива }
for i:=1 to n do begin
write('введите ',i,' элемент массива ');
readln(a[i]);
end;
{ обработка элементов массива }
for i:=1 to n do
if a[i]>0 then writeln('положительный элемент = ',a[i],' его индекс = ',i);
end.
№23 слайд
![Разработать программу,](/documents_6/a8e0e6b2da81e6e59b9635b72890aa13/img22.jpg)
Содержание слайда: Разработать программу, определяющую первый отрицательный элемент массива А(20).
Const n=20;
var A:array [1..n]of integer;
i:byte;
begin
//Заполнение массива
//Поиск первого отрицательного элемента
i:=0;
repeat
inc(i);
until (i>n) or (a[i]<0);
if i>N then writeln (‘NO’)
else writeln (a[i]);
end.
№25 слайд
![Const n Const n Type mass](/documents_6/a8e0e6b2da81e6e59b9635b72890aa13/img24.jpg)
Содержание слайда: Const n=10;
Const n=10;
Type mass=array[1..n]of integer;
Var m:mass;
key:integer; i,j,d:byte; fl:boolean;
begin
//Заполнение массива упорядоченными по возрастанию числами
//Ввод ключа поиска
Writeln(‘Какой элемент найти’);
Readln(key);
//поиск элемента:
i:=1;j:=n;
fl:=false; //элемент не найден
repeat
d:=(i+j)div 2; //Серединный элемент
if m[d]=key then fl:=true
else
if m[d]<key then i:=d+1 //ищем справа
else j:=d-1; //ищем слева
until fl or (i>j);
if fl then
writeln('искомый элемент ',key,'занимает позицию',d)
else writeln('элемент не найден');
end;
End.
№26 слайд
![Переформирование массива](/documents_6/a8e0e6b2da81e6e59b9635b72890aa13/img25.jpg)
Содержание слайда: Переформирование массива
Переформирование массивов предполагает изменение порядка элементов массива посредством их перемещения, удаления или вставки.
Вставка или удаление элементов осуществляется за счет сдвига всех элементов той части массива, которая расположена после удаляемого или до вставляемого элемента.
Задание
Дан массив А (n), где N<=10. Разработать программу удаления элемента с индексом k.
№31 слайд
![Дана матрица A n,n , n lt .](/documents_6/a8e0e6b2da81e6e59b9635b72890aa13/img30.jpg)
Содержание слайда: Дана матрица A(n,n), n<=20. Выполнить перестановку строк, номера которых вводятся с клавиатуры.
Type Matr=array[1..20,1..20]of Integer;
Var A:Matr; i,j,n,n1,n2:byte;
buf:integer;
begin
//Заполнение массива и вывод
//Перестановка строк
Writeln(‘строка 1, строка 2?');
readln(n1,n2);
for j:=1 to n do //цикл по столбцам
begin
buf:=a[n1,j];
a[n1,j]:=a[n2,j];
a[n2,j]:=buf;
end;
№32 слайд
![Из многомерных массивов](/documents_6/a8e0e6b2da81e6e59b9635b72890aa13/img31.jpg)
Содержание слайда: Из многомерных массивов допускается выделять подмассивы, отбрасывая индексы, записанные справа, и оставляя индексы, определяющие данный подмассив.
Например, из двумерного массива можно выделять строки, но нельзя – столбцы.
Writeln(‘строка 1, строка 2?');
readln(n1,n2);
buf:=a[n1];
a[n1]:=a[n2];
a[n2]:=buf;
Поэтому задачу перестановки строк можно решить одним оператором. При этом необходимо учесть совместимость массивов по присваиванию.
№38 слайд
![Сортировка простым выбором](/documents_6/a8e0e6b2da81e6e59b9635b72890aa13/img37.jpg)
Содержание слайда: Сортировка
простым выбором
Идея сортировки простым выбором заключается в поиске граничного элемента, например, максимального и водворении его на «свое место» в конец массива. Далее последний элемент «исключаем» (не просматриваем) и повторяется поиск максимума. Процесс повторяется до тех пор, пока длина массива не станет равна одному элементу.
№39 слайд
![Сортировка простыми вставками](/documents_6/a8e0e6b2da81e6e59b9635b72890aa13/img38.jpg)
Содержание слайда: Сортировка простыми вставками
В исходном состоянии считают, что сортируемая последовательность элементов состоит из двух частей: отсортированной (она на первом шаге состоит из единственного элемента – первого) и неотсортированной.
На каждом шаге из неотсортированной части последовательности берется очередной элемент и вставляется в уже отсортированную часть.
Поиск места вставки осуществляется с правого конца отсортированного подмассива путем сравнения вставляемого элемента (назовем его ключом key) с элементами aj. Если ключ меньше элемента aj (при сортировке по возрастанию), то ключ key и элемент aj меняются местами, и ключ продолжает сравнение с последующим элементом подмассива aj-1. Поиск места вставки завершается, если элемент вставлен или если достигнут левый конец массива.
Скачать все slide презентации Структурный тип данных. Массив одним архивом:
Похожие презентации
-
Хранение однотипных данных. Массивы
-
Структурированные типы данных. Массивы
-
Структурированные типы данных. Одномерные массивы
-
Основные типы данных в Python. Массивы
-
Конструируемые типы данных. Массивы
-
Структурные типы данных (Delphi / Pascal, глава 3)
-
Строки как одномерные массивы данных типа char (терминальные строки)
-
Новые структурные операторы и массивы данных
-
Файловый тип данных Turbo Pascal
-
Строковый и символьный типы данных