🗊 Одномерные массивы Лекция №6

Категория: Информатика
Нажмите для полного просмотра!
  
  Одномерные массивы  Лекция №6  , слайд №1  
  Одномерные массивы  Лекция №6  , слайд №2  
  Одномерные массивы  Лекция №6  , слайд №3  
  Одномерные массивы  Лекция №6  , слайд №4  
  Одномерные массивы  Лекция №6  , слайд №5  
  Одномерные массивы  Лекция №6  , слайд №6  
  Одномерные массивы  Лекция №6  , слайд №7  
  Одномерные массивы  Лекция №6  , слайд №8  
  Одномерные массивы  Лекция №6  , слайд №9  
  Одномерные массивы  Лекция №6  , слайд №10  
  Одномерные массивы  Лекция №6  , слайд №11  
  Одномерные массивы  Лекция №6  , слайд №12  
  Одномерные массивы  Лекция №6  , слайд №13  
  Одномерные массивы  Лекция №6  , слайд №14  
  Одномерные массивы  Лекция №6  , слайд №15  
  Одномерные массивы  Лекция №6  , слайд №16  
  Одномерные массивы  Лекция №6  , слайд №17  
  Одномерные массивы  Лекция №6  , слайд №18  
  Одномерные массивы  Лекция №6  , слайд №19  
  Одномерные массивы  Лекция №6  , слайд №20  
  Одномерные массивы  Лекция №6  , слайд №21  
  Одномерные массивы  Лекция №6  , слайд №22  
  Одномерные массивы  Лекция №6  , слайд №23  
  Одномерные массивы  Лекция №6  , слайд №24  
  Одномерные массивы  Лекция №6  , слайд №25  
  Одномерные массивы  Лекция №6  , слайд №26  
  Одномерные массивы  Лекция №6  , слайд №27  
  Одномерные массивы  Лекция №6  , слайд №28  
  Одномерные массивы  Лекция №6  , слайд №29  
  Одномерные массивы  Лекция №6  , слайд №30  
  Одномерные массивы  Лекция №6  , слайд №31  
  Одномерные массивы  Лекция №6  , слайд №32  
  Одномерные массивы  Лекция №6  , слайд №33  
  Одномерные массивы  Лекция №6  , слайд №34  
  Одномерные массивы  Лекция №6  , слайд №35  
  Одномерные массивы  Лекция №6  , слайд №36  
  Одномерные массивы  Лекция №6  , слайд №37

Содержание

Вы можете ознакомиться и скачать Одномерные массивы Лекция №6 . Презентация содержит 37 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

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


Слайд 1





Одномерные массивы
Лекция №6
Описание слайда:
Одномерные массивы Лекция №6

Слайд 2





План лекции
Понятие одномерного статического массива
Ввод – вывод элементов массива
Заполнение массива случайными числами
Нахождение суммы элементов
Объявление массивов с использованием раздела описания типов
Суммирование двух массивов
Определение числа элементов, удовлетворяющих некоторому условию
Нахождение индексов элементов с заданным свойством
Объединение двух массивов в один
Поиск максимального и минимального элементов массива
Удаление элементов массива
Включение элементов в массив
Перестановка элементов массива
Инвертирование массива
Формирование массива из элементов других массивов
Циклический сдвиг элементов массива
Описание слайда:
План лекции Понятие одномерного статического массива Ввод – вывод элементов массива Заполнение массива случайными числами Нахождение суммы элементов Объявление массивов с использованием раздела описания типов Суммирование двух массивов Определение числа элементов, удовлетворяющих некоторому условию Нахождение индексов элементов с заданным свойством Объединение двух массивов в один Поиск максимального и минимального элементов массива Удаление элементов массива Включение элементов в массив Перестановка элементов массива Инвертирование массива Формирование массива из элементов других массивов Циклический сдвиг элементов массива

Слайд 3





Одномерный массив
Статический массив – упорядоченная последовательность фиксированного количества переменных одного типа, имеющая общее имя.

