Меню
Разработки
Разработки  /  Информатика  /  Презентации  /  9 класс  /  Последовательный поиск элементов в массиве

Последовательный поиск элементов в массиве

Презентация для уч-ся 9 класса, которые изучают программирование на языке Pascal. В ней содержится материал на повторение: как на языке программированияназывать массив, вводить массив, Задания даны с ошибками (каждой группе уч-ся выдается такое задание), которые уч-ся должны в течении 5 минут исправить., а затем они оценивают работу друг друга по каждой группе. А далее изложение темы " Последовательный поиск элементов массива"
12.11.2024

Содержимое разработки

Повторение: - Что такое массив? - Как описать массив? - Какие способы заполнения(ввода) массива вы знаете? А какие способы вывода массива вам известны?

Повторение:

- Что такое массив?

- Как описать массив?

- Какие способы заполнения(ввода) массива вы знаете?

  • А какие способы вывода массива вам известны?

0? -5 1 -5 0 z=:0 3 -5 3 2 A[2]0? 4 -5 A[3]0? 3 1 4 -4 4 -9 A[4]0? -3 5 -12 4 A[5]0? 2 A[6]0? 6 6 -12 A[7]0? 7 5 -12 11 11 -1 8 A[8]0? -13 A[9]0? -7 -20 11 9 A[10]0? 10 4 15 -20 " width="640"

Поиск суммы положительных и суммы отрицательных элементов

1

8

10

9

2

7

5

4

6

3

5

4

-7

-1

2

-3

-4

1

3

-5

y=:0

A[1]0?

-5

1

-5

0

z=:0

3

-5

3

2

A[2]0?

4

-5

A[3]0?

3

1

4

-4

4

-9

A[4]0?

-3

5

-12

4

A[5]0?

2

A[6]0?

6

6

-12

A[7]0?

7

5

-12

11

11

-1

8

A[8]0?

-13

A[9]0?

-7

-20

11

9

A[10]0?

10

4

15

-20

Дана программа. Ответь на вопросы: var K, i: integer;   x: array [1..20] of integer; begin  randomize;  for i:=1 to 20 do x [i]:=random(50);  for i:=1 to 20 do write (x [i], ‘ ‘ ); K:=0;  for i:=1 to 10 do  K:=K + x[i]*2; write ( ‘K= ‘, K); end. Сколько элементов в массиве? Как называется массив? Какой тип данных в массиве? Каким образом введены данные в массив? Что вычисляет данная программа?

Дана программа. Ответь на вопросы:

var K, i: integer;

x: array [1..20] of integer;

begin 

randomize;

for i:=1 to 20 do x [i]:=random(50);

for i:=1 to 20 do write (x [i], ‘ ‘ );

K:=0;

for i:=1 to 10 do

K:=K + x[i]*2;

write ( ‘K= ‘, K);

end.

Сколько элементов в массиве?

Как называется массив?

Какой тип данных в массиве?

Каким образом введены данные в массив?

Что вычисляет данная программа?

Работа в группах: Найди и исправь ошибки: 1 группа 3 группа 2 группа 4 группа

Работа в группах:

Найди и исправь ошибки:

1 группа

3 группа

2 группа

4 группа

1 группа Исправлено : Program; var S, i: integer;   x: [1..10] of integer; begin  randomize;  for i:=1 to 20 do x [i]:=random(50);  for i:=1 to 20 do write (x [i], ‘ ‘ ); K:=0;  for i:=1 to 10 do  K:=K + x[i]*2; write ( ‘K= ‘ K); end. Program adf; var K , i: integer;  x: array [1.. 20 ] of integer; for i:=1 to 20  do write ( ‘K= ‘ , K);

1 группа

Исправлено :

Program;

var S, i: integer;

x: [1..10] of integer;

begin 

randomize;

for i:=1 to 20 do x [i]:=random(50);

for i:=1 to 20 do write (x [i], ‘ ‘ );

K:=0;

for i:=1 to 10 do

K:=K + x[i]*2;

write ( ‘K= ‘ K);

end.

Program adf;

var K , i: integer;

x: array [1.. 20 ] of integer;

for i:=1 to 20 do

write ( ‘K= ‘ , K);

2 группа Исправлено : Program задача; var S, i: integer;   b: array[1..7] of integer =[2, 7, -8, 6, -4, 0, 34]; begin  randomize;  for i:=1 to 7 do b[i]:=random(50);  for i:=1 to 7 do write (b [i], ‘ ‘ ); K:=0;  for i:=1 to 10 do  S := S + 2 b [i]; write ( ‘K= ‘, K); end. Program zadacha; const b: array[1..7] of integer = ( 2, 7, -8, 6, -4, 0, 34 ) ; randomize; for i:=1 to 7 do b[i]:=random(50);  for i:=1 to 7 do write (b [i], ‘ ‘ ); for i:=1 to 7  do  S := S + 2 * b [i];

2 группа

Исправлено :

Program задача;

var S, i: integer;

b: array[1..7] of integer =[2, 7, -8, 6, -4, 0, 34];

begin 

randomize;

for i:=1 to 7 do b[i]:=random(50);

for i:=1 to 7 do write (b [i], ‘ ‘ );

K:=0;

for i:=1 to 10 do

