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

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

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

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

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

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

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

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

Итоги урока

Презентация по теме: "Массивы в Паскаль"

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

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

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

Массивы состоят из ограниченного числа компонент, причем все компоненты массива имеют один и тот же тип, называемый базовым. Структура массива всегда однородна. Массив может состоять из элементов типа integer , real или char , либо других однотипных элементов. Из этого, правда, не следует делать вывод, что компоненты массива могут иметь только скалярный тип.

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

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

Массивы. Паскаль.  9 класс Рыжков Д.А. МБОУ СШ №73 Г. Ульяновск

Массивы. Паскаль. 9 класс

Рыжков Д.А.

МБОУ СШ №73

Г. Ульяновск

Определение  1 Массив – пронумерованная совокупность ячеек памяти, названная одним именем 1 2 3 4 5 6 7 10 11 14 30 19 44 22 Индекс (порядковый номер) элемента массива Значение элемента массива  А Имя массива A [ 4 ] := 11;

Определение 1

Массив – пронумерованная совокупность ячеек памяти, названная одним именем

1 2 3 4 5 6 7

10

11

14

30

19

44

22

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

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

А

Имя массива

A [ 4 ] := 11;

МАССИВЫ Массив - конечный набор данных одного типа и имеющих одно имя; Элемент массива  - отдельная переменная, входящая в массив; Размерность массива  – количество элементов, которое содержит массив. Индекс элемента массива - номер элемента в массиве;

МАССИВЫ

  • Массив - конечный набор данных одного типа и имеющих одно имя;
  • Элемент массива - отдельная переменная, входящая в массив;
  • Размерность массива – количество элементов, которое содержит массив.
  • Индекс элемента массива - номер элемента в массиве;
A  A[1] A[2] A[3] A[n-1] A[n]  3 12 … . 7 11 -2 A[1] - Первый элемент массива; A[1]:= 3 ; A[2] - Второй элемент массива; A[2]:= 12 ; ..... A[n] - n-й элемент массива. A[n]:= 11 ;

A

A[1] A[2] A[3] A[n-1] A[n]

3

12

… .

7

11

-2

A[1] - Первый элемент массива; A[1]:= 3 ;

A[2] - Второй элемент массива; A[2]:= 12 ;

.....

A[n] - n-й элемент массива. A[n]:= 11 ;

Описание массива   2  Объявление массива в разделе описания переменных: Var имя :ARRAY[1.. N ] OF тип ; Количество элементов Например: Тип элементов Имя массива Var A :Array[1.. 10 ] of Integer ; Var Tem :Array[1.. 100 ] of Real ;

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

Объявление массива в разделе описания переменных:

Var имя :ARRAY[1.. N ] OF тип ;

Количество элементов

Например:

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

Имя массива

Var A :Array[1.. 10 ] of Integer ;

Var Tem :Array[1.. 100 ] of Real ;

Описание массива  Конструкция : array[ мин знач. индекса .. макс знач.индекса ] of ;  Var  А: array[1..17] of integer;  mas: array[ 1 .. 20 ] of integer;  X: array[ 3..4 ] of real; S1: array[ 1..3 ] of char;

Описание массива Конструкция

: array[ мин знач. индекса .. макс знач.индекса ] of ;

Var

А: array[1..17] of integer;

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

X: array[ 3..4 ] of real;

S1: array[ 1..3 ] of char;

Способы заполнения массива 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);

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

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

Основные алгоритмы для работы с массивами 1. Заполнение одномерного массива значениями 1) Заполнение с клавиатуры.  For i:=1 to n do    read(a[i]);

Основные алгоритмы для работы с массивами

1. Заполнение одномерного массива значениями

1) Заполнение с клавиатуры.

For i:=1 to n do

read(a[i]);

Вывод массива 1 способ. Элементы массива можно вывести в строку, разделив их пробелом: for i:=1 to 10 do write (a[i], ' '); 45 21 56 43 83 56 69 34 28 15 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 2 способ . Вывод с комментариями: for i:=1 to 10 do writeln ('a[', i, ']=', a[i]);

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

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

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

45

21

56

43

83

56

69

34

28

15

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

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

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

2. Заполнение случайным образом RANDOMIZE; For i:=1 to n do begin  a[i]:=random(m); Write(a[i],’ ‘); End; Пример: m – диапазон случайных значений, для m=10 диапазон от 0 до 9

2. Заполнение случайным образом

RANDOMIZE;

For i:=1 to n do

begin

a[i]:=random(m);

Write(a[i],’ ‘);

End;

Пример: m – диапазон случайных значений, для m=10 диапазон от 0 до 9

Заполнения массива A (10) случайными числами и вывод элементов массива  Объявление массива program  n_2 ;   var i: integer;  a: array[1..10] of integer; Заполнение массива begin    for i:=1 to 10 do a[i]:=random(100); Вывод массива  for i:=1 to  10  do  write (a[i] ,` `) ;     end .

Заполнения массива A (10) случайными числами и вывод элементов массива

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

program  n_2 ; var i: integer;

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

Заполнение массива

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

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

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

3. Заполнение по формуле For i:=1 to n do  a[i]:=;  Например:  For i:=1 to n do  a[i]:=sin(i)-cos(i);

3. Заполнение по формуле

For i:=1 to n do

a[i]:=;

Например:

For i:=1 to n do

a[i]:=sin(i)-cos(i);

Вывод значений массива на экран по горизонтали (в строку); For i:=1 to n do Write(a[i]:5); Вывод значений массива на экран по вертикали (в столбец); For i:=1 to n do Writeln(a[i]);

Вывод значений массива на экран по горизонтали (в строку);

For i:=1 to n do

Write(a[i]:5);

Вывод значений массива на экран по вертикали (в столбец);

For i:=1 to n do

Writeln(a[i]);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

s := 0

s = 0

s := s + a [1]

s = 0+ a [1]

s := s + a [2]

s = 0+ a [1]+ a [2]

s := s + a [3]

s = 0+ a [1]+ a [2]+ a [3]

s := s + a [n]

s = 0+ a [1]+ a [2]+ a [3]+…+ a [n]

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

s:=0;

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

Задача. Вычисление суммы элементов массива  program n_3;  var s, i: integer;  a:array[1..10] of integer; begin  s:=0;  for i:=1 to 10 do a[i]:=random(100);  for i:=1 to 10 do write (a[i],' ');  for i:=1 to 10 do s:=s+a[i];  writeln ('s=', s) end.

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

program n_3;

var s, i: integer;

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

begin

s:=0;

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

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

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

writeln ('s=', s)

end.

Задание:  Заполнить массив с именем X случайными значениями и вывести эти значения на экран. Размерность массива 12, все элементы целого типа.  Удвоить значение каждого элемента массива и вывести на экран.

Задание: Заполнить массив с именем X случайными значениями и вывести эти значения на экран. Размерность массива 12, все элементы целого типа. Удвоить значение каждого элемента массива и вывести на экран.

program n_3;  var s, i: integer;  x: array [1..12] of integer; begin  s:=1;  for i:=1 to 12 do x[i]:=random(100);  for i:=1 to 12 do write (x[i],' ');  for i:=1 to 12 do s:=x[i]*x[i];  writeln ('s=', s) end .

program n_3;

var s, i: integer;

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

begin

s:=1;

for i:=1 to 12 do x[i]:=random(100);

for i:=1 to 12 do write (x[i],' ');

for i:=1 to 12 do s:=x[i]*x[i];

writeln ('s=', s)

end .

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

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

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

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

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

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

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

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

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

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

!

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

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

program  n _4;

var s, i, imax : integer;

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

b egin 

s:=0;

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

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 .

Поиск элемента, равного 50  program   n _ 5 ;  var  n, i: integer;   a: array[1..10] of  integer; b egin   randomize;  for i:=1 to  10  do a[i] :=random(100) ;  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 

randomize;

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

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_1;  var  n, i: integer;   a: array[1..10] of  integer; b egin   randomize;  for i:=1 to  10  do a[i] :=random(100) ;  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_1;

var n, i: integer;

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

b egin 

randomize;

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

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 6 0 2 1 5 3 5 8 14 2 8 50 10 5 1 " width="640"

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

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

program  kolich ;

var k, i: integer;

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

b egin 

randomize;

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

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

6 0

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

var s, i: integer;

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

b egin 

randomize;

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

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

Опорный конспект Массив - это поименованная совокупность однотипных элементов, упорядоченных по индексам, определяющим положение элементов в массиве. var   :  array [ .. ] of  тип_элементов; Заполнение массива Ввод  с клавиатуры Присваивание  значений Задачи по обработке массива Суммирование элементов Поиск элемента во свойствам Сортировка элементов массива

Опорный конспект

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

var : array [ ..

] of тип_элементов;

Заполнение массива

Ввод с клавиатуры

Присваивание значений

Задачи по обработке массива

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

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

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

Порядок составления программы содержащей массив Описать массив Заполнить массив одним из 3-х способов ( если массив заполняется случайным образом или по формуле, то полученные значения элементов массива вывести на экран) Записать алгоритм решения поставленной задачи Вывести результат на экран.

Порядок составления программы содержащей массив

  • Описать массив
  • Заполнить массив одним из 3-х способов ( если массив заполняется случайным образом или по формуле, то полученные значения элементов массива вывести на экран)
  • Записать алгоритм решения поставленной задачи
  • Вывести результат на экран.


Скачать

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

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

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