Разделы презентаций


Массивы

Содержание

Основные теоретические сведенияПримеры решения задач

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

Слайд 1Массивы
9 класс

Массивы 9 класс

Слайд 2Основные теоретические сведения
Примеры решения задач

Основные теоретические сведенияПримеры решения задач

Слайд 3Основные теоретические сведения
Описание массива
Описание константного массива
Ввод элементов массива с клавиатуры
Задание

элементам массива случайных значений
Вывод элементов массива
Поиск элементов с заданными свойствами
Линейный

поиск
Поиск минимального (максимального) элемента
Основные теоретические сведенияОписание массиваОписание константного массиваВвод элементов массива с клавиатурыЗадание элементам массива случайных значенийВывод элементов массиваПоиск элементов

Слайд 4Описание массива
Массив в языке Pascal ABC описывается так:

имя_массива: array[индекс1..индексN] of

тип_элементов;

Имя массива (идентификатор) задается по тем же правилам, что и

имена переменных других типов;
Служебное слово array означает массив.
В квадратных скобках задается диапазон индексов элементов массива:
сначала указывают индекс первого элемента индекс1, затем ставят две точки, после которых указывают индекс последнего элемента индексN.
Диапазон индексов определяет максимально возможное количество элементов в массиве – размер массива.
Тип элементов может быть любым, например: числа, символы, строки, массивы.
Примеры описаний
Описание массиваМассив в языке Pascal ABC описывается так:	имя_массива: array[индекс1..индексN] of тип_элементов;Имя массива (идентификатор) задается по тем же

Слайд 5Примеры описаний
Имя массива А, диапазон индексов от 1 до 25,

размер массива 25 целых чисел.
var A: array[1..25] of integer ;
Этот

массив можно описать и так (задав диапазон константами n1 и n2):
const n1=1; n2=25;
var A: array[n1..n2] of integer;
Имя массива Т, диапазон индексов от 20 до 31, размер массива 12 вещественных чисел
var T: array[20..31] of real;
Примеры описанийИмя массива А, диапазон индексов от 1 до 25, размер массива 25 целых чисел.	var A: array[1..25]

Слайд 6Описание константного массива
Значения элементов, которые не изменяются при работе программы

(констант), можно задавать в разделе описаний.
Например, массив из 7 простых

чисел можно описать следующим образом:
const A: array[1..7] of integer =(2,3,5,7,11,13,17);
Описание константного массиваЗначения элементов, которые не изменяются при работе программы (констант), можно задавать в разделе описаний.Например, массив

Слайд 7Ввод элементов массива с клавиатуры
Для ввода значений с клавиатуры используются

стандартные процедуры read или readln.
Например, следующая программа присваивает значения,

вводимые с клавиатуры, пяти элементам массива.
var A: array[1..5] of integer;
i: integer;
begin
for i:=1 to 5 do
read(A[i]) ; {ввод значений элементов}
end.

Ввод элементов массива с клавиатурыДля ввода значений с клавиатуры используются стандартные процедуры read или readln. Например, следующая

Слайд 8Ввод элементов массива с клавиатуры
Для того, что бы программа могла

при каждом запуске работать с массивами, которые содержат разное количество

элементов, ввод можно организовать следующим образом:
const n_max=100;
var A: array[1..n_max] of integer ;
i,n: integer;
begin
writeln('введи количество элементов');
readln(n);
writeln('введи элементы');
for i := 1 to n do
read(A[i]) ; { ввод значений элементов }
end.

Ввод элементов массива с клавиатурыДля того, что бы программа могла при каждом запуске работать с массивами, которые

Слайд 9Задание элементам массива случайных значений
Для задания элементам массива случайных значений

используется функция random(k), которая генерирует целое случайное число из промежутка

[0; k-1].
Случайным образом задать n элементов массива А. Значение каждого элемента – число из промежутка [0; 100].
var A: array[1..100] of integer;
i,n:integer;
begin
writeln('введите количество чисел в массиве');
readln(n);
for i:=1 to n do
begin
A[i]:=random(101);
write(A[i],' ');
end;
end.

Результат работы

Задание элементам массива случайных значенийДля задания элементам массива случайных значений используется функция random(k), которая генерирует целое случайное

Слайд 10Задание элементам массива случайных значений
Если элементы массива должны принадлежать промежутку

[a; b], то
A[i]:= random(b-a+1)+a;
Для задания случайных значений вещественных

