Презентация, доклад Решение задач. Массивы (подготовка к ЕГЭ)

Содержание

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

Слайд 1МБОУ СОШ с. Антоновка Завитинский р-он Амурская область

МАССИВЫ


Автор: Арефина Наталья Ильинична
Презентация (подготовка к

ЕГЭ)

МБОУ СОШ с. Антоновка Завитинский р-он Амурская областьМАССИВЫАвтор: Арефина Наталья ИльиничнаПрезентация (подготовка к ЕГЭ)

Слайд 2Тема : Одномерные массивы. Работа с элементами
В математике, экономике, информатике часто

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

Слайд 3Массив - совокупность конечного числа данных одного типа.

Массив обозначается одним

именем.
Всю совокупность действительных чисел 1.6, 14.9, -5.0, 8.5, 0.46 можно считать массивом и обозначить одним именем, например А.
Каждый элемент массива обозначается именем массива с индексом. Элементы массива упорядочены по значениям индекса.

В математике, как правило, индекс либо заключается в круглые скобки, либо указывается несколько ниже имени массива, например: А(1), А(2), А(3), А(4), А(5) или А1, А2, А3, А4, A5, или в общем виде {Ai} , где i =1, 2, 3, ..., n


Массив - совокупность конечного числа данных одного типа. Массив обозначается одним именем. Всю совокупность действительных чисел 1.6,

Слайд 4В языке Qbasic индекс заключается в круглые скобки.
В Turbo Pascal

7.0 в квадратные.
Для рассмотренного примера элементами массива А являются:
На QBasic А(1)=1.6, А(2)=14.9, А(3)= -5.0, А(4)=8.5, А(5)=0.46.
На Turbo Pascal 7.0 А[1]:=1.6, А[2]:=14.9, А[3]:= -5.0, А[4]:=8.5, А[5]:=0.46.
Таким образом - индекс определяет положение элемента массива данных относительно его начала.
Если в программе используется массив, то он должен быть описан.
В языке Qbasic индекс заключается в круглые скобки. В Turbo Pascal 7.0 в квадратные. Для рассмотренного примера

Слайд 5Форма описания имеет вид
DIM имя массива (n1 ТО n2)

