Массивы данных в Турбо Паскале

Автор: Пользователь скрыл имя, 28 Октября 2013 в 15:44, курсовая работа

Описание работы

Массив - это именованная группа однотипных данных, хранящихся в последовательных ячейках памяти. Каждая ячейка содержит элемент массива. Элементы нумеруются по порядку, но необязательно начиная с единицы. Массивы состоят из ограниченного числа компонент, причем все компоненты массива имеют один и тот же тип, называемый базовым. Структура массива всегда однородна. Массив может состоять из элементов типа integer, real или char, либо других однотипных элементов. Другая особенность массива состоит в том, что к любой его компоненте можно обращаться произвольным образом. Программа может сразу получить нужный ей элемент по его порядковому номеру (индексу). Индекс - это переменная типа INTEGER. В одномерном массиве элементы массива нумеруются одним индексом. Нужно четко понимать, что индекс ячейки массива не является ее содержимым. Содержимым являются хранимые в ячейках данные, а индексы только указывают на них. Действия в программе над массивом осуществляются путем использования имени переменной, связанной с областью данных, отведенной под массив.

Содержание

Введение…………………………………………………………………………….3
1 Одномерные массивы……………………………………………………………5
2 Двумерные массивы…………………………………………………………….12
Заключение………………………………………………………………………...18
Глоссарий………………………………………………………………………….20
Список использованных источников……………………………………………22
Список сокращений……………………………………………………………….23
Приложения……………………………………………………………………….24

Работа содержит 1 файл

Курсовая Программирование.doc

— 195.00 Кб (Скачать)

Основные данные о работе

Версия шаблона

2.1

Филиал

Петрозаводский

Вид работы

Курсовая работа

Название дисциплины

Программирование

Тема

Массивы данных в Турбо  Паскале

Фамилия студента

Приймак

Имя студента

Ольга

Отчество студента

Владимировна

№ контракта

0800211400609013


 

 

 
 

Содержание

Введение…………………………………………………………………………….3

1 Одномерные массивы……………………………………………………………5

2 Двумерные массивы…………………………………………………………….12     

Заключение………………………………………………………………………...18

Глоссарий………………………………………………………………………….20

Список использованных источников……………………………………………22

Список сокращений……………………………………………………………….23

Приложения……………………………………………………………………….24

Введение

Цели: углубление знаний и расширение навыков по разработке массивам и их реализации на персональном компьютере

Задачи: рассмотреть массивы, дать им определение, наглядно обрисовать задачи и их решения.

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

Массив - это именованная  группа однотипных данных, хранящихся в последовательных ячейках памяти. Каждая ячейка содержит элемент массива. Элементы нумеруются по порядку, но необязательно начиная с единицы. Массивы состоят из ограниченного числа компонент, причем все компоненты массива имеют один и тот же тип, называемый базовым. Структура массива всегда однородна. Массив может состоять из элементов типа integer, real или char, либо других однотипных элементов. Другая особенность массива состоит в том, что к любой его компоненте можно обращаться произвольным образом. Программа может сразу получить нужный ей элемент по его порядковому номеру (индексу). Индекс - это переменная типа INTEGER. В одномерном массиве элементы массива нумеруются одним индексом. Нужно четко понимать, что индекс ячейки массива не является ее содержимым. Содержимым являются хранимые в ячейках данные, а индексы только указывают на них. Действия в программе над массивом осуществляются путем использования имени переменной, связанной с областью данных, отведенной под массив.

Массивом называется набор данных одного типа, расположенный в оперативной памяти. К элементу массива можно обратиться по его индексу (номеру). В памяти ЭВМ все элементы массива располагаются подряд. Каждый из индексов массива находится в некотором диапазоне (<нач. элемент>…<кон. элемент>). Причем конечный элемент больше либо равен начальному элементу. В качестве диапазона можно использовать: Integer, Char, Boolean. Очень часто это целочисленный тип (integer, word или byte), но может быть и логический и символьный. У разных массивов типы данных могут различаться. Например, один массив может состоять из чисел типа integer, а другой - из чисел типа real.

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

<переем. массив>: array[<диапазон 1>..<диапазон N>]<тип переменной>;

В языке Паскаль тип  массива задается с использованием специального слова array (англ. - массив), и его объявление в программе выглядит следующим образом:

Type < имя _ типа >= array [ I ] of T;

где I - тип индекса массива, T - тип его элементов.

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

Var a,b: array [ I ] of T;

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

При этом длину массива  Паскаля характеризует выражение:

(I n)- ord (I 1)+1.

Основная часть

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

 

МАССИВ ДАННЫХ [array, data file] (или информационный массив) — совокупность однородных записей (т. е. наборов данных, характеризующих какой-либо объект управления, процесс и т. д.), рассматриваемых как одно целое и упорядоченных таким образом, что их описание (набор индексов) однозначно определяет положение каждого элемента или путь доступа к нему (напр., картотека материалов в отделе снабжения завода). Простейшее упорядочение данных — их нумерация в виде списка (одномерный массив). Но обычно производственные данные представляются в виде таблиц, которые содержат данные двух видов: постоянную часть (заголовок таблицы, названия строк и столбцов) и переменную часть — собственно показатели таблицы (матрицы). Запись таблиц осуществляется при этом двумя способами: при первом подряд записываются все элементы матрицы, включая нулевые — их легко находить по порядковому номеру записи. При втором, чтобы сделать запись экономнее, в массив включают только значащие элементы и каждому из них дают индекс, признак его места в таблице (напр., номер столбца и номер строки) — это двухмерное упорядочение массива. Применяется и трехмерное упорядочение.

Если за каждым элементом массива закреплен только один его порядковый номер, то такой массив называется линейным, или одномерным.

Одномерный массив – это фиксированное количество элементов одного типа, объединенных одним именем, причем каждый элемент имеет свой уникальный номер, и номера элементов идут подряд.

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

Тип массив описывается следующим образом:

Type      

Имя типа = Array [тип индекса (ов)] Of  тип элементов;

Var      

Имя переменной: имя типа;

Переменную типа массив можно описать сразу в разделе описания переменных Var:

Var   Имя переменной: array [тип индекса (ов)] Of  тип элементов;

  • Array – служебное слово (в переводе с английского означает «массив»);
  • Of – служебное слово (в переводе с английского означает «из»).
  • Тип индекса – любой порядковый тип, кроме типов integer, longint.
  • Тип же самих элементов может быть любым, кроме файлового типа.
  • Количество элементов массива называется его размерностью.Несложно подсчитать, что при последнем способе описания множества индексов размерность массива равна: максимальное значение индекса – минимальное значение индекса + 1.

Например:

Type      

mas = array [1..20] of  real;

Var  X: mas;

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

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

Индексы элементов массива могут  начинаться с любого целого числа, в  том числе и отрицательного, например:

Type bb = Array [-5..3] Of Boolean;

Массивы данного типа будут содержать 9 логических переменных, пронумерованных от -5 до 3.

Ввод и вывод одномерных массивов в Паскале

Ввод и вывод массивов осуществляется поэлементно.

Введем одномерный массив Х, состоящий из 30 элементов, то есть необходимо ввести некую последовательность элементов Х1, Х2, …, Х30.

Пусть i – индекс (порядковый номер) элемента в массиве Х. Тогда

Х– i-й элемент массива Х, где i = 1, 2, …, 30.

Для ввода массива  можно использовать любой цикл.

Первый вариант: ввод массива с использованием цикла с предусловием (Рисунок 1).

Program Primer_1;

Var i: integer;    

 X: array [1..30] of Integer;

Begin    

i := 1;     

While i <= 30 Do         

Begin           

Read (X[i]); i := i + 1          

End;      

 Readln

End.

Можно ввести с клавиатуры элементы следующим образом:

-7 _ 4 _ -2 _ 0 _ 12 _ -1 _ -5 _  9 _ 11 _ -3 _ -5 _ … _15, то есть через пробел ввести в строчку и нажать клавишу Enter.

Можно было ввести элементы в столбец,   отделяя элементы клавишей Enter, то есть каждый элемент с новой экранной строки:

-7 Enter 

4 Enter

-2 Enter 

 … 

 … 

 … 

15 Enter

В первом варианте ввод массива Х в программе осуществляется с использованием цикла с предусловием.

Второй вариант: ввод массива с использованием цикла с постусловием (Рисунок 2).

Program Primer_2;

Var i: integer;    

X: array [1..30] of Integer;

Begin    

i := 1;    

Repeat          

Read (X[i]); i := i + 1     

Until i > 30;      

Readln

End.

Массив X введен с использованием цикла с постусловием.

Третий вариант: ввод массива с использованием цикла с параметром (Рисунок 3).

Program Primer_3;

Var i: integer;    

X: array [1..30] of Integer;

Begin     

For i := 1 To 30 Do Read (X[i]);    

 Readln

End.

Массив вводится с помощью цикла  с параметром, где в качестве параметра используется индекс элемента массива (i).

Вывод одномерного массива осуществляется аналогично.

В программе вместо операторов Read или Readln используются операторы Write или Writeln. Но просто заменить одни операторы  на другие здесь недостаточно. Для  того чтобы выводимые значения не сливались между собой, надо явным образом вставлять между ними разделитель – пробел или перевод строки. Приведем два возможных способа вывода массива:

  • For i := 1 To n Do Write (X[i],’ ‘);
  • For i := 1 To n Do Writeln (x[i]).

На первый взгляд второй способ может показаться более простым и удобным, но это далеко не всегда так. Результат работы такой программы зачастую неудобно, а то и просто невозможно анализировать. Ведь каждый элемент массива будет располагаться в отдельной строке, следовательно, мы не сможем увидеть более 25 элементов одновременно. Кроме того, очень часто массив требуется распечатать дважды, чтобы сравнить состояние массива до обработки и результат его обработки. В этом случае сравнение состояний массива гораздо удобнее проводить, если они распечатаны в двух соседних строках, а элементы выровнены по столбцам, то есть к варианту 1 должна быть добавлена еще и форматная печать (указано количество позиций, которое должно отводиться на печать одного элемента).

Например, выведем одномерный массив Х1, Х2, …, Хn, состоящий из элементов вещественного типа, используя цикл с параметром (Рисунок 4):

Program Primer_4;

Const n = 30;

Var i: Integer;    

X: Array [1..n] Of Real;

Begin        

For i:= 1 To n Do Write (X[i] : 6 : 2,  ‘ ‘);         

 Writeln; {курсор переводит на новую строку}        

Readln

End.

Алгоритмы сортировки одномерных массивов. Сортировка - один из наиболее распространённых процессов современной  обработки данных.

Сортировкой называется распределение элементов массива в соответствии с определёнными правилами. Например, сортировка массива по возрастанию или убыванию его элементов. Описание типа линейного массива выглядит так:

<Имя типа>=Array [<Диапазон  индексов>] Of <Тип элементов>;

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

Одномерный массив можно  задать (объявить) двумя способами:

C помощью служебного слова TYPE описывается тип массива, а затем с помощью VAR вводится переменная этого типа.

Общая форма записи

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

С помощью слова VAR сразу  описывается переменная типа массив.

Общая форма записи

<переменная>: ARRAY [тип  индекса] OF <тип компонент>;

Описать переменную-массив можно и сразу (без предварительного описания типа) в разделе описания переменных:

<Переменная-массив> : Array [<Диапазон индексов>] Of <Тип  элементов>;

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

Var, BB : Array [1..40] Of Real;: Array ['A'..'Z'] Of Integer;: Array [-20..20] Of Word;: Array [1..40] Of Real;

Теперь переменные S, BB и T представляют собой массивы из сорока вещественных чисел; массив N имеет  индексы символьного типа и целочисленные элементы; массив R может хранить в себе 41 число типа Word.

Единственным действием, которое возможно произвести с массивом целиком - присваивание. Для данного  примера описания впоследствии допустима  следующая запись:=BB;

Но присваивать можно только массивы одинаковых типов. Даже массиву T присвоить массив S нельзя, хотя, казалось бы, их описания совпадают, произведены они в различных записях раздела описания.

Информация о работе Массивы данных в Турбо Паскале