СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до 06.07.2025

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Презентация по информатике "Одномерные массивы"

Категория: Информатика

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

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

Просмотр содержимого документа
«Презентация по информатике "Одномерные массивы"»

ОДНОМЕРНЫЕ МАССИВЫ ЦЕЛЫХ ЧИСЕЛ НАЧАЛА ПРОГРАММИРОВАНИЯ

ОДНОМЕРНЫЕ МАССИВЫ ЦЕЛЫХ ЧИСЕЛ

НАЧАЛА ПРОГРАММИРОВАНИЯ

Массив Массив - это поименованная совокупность однотипных элементов, упорядоченных по индексам, определяющим положение элемента в массиве. Одномерный массив Индекс элемента массива Значение элемента массива 3 5 6 7 8 9 1 4 2 3 6 1 4 -2 0 -5 7 9 Решение разнообразных задач, связанных с обработкой массивов, базируется на решении таких типовых задач, как:  - суммирование элементов массива;  - поиск элемента с заданными свойствами;  - сортировка массива.

Массив

Массив - это поименованная совокупность однотипных элементов, упорядоченных по индексам, определяющим положение элемента в массиве.

Одномерный массив

Индекс элемента массива

Значение элемента массива

3

5

6

7

8

9

1

4

2

3

6

1

4

-2

0

-5

7

9

Решение разнообразных задач, связанных с обработкой массивов, базируется на решении таких типовых задач, как:

- суммирование элементов массива;

- поиск элемента с заданными свойствами;

- сортировка массива.

Описание массива Общий вид описания массива: var : array [ .. ] of ; Тип элементов массива Имя массива var a : array [1..10] of integer; Минимальное значение индекса Значение 1-го элемента массива Максимальное значение индекса const b : array [1..5] of integer = (4, 2, 3, 5, 7); Массив b  с постоянными значениями описан в разделе описания констант.

Описание массива

Общий вид описания массива:

var : array [ ..

] of ;

Тип элементов массива

Имя массива

var a : array [1..10] of integer;

Минимальное значение индекса

Значение 1-го элемента массива

Максимальное значение индекса

const b : array [1..5] of integer = (4, 2, 3, 5, 7);

Массив b с постоянными значениями описан в разделе описания констант.

Способы заполнения массива 1 способ . Ввод каждого значения с клавиатуры:  for i :=1 to 10 do  read (a[i]); 2 способ . С помощью оператора присваивания (по формуле):  for i :=1 to 10 do a[i]:=i; 3 способ . С помощью оператора присваивания (случайными числами):  randomize ;  for i:=1 to 10 do a[i]:=random(100); a[1]:=1 a[2]:=2 … a[10]:=10 Массив из 10 случайных чисел в диапазоне от 0 до 99

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

1 способ . Ввод каждого значения с клавиатуры:

for i :=1 to 10 do read (a[i]);

2 способ . С помощью оператора присваивания (по формуле):

for i :=1 to 10 do a[i]:=i;

3 способ . С помощью оператора присваивания (случайными числами):

randomize ;

for i:=1 to 10 do a[i]:=random(100);

a[1]:=1 a[2]:=2 … a[10]:=10

Массив из 10 случайных чисел в диапазоне от 0 до 99

Вывод массива 1 способ. Элементы массива можно вывести в строку, разделив их пробелом: for i:=1 to 10 do write (a[i], ' '); 45 21 56 43 83 56 69 34 28 15 2 способ . Вывод с комментариями: for i:=1 to 10 do write ('a[', i, ']=', a[i]); a[1]=4 a[2]=1 a[3]=6 a[4]=3 a[5]=8 a[6]=5 a[7]=9 a[8]=4 a[9]=8 a[10]=7

Вывод массива

1 способ. Элементы массива можно вывести в строку, разделив их пробелом:

for i:=1 to 10 do write (a[i], ' ');

45

21

56

43

83

56

69

34

28

15

2 способ . Вывод с комментариями:

for i:=1 to 10 do write ('a[', i, ']=', a[i]);

a[1]=4

a[2]=1

a[3]=6

a[4]=3

a[5]=8

a[6]=5

a[7]=9

a[8]=4

a[9]=8

a[10]=7

Заполнения массива случайными числами от 0 до 49 и вывод элементов массива через пробел  program   n1 ;   var  i: integer;  a: array[1..10] of  integer; b egin    for i:=1 to 10  do a[i] :=random( 5 0) ;  for i:=1 to  10  do  write (a[i] ,’ ’) ;    end .

Заполнения массива случайными числами от 0 до 49 и вывод элементов массива через пробел

program  n1 ; var i: integer;

a: array[1..10] of integer;

b egin  for i:=1 to 10 do a[i] :=random( 5 0) ;

for i:=1 to 10 do  write (a[i] ,’ ’) ;   end .

Вычисление суммы элементов массива Суммирование элементов массива осуществляется за счёт поочерёдного добавления слагаемых : Определяется ячейка памяти (переменная s ),  в которой будет последовательно накапливаться  результат суммирования Присваивается переменной s начальное значение 0 - число, не влияющее на результат сложения Для каждого элемента массива из переменной s считывается её текущее значение и складывается со значением элемента массива; полученный результат присваивается переменной s .

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