Описание массива:
<идентификатор>: array [<диапазон индексов>] of <тип элементов>;
Описание слайда:
Одномерный массив Статический массив – упорядоченная последовательность фиксированного количества переменных одного типа, имеющая общее имя. Описание массива: <идентификатор>: array [<диапазон индексов>] of <тип элементов>;

Слайд 4





Пример объявления массива
Описание слайда:
Пример объявления массива

Слайд 5





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

Слайд 6





Ввод – вывод элементов массива
Var
	a : array [1..10] of integer;
	i : integer;
Begin
writeln (‘ Заполнение элементов целочисленного массива A[10] ‘);
for i:=1 to 10 do 
	begin
	write (‘a[‘, i , ‘] =‘);
	read (a[ i ]);
	end;
writeln (‘В памяти компьютера сформирован массив с элементами’);
for i:=1 to 10 do
	write (a[ i ]:6);
End.
Описание слайда:
Ввод – вывод элементов массива Var a : array [1..10] of integer; i : integer; Begin writeln (‘ Заполнение элементов целочисленного массива A[10] ‘); for i:=1 to 10 do begin write (‘a[‘, i , ‘] =‘); read (a[ i ]); end; writeln (‘В памяти компьютера сформирован массив с элементами’); for i:=1 to 10 do write (a[ i ]:6); End.

Слайд 7





Генерация случайных чисел
random(n) – функция генерации случайного числа в диапазоне от 0 до n-1.
Примеры :
x:=random(11);
у:=random (101)-50;
z:=random (51)-100;
k:=random(21)+80;
randomize – функция позволяющая генерировать случайные числа различными при каждом запуске программы.
Описание слайда:
Генерация случайных чисел random(n) – функция генерации случайного числа в диапазоне от 0 до n-1. Примеры : x:=random(11); у:=random (101)-50; z:=random (51)-100; k:=random(21)+80; randomize – функция позволяющая генерировать случайные числа различными при каждом запуске программы.

Слайд 8





Ввод – вывод элементов массива
Генерация элементов массива случайными числами.
Var
	a : array [1..15] of integer;
	i : integer;
Begin
randomize;
writeln (‘Элементы целочисленного массива A[15] сформированные случайными числами диапазона от -100 до 100.‘);
for i:=1 to 15 do 
	begin
	a[ i ]:=random(201)-100;
	write (a[ i ]:6);
	end
End.
Описание слайда:
Ввод – вывод элементов массива Генерация элементов массива случайными числами. Var a : array [1..15] of integer; i : integer; Begin randomize; writeln (‘Элементы целочисленного массива A[15] сформированные случайными числами диапазона от -100 до 100.‘); for i:=1 to 15 do begin a[ i ]:=random(201)-100; write (a[ i ]:6); end End.

Слайд 9





Нахождение суммы элементов массива
Для получения суммы элементов одномерного статического массива необходимо подготовить ячейку для накопления в нее суммы, предварительно обнулить ее значение. После чего, перебирая в цикле все элементы массива, увеличивать ее значение на величину значения каждого i-го элемента.
Описание слайда:
Нахождение суммы элементов массива Для получения суммы элементов одномерного статического массива необходимо подготовить ячейку для накопления в нее суммы, предварительно обнулить ее значение. После чего, перебирая в цикле все элементы массива, увеличивать ее значение на величину значения каждого i-го элемента.

Слайд 10





Нахождение суммы элементов массива
Var
	a : array [1..20] of integer;
	s, i : integer;
Begin
writeln (‘ Заполнение элементов целочисленного массива A[20] ‘);
for i:=1 to 20 do 
	begin
	write (‘a[‘, i , ‘] =‘);
	read (a[ i ]);
	end;
s:=0;
for i:=1 to 20 do
	s:=s+a[ i ];
writeln (‘s=‘,s)
End.
Описание слайда:
Нахождение суммы элементов массива Var a : array [1..20] of integer; s, i : integer; Begin writeln (‘ Заполнение элементов целочисленного массива A[20] ‘); for i:=1 to 20 do begin write (‘a[‘, i , ‘] =‘); read (a[ i ]); end; s:=0; for i:=1 to 20 do s:=s+a[ i ]; writeln (‘s=‘,s) End.

