Инфоурок Информатика Другие методич. материалыДидактические материалы по теме "Массивы"

Дидактические материалы по теме "Массивы"

Скачать материал

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

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

Рассмотрим два вида массивов: линейный (одномерный) и прямоугольный (двумерный).

1.      Линейный массив.

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

Например:

10 12  11  13  23  42  22

Это линейный массив, элементы которого целые числа; число элементов – 7. Каждый элемент имеет номер (индекс). Например, элемент 10 имеет индекс 1, а элемент 13 имеет индекс 4. Такой нумерацией они представляют собой единый, упорядоченный объект – массив.

 

Для работы с массивом в Турбо Паскале, его необходимо описать в разделе описания программы.

Для нашего примера это выполняется так:

                                                                               Var a:array[1..7] of integer;

 

Где а – это имя массива;

Зарезервированные слова array и of имеют смысл массив и из;

[1..7] – диапазон индексов массива (в данном случае от 1 до 7);

integer – тип элементов массива (в данном случае – целые числа).

Каждый элемент массива можно обозначить, например A[2]. Здесь А – имя массива, 2 – индекс элемента массива (его порядковый номер).

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

1.      Ввод значений элементов массива;

2.      Обработка элементов массива (поиск, математическая обработка, замена, вставка, упорядочение и т. п.);

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

Разберем, как они реализуются в Турбо Паскале.

Ø   Ввод значений элементов линейного массива можно осуществить с помощью цикла for. Например для массива a[1..5] организовать ввод значений элементов можно так:

For I:=1 to 5 do

Read(a[I]);

 

Иногда удобно, для заполнения массива случайными числами, использовать генератор случайных чисел Random. Например:

For I:=1 to 5 do

A[I]:=random(100);

Здесь значение 100 указывает, что эта процедура выдает произвольные целые числа от 0 до 100.

Ø   Вывод массива также осуществляется с помощью цикла for. Например, для массива выше, вывод можно организовать так:

For I:=1 to 5 do

Writeln(a[i]);

Рассмотрим следующую задачу:

Организовать ввод значений элементов массива а[1..7] из примера выше (10  12  11  13  23  42  22) и вывести их на экран. 

Program masiv;

Var a:array[1..7] of integer;

I:integer;

Begin

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

 
For I:=1 to 7 do

Read(a[I]);

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

 
For I:=1 to 7 do

Writeln(a[i]);

End.

Ø   Обработка элементов массива.

После ввода значений элементов массива, они хранятся в памяти ЭВМ. Теперь с ними можно выполнять различные действия (обработка).

Разберем некоторые задачи обработки линейных массивов.

Задача1: Составить программу определения суммы всех элементов массива а[1..6], значения которых произвольные целые числа, вводимые с клавиатуры.

Program summa;

 Var a:array[1..6] of integer;I,s:integer;

Begin

For I:=1 to 6 do

Read(a[I]);

S:=0;

For i:=1 to 6 do                                                           обработка элементов массива

S:=s+a[i];

Writeln(‘Сумма=’,s);                                                  и вывод результата на экран

End.

 

Программу можно сократить, совместив в одном цикле ввод и обработку элементов массива:

Program summa;

 Var a:array[1..6] of integer;I,s:integer;

Begin

S:=0;

For I:=1 to 6 do

Begin                                                                          

Read(a[I]);

S:=s+a[i];

End;

Writeln(‘Сумма=’,s);                                                 

End.

Задача2: Дан одномерный массив a[1..6], значения которого произвольные целые числа, вводимые с клавиатуры. Составьте программу определения числа положительных элементов массива.

Var a:array[1..6] of integer;

x,n:integer;

Begin

For x:=1 to 6 do

Begin

Read(a[x]);

If a[x]>0 then n:=n+1;

End;

Wreteln(‘число положительных элементов=’,n);

End.

Задача3: Дан одномерный массив a[1..5], значения которого произвольные целые числа, вводимые с клавиатуры. Составьте программу определения максимального элемента таблицы.

Program maks1;

Var a:array[1..5] of integer;

x,m:integer;

Begin

  For x:=1 to 5 do

  

   Read(a[x]);

m:=a[1];

For x:=2 to 5 do

If a[x]>m then m:=a[x];

Writeln(‘максимум=’,m);

End.

Задачи:

1.      Дан одномерный массив a[1..7], значения которого произвольные целые числа, вводимые с клавиатуры. Составьте программу определения суммы всех положительных элементов массива.

2.      Дан одномерный массив a[1..8], значения которого произвольные целые числа, вводимые с клавиатуры. Найти среднее арифметическое элементов массива, больших 10.

3.      Масса каждого из 25 человек хранится в массиве. Людей, имеющих массу более 100 кг, будем условно называть полными (известно, что есть по меньшей мере один такой человек). Определить среднюю массу полных людей и среднюю массу остальных людей.

4.      Рост 22 учеников класса представлен в виде массива. Рост мальчиков условно задан отрицательными числами. Определить средний рост мальчиков и средний рост девочек.

5.      В массиве хранятся сведения об оценках 25 учеников по химии. Определить количество неуспевающих по химии учеников.

6.      В массиве записаны оценки ученика по 10 предметам. Определить общее количество четверок и пятерок.

7.      Дан одномерный массив a[1..8], значения которого произвольные целые числа, вводимые с клавиатуры. Вывести на экран сначала неотрицательные элементы массива, потом отрицательные.

8.      Дан одномерный массив a[1..6], значения которого произвольные целые числа, вводимые с клавиатуры. Вывести на экран сначала четные элементы массива, потом нечетные.

 

Упорядочение элементов линейного массива.

Задача: Дан одномерный массив a[1..5], значения которого произвольные целые числа, вводимые с клавиатуры. Составьте программу упорядочения элементов массива в порядке возрастания.

Метод перебора:

Program sort1;

Var a:array[1..5] of integer;

x,y,k,m:integer;

Begin

For x:=1 to 5 do

   Read(a[x]);

For y:=1 to 4 do

   Begin

   m:=a[y]; k:=y;

   For x:=y+1 to 5 do

Упорядочение элементов массива

 
   If a[x]<m then

      Begin

      m:=a[x]; k:=x;

      end;

    a[k]:=a[y];

    a[y]:=m;

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

 
    end;

   for x:=1 to 5 do

   write(a[x]:4);

  end.

 

 

Процесс работы фрагмента этой программы: упорядочения элементов массива (выше выделено цветом) для массива А[1..5]: 12  10  4  7  11,  проследим с помощью таблицы:

 

А[1]

А[2]

А[3]

А[4]

А[5]

y

m

k

х

Проверка условия

12

10

4

7

11

1

12

1

2

10<12 (да)

 

 

 

 

 

 

10

2

 

 

 

 

 

 

 

 

 

 

3

4<10 (да)

 

 

 

 

 

 

4

3

 

 

 

 

 

 

 

 

 

 

 

7<4 (нет)

 

 

 

 

 

 

 

 

4

11<4 (нет)

4

 

12

 

 

 

 

 

 

 

 

 

 

 

 

2

10

2

3

12<10 (нет)

 

 

 

 

 

 

 

 

4

7<10 (да)

 

 

 

 

 

 

7

4

5

11<7 (нет)

 

7

 

10

 

 

 

 

 

 

 

 

 

 

 

3

12

3

4

10<12 (да)

 

 

 

 

 

 

10

4

5

11<10 (нет)

 

 

10

12

 

 

 

 

 

 

 

 

 

 

 

4

12

4

5

11<12 (да)

 

 

 

 

 

 

11

5

 

 

 

 

 

11

12

 

 

 

 

 

4

7

10

11

12

результат

 

 

Метод пузырька:

Program sort2;

Var a:array[1..5] of integer;

x,y,s:integer;

Begin

For x:=1 to 5 do

   Read(a[x]);

  S:=0;

For y:=1 to 4 do

For x:=y+1 to 5 do

Упорядочение элементов массива

 
If  a[x]<a[y] then

 Begin

  S:=a[y];

  A[y]:=a[x];

  A[x]:=s;

 End;

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

 
   for x:=1 to 5 do

   write(a[x]:4);

  end.

 

 

Процесс работы фрагмента этой программы: упорядочения элементов массива (выше выделено цветом) для массива А[1..5]: 16  3  6  10  9,  проследим с помощью таблицы:

 

А[1]

А[2]

А[3]

А[4]

А[5]

y

х

s

Проверка условия

16

3

6

10

9

1

2

0

3<16 (да)

3

16

 

 

 

 

 

16

 

 

 

 

 

 

 

3

 

6<3 (нет)

 

 

 

 

 

 

4

 

10<3 (нет)

 

 

 

 

 

 

5

 

9<3 (нет)

 

 

 

 

 

2

3

 

6<16 (да)

 

6

16

 

 

 

 

16

 

 

 

 

 

 

 

4

 

10<6 (нет)

 

 

 

 

 

 

5

 

9<6 (нет)

 

 

 

 

 

3

4

 

10<16 (да)

 

 

10

16

 

 

 

16

 

 

 

 

 

 

 

5

 

9<10 (да)

 

 

9

 

10

 

 

10

 

 

 

 

 

 

4

5

 

10<16 (да)

 

 

 

10

16

 

 

16

 

3

6

9

10

16

результат

 

Задание:

Составьте программу упорядочения элементов массива A[1..4] в порядке убывания. Заполните таблицу выполнения этой программы с элементами: 23  4  21  5.

 

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Дидактические материалы по теме "Массивы""

Методические разработки к Вашему уроку:

Получите новую специальность за 3 месяца

Специалист по продажам

Получите профессию

Секретарь-администратор

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 656 299 материалов в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 01.10.2017 748
    • DOCX 89 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Снурницин Юрий Алексеевич. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

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

    Удалить материал
  • Автор материала

    Снурницин Юрий Алексеевич
    Снурницин Юрий Алексеевич
    • На сайте: 6 лет и 6 месяцев
    • Подписчики: 0
    • Всего просмотров: 8269
    • Всего материалов: 6

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Менеджер по туризму

Менеджер по туризму

500/1000 ч.

Подать заявку О курсе

Курс повышения квалификации

Особенности подготовки к сдаче ОГЭ по информатике и ИКТ в условиях реализации ФГОС ООО

36 ч. — 180 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Сейчас обучается 99 человек из 39 регионов
  • Этот курс уже прошли 805 человек

Курс повышения квалификации

Организация преподавания информационных систем и технологий в профессиональном образовании

36 ч. — 180 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Этот курс уже прошли 74 человека

Курс повышения квалификации

Компьютерная грамотность для пенсионеров

36 ч. — 180 ч.

от 1580 руб. от 940 руб.
Подать заявку О курсе
  • Этот курс уже прошли 22 человека

Мини-курс

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

6 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Основы профессиональной деятельности эксперта в области индивидуального консультирования

4 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Современные информационные технологии и информационная безопасность

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Этот курс уже прошли 23 человека