Суммирование элементов массива

осуществляется за счёт поочерёдного добавления слагаемых :

Определяется ячейка памяти (переменная s ),

в которой будет последовательно накапливаться

результат суммирования

Присваивается переменной s начальное значение 0

- число, не влияющее на результат сложения

Для каждого элемента массива из переменной s

считывается её текущее значение и складывается

со значением элемента массива;

полученный результат присваивается переменной s .

Вычисление суммы элементов массива Основной фрагмент программы:  s:=0;  for i:=1 to 10 do s:=s+a[i];

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

Основной фрагмент программы:

s:=0;

for i:=1 to 10 do s:=s+a[i];

Вычисление суммы элементов массива сумма индекс элемента массива program   n _ 2 ;  var  s, i: integer;  a: array[1..10] of  integer; b egin   s:=0;  for i:=1 to 10  do a[i] :=random( 5 0) ;  for i:=1 to  10  do    write (a[i] , ’ ’) ;  for i:=1 to 10 do s:=s+a[i];  writeln ('s=', s) ; end . Целые числа Массив а Целые числа Начальное значение суммы из 10 чисел Вводим массив из 10 чисел случайным образом от 0 до 49 Выводим массив на экран через пробел Находим сумму элементов массива Выводим ответ на экран

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

сумма

индекс элемента массива

program  n _ 2 ;

var s, i: integer;

a: array[1..10] of integer;

b egin 

s:=0;

for i:=1 to 10 do a[i] :=random( 5 0) ;

for i:=1 to 10 do   write (a[i] , ’ ’) ;

for i:=1 to 10 do s:=s+a[i];

writeln ('s=', s) ;

end .

Целые числа

Массив а

Целые числа

Начальное значение суммы

из 10 чисел

Вводим массив из 10 чисел случайным образом от 0 до 49

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

Находим сумму элементов массива

Выводим ответ на экран

Типовые задачи поиска  Определение наибольшего (наименьшего) элемента массива Определение элемента массива, значение которого равно заданному значению

Типовые задачи поиска

Определение наибольшего (наименьшего)

элемента массива

Определение элемента массива, значение

которого равно заданному значению

Нахождение наибольшего элемента в стопке карточек с записанными числами : 1) Взять верхнюю карточку, записать на доске (запомнить) число как наибольшее. 2) Взять следующую карточку, сравнить числа. Если на карточке число больше, то записать это число. Повторить действия, описанные в пункте 2 для всех оставшихся карточек При организации поиска  наибольшего элемента массива  правильнее искать его индекс. !

Нахождение наибольшего элемента

в стопке карточек с записанными числами :

1) Взять верхнюю карточку, записать на доске

(запомнить) число как наибольшее.

2) Взять следующую карточку, сравнить числа. Если

на карточке число больше, то записать это число.

Повторить действия, описанные в пункте 2 для всех

оставшихся карточек

При организации поиска наибольшего элемента массива правильнее искать его индекс.

!

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

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

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

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

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

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

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

max

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

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

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

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

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

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

max

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

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

max

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

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

max

max then max:=a[i]; writeln; write(‘ наибольший элемент массива = ’,max); readln; readln end. " width="640"

Программа поиска наибольшего элемента в массиве

Program maxsimum;

var a:array [1.. 10 ] of integer;

max, i: integer;

begin

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

max:=a[1];

for i:=2 to n do

if a[i]max then max:=a[i];

writeln;

write(‘ наибольший элемент массива = ’,max);

readln;

readln

end.

Нахождение элемента массива с заданными свойствами Результатом поиска элемента, значение которого равно заданному, может быть: n - индекс элемента массива такой, что a[n]= x , где х - заданное число;  сообщение о том, что искомого элемента в массиве не обнаружено. 10 50 1 3 50 14 21 50 10 21 Здесь: трём равен 4-й элемент; десяти равны 1-й и 9-й элементы; нет элемента, равного 12.

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

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

  • n - индекс элемента массива такой, что a[n]= x , где х - заданное число;
  • сообщение о том, что искомого элемента в массиве не обнаружено.

10

50

1

3

50

14

21

50

10

21

Здесь:

  • трём равен 4-й элемент;
  • десяти равны 1-й и 9-й элементы;
  • нет элемента, равного 12.
Поиск элемента, равного 50  program   n _4;  var  n, i: integer;   a: array[1..10] of  integer; b egin   for i:=1 to  10  do a[i] :=random(60) ;  for i:=1 to  10  do   write (a[i] , ’ ’) ;  n := 0;  for i:= 1 to 10 do  if a[i] =50  then  n :=i;  if n=0 then write( ’ Нет ’ ) else write (i) end . В программе найден последний из элементов, удовлетворяющих условию. 10 50 1 3 50 14 21 50 10 21

Поиск элемента, равного 50

program  n _4;

var n, i: integer;

a: array[1..10] of integer;

b egin 

for i:=1 to 10 do a[i] :=random(60) ;

for i:=1 to 10 do  write (a[i] , ’ ’) ;

n := 0;

