34666

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

Реферат

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

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

Русский

2013-09-08

55 KB

14 чел.

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

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

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.

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

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


 

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

52521. Усі уроки географії. 8 клас 1.16 MB
  Завершальним етапом роботи учнів на уроці є підсумок уроку. Здебільшого пропонуються прийоми, які дозволяють учням зробити його самостійно. Розробку уроку завершують різні види домашнього завдання. Представлені уроки тематичного оцінювання, завдання яких складені подібно до завдань, які використовувались під час ЗНО, відповідають програмним вимогам щодо знань і вмінь.
52522. Ділення раціональних чисел 153.5 KB
  Обладнання: фізична карта світу макет козацької чайки піратського корабля сигнальні картки карткизавдання; підручник для 6го класу: Математика Мерзляк А. Щоб зорієнтуватися в просторі нам треба розвязати завдання за правильними відповідями відшукати слово яке вкаже на курс нашої подорожі. ІІІ етап Поповнення запасів їжі і питної води Робота з сигнальними картками: Тестові завдання учні підіймають картку з правильною на їх думку відповіддю...
52523. Найбільший спільний дільник кількох чисел ( НСД) 34 KB
  Мета: сформулювати поняття спільного дільника кількох чисел найбільшого спільного дільника взаємно простих чисел; домогтися засвоєння алгоритму знаходження НСД кількох чисел. Коротко це можна записати так: НСД45, 30 = 15. Для довільних чисел і b пишуть так НСД; b.
52524. Елементи методики роботи вихователя з колективом класу. Ділова гра 105.5 KB
  МЕТА: Озброєння вихователів школи навичками відбору та використання оптимальних форм та методів роботи з колективом класу; Вдосконалення організаторських здібностей. Обладнання: схеми на яких показані взаємовідношення командира лідера із членами колективу при індивідуальній груповій колективній формах роботи. Завдання: Визначте яка форма роботи зображена на схемі.
52525. Година спілкування 9 клас. Україна – наш спільний дім 512.5 KB
  Ознайомити учнів з основними державотворчими подіями становлення незалежної України вивчення основних засад демократичного та суспільного ладу України її досягнень за останні роки. Узагальнити і систематизувати знання дітей про державні символи нашої Вітчизни: герб прапор гімн Основний Закон України Конституцію. 1 Удосконалювати вміння добирати прикметники до іменника Україна утворювати множину іменників назв мешканців міст України. Вдосконалювати в учнів навички виразного читання поезій про державні прапор...
52526. Природа - нам як рідний дім 45 KB
  Привітання: Усміхнемось сонечку: Здрастуй золоте Усміхнемось квітоньці: Хай вона росте Усміхнемось дощику: Лийся мов з відра Гостям усміхнемося: Зичим їм добра Вихователь. Андрію бажаю тобі Вихователь. Вихователь.
52527. Подорож країною динозаврів. Трикутники 323.5 KB
  Дидактична мета: В ході уроку забезпечити засвоєння учнями основних понять трикутника та його елементів вчити застосовувати їх при розвязуванні задач. Питання можуть бути такими: Що називається трикутником Назвати елементи трикутника; Означити види трикутника за сторонами; і т. Учні дають усні відповіді на питання: Що називається висотою трикутника Де знаходиться точка перетину висот у трикутнику Скільки висот у трикутнику Особливості висот трикутника. Що є точкою перетину медіан трикутника Скільки медіа у...
52528. Discover Britain 6.3 MB
  I want to draw your attention to the blackboard where the quotation from John Clarke is written: “He that travels far knows much”. I think these words can be the motor of our lesson. Let’s try to prove that Clarke was really right. What do you think about this quotation? How do you understand these words? What is your opinion?
52529. Дисидентський рух на Україні в період загострення кризи радянської системи (ІІ половина 60-х – початок 80-х років) 152 KB
  Стус Мета: освітня познайомити учнів із методами боротьби дисидентів проти тоталітарного режиму на Україні із формами переслідувань радянською владою інакодумців людей що викривали злочини СРСР і критикували політичний курс тоталітарного суспільства; розвиваюча зясувати які проблеми піднімали українські дисиденти у своїй діяльності яким чином поширювали інформацію про тоталітарну систему в СРСР простежити розвиток дисидентства на Україні від часу виникнення до його апогею...