AS тип элементов
Var имя массива: ARRAY [n1 .. n2 ] OF <тип элементов>;
DIM A(1 TO 1000) AS INTEGER Var a:array[1..1000] of integer;
Здесь n1, n2 — номер первого и последнего элементов массива соответственно.
В качестве типа элементов может использоваться любой тип данных, кроме файлового.
Если несколько массивов имеют одинаковый тип индексов и одинаковый базовый тип, то допускается в описании объединять массивы в список, например
DIM A(50, B(50), C(50) AS SINGLE Var А, В, С: ARRAY [1..50] OF REAL;
Здесь объявлено списком три массива А, В, С действительных чисел, каждый из которых содержит по 50 элементов ( от 1 до 50):
Форма описания имеет видDIM имя массива  (n1 ТО n2)

Слайд 6Нельзя путать понятия «индекс» и «тип индекса».
Тип индекса - только

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

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

Элементы массива могут стоять как в левой части оператора присваивания, так и в выражениях. Над элементами массива можно производить те же операции, которые допустимы для данных его базового типа. Если базовый тип есть INTEGER, то допустимы все операции над данными целого типа, включая и стандартные функции.
Нельзя путать понятия «индекс» и «тип индекса». Тип индекса - только в разделе описания массива, а индекс

Слайд 7Присвоение значений элементам массива
может происходить с помощью:

1. оператора INPUT:

оператора Read (Readln);
uses crt;
DEFINT I,N Var i,n:integer;
DIM A(10000) AS INTEGER a:array[1..10000] of integer;
Begin
CLS clrscr;
Определяем число элементов в массиве
INPUT “N=”;N write('Введ.Размер. массива ');readln(n);
Присвоение значений элементам массива может происходить с помощью:1. оператора INPUT:	     оператора Read (Readln);

Слайд 8Ввод элементов массива

FOR I=1 TO N for i:=1 to n do
begin
INPUT

A(I) write('a[',i,'] '); readln(a[i]);
END end;

Выводим на экран полученный массив

FOR I=1 TO N for i:=1 to n do
begin
PRINT A(I);” “; write(a[i],' ');
NEXT end;
readkey;
END end.
Ввод элементов массиваFOR I=1 TO N				for i:=1 to n do 					beginINPUT A(I)			     write('a[',i,']

Слайд 9Присвоение значений элементам массива может
происходить с помощью:
2. Оператора DATA:


описания элементов массива описания констант.
uses crt;
CONST N=5 Const n=5;
DATA 4,5,7,7,0 a:array[1..5] of integer= (4,5,7,7,0);
DEFINT I Var i:integer;
Begin
CLS clrscr;
Считываем и печатаем полученный массив
FOR I=1 TO N for i:=1 to n do begin
READ A(I):PRINT A(I);” “; write(a[i],' ');
NEXT end;
readkey;
END end.
Присвоение значений элементам массива может происходить с помощью:2. Оператора DATA:     описания элементов массива

Слайд 103. оператора присвоения
(для небольших массивов):
A(1)=10: A(2)=0:A(3)=2 а[1]:=10; a[2]:=0, … a[N]:=2;

После

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

Для получения случайных чисел воспользуемся следующей функцией
Функция RND [(x)] в QBasic

Функция RND [(x)] возвращает случайное число обычной точности в интервале от 0 до 1. Если аргумент опущен, возвращается следующее число из последовательности случайных чисел.
Для запуска генератора используйте RANDOMIZE TIMER.
3. оператора присвоения (для небольших массивов): A(1)=10: A(2)=0:A(3)=2	а[1]:=10; a[2]:=0, … a[N]:=2;После того, как данные введены в массив,

Слайд 11Функция Random [(x)] в TPascal 7.0

Формирует случайное число от

0 до Х целого или вещественного типа (перед обращением к функции ее целесообразно инициализировать, использовав процедуру Rаndomize).
X – параметр, указывающий диапазон значений случайного числа. Оно изменяется в пределах 0 до Х. Результат в этом случае имеет тип Word (диапазон значений - 0…65535).
Если параметр Х не задан, результат будет типа Real в пределах 0.0 <=Х <1.0.
Для получения массива целых случайных чисел из диапазона от [A,B]
RND(B-A)+A random(B-A)+A
Функция Random [(x)] в TPascal 7.0  Формирует случайное число от 0 до Х целого или вещественного

Слайд 12 Сформировать одномерный массив из N элементов, где элементы массива -

целые случайные числа в пределах от 1 до 45. Напечатать элементы массива в прямом и обратном порядке
Сформировать одномерный массив из N элементов, где элементы массива - целые случайные числа в пределах от

Слайд 14В предыдущей задаче переставить элементы, стоящие на нечетных местах, с соответствующими

элементами на четных местах.

После создания массива вставим строки:

В полученном массиве меняем соседние элементы.
I=1 i:=1;
Пока I<=N-1
WHILE I<=N-1 while i<=n-1 do begin
Меняем значения соседних элементов.
R=A(I):A(I)=A(I+1):A(I+1)=R r:=a[i];a[i]:=a[i+1];a[i+1]:=r;
Увеличиваем индекс на два.
I=I+2 inc(i,2);
WEND end;
Распечатываем измененный массив.

FOR I=1 TO N for i:=1 to n do begin
PRINT A(I);” “; write(a[i],' ');
NEXT end;
readkey;
END end.

QB

TP

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

Слайд 15Найти максимальный (минимальный) элемента массива, а также его порядковый номер.
После создания

массива вставим строки:
За начальный максимум (минимум) берем первый элемент массива.
MIN=A(1):MAX=A(1) min:=a[1]; max:=a[1];
FOR I=1 TO N for i:=1 to n do begin

Если найдется элемент меньший MIN, то MIN будет равен этому элементу.
Одновременно запоминаем индекс промежуточного минимума.

IF A(I)<=MIN THEN If a[i]<=min then begin
MIN=A(I):IMIN=I Min:=a[i]; imin:=i; end;
Если найдется элемент больший MAX, то MAX будет равен этому элементу.

QB

TP

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

Слайд 16Найти максимальный (минимальный) элемента массива, а также его порядковый номер.
Одновременно запоминаем

индекс промежуточного максимума.
IF A(I)>=MAX THEN if a[i]>= max then
MAX=A(I):IMAX=I begin max:=a[i]; imax:=i; end;
NEXT end;

Печатаем минимальный элемент и его индекс
PRINT MIN; ” номер “; IMIN writeln(min,' номер ',imin);

Печатаем максимальный элемент и его индекс.
PRINT MAX; ” номер “; IMAX writeln(max,' номер ',imax);
readkey;
END end.
Найти максимальный (минимальный) элемента массива, а также его порядковый номер.Одновременно запоминаем индекс промежуточного максимума.IF A(I)>=MAX THEN

Слайд 171. В предыдущей задаче найдите минимальный элемент среди отрицательных чисел и

максимальный элемент среди неотрицательных.

В условии на нахождение промежуточного минимума добавим условие A(I)<0
IF A(I)<=MIN AND A(I)<0 THEN if (a[i]<=min) and (a[i]<0 then
MIN=A(I):IMIN=I begin min:=a[i]; imin:=i; end;

В условии на нахождение промежуточного максимума добавим условие A(I)>=0
IF A(I)>=MAX AND A(I)>=0 THEN if (a[i]>= max) and (a[i]>=0) then
MAX=A(I):IMAX=I begin max:=a[i]; imax:=i; end;
1. В предыдущей задаче найдите минимальный элемент среди отрицательных чисел и максимальный элемент среди неотрицательных.В условии на

Слайд 18 В предыдущей задаче найдите максимальный элемент
среди отрицательных чисел и

минимальный элемент среди неотрицательных.

Достаточно ли изменить условие в строках?
IF A(I)<=MIN AND A(I) >=0 THEN if (a[i]<=min) and (a[i]>=0) then
MIN=A(I):IMIN=I begin min:=a[i];
imin:=i; end;

IF A(I)>=MAX AND A(I) < 0 THEN if (a[i]>= max) and (a[i]<0) then
MAX=A(I):IMAX=I begin
max:=a[i]; imax:=i;
end;

Ответ: нет, так как в этом случае мы неправильно задали начальный максимум и минимум. В случае, если первый элемент окажется положительным, то мы неправильно найдем максимум среди отрицательных элементов. Если первый элемент окажется отрицательным, то мы неправильно найдем минимум среди неотрицательных элементов.
В предыдущей задаче найдите максимальный элемент среди отрицательных чисел и минимальный элемент среди неотрицательных. Достаточно ли

Слайд 19Подсчитать количество четных элементов массива, заданного датчиком случайных чисел.
Prim19 program Prim19;
Uses crt;
DEFINT

I, K, N,R Var i,k,n,r:integer;
DIM A(I000) AS INTEGER a:array[1..10000] of integer;
Begin
CLS clrscr;
RANDOMIZE TIMER randomize;
INPUT “число элементов N=”;N write(' число элемен.n='); readln(n);
FOR I=1 TO N for i:=1 to n do begin
A(I)=RND*45-22 a[i]:=random(45)-22;
PRINT A(I);” “; write(a[i],' ');
Проверяем на четность и считаем количество четных элементов.
IF A(I) MOD 2 =0 THEN K=K+1 If a[i] mod 2=0 then inc(k,1);
NEXT End;
PRINT “K=”;K Write('к= ',k);
Readkey
END end.

QB

TP

Подсчитать количество четных элементов массива, заданного датчиком случайных чисел.Prim19					program Prim19;						Uses crt;DEFINT I, K, N,R			Var i,k,n,r:integer;DIM A(I000) AS

Слайд 20Подсчитать количество отрицательных и н6еотрицательных элементов массива, заданного датчиком случайных чисел
Prim2 program

prim2;
uses crt;
DEF A(1000) AS INTEGER var a:array [1..1000] of integer;
DEFINT I,K-L,N i,k,n,l:integer;
begin
RANDOMIZE TIMER randomize;
CLS clrscr;
INPUT “ число элементов N=”;N write('число элементов n=');readln(n);
FOR I=1 TO N for i:=1 to n do begin
A(I)=RND*45-22 a[i]:=random(45)-22;
PRINT A(I);” “; write(a[i],' ');
Подсчитать количество отрицательных и н6еотрицательных элементов массива, заданного датчиком случайных чиселPrim2					program prim2;						uses crt;DEF A(1000) AS INTEGER		var a:array

Слайд 21Сравниваем с нулем и считаем неотрицательные и отрицательные элементы

IF A(I)>=0

THEN K=К+1 if a[i]>=0 then k:=K+1
ELSE L=L+1 else L:=l+1;
NEXT end;
PRINT writeln;
PRINT “неотриц. =”;K,” writeln('неотриц.= ',k,'
отриц. =”;L отриц. =',l);
readln;
END end.

QB

TP

Сравниваем с нулем и считаем неотрицательные и отрицательные элементы IF A(I)>=0 THEN K=К+1 		if a[i]>=0 then k:=K+1

Слайд 22Произвести удаление элемента из одномерного массива, заданного датчиком случайных чисел.
После заполнения

массива вводим номер удаляемого элемента.
INPUT” номер удаляемого элем. write(' номер удал. элем. k=
FOR I=1 TO N-1 for i:=1 to n-1 do begin
Смещаем элементы массива к началу, начиная с К-го.
IF I>=K THEN A(I)=A(I+1) f i>=k then a[i]:=a[i+1];
NEXT end;
Обнуляем последний элемент
A(N)=0 a[n]:=0;
Выводим на экран измененный массив
FOR I=1 TO N-1 for i:=1 to n -1 do begin
PRINT A(I);” “; write(a[i],' ');
NEXT end;
readln;
END end.

QB

TP

Произвести удаление элемента из одномерного массива, заданного датчиком случайных чисел.		После заполнения массива вводим номер удаляемого элемента.	INPUT” номер

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

заполнения массива вводим индекс и значение вставляемого элемента.
INPUT “ ИНДЕКС <=N “;K write(' индекс <=N'); readln(k)
INPUT” значение R =”;R write(' значение R = '); readln(r);
Смещаем элементы к концу массива, начиная с К+1
FOR I=N+1 TO 1 STEP-1 for i:=n+1 downto 1 do begin
Произвести вставку элемента в одномерный массив, заданный датчиком случайных чисел. После заполнения массива вводим индекс и значение

Слайд 24IF I>K THEN A(I)=A(I-1) if i>k then a[i]:=a[i-1];
NEXT

end;
На какое место ставим введенный элемент?
A(K)=R a[k]:=r;
Выводим на экран измененный массив.
FOR I=1 TO N+1 for i:=1 to n +1 do begin
PRINT A(I);” “; write(a[i],' ');
NEXT end;
readln;
END end.

Домашнее задание
Что необходимо изменить в программе подсчета количества элементов, чтобы в К находилась сумма неотрицательных элементов, а в L произведение отрицательных элементов.

IF I>K THEN A(I)=A(I-1) 	 	if i>k then a[i]:=a[i-1];NEXT 				      end;

Слайд 25

Что необходимо изменить в программе подсчета количества элементов, чтобы в

К находилась сумма неотрицательных элементов, а в L произведение отрицательных элементов?

Для этого изменим строку, предварительно задав начальные значения К=0 и L=1.
IF A(I)>=0 THEN K=К+ A(I) if a[i]>=0 then k:= k + a[i]
ELSE L=L* A(I) else L:=l+ a[i];
Что необходимо изменить в программе подсчета количества элементов, чтобы в К находилась сумма неотрицательных элементов, а

Слайд 26Двумерные массивы
Массивы, положение элементов в которых описывается двумя индексами, называются двумерными.


Их можно представить в виде прямоугольной таблицы или матрицы.
Рассмотрим матрицу А размером 2*3, то есть в ней будет две строки, а в каждой строке по три элемента:
A= a11 a12 a13
a21 a22 a23
Двумерные массивыМассивы, положение элементов в которых описывается двумя индексами, называются двумерными. Их можно представить в виде прямоугольной

Слайд 27Каждый элемент имеет свой номер, как у одномерных массивов, но сейчас

номер уже состоит из двух чисел — номера строки, в которой находится элемент, и номера столбца.
Таким образом, номер элемента определяется пересечением строки и столбца.
Например, a12 — это элемент, стоящий в первой строке и во втором столбце.
Каждый элемент имеет свой номер, как у одномерных массивов, но сейчас номер уже состоит из двух чисел

Слайд 28Способы объявления двумерного массива
Способ 1
В Turbo Pascal 7.0 двумерный массив

можно описать как одномерный, элементами которого являются одномерные массивы. Например, для матрицы А, приведенной выше:
Const n =2; т=3;
Type. Mas1=Array[1..m] Of <тип элементов >; Mas2=Array[1..n] Of mas1;
Var v: mas1;
a: mas2;

В данном случае переменная v объявлена, как одномерный массив из трех элементов вещественного типа. Переменная а описана как двумерный массив из двух строк, в каждую из которых включено по три элемента.
Способы объявления двумерного массиваСпособ 1 В Turbo Pascal 7.0 двумерный массив можно описать как одномерный, элементами которого

Слайд 29Способ 2
Описание массива А можно сократить, исключив определение типа mas1 в

определении типа mas2:
Const n=2; m=3;
Type massiv = Array[1..n] Оf Array[1..m] Of <тип элементов>;
Var a: massiv.
Способ 2Описание массива А можно сократить, исключив определение типа mas1 в определении типа mas2:	Const n=2; m=3;	Type massiv

Слайд 30Способ 3
Еще более краткое описание массива А можно получить, указывая имя

массива и диапазоны изменения индексов для каждой размерности массива:
Const п=2; т=3;
Type massiv = Array[1..n,1..mJ Of ;
Var a: massiv.

Если указанный тип используется для определения одного массива в программе, то удобно объявление массива в разделе описания переменных:
Var a: Array[1..n,1..m] Of <тип элементов>.
Способ 3Еще более краткое описание массива А можно получить, указывая имя массива и диапазоны изменения индексов для

Слайд 31На языке QBasic двумерные массивы определяются аналогично, как и одномерные.
Например:
DIM

имя массива (n1 ТО n2,n3 TO n4) AS тип элементов

DIM A(1 TO 100, 1 TO 100) AS INTEGER
DIM A( 100, 100) AS INTEGER
если n1 =1, то номер можно не указывать.

Допускается в описании объединять массивы в список, например:
DIM A(50,40), B$(15,50), C%(50,11)
Здесь объявлено списком три массива А, В, С действительные, строковые и целые.
На языке QBasic двумерные массивы определяются аналогично, как и одномерные. Например:DIM имя массива (n1 ТО n2,n3 TO

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

Это сайт презентаций, где можно хранить и обмениваться своими презентациями, докладами, проектами, шаблонами в формате PowerPoint с другими пользователями. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами.


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

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

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

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