for i:= 1 to 10 do

if a[i] =50 then n :=i;

if n=0 then write( ’ Нет ’ ) else write (i)

end .

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

10

50

1

3

50

14

21

50

10

21

Поиск элемента, равного 50  program   n _5;  var  n, i: integer;   a: array[1..10] of  integer; b egin   for i:=1 to  10  do a[i] :=random(60) ;  for i:=1 to  10  do  write (a[i] , ’ ’) ;  i := 0;   repeat  i:=i+1;  until (a[i]=50) or (i=10);  if a[i]=50 then write(i) else write(' Нет ') end . В программе найден первый из элементов, удовлетворяющих условию. 10 50 1 3 50 14 21 50 10 21

Поиск элемента, равного 50

program  n _5;

var n, i: integer;

a: array[1..10] of integer;

b egin 

for i:=1 to 10 do a[i] :=random(60) ;

for i:=1 to 10 do  write (a[i] , ’ ’) ;

i := 0;

repeat

i:=i+1;

until (a[i]=50) or (i=10);

if a[i]=50 then write(i) else write(' Нет ')

end .

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

10

50

1

3

50

14

21

50

10

21

50 then k:=k+1; write ('k=', k) end . 10 59 2 1 5 3 5 8 14 2 8 50 10 5 1 " width="640"

Подсчет количества элементов

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

program  n _ 6 ;

var k, i: integer;

a: array[1..10] of integer;

b egin 

for i:=1 to 10 do a[i] :=random(60) ;

for i:=1 to 10 do  write (a[i] ,` `) ;

k := 0;

for i:=1 to 10 do

if a[i]50 then k:=k+1;

write ('k=', k)

end .

10

59

2 1

5 3

5 8

14

2 8

50

10

5 1

1 0 ) and (a[i]then s := s + a[i]; write (' s =', s ) end . 10 50 1 3 50 14 21 50 10 21 " width="640"

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

program  n _ 7 ;

var s, i: integer;

a: array[1..10] of integer;

b egin 

for i:=1 to 10 do a[i] :=random(60) ;

for i:=1 to 10 do  write (a[i] ,` `) ;

s := 0;

for i:=1 to 10 do

if ( a[i] 1 0 ) and (a[i]then s := s + a[i];

write (' s =', s )

end .

10

50

1

3

50

14

21

50

10

21

Сортировка массива Сортировка элементов массива по убыванию выбором осуществляется следующим образом: 1. В массиве выбирается максимальный элемент 2. Максимальный и первый элемент меняются местами (первый элемент считается отсортированным) 3. В неотсортированной части массива снова выбирается максимальный элемент; он меняется местами с первым неотсортированным элементом массива Действия пункта 3 повторяются с неотсортированными элементами массива, пока не останется один неотсортированный элемент (минимальный)

Сортировка массива

Сортировка элементов массива по убыванию

выбором осуществляется следующим образом:

1. В массиве выбирается максимальный элемент

2. Максимальный и первый элемент меняются местами

(первый элемент считается отсортированным)

3. В неотсортированной части массива снова выбирается

максимальный элемент; он меняется местами с первым

неотсортированным элементом массива

Действия пункта 3 повторяются с неотсортированными

элементами массива, пока не останется один

неотсортированный элемент (минимальный)

Сортировка массива Индекс Значение Шаги 1 2 1 0 2 1 3 3 9 4 2 4 5 4 6 5 3 6 7 7 6 8 5 Итог: 5 6 1 2 3 4 9 0 3 1 6 2 4 5 9 0 9 0 2 4 3 1 5 6 4 0 3 5 6 9 1 2 5 9 2 3 0 1 4 6 5 6 9 0 4 2 3 1 9 6 4 3 2 5 0 1 0 2 5 6 1 9 3 4

Сортировка массива

Индекс

Значение

Шаги

1

2

1

0

2

1

3

3

9

4

2

4

5

4

6

5

3

6

7

7

6

8

5

Итог:

5

6

1

2

3

4

9

0

3

1

6

2

4

5

9

0

9

0

2

4

3

1

5

6

4

0

3

5

6

9

1

2

5

9

2

3

0

1

4

6

5

6

9

0

4

2

3

1

9

6

4

3

2

5

0

1

0

2

5

6

1

9

3

4

a[imax] then imax:=j; x:=a[i]; a[i]:=a[imax]; a[imax]:=x end ; for i:=1 to 10 do  write (a[i] , ’ ’) ; end; 9 6 5 4 3 2 1 0 " width="640"

Сортировка массива

0

1

9

2

4

3

6

5

program  n _ 8 ;

var n, i, j, x, imax : integer;

a: array[1..10] of integer;

b egin 

for i:=1 to 10 do read (a [i] ) ;

for i:=1 to 10 do  write (a[i] ,’ ’) ;

for i:=1 to 9 do

begin

imax:=i;

for j:=i+1 to 10 do i f a[j]a[imax] then imax:=j;

x:=a[i];

a[i]:=a[imax];

a[imax]:=x

end ;

for i:=1 to 10 do  write (a[i] , ’ ’) ;

end;

9

6

5

4

3

2

1

0


Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!