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

Массивы в языке программирования

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

Массивы в языке программирования

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

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

В Pascal массивы описываются при помощи зарезервированного слова array.При этом количество элементов в массиве должно быть определено заранее. Также указывается тип элементов, из которых состоит массив и от какого до какого значения изменяются индексы.

Массив называется одномерным, если для доступа к его элементам достаточно одного индекса. Массив описывается следующим образом:

VAR Имя массива:  ARRAY [начальное значение индекса .. конечное значение индекса] OF  тип данных;

В Pascal индекс – это переменная перечисляемого типа. Границы изменения индексов должны быть постоянными величинами.

Пример описания одномерного массива:

Var A: ARRAY[1..50] OF  real;

В результате в каждой ячейке памяти будет отдельный элемент:

a[1], a[2], a[3], …,a[50].

Для введения данных в память необходимо организовать цикл. Ввод массива можно выполнить 2-мя способами:

1) FOR I:= 1 TO N DO
         READ(A[I]);

Значения, которые вводятся, набираются на клавиатуре и отделяются одно от другого пробелом.

2) Вводить можно каждое данное в отдельном ряду:

     FOR I:= 1 TO N DO

       BEGIN

           Write(‘a[‘, I ,’]=’);

            Read(a[i]);

        End.

Работу с массивом можно условно разделить на 3 части:

1)      формирование массива;

2)      обработка массива;

3)      вывод обработанного массива.

Формирование массива:

1 cпособ:

Задача 1. Ввести с клавиатуры массив из 20 целых чисел.

           Program A_251;

           Var  A: array[1..20] of integer;

                    I: integer;

            Begin

             For i:= 1 to 20 do

              Read(a[i]);

            End.

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

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

ГСЧ(генератор случайных чисел) состоит из двух операторов. В начале нужно сделать его «активным» для того, чтобы при новом запуске можно было получать разные числа. Для этого в начале программы используется оператор RANDOMIZE – он «включает» ГСЧ.

Чтобы непосредственно получить некоторое число, используется оператор RANDOM.

Если использовать RANDOM(100), то он «выбирает» произвольное число из диапазона   0-99.

Задача 2 Сгенерировать случайным образом массив M из 30 элементов целого типа.

                  Program Massiv;

                  Uses Crt;

                  Var M: array[1..30] of integer;

                             I: integer;

                  Begin

                  Randomize;

                  For i:=1 to 30 do

                  M[i]: = random(100);

                  For i:=1 to 30 do

                  Write(m[i]:4);

                  End.

Мы рассмотрели случай использования оператора random, когда есть ограничения на большее значение. А как быть, если ограничение на нижнее значение.

Допустим, учительнице не разрешили ставить оценки ниже 4. Как использовать random?

Рассмотрим пример W:=Random(13); Минимальное значение, которое принимает переменная w = 0, а максимальное значение = 12. Как увеличить минимальное значение – прибавить то число, на которое надо увеличить минимальное значение, значит               w:= Random(13)+4; Однако в этом случае на 4 увеличится и максимальное значение. Чтобы максимальное значение не увеличилось, надо отнять 4 от того, что мы указали в скобках, т.е. w:= Random(13-4)+4;

В результате w может принять значения от 4 до 12.

А как быть, если нужно получить значения из промежутка (-5, 16)? В этом случае минимальное значение надо уменьшить на 5. А как быть с максимальным значением? Укажем w:= Random(17)-5. Тогда минимальное значение действительно будет -5. А максимальное? 16-5! Следовательно, максимальное значение надо увеличить на 5. Получим w:= Random(17+5)-5.

Практические задачи:

Получите значения P из промежутка

А) (-3, 7)

Б)  (5, 77)

В)  (4, 35)

Г)  (-4, -1)

Д)  (44, 77).

 

 

 

 

 

 

 

 

 

 

 

                       

   

Классические задачи обработки массивов

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

 

Задача №1 Составить программу вычисления суммы элементов массива из N целых чисел.

Указание: Просмотреть все элементы массива  и добавить их в сумму. Операция добавления к сумме слагаемого уже известна, а просмотреть элементы массива можно при помощи цикла.

Программа:

Program Z5_5;

Const n=5;

Var I, Sum: integer;

       A: array [1..n] of integer;

Begin

For i:=1 to n  do

     Begin

              Write(‘Введите элементы массива через пробел’);

               Read(a[i]);

     End;

Sum:=0;

For i:= 1 to n do

Sum:= Sum + a[i];

Writeln(‘Сумма всех элементов массива=’,Sum);

End.

 

  1. Поиск заданного элемента в массиве.

 

Задачи поиска в массиве конкретных данных часто решаются методом сканирования массива (просмотром всех его элементов).

Задача №2 В заданном массиве найти местоположение элементов с заданным значением.

Программа:

Program Z5_6;

Var A: array[1..10] of real;

       X: real;

        I:  integer;

Begin

Write(‘Введите элементы массива’);

For i:=1 to 10 do

Read(a[i]);

Write(‘Введите значение величины для поиска’);

Read(x);

For i:=1 to n do

If (a[i]) = x then write(‘на’, I, ‘- месте массива находится заданный элемент’, x:1:2);

End.

 

  1. Поиск минимального (максимального) элемента массива.

 

Задача №3  Найти наименьший элемент массива и место его расположения в массиве.

Будем последовательно сравнивать каждый элемент массива с некоторым «трафаретом» (текущим значением минимального элемента). Если текущий элемент массива меньше «трафарета», то запоминаем в нём это новое наименьшее значение.

 

Программа:

Program Z5_7;

Var A: array[1..10] of real;

       Min: real;

       I: integer;

Begin

Write(‘Введите элементы массива’);

For I:=1 to 10 do

Read(a[i]);

Min:=a[1]; k:=1;

For I: =2 to 10 do

If (a[i]) < min then

Begin

Min:= a[i];

K:=I;

End;

       Write(‘на ‘, k, ‘ – месте массива находится минимальный элемент’, min:1:2);

End.

 

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

Задача № 4 Написать программу, которая сортирует по убыванию введённый с клавиатуры одномерный массив.

Программа:

Program Z5_8;

Const size=5;

Var A: array[1..size] of integer;

       I, k, buf : integer;

Begin

Write(‘Введите элементы массива’);

For i:=1 to size do           {Формирование массива}

Read(a[i]);

For i:=1 to size-1 do

      Begin

                  For k:=1 to size-1 do

                              Begin

                              If a[k]> a[k+1] then

                                                                 Begin

                                                                 Buf: = a[k];

                                                                 A[k]:= a[k+1];

                                                                 A[k+1]:= buf;

                                                                 End;

                              End;

                              For k:= 1 to size do write(a[k],’ ‘); {отладочная печать – состояние                                                                                 массива после очередного цикла сортировки}

      End;

For i:= 1 to size do write(a[i],’ ‘); {Вывод массива}

End.

 

 

 

 

 

 

 

      

      

 

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

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

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

Режиссер монтажа

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

Методист-разработчик онлайн-курсов

за 6 месяцев

Пройти курс

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

Скачать

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

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

6 662 980 материалов в базе

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

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

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

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

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

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

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

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

    Донченко Наталья Владимировна
    Донченко Наталья Владимировна
    • На сайте: 8 лет и 9 месяцев
    • Подписчики: 0
    • Всего просмотров: 18665
    • Всего материалов: 9

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

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

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

HR-менеджер

Специалист по управлению персоналом (HR- менеджер)

500/1000 ч.

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

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

Создание и обеспечение электронного архива с использованием информационно-коммуникационных технологий

Специалист по формированию электронного архива

600 ч.

9840 руб. 5600 руб.
Подать заявку О курсе
  • Сейчас обучается 30 человек из 22 регионов
  • Этот курс уже прошли 36 человек

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

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

36 ч. — 180 ч.

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

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

Методика преподавания информатики в начальных классах

72 ч. — 180 ч.

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

Мини-курс

Основы классической механики

3 ч.

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

Мини-курс

Психологическая экспертиза в работе с детьми и родителями

2 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 78 человек из 38 регионов
  • Этот курс уже прошли 48 человек

Мини-курс

Формирование здоровых детско-родительских отношений: влияние и преодоление сепарации

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 159 человек из 46 регионов
  • Этот курс уже прошли 85 человек