Слайд 11





Объявление массивов с использованием раздела описания типов
Пример объявления массива :
Var 
		a : array [1..50] of real;
		b,c : array [1..20] of integer;
…
Аналогичное описание массивов с использованием раздела описания типов:
Type
	mas1=array[1..50] of real;
	mas2=array[1..20] of integer;
Var
	a : mas1;
	b,c : mas2;
…
Описание слайда:
Объявление массивов с использованием раздела описания типов Пример объявления массива : Var a : array [1..50] of real; b,c : array [1..20] of integer; … Аналогичное описание массивов с использованием раздела описания типов: Type mas1=array[1..50] of real; mas2=array[1..20] of integer; Var a : mas1; b,c : mas2; …

Слайд 12





Суммирование двух одномерных массивов
Данный алгоритм подразумевает формирование элементов массива по заданным элементам двух массивов, где каждое очередное значение получаемого массива равно сумме соответствующих элементов заданных массивов по индексом получаемого элемента. Т.е. c[i]=a[i]+b[i].
Описание слайда:
Суммирование двух одномерных массивов Данный алгоритм подразумевает формирование элементов массива по заданным элементам двух массивов, где каждое очередное значение получаемого массива равно сумме соответствующих элементов заданных массивов по индексом получаемого элемента. Т.е. c[i]=a[i]+b[i].

Слайд 13





Суммирование двух одномерных массивов
Type
	massiv=array[1..10] of integer;
Var
	a , b, c: massiv;
	i : integer;
Begin
randomize;
writeln (‘ Массив A ‘);
for i:=1 to 10 do 
	begin
	a[ i ]:=random(51);
	write (a[ i ]:5);
	end;
Описание слайда:
Суммирование двух одномерных массивов Type massiv=array[1..10] of integer; Var a , b, c: massiv; i : integer; Begin randomize; writeln (‘ Массив A ‘); for i:=1 to 10 do begin a[ i ]:=random(51); write (a[ i ]:5); end;

Слайд 14





Изменение значений некоторых элементов массива
Рассмотрим задачу замены отрицательных элементов на противоположные по знаку.
Описание слайда:
Изменение значений некоторых элементов массива Рассмотрим задачу замены отрицательных элементов на противоположные по знаку.

Слайд 15





Изменение значений некоторых элементов массива
Const
	n=20;
Var
	a : array [1..n] of integer;
	 i : integer;
Begin
writeln (‘ Заполнение элементов целочисленного массива A[‘,n,’] ‘);
for i:=1 to n do 
	begin
	write (‘a[‘, i , ‘] =‘);
	read (a[ i ]);
	end;
for i:=1 to n do
	if a[ i ]<0 then
		a[ i ]:=-a[ i ];
wreteln (‘Массив A с замененными отрицательными эл-ми’);
for i:=1 to n do
	write (a[ i ]:5)
End.
Описание слайда:
Изменение значений некоторых элементов массива Const n=20; Var a : array [1..n] of integer; i : integer; Begin writeln (‘ Заполнение элементов целочисленного массива A[‘,n,’] ‘); for i:=1 to n do begin write (‘a[‘, i , ‘] =‘); read (a[ i ]); end; for i:=1 to n do if a[ i ]<0 then a[ i ]:=-a[ i ]; wreteln (‘Массив A с замененными отрицательными эл-ми’); for i:=1 to n do write (a[ i ]:5) End.

Слайд 16





Определение числа элементов, удовлетворяющих заданному условию
Для решения такой задачи необходимо задать условие и в цикле перебирая все элементы массива, в случае выполнения данного условия увеличивать значение некоторой переменной k на единицу. До цикла перебора всех элементов, необходимо значение k обнулить. Решим задачу для определения в массиве количества элементов меньших заданного числа Т.
Описание слайда:
Определение числа элементов, удовлетворяющих заданному условию Для решения такой задачи необходимо задать условие и в цикле перебирая все элементы массива, в случае выполнения данного условия увеличивать значение некоторой переменной k на единицу. До цикла перебора всех элементов, необходимо значение k обнулить. Решим задачу для определения в массиве количества элементов меньших заданного числа Т.