чисел используется функция random без параметра, которая генерирует число из промежутка [0; 1).
A[i]:= random;


Задание элементам массива случайных значенийЕсли элементы массива должны принадлежать промежутку [a; b], то 		A[i]:= random(b-a+1)+a; Для задания

Слайд 11Вывод элементов массива
Для вывода используют процедуры write или writeln. Процедура

write выводит значения элементов массива в строку. При этом выводимые

значения необходимо отделять пробелами или иными символами (например, запятой, точкой с запятой), иначе все они будут напечатаны слитно.
Для вывода значений элементов в столбец используют процедуру writeln.

Вывод n элементов массива в столбец - по одному в строке
for i:=1 to n do
writeln(A[i]);

Вывод n элементов массива в строку - через пробел
for i:=1 to n do
write (A[i]);

Вывод элементов массиваДля вывода используют процедуры write или writeln. Процедура write выводит значения элементов массива в строку.

Слайд 12Линейный поиск
Самый простой способ поиска элементов массива с заданными свойствами

– это последовательный просмотр всех элементов и проверка выполнения условий

поиска.
Такой алгоритм поиска называется линейным или последовательным.
Линейный поискСамый простой способ поиска элементов массива с заданными свойствами – это последовательный просмотр всех элементов и

Слайд 13Поиск минимального (максимального) элемента
Минимальный элемент массива – элемент имеющий наименьшее

значение среди всех элементов, а максимальный – наибольшее
Для нахождение

значения минимального (максимального) элемента массива нужно просмотреть все элементы массива и на каждом шаге сравнивать значение текущего элемента с уже найденным на предыдущих шагах значением минимума.
Поиск минимального (максимального) элементаМинимальный элемент массива – элемент имеющий наименьшее значение среди всех элементов, а максимальный –

Слайд 14Поиск минимального (максимального) элемента
Поиск максимального среди n элементов массива.
max:=A[1];
for i:=2

to N do
if A[i]>max then
max:=A[i];
После завершения работы в переменной max

будет храниться значение максимального элемента массива.

Поиск минимального среди n элементов массива.
min:=A[1];
for i:=2 to N do
if A[i] min:=A[i];
После завершения работы в переменной min будет храниться значение максимального элемента массива.

Поиск минимального (максимального) элементаПоиск максимального среди n элементов массива.	max:=A[1];	for i:=2 to N do		if A[i]>max then			max:=A[i];После завершения работы

Слайд 15Основные типы задач
Этапы решения задачи
Нахождение суммы элементов массива
Преобразование элементов массива
Линейный

поиск элемента с заданными свойствами
Подсчет количества элементов с заданными свойствами
Нахождение

максимального (минимального) элемента массива
Основные типы задачЭтапы решения задачиНахождение суммы элементов массиваПреобразование элементов массиваЛинейный поиск элемента с заданными свойствамиПодсчет количества элементов

Слайд 16Этапы решения задач
Определение исходных данных.
Определение результатов.
Составление алгоритма решения задачи.
Определение типов

переменных.
Написание программы.
Подготовка тестов и тестирование программы.

Этапы решения задачОпределение исходных данных.Определение результатов.Составление алгоритма решения задачи.Определение типов переменных.Написание программы.Подготовка тестов и тестирование программы.

Слайд 17Нахождение суммы элементов массива
Дан линейный массив из целых чисел. Найти

сумму элементов линейного массива.

Нахождение суммы элементов массиваДан линейный массив из целых чисел. Найти сумму элементов линейного массива.

Слайд 18Определение исходных данных
Переменная n - количество элементов в массиве,
Переменная

a – линейный массив.

Определение исходных данныхПеременная n - количество элементов в массиве, Переменная a – линейный массив.

Слайд 19Определение результатов
Переменная S - сумма элементов массива

Определение результатовПеременная S - сумма элементов массива

Слайд 20Алгоритм решения задачи
Ввод исходных данных. Массив вводится поэлементно.
Определение начального значения

для суммы (S:=0).
В цикле прибавляем очередной элемент массива к текущему

значению переменной, хранящей сумму.
Вывод результата.
Алгоритм решения задачиВвод исходных данных. Массив вводится поэлементно.Определение начального значения для суммы (S:=0).В цикле прибавляем очередной элемент

Слайд 21Описание переменных
Переменные n и S имеют тип integer
Переменная а имеет

