ПРЕЗЕНТАЦИЯ НА ТЕМУ Массивы

  • ppt
  • 10.11.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 664148.ppt

Массивы.

Понятие массива.
Заполнение массива.
Печать массива.
План программы

Понятие массива.

Массив – это совокупность данных, объединенных общим свойством. Например, список класса, температура за месяц.

10

12

8

10

9

8

Например, температура воздуха за неделю.

1

2

4

3

9

4

16

Например, значение функции y=x2

x y

Строки нумеруются сверху вниз, столбцы слева направо.

Объявление массива.

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

VAR <имя массива>:ARRAY[<нижняя граница>..<верхняя граница>] OF <тип> …

Например, var A: array[1..4] of integer;

Обращение к любому элементу массива происходит по его номеру.

1

2

3

4

В оглавление

T: array [1..30] of real;

T[4]:=4;

Способы заполнения массива

С помощью команды «присвоить».
С помощью команды ввода данных с клавиатуры.
Датчиком случайных чисел.

В оглавление

Заполнение массива с помощью команды «присвоить».

10

12

8

10

9

8

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

Аксенов

Бобров

Веснин

Гончаров

Давыдов

TEMP: array [1..7] of integer;

SP: array [1..5] of string;

BEGIN TEMP[1]:=10; TEMP[2]:=12; TEMP[3]:=8; TEMP[4]:=10; TEMP[5]:=9; TEMP[6]:=8; TEMP[7]:=8;

BEGIN SP[1]:=‘Аксенов’; SP[2]:=‘Бобров’; SP[3]:=‘Веснин’; SP[4]:=‘Гончаров’; SP[5]:=‘Давыдов’;

Заполнение массива вводом с клавиатуры

Наиболее распространенный способ заполнения массива. Используется, когда для разных таблиц необходимо произвести одни операции (поиск, замена,…).

Показ программы

BEGIN for i:=1 to 7 do begin write(‘Введите ‘,i,’температуру ‘); readln(TEMP[i]);
end;

BEGIN for i:=1 to 5 do begin write(‘Введите ‘,i,’ученика ‘); readln(SP[i]);
end;

Заполнение массива датчиком случайных чисел

Этот способ заполнения используется тогда, когда важно не нахождение результата работы программы, а сам процесс (правильность алгоритма).

RANDOM(N) – вещественное число из [0,N); TRUNC(RANDOM(N))- целое число из [0,N) TRUNC(RANDOM(N)+1)– целое число из [0,N] TRUNC(RANDOM(B-A)+A)– целое число из [A,B)

Показ программы

BEGIN for i:=1 to 7 do begin TEMP [i]:= trunc(random(10));
end;

Печать линейного массива.

Линейную таблицу можно распечатать на экране в строчку или в столбик.

Показ программы

Показ программы

For i:=1 to 7 do begin write (TEMP[i] :5);
end;

For i:=1 to 7 do
begin
writeln(TEMP[i]);
end;

План программы для работы с массивами.

В оглавление

Program Task;
Uses Crt;
const n=….; (количество элементов массива)
var
<имя массива>: array [1..n] of <тип>;
i:integer;………….
BEGIN
writeln(‘Программу составили...');
{заполнение массива одним из способов}
for i:=1 to n do
begin
……
end;
{Печать массива одним из способов}
for i:=1 to n do
begin
…….
end;
Команды обработки массива
Вывод результата
END.

Program Summa;
const n=7;
var a:array [1..n] of real;
S:real;
i:integer;
begin
write (‘введите 7 элементов массива, через пробел’);
For i:=1 to n do
readln(a[i]);
S:=0;
For i:=1 to n do
S:=S+a[i];
writeln;
write(‘Сумма всех элементов массива =’,S);
end.

Вычисление суммы элементов массива

Вычисление наибольшего элемента массива

Вычисление наибольшего элемента массива

самый большой

Вычисление наибольшего элемента массива

max

Вычисление наибольшего элемента массива

Вычисление наибольшего элемента массива

Вычисление наибольшего элемента массива

max

Вычисление наибольшего элемента массива

max

Вычисление наибольшего элемента массива

max

Program maxsimum;
const n=10;
var a:array [1..n] of integer;
max,i:integer;
begin

ВВОД ЭЛЕМЕНТОВ МАССИВА;

max:=a[1];
for i:=2 to n do
if maxwriteln;
write(' наибольший элемент массива = ',max);
end.

Вычисление наибольшего элемента массива

В массив A[N] занесены натуральные числа. Найти сумму тех элементов, которые кратны данному К.

Задание 3

Решение задания 3

Соnst n=20;
var a:array [1..n] of integer;
s,I,k: integer;
Begin
randomize;
write(' Введите К ');
read(k);
for i:=1 to n do begin
a[i]:=random(20);
write(a[i], ' '); end; s:=0;
for i:=1 to n do
if a[i] mod k=0 then s:=s+a[i];
write(‘s=’,s);
end.

Задание 4

Дана последовательность действительных чисел а1, а2,..., аn. Выяснить, будет ли она возрастающей.

Решение задания 4

Program mm;
const n=5;
var a: array [1..n] of integer;
i, k: integer;
Begin
for i:=1 to n do
Read(a[i]);
for i:=1 to n-1 do
if a[i] < a[i+1] then k:=k+1;
If k=4 then write('последовательность возрастающая ') else write(' последовательность не возрастающая ') ;
end.

Задание 5

Даны действительные числа а1, а2,..., аn. Поменять местами наибольший и наименьший элементы.

Решение задания 5

const n=20;
var a:array [1..n] of integer;
Nmax, Nmin, i, k : integer;
Begin
for i:=1 to n do begin
a[i]:=random(20);
write(a[i], ' '); end;
Nmax:=1; Nmin:=1;
for i:=2 to n do begin
if a[Nmax]if a[Nmin]>a[i] then Nmin:=i; End;
K:= a[Nmax]; writeln;
a[Nmax]:=a[Nmin];
a[Nmin] :=k;
for i:=1 to n do write(a[i], ‘ ‘);
end.

Задание 6

Дана последовательность натуральных чисел а1, а2,..., аn. Создать массив из четных чисел этой последовательности. Если таких чисел нет, то вывести сообщение об этом факте.

Решение задания 6

Program mm;
Соnst n=20;
var a, b: array [1..n] of integer;
I, k: integer;
Begin
randomize;
for i:=1 to n do begin
a[i]:=random(20);
write(a[i], ' '); end; K:=0; writeln;
for i:=1 to n do
if a[i] mod 2=0 then begin k:=k+1; b[k]:=a[i];
write(b[k], ' '); end;
If k=0 then write(‘ в последовательности нет четных чисел’);
end.

Домашнее задание

1. Дана последовательность действительных чисел а1, а2,..., аn. Заменить все ее члены, большие данного Z, этим числом. Подсчитать количество замен.

2. Дан массив действительных чисел, размерность которого N. Подсчитать, сколько в нем отрицательных, положительных и нулевых элементов.