Слайд 17





Определение числа элементов, удовлетворяющих заданному условию
Type
	massiv=array[1..20] of real;
Var
	a : massiv;
	t : real;
	k,i : integer;
Begin
writeln (‘ Введите элементы 
массива A ‘);
for i:=1 to 20 do 
	begin
	write (‘a[‘, i , ‘] =‘);
	read (a[ i ]);
	end;
Описание слайда:
Определение числа элементов, удовлетворяющих заданному условию Type massiv=array[1..20] of real; Var a : massiv; t : real; k,i : integer; Begin writeln (‘ Введите элементы массива A ‘); for i:=1 to 20 do begin write (‘a[‘, i , ‘] =‘); read (a[ i ]); end;

Слайд 18





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

Слайд 19





Нахождение индексов элементов с заданным свойством
Сonst
	n=10;
Type
	massiv=array[1..n] of integer;
Var
	a : massiv;
	i: integer;
Begin
writeln (‘ Введите элементы 
массива A ‘);
for i:=1 to n do 
	begin
	write (‘a[‘, i , ‘] =‘);
	read (a[ i ]);
	end;
for i:=1 to n do 
	if a[ i ] mod 2=0 then
		write (i:4);	
End.
Описание слайда:
Нахождение индексов элементов с заданным свойством Сonst n=10; Type massiv=array[1..n] of integer; Var a : massiv; i: integer; Begin writeln (‘ Введите элементы массива A ‘); for i:=1 to n do begin write (‘a[‘, i , ‘] =‘); read (a[ i ]); end; for i:=1 to n do if a[ i ] mod 2=0 then write (i:4); End.

Слайд 20





Объединение двух массивов в один
Задачи по объединению массивов в один имеют различные способы решения. Общим является то, что при формировании элементов объединяемого массива, его значения индексов не будут совпадать со значениями индексов массивов, используемых для объединения.  Поэтому основной и главной задачей становится описание закономерности формирования объединенного массива. Например, требуется получить массив С включая элементы массива А и B  чередованием : a1;b1;a2;b2……
Описание слайда:
Объединение двух массивов в один Задачи по объединению массивов в один имеют различные способы решения. Общим является то, что при формировании элементов объединяемого массива, его значения индексов не будут совпадать со значениями индексов массивов, используемых для объединения. Поэтому основной и главной задачей становится описание закономерности формирования объединенного массива. Например, требуется получить массив С включая элементы массива А и B чередованием : a1;b1;a2;b2……

Слайд 21





Объединение двух массивов в один
Type
	mas1=array[1..10] of integer;
	mas2=array[1..20] of integer;
Var
	a, b : mas1;
	c : mas2;
	i : integer;
Begin
randomize;
writeln (‘ Массив A ‘);
for i:=1 to 10 do 
	begin
	a[ i ]:=random(51);
	write (a[ i ]:5);
	end;
Описание слайда:
Объединение двух массивов в один Type mas1=array[1..10] of integer; mas2=array[1..20] of integer; Var a, b : mas1; c : mas2; i : integer; Begin randomize; writeln (‘ Массив A ‘); for i:=1 to 10 do begin a[ i ]:=random(51); write (a[ i ]:5); end;

Слайд 22





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

Слайд 23





Поиск минимального элемента одномерного массива
Type
	mas=array[1..20] of integer;
Var
	a : mas;
	min, i : integer;
Begin
randomize;
writeln (‘ Массив  ‘);
for i:=1 to 10 do 
	begin
	a[ i ]:=random(101)-50;
	write (a[ i ]:6);
	end;
min:=a[1];
for i:=2 to 20 do 
       if  a[ i ] < min then
	          min:=a[ i ];