S := S + 2 b [i];

write ( ‘K= ‘, K);

end.

Program zadacha;

const b: array[1..7] of integer = ( 2, 7, -8, 6, -4, 0, 34 ) ;

randomize;

for i:=1 to 7 do b[i]:=random(50);

for i:=1 to 7 do write (b [i], ‘ ‘ );

for i:=1 to 7 do

S := S + 2 * b [i];

10 then c:=c + 1; write (‘c= ‘); end. Progra m kl 1 ; var c , i: integer; m: array[1..6] of integer; for i:=1 to 6 do m[i]:=i*3; for i:=1 to 6 do write (m[i], ‘ ‘ ); write (‘c= ‘, c ); " width="640"

3 группа

Programm 1kl;

var S, i: integer;

m: array[1..6] integer;

begin 

for i:=1 to 10 do m[i]:=i*3;

for i:=1 to 6 do read (m[i], ‘ ‘ );

c:=0;

for i:=1 to 6 do

if m[i]10 then c:=c + 1;

write (‘c= ‘);

end.

Progra m kl 1 ;

var c , i: integer;

m: array[1..6] of integer;

for i:=1 to 6 do m[i]:=i*3;

for i:=1 to 6 do write (m[i], ‘ ‘ );

write (‘c= ‘, c );

4 группа Исправлено : Program ddd _ 1; d: array [ 1..15 ] integer; randomize; for i:=1 to 15 do d[i]:=random(100); for i:=1 to 15 do write ( d [i], ‘ ‘ ); pr:= 1 ; for i:=1 to 15 do  write (‘pr= ‘, pr ); end. Program ddd-1; var pr, i: integer;  d: array (1..15) integer; begin   random;  for i:=1 to 20 do d[i]:=random(100);  for i:=1 to 20 do write (x[i], ‘ ‘ ); pr:=0;  for i:=1 to 6 do  pr:=pr * d[i]; write (‘pr= ‘).

4 группа

Исправлено :

Program ddd _ 1;

d: array [ 1..15 ] integer;

randomize;

for i:=1 to 15 do d[i]:=random(100);

for i:=1 to 15 do write ( d [i], ‘ ‘ );

pr:= 1 ;

for i:=1 to 15 do

write (‘pr= ‘, pr );

end.

Program ddd-1;

var pr, i: integer;

d: array (1..15) integer;

begin 

random;

for i:=1 to 20 do d[i]:=random(100);

for i:=1 to 20 do write (x[i], ‘ ‘ );

pr:=0;

for i:=1 to 6 do

pr:=pr * d[i];

write (‘pr= ‘).

Рассмотри массив Отгадай действие Под каким индексом расположен минимальный элемент. Под каким индексом расположен максимальный элемент. Чему он равен? Чему он равен? imin : = 9 a[ imin ]:=-7 imax : = 7 a[ imax ]:=5

Рассмотри массив

Отгадай действие

Под каким индексом расположен минимальный элемент.

Под каким индексом расположен максимальный элемент.

Чему он равен?

Чему он равен?

imin : = 9 a[ imin ]:=-7

imax : = 7 a[ imax ]:=5

ПОСЛЕДОВАТЕЛЬНЫЙ ПОИСК В МАССИВЕ

ПОСЛЕДОВАТЕЛЬНЫЙ ПОИСК В МАССИВЕ

Задачи урока: с некоторыми принципами поиска элемента в массиве Познакомиться:  применять принципы обработки массивов для решения практических задач Научиться:

Задачи урока:

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

Познакомиться:

применять принципы обработки массивов для решения практических задач

Научиться:

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

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

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

Определение элемента

(наименьшего)

массива, значение

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

которого

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

Компьютер не может сравнить разом весь ряд объектов. На каждом шаге он может сравнивать только два объекта. Поэтому в программе необходимо:  организовать последовательный просмотр элементов массива сравнение значения очередного просматриваемого элемента с неким образцом(эталоном) .

Компьютер не может сравнить разом весь ряд объектов.

На каждом шаге он может сравнивать только два объекта.

Поэтому в программе необходимо:

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

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

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

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

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

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

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

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

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

!

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

a[imax] then imax:=i; write ('Наибольший элемент a[',imax,']=', a[imax]) end . " width="640"

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

program  n_3;

var s, i, imax: integer;

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

begin 

s:=0;

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

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

imax:=1

for i:=2 to 10 do

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

write ('Наибольший элемент a[',imax,']=', a[imax])

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; begin   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;

begin 

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; begin   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;

begin 

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 60 21 53 58 14 28 50 10 51 " width="640"

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

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

program  n_6;

var k, i: integer;

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

begin 

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

60

21

53

58

14

28

50

10

51

10) 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;

begin 

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]10) and (a[i]then s:=s+a[i];

write(‘s=', s)

end .

10

50

1

3

50

14

21

50

10

21

-80%
Курсы дополнительного образования

Основы HTML

Продолжительность 72 часа
Документ: Cвидетельство о прохождении курса
4000 руб.
800 руб.
Подробнее
Скачать разработку
Сохранить у себя:
Последовательный поиск элементов в массиве (542.44 KB)

Комментарии 0

Чтобы добавить комментарий зарегистрируйтесь или на сайт