тип array
Элементы массива имеют тип integer.
Для работы также необходима

переменная i типа integer – счетчик цикла.
Описание переменныхПеременные n и S имеют тип integerПеременная а имеет тип arrayЭлементы массива имеют тип integer. Для

Слайд 22Программа
Var n, i, S, P: integer;
a: array[1..10] of integer;
Begin
Write('введите количество

элементов массива n=');
Readln(n);
Write('вводите элементы массива через пробел');
For i:=1 to n

do
Read(a[i]);
S:=0;
For i:=1 to n do
S:=S+a[i];
writeln('сумма элементов = ',S);
End.

ПрограммаVar 	n, i, S, P: integer;	a: array[1..10] of integer;Begin	Write('введите количество элементов массива n=');	Readln(n);	Write('вводите элементы массива через пробел');	For

Слайд 23Тестирование
Запустите программу и введите значения
n=5
3 2 4 -1 3
Проверьте, результат

должен быть следующим:
сумма элементов = 11
Проверить правильность вычислений можно

на калькуляторе.
ТестированиеЗапустите программу и введите значения			n=5			3 2 4 -1 3Проверьте, результат должен быть следующим:			сумма элементов = 11 Проверить

Слайд 24Вопросы
Что нужно изменить в программе, для того, чтобы вычислялось произведение

элементов массива? Внесите изменения.
Измените программу так, чтобы получить сумму и

произведение за один проход по массиву.
ВопросыЧто нужно изменить в программе, для того, чтобы вычислялось произведение элементов массива? Внесите изменения.Измените программу так, чтобы

Слайд 25Преобразование элементов массива
Задан линейный массив. Преобразовать его элементы по следующему

правилу: положительные увеличить на 5, а отрицательные элементы массива заменить

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

Слайд 26Определение исходных данных и результатов
Исходные данные
Переменная n - количество элементов

в массиве,
Переменная a – линейный массив.
Результат
Преобразованный массив а

Определение исходных данных и результатовИсходные данныеПеременная n - количество элементов в массиве, Переменная a – линейный массив.

Слайд 27Алгоритм решения задачи
Ввод исходных данных. Массив вводится поэлементно.
В цикле проверяем

текущий элемент, если он положительный, то прибавляем к нему 5,

если отрицательный - заменяем его модулем.
Вывод результата.
Алгоритм решения задачиВвод исходных данных. Массив вводится поэлементно.В цикле проверяем текущий элемент, если он положительный, то прибавляем

Слайд 28Описание переменных
Переменная n имеет тип integer
Переменная а имеет тип array
Элементы

массива имеют тип integer.
Для работы также необходима переменная i

типа integer – счетчик цикла.
Описание переменныхПеременная n имеет тип integerПеременная а имеет тип arrayЭлементы массива имеют тип integer. Для работы также

Слайд 29Программа:
Var n, i: integer;
А: array[1..10] of integer;
Begin
Write('введите количество элементов массива

n=');
Readln(n);
Writeln('вводите элементы массива через пробел');
For i:=1 to n do
Read(А[i]);
For

i:=1 to n do
begin
if А[i]>0 then
А[i]:=А[i]+5;
if А[i]<0 then
А[i]:=abs(А[i]);
end;
writeln('преобразованный массив');
For i:=1 to n do
write(А[i], ' ')
End.
Программа:Var 	n, i: integer;	А: array[1..10] of integer;Begin	Write('введите количество элементов массива n=');	Readln(n);	Writeln('вводите элементы массива через пробел');	For i:=1 to

Слайд 30Тестирование
Запустите программу и введите значения
n=5
3 -2 0 -1 5
Проверьте, результат

должен быть следующим:
преобразованный массив
8 2 0 1 10

ТестированиеЗапустите программу и введите значения			n=5			3 -2 0 -1 5Проверьте, результат должен быть следующим:			преобразованный массив			8 2 0 1

Слайд 31Линейный поиск элемента с заданными свойствами
В заданном линейном массиве определить

есть ли хотя бы один элемент который является нечетным, не

кратным 7 числом, если “да”, то напечатать его номер.

Линейный поиск элемента с заданными свойствамиВ заданном линейном массиве определить есть ли хотя бы один элемент который

Слайд 32Определение исходных данных и результатов
Исходные данные:
Переменная n - количество

элементов в массиве,
Переменная a – линейный массив.
Результат:
Переменная

k – номер позиции, на которой находится элемент
Вывод «нет», если элемент не найден.
Определение исходных данных и результатовИсходные данные: Переменная n - количество элементов в массиве, Переменная a – линейный

Слайд 33Алгоритм решения задачи
Ввод исходных данных.
Для решения задачи воспользуемся алгоритмом поиска

с барьером.
Занесем элемент, удовлетворяющий условию задачи (например, число 5)

на последнее место в массив, а затем будем просматривать элементы с начала.
Как только элемент найден, остановимся.
Если элемент найден на месте n+1, значит в исходном массиве нет элемента, удовлетворяющего условию задачи, иначе печатаем номер найденного элемента.
Вывод результата.
Алгоритм решения задачиВвод исходных данных.Для решения задачи воспользуемся алгоритмом поиска с барьером. Занесем элемент, удовлетворяющий условию задачи

Слайд 34Описание переменных
Переменные n и k имеют тип integer
Переменная а имеет

тип array
Элементы массива имеют тип integer.
Для работы также необходима

переменная i типа integer – счетчик цикла.
Описание переменныхПеременные n и k имеют тип integerПеременная а имеет тип arrayЭлементы массива имеют тип integer. Для

Слайд 35Программа:
Var i,k,n: integer;
a: array [1..20] of integer;
Begin
Writeln('введите количество элементов в

массиве');
Readln(n);
Writeln('введите элементы');
For i:=1 to n do
Read(a[i]);
a[n+1]:=5;
k:=1;
while (a[k] mod 2=0) or

(a[k] mod 7=0) do
k:=k+1;
if k=n+1 then
writeln('в массиве нет таких элементов')
else
writeln('элемент ',a[k],' стоит на месте ',k);
End.
Программа:Var 	i,k,n: integer;	a: array [1..20] of integer;Begin	Writeln('введите количество элементов в массиве');	Readln(n);	Writeln('введите элементы');	For i:=1 to n do		Read(a[i]);	a[n+1]:=5;	k:=1;	while (a[k]

Слайд 36Тестирование
Запустите программу и введите значение
n=5
2 7 21 3 4
Проверьте, результат

должен быть следующим:
элемент 3 стоит на месте 4

ТестированиеЗапустите программу и введите значение			n=5			2 7 21 3 4Проверьте, результат должен быть следующим:			элемент 3 стоит на месте

Слайд 37Вопросы
Какой ответ выдаст программа, если в массиве несколько элементов, удовлетворяющих

условию задачи? Почему?
Что нужно изменить в программе, чтобы выдавался

не первый из найденных элементов, а последний?
Измените условие цикла while, так чтобы использовалась логическая операция not.
ВопросыКакой ответ выдаст программа, если в массиве несколько элементов, удовлетворяющих условию задачи? Почему? Что нужно изменить в

Слайд 38Подсчет количества элементов с заданными свойствами
В заданном линейном массиве посчитать

количество элементов, равных заданному числу x.

Подсчет количества элементов с заданными свойствамиВ заданном линейном массиве посчитать количество элементов, равных заданному числу x.

Слайд 39Определение исходных данных и результатов
Исходные данные:
Переменная n - количество

элементов в массиве,
Переменная a – линейный массив.
Переменная х

– искомое число
Результат:
Переменная k количество элементов;
Если k=0, то таких элементов в массиве нет.


Определение исходных данных и результатовИсходные данные: Переменная n - количество элементов в массиве, Переменная a – линейный

Слайд 40Алгоритм решения задачи.
Ввод исходных данных.
Для решения задачи воспользуемся алгоритмом линейного

поиска.
До просмотра элементов массива k=0.
Будем просматривать элементы с

начала.
Как только элемент найден, увеличим значение k.
Проверка значения k.
Вывод результата.
Алгоритм решения задачи. Ввод исходных данных.Для решения задачи воспользуемся алгоритмом линейного поиска. До просмотра элементов массива k=0.

Слайд 41Описание переменных
Массив целых чисел (а),
переменные типа integer
количество элементов (n),
искомое

число (x),
количество найденных (k),
текущий элемент (i);


Описание переменныхМассив целых чисел (а), переменные типа integerколичество элементов (n),искомое число (x), количество найденных (k), текущий элемент

Слайд 42Программа
Var i,k,n,x: integer;
a: array [1..20] of integer;
Begin
Writeln('введите количество элементов в

массиве');
Readln(n);
Writeln('введите элементы');
For i:=1 to n do
Read(a[i]);
Writeln('введите число х');
Readln(x);
k:=0;
for i:=1 to

n do
if a[i]=x then
k:=k+1;
if k=0 then
writeln('в массиве нет таких элементов')
else
writeln('в массиве ',k,' элементов =',x);
End.
ПрограммаVar 	i,k,n,x: integer;	a: array [1..20] of integer;Begin	Writeln('введите количество элементов в массиве');	Readln(n);	Writeln('введите элементы');	For i:=1 to n do		Read(a[i]);	Writeln('введите число

Слайд 43Тестирование
Запустите программу и введите значение
n=5
введите элементы
2 2 3 2 4
введите

число х
2
Проверьте, результат должен быть следующим:
в массиве 3 элементов =2

ТестированиеЗапустите программу и введите значение		n=5	введите элементы		2 2 3 2 4	введите число х		2	Проверьте, результат должен быть следующим:	в массиве

Слайд 44Вопросы
Какие изменения нужно внести в программу, что бы находили не

только количество элементов, равных х, но их сумму.
Предложите разные способы.
Определите,

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

Слайд 45Нахождение максимального (минимального) элемента массива
В заданном линейном массиве определить, какой

из элементов минимальный или максимальный встречается раньше.

Нахождение максимального (минимального) элемента массиваВ заданном линейном массиве определить, какой из элементов минимальный или максимальный встречается раньше.

Слайд 46Определение исходных данных и результатов
Исходные данные:
Переменная n - количество

элементов в массиве,
Переменная a – линейный массив.
Результат:
Текстовый

ответ – минимальный встречается раньше или максимальный встречается раньше.
Определение исходных данных и результатовИсходные данные: Переменная n - количество элементов в массиве, Переменная a – линейный

Слайд 47Алгоритм решения задачи.
Ввод исходных данных.
Для решения задачи воспользуемся
Найдем минимальный

элемент массива (min) и его номер (nmin)
Найдем максимальный элемент массива

(max) и его номер (nmax)
Сравним значения номера максимального и номера минимального элементов
Вывод результата.
Алгоритм решения задачи.Ввод исходных данных.Для решения задачи воспользуемся Найдем минимальный элемент массива (min) и его номер (nmin)Найдем

Слайд 48Описание переменных
Переменная n имеет тип integer
Переменная а имеет тип array
Элементы

массива имеют тип integer.
Переменные min, max, nmin, nmax имеют

тип integer.
Для работы также необходима переменная i типа integer – счетчик цикла.
Описание переменныхПеременная n имеет тип integerПеременная а имеет тип arrayЭлементы массива имеют тип integer. Переменные min, max,

Слайд 49Программа
Var i,k,n,nmin,nmax,min,max,r: integer;
a: array [1..20] of integer;
Begin
Writeln('введите количество элементов

в массиве');
Readln(n);
Writeln('введите элементы');
For i:=1 to n do
Read(a[i]);
{поиск минимального

элемента}
min:=a[1]; nmin:=1;
for i:=2 to n do
if a[i] begin
min:=a[i];
nmin:=i;
end;
{поиск максимального элемента}
max:=a[1]; nmax:=1;
for i:=2 to n do
if a[i]>max then
begin
max:=a[i];
nmax:=i;
end;
if nmin writeln('минимальный встретился раньше')
else
writeln('максимальный встретился раньше')
End.

Программа Var 	i,k,n,nmin,nmax,min,max,r: integer;	a: array [1..20] of integer;Begin	Writeln('введите количество элементов в массиве');	Readln(n);	Writeln('введите элементы');	For i:=1 to n do

Слайд 50Тестирование
Запустите программу и введите значение
n=5
введите элементы
2 5 1 3

4
Проверьте, результат должен быть следующим:
максимальный встретился раньше

Тестирование Запустите программу и введите значение		n=5	введите элементы		2 5 1 3 4Проверьте, результат должен быть следующим:	максимальный встретился раньше

Слайд 51Вопросы
Какой результат выдаст программа, если ввести все элементы, равные 3?

Почему?
Внесите в программу изменения, чтобы ответ был верным.
Можно ли получить

ответ не храня значения минимального и максимального элементов в соответствующих переменных? Как это сделать?
ВопросыКакой результат выдаст программа, если ввести все элементы, равные 3? Почему?Внесите в программу изменения, чтобы ответ был

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

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

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

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


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

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