writeln (min)
End.
Описание слайда:
Поиск минимального элемента одномерного массива Type mas=array[1..20] of integer; Var a : mas; min, i : integer; Begin randomize; writeln (‘ Массив ‘); for i:=1 to 10 do begin a[ i ]:=random(101)-50; write (a[ i ]:6); end; min:=a[1]; for i:=2 to 20 do if a[ i ] < min then min:=a[ i ]; writeln (min) End.

Слайд 24





Удаление элементов массива
Удалить элемент в статическом массиве - невозможно. Поэтому используют перемещение всех элементов, начиная с "удаляемого", записывая на их место следующие (i+1) элементы. Вводят так же переменную, которая обозначает индекс последнего элемента и  при каждом шаге удаления элемента ее уменьшают на 1. Рассмотрим задачу на удаление всех отрицательных элементов массива.
Описание слайда:
Удаление элементов массива Удалить элемент в статическом массиве - невозможно. Поэтому используют перемещение всех элементов, начиная с "удаляемого", записывая на их место следующие (i+1) элементы. Вводят так же переменную, которая обозначает индекс последнего элемента и при каждом шаге удаления элемента ее уменьшают на 1. Рассмотрим задачу на удаление всех отрицательных элементов массива.

Слайд 25





Удаление элементов массива
Type
	mass=array[1..20] of real;
Var
	a: mass;
	i, j, m : integer;
Begin
randomize;
writeln (‘ Массив A ‘);
for i:=1 to 20 do 
	begin
	a[ i ]:=(random(201)-80)/(random(100)+1);
	write (a[ i ]:6:2);
	end;
m:=20;
for i:=1 to 20 do 
	begin
	if a[ i ]<0 then
Описание слайда:
Удаление элементов массива Type mass=array[1..20] of real; Var a: mass; i, j, m : integer; Begin randomize; writeln (‘ Массив A ‘); for i:=1 to 20 do begin a[ i ]:=(random(201)-80)/(random(100)+1); write (a[ i ]:6:2); end; m:=20; for i:=1 to 20 do begin if a[ i ]<0 then

Слайд 26





Включение элементов массива
Включить элемент в статический массив так же невозможно. Поэтому изначально размер массива должен быть больше на количество предполагаемых элементов для включения в массив. При включении элемента следует в цикле перебирать элементы от последнего элемента до индекса, куда будет включен элемент и переписывать значения текущего (i-го) элемента на место последующего (i+1). Следует так же ввести переменную для хранения индекса последнего элемента, которую при каждом включении увеличивают на 1. Рассмотрим задачу на включение значения T в массив, которое должно располагаться за максимальным элементом массива.
Описание слайда:
Включение элементов массива Включить элемент в статический массив так же невозможно. Поэтому изначально размер массива должен быть больше на количество предполагаемых элементов для включения в массив. При включении элемента следует в цикле перебирать элементы от последнего элемента до индекса, куда будет включен элемент и переписывать значения текущего (i-го) элемента на место последующего (i+1). Следует так же ввести переменную для хранения индекса последнего элемента, которую при каждом включении увеличивают на 1. Рассмотрим задачу на включение значения T в массив, которое должно располагаться за максимальным элементом массива.

Слайд 27





Включение элементов массива
Type
	mass=array[1..21] of real;
Var
	a: mass;
	i, j , i_max : integer;
	t, max : real;
Begin
randomize;
writeln (‘ Массив A ‘);
for i:=1 to 20 do 
	begin
	a[ i ]:=(random(201)-80)/(random(100)+1);
	write (a[ i ]:6:2);
	end;
readln (t);
max:=a[1];
i_max:=1;
for i:=2 to 20 do 
	if a[ i ]>max then
Описание слайда:
Включение элементов массива Type mass=array[1..21] of real; Var a: mass; i, j , i_max : integer; t, max : real; Begin randomize; writeln (‘ Массив A ‘); for i:=1 to 20 do begin a[ i ]:=(random(201)-80)/(random(100)+1); write (a[ i ]:6:2); end; readln (t); max:=a[1]; i_max:=1; for i:=2 to 20 do if a[ i ]>max then

Слайд 28





Перестановка элементов массива
Алгоритм перестановки элементов (обмена значениями) прост. Для его выполнения достаточно воспользоваться "временной" переменной, в которую сначала помещают значение первой переменной. Затем в первую переменную заносят значение второй (если не воспользоваться "временной" -  значение первой переменной будет потеряно). И сохраненное значение первой переменной во "временной" заносят во вторую переменную. Эту операцию образно можно сравнить с операцией по переливанию двух разных жидкостей из двух пробирок, воспользовавшись третьей - пустой пробиркой.
Описание слайда:
Перестановка элементов массива Алгоритм перестановки элементов (обмена значениями) прост. Для его выполнения достаточно воспользоваться "временной" переменной, в которую сначала помещают значение первой переменной. Затем в первую переменную заносят значение второй (если не воспользоваться "временной" - значение первой переменной будет потеряно). И сохраненное значение первой переменной во "временной" заносят во вторую переменную. Эту операцию образно можно сравнить с операцией по переливанию двух разных жидкостей из двух пробирок, воспользовавшись третьей - пустой пробиркой.

Слайд 29





Перестановка элементов массива
Рассмотрим задачу обмена максимального и минимального элементов местами.
Описание слайда:
Перестановка элементов массива Рассмотрим задачу обмена максимального и минимального элементов местами.

Слайд 30





Перестановка элементов массива
Type
	mass=array[1..20] of real;
Var
	a: mass;
	i , i_max, i_min : integer;
	max,  min,  tmp : real;
Begin
randomize;
writeln (‘ Массив A ‘);
for i:=1 to 20 do 
	begin
	a[ i ]:=(random(201)-80)/(random(100)+1);
	write (a[ i ]:6:2);
	end;
max:=a[1];
i_max:=1;
min:=a[1];
i_min:=1;
for i:=2 to 20 do 
     begin
Описание слайда:
Перестановка элементов массива Type mass=array[1..20] of real; Var a: mass; i , i_max, i_min : integer; max, min, tmp : real; Begin randomize; writeln (‘ Массив A ‘); for i:=1 to 20 do begin a[ i ]:=(random(201)-80)/(random(100)+1); write (a[ i ]:6:2); end; max:=a[1]; i_max:=1; min:=a[1]; i_min:=1; for i:=2 to 20 do begin

Слайд 31





Инвертирование массива
Инвертирование массива - это запись его элементов в обратном порядке. Для решения этой задачи можно воспользоваться другим массивом, в который можно записать элементы из данного массива в обратном порядке. Однако целесообразнее сделать это за наименьшее количество перестановок и не использовать дополнительного массива. Как это сделать? Можно двигаться от первого элемента до середины массива и менять местами первый элемент с последним, второй - с предпоследним и т.д. Получается что в цикле будут обмениваться элемент с i-м индексом с элементом у которого индекс равен n-i+1 , где n- индекс последнего элемента.
Описание слайда:
Инвертирование массива Инвертирование массива - это запись его элементов в обратном порядке. Для решения этой задачи можно воспользоваться другим массивом, в который можно записать элементы из данного массива в обратном порядке. Однако целесообразнее сделать это за наименьшее количество перестановок и не использовать дополнительного массива. Как это сделать? Можно двигаться от первого элемента до середины массива и менять местами первый элемент с последним, второй - с предпоследним и т.д. Получается что в цикле будут обмениваться элемент с i-м индексом с элементом у которого индекс равен n-i+1 , где n- индекс последнего элемента.

Слайд 32





Инвертирование массива
Var
	a: array [1..20] of real;
	i , n : integer;
	tmp : real;
Begin
randomize;
writeln (‘ Массив A ‘);
n:=20;
for i:=1 to n do 
	begin
	a[ i ]:=(random(201)-80)/(random(100)+1);
	write (a[ i ]:6:2);
	end;
for i:=1 to n div 2 do
  begin
	tmp:=a[ i ];
	a[ i ]:=a[ n-i+1 ];
	a[ n-i+1 ]:=tmp;
  end;
Описание слайда:
Инвертирование массива Var a: array [1..20] of real; i , n : integer; tmp : real; Begin randomize; writeln (‘ Массив A ‘); n:=20; for i:=1 to n do begin a[ i ]:=(random(201)-80)/(random(100)+1); write (a[ i ]:6:2); end; for i:=1 to n div 2 do begin tmp:=a[ i ]; a[ i ]:=a[ n-i+1 ]; a[ n-i+1 ]:=tmp; end;

Слайд 33





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

Слайд 34





Формирование массива из элементов другого массива
Var
	a,b: array [1..20] of real;
	i , n : integer;
	t : real;
Begin
randomize;
writeln (‘ Массив A ‘);
n:=20;
for i:=1 to n do 
	begin
	a[ i ]:=(random(201)-80)/(random(100)+1);
	write (a[ i ]:6:2);
	end;
readln (t);
j:=0;
for i:=1 to n do
  if a[ i ]>t then
		begin
		inc(j);
		b[ j ]:=a[ i ]
Описание слайда:
Формирование массива из элементов другого массива Var a,b: array [1..20] of real; i , n : integer; t : real; Begin randomize; writeln (‘ Массив A ‘); n:=20; for i:=1 to n do begin a[ i ]:=(random(201)-80)/(random(100)+1); write (a[ i ]:6:2); end; readln (t); j:=0; for i:=1 to n do if a[ i ]>t then begin inc(j); b[ j ]:=a[ i ]

Слайд 35





Циклический сдвиг элементов массива
Под циклическим сдвигом понимают перемещение элементов "по цепочке". Т.е. при сдвиге элементов вправо элемент находящийся на последнем месте в массиве становится на место первого с последующим сдвигом всех остальных элементов. И наоборот, при циклическом сдвиге влево - первый элемент переходит на место последнего с соответствующим перемещением всех элементов массива. При реализации таких алгоритмов следует помнить, что обход при перемещении циклическим сдвигом вправо начинают от последнего элемента, а при сдвиге влево с первого элемента. Для хранения данных в процессе перемещения элементов можно воспользоваться дополнительным массивом или же просто -  одной "временной" переменной.
Описание слайда:
Циклический сдвиг элементов массива Под циклическим сдвигом понимают перемещение элементов "по цепочке". Т.е. при сдвиге элементов вправо элемент находящийся на последнем месте в массиве становится на место первого с последующим сдвигом всех остальных элементов. И наоборот, при циклическом сдвиге влево - первый элемент переходит на место последнего с соответствующим перемещением всех элементов массива. При реализации таких алгоритмов следует помнить, что обход при перемещении циклическим сдвигом вправо начинают от последнего элемента, а при сдвиге влево с первого элемента. Для хранения данных в процессе перемещения элементов можно воспользоваться дополнительным массивом или же просто - одной "временной" переменной.

Слайд 36





Циклический сдвиг элементов массива влево на k позиций
Const
	n=20;
Var
	a: array [1..n] of real;
	i , j,  k : integer;
	tmp: real;
Begin
randomize;
writeln (‘ Массив A ‘);
for i:=1 to n do 
	begin
	a[ i ]:=(random(201)-80)/(random(100)+1);
	write (a[ i ]:6:2);
	end;
readln (k);
for i:=1 to k do
begin
tmp:=a[1];
Описание слайда:
Циклический сдвиг элементов массива влево на k позиций Const n=20; Var a: array [1..n] of real; i , j, k : integer; tmp: real; Begin randomize; writeln (‘ Массив A ‘); for i:=1 to n do begin a[ i ]:=(random(201)-80)/(random(100)+1); write (a[ i ]:6:2); end; readln (k); for i:=1 to k do begin tmp:=a[1];

Слайд 37


  
  Одномерные массивы  Лекция №6  , слайд №37
Описание слайда:



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