34666

Массивы: определение, описание, размещение в памяти, использование

Реферат

Информатика, кибернетика и программирование

Структурная схема массива. Type имя типа = RRY [ тип индекса ] OF тип элементов VR имя переменной : имя типа ; При таком способе описания в разделе Type описывается тип массива который будет использоваться в программе то есть его размер и тип элементов. С отдельным элементом массива можно делать все что с любой переменной. Обращаться к элементу массива надо указывая имя переменной с номером элемента в квадратных скобках.

Русский

2013-09-08

55 KB

13 чел.

исциплина «Основы алгоритмизации и программирование»  Массивы

Массивы: определение, описание, размещение в памяти, использование.

1. Структурные типы данных.

2. Одномерные массивы. Способы описания.

3. Двумерные массивы.

1. Структурные типы данных

Типы данных бывают основные и структурные. К основным относятся типы: Integer, Real, Boolean и Char. К структурным типам относятся: массивы, записи, множества и файлы.

Каждый из указанных типов строится на базе более простых типов и в результате на базе основных типов. Для каждого структурного типа в Pascal определена конструкция описания типа и конструкция обращения к элементам переменных типа. Кратко охарактеризуем структурные типы.

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

Запись - совокупность неоднородных элементов базовых типов, обращение к которым выполняется с помощью имён полей.

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

Файл - совокупность однородных элементов базового типа, доступ к которым осуществляется последовательно. В отличие от других структурных типов, переменные которых хранятся в ОП, файлы хранятся на ВУ. Доступ к элементам файлов осуществляется с помощью стандартных процедур.

Базовыми типами для структурных типов могут быть любые типы, кроме файлов.

Массивы

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

Массивы бывают: одномерный, двухмерный и т.д.

2. Одномерные массивы. Способы описания.

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

8

4

7

3

2

Массив А.

Структурная схема массива.

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

1. Неявный способ.

Type

<имя типа> = ARRAY [<тип индекса> ] OF <тип элементов >

VAR <имя переменной> : <имя типа>;

При таком способе описания в разделе Type описывается тип массива, который будет использоваться в программе, то есть его размер и тип элементов. Далее в разделе VAR для переменных которые будут содержать массив указывается новый тип. Если необходимо создать массивы разных типов или разных размеров, то для них создаются отдельные типы, а после объявляются переменные этих типов

Пример:

Type

Mass1 = ARRAY [1..10] OF REAL;

Mass2 = ARRAY [1..10] OF INTEGER;

VAR  A,B: Mass1;

    С : Mass2;

2. Явный способ

VAR <имя переменной > : ARRAY [<тип индекса>]  OF <тип элементов >

При таком способе описания в разделе VAR  сразу указываются переменные, которые будут иметь тип – массив. Если необходимо создать массивы разных типов или разных размеров, то их описывают отдельно.

Пример:

VAR 

    A, B: ARRAY [1..10] OF REAL;

    С: ARRAY [1..10] OF INTEGER;

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

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

Например:

A[1], A[6], A[i].

Если необходимо обратиться поочередно к каждому элементу массива, то используются циклы. Чаще – цикл For.

Пример: вывести значения всех элементов массива А из предыдущих примеров.

For i:=1 to 10 do Writeln(a[i]);

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

For i:=1 to 10 do a[i]:=0;

Часто для решения задачи требуется, чтобы массив был заполнен различными числами. Вводить с клавиатуры множество чисел очень не удобно и долго. Для заполнения массива произвольными числами используется функция Random (AInteger);.  Данная функция возвращает случайное число. Пример:  n:=random(100). То есть в переменную n будет помещено случайное число от 0 до 100. В некоторых операционных системах для того, чтобы использовать эту функцию, необходимо включить (инициализировать) датчик случайных чисел. Для этого надо написать команду: Randomize; делается это обычно в начале программы..

Заполнение массива случайными числами будет иметь вид:

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

Пример:

Program N1;

var

   M: Array [1..100] of Integer;

   A: Real;

   I: Byte;

begin

 Randomize;

 For I:=1 to 100 do

   M[I]:=Random(500);

 For I:=1 to 100 do

   A:=A+M[I];

 A:=A/100;

 Write('Среднее арифметическое всех чисел массива: ', A);

end.

3. Двумерные массивы.

По своей структуре аналогичны таблицам. Каждый элемент характеризуется номером строки и номером столбца. Например: А[3,8] – элемент из массива А находящийся в 3 строке и 8 столбце.

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

A: ARRAY [1..5, 1..10] of integer;

– описание двумерного массива из 5 строк и 10 столбцов.

Для обработки двумерного массива используются вложенные циклы For. Первый цикл – внешний изменяет номер строки. Второй – внутренний изменяет номер столбца.

Рассмотрим типичную структуру для обработки двумерного массива размером n на m:

For i:=1 to n do

begin

 {Действия, производимые для целой строки или перед обработкой строки}

 for j:=1 to m do 

 begin

   {действия производимые над каждым элементом}

 end;

 {Действия, производимые для целой строки или после обработки строки}

end;

Первый цикл для каждого из значений i повторяет полностью весь второй цикл, изменяя j от 1 до m. То есть для каждого номера строки просматриваются все номера столбцов.

Пример: Заполнить массив случайными числами и вывести на экран построчно:

For i:=1 to 5 do

begin

 for j:=1 to 10 do 

 begin

   a[i, j]:=random(100); {присваивает элементу массива случайное число}

   write(a[i,j]); {печатает элемент массива }

 end;

 writeln; {когда напечатана строка переводит курсор на следующую}

end;

ЛИТЕРАТУРА

  1.  Прикладная информатика: Учеб. пособие. А.Н. Морозевич, 2003.
  2.  Turbo Pascal 7.0 для студентов и школьников. Наука и Техника, 2007.

Разработал
Преподаватель: Скуловец А.П.

Рассмотрено и утверждено
на заседании методической комиссии
информационных технологий.


 

А также другие работы, которые могут Вас заинтересовать

29583. Массовое сознание: Субъективистский и объективистский подходы 14.37 KB
  Массовое сознание включает в себя понятие массы: МассаОртега и Гаса это суждение некомпетентных низкое качество современной цивилизации; Масса Юнгер механизное общество в котором человек является придатком машины; Масса Зиммель Вебер Манхейм – это бюрократическое общество которое отличается широко расчленненой организацией в которой принятие решений допускается на высших этапах иерархии; МассаЛенин – совокупность трудящихся наименее организованных и просвещенных. МассаШарков это шаблонное Например когда в деревнях все...
29584. Стратегия и тактика планирования рекламной кампании 16.33 KB
  Стратегия и тактика планирования рекламной кампании. Планирование рекламной кампании это процесс в котором принимают участие все структурные подразделения рекламного агентства и маркетинговый отдел рекламодателя. Результат этого процесса составление плана рекламной кампании на определенный период. Главная задача планирования рекламной кампании определить как будет доноситься рекламное послание до потребителя: в какой форме с помощью каких средств массовой информации и в рамках какого бюджета.
29585. Основные понятия в медиапланировании (рейтинг, доля, HUT, PUT, PUR). Их расчет и соотношение в планировании рекламных кампаний 33.55 KB
  Home Using TV одним из базовых показателей в медиапланировании является число людей или домохозяйств в которых смотрят телевизор. Этот показатель описывает количество людей или домохозяйств использующих ТВ на определенный момент времени Иными словами это процент индивидуумов или домохозяйств использующих телевизор в данное время дня. Показатель HUT не включает людей смотрящих телевизор вне дома например в магазинах аэропортах отелях и т. То есть рекламное сообщение смогут увидеть те люди которые по крайней мере в данный момент...
29586. Медиавес рекламной кампании и его измерение (охват, частота, количество предъявлений) 46.5 KB
  Охват — это количество разных индивидуумов, которые были затронуты графиком прохождения рекламной кампании за данный период времени, или, другими словами, увидели нашу рекламную кампанию, наше рекламное объявление хотя бы один раз, обычно представляется в процентном формате.
29587. Принципы отбора медианосителей и оценка их эффективности 13.6 KB
  Рейтинг телевизионного времени доля в тех телезрителей которые смотрели конкретный канал в определенное время от потенциального числа телезрителей. Максимально высокий рейтинг имеет пиковое телевизионное время праймтайм. Сумма всех рейтингов целевой рейтинг показатель чистого полезного охвата умноженный на частоту контакта. Стоимость одного общерейтингового пункта мера определяющая эффективность конкретной программы.
29588. Эффективность рекламных кампаний и лояльность потребителей. Экономические и коммуникативные показатели эффективности 16.05 KB
  Наиболее популярный способ выявления эффективности рекламы методика облегчения вспоминания используемая для того чтобы определить в какой мере человек способен вспомнить ее содержание. Но даже если человек и хорошо запомнил содержание рекламы это вовсе не означает что он готов купить то что рекламируют. Второй способ выявления эффективности рекламы методика узнавания. Людям которые прочитали журнал или видели телевизионную программу предъявляют копии рекламы и задают вопросы о ней.
29589. Новые технологии и виды услуг рекламного рынка 15.87 KB
  Относительно низкая стоимость проекта. Небольшие временные затраты в разработке проекта. Краткосрочность эффекта от реализации проекта Маркетинг слухов Преимущества: 1. Невысокая стоимость в организации проекта.
29590. Соотношение охвата и частоты в медиапланировании. Использование ПО в медиапланировании 20.38 KB
  Соотношение охвата и частоты в медиапланировании. Охват это численность представителей ЦА в рамках компании имевших контакт с рекламой хотя бы 1 раз. При вычислении охвата получатели сообщения учитываются лишь один раз независимо от числа прочитанных ими газет просмотренных или прослушанных телерадиопрограмм. Охват аудитории может быть представлен и как характеристика аудитории которая видела слышала рекламу определенное число раз и как характеристика аудитории которая видела слышала рекламу не менее определенного числа раз.
29591. Рекламные агентства: виды, функции, тенденции развития 12.03 KB
  Агентство также приобретает или привлекает субподрядчиков для покупки рекламного места и времени в различных средствах массовой информации. Фирмы по приобретению рекламного времени. В услуги входит подробный анализ закупаемого времени. После реализации сформированного пакета рекламного времени такая фирма выдает график рекламной трансляции контроль его исполнения и даже проводит расчеты со СМИ.