Название: Алгоритмы и программы (Афанасьева Т. В.) Жанр: Информационные системы и технологии Просмотров: 1372 |
7. обработка массивов
Под структурой данных типа массив понимают набор упорядо- ченных однотипных данных. Упорядоченность данных в массиве позво- ляет обращаться к любому элементу массива по его номеру (индексу), а однотипность данных определяет возможность использования цикли- ческой обработки для всех элементов массива. При программировании задач обработки массивов данных на Turbo Pasсal необходимо знать: 1) каким образом определять переменные типа массив; 2) правила работы с элементами массивов; 3) алгоритмы обработки массивов. Для определения данных типа массив в Turbo Pasсal можно использовать следующие структуры:
type mas=array[1..5] of real; {одномерный массив из 5 } var mymas:mas; { вещественных элементов } {––––––––––––––––––––––––––––––––––} var my2mas:array[1..10] of mas; { двумерный массив 10*5 вещ. } mymas2:array[1..10] of array[1..5] of real; { элементов } mymas3:array[1..10,1..5] of real; {––––––––––––––––––––––––––––––––––}
В Turbo Pasсal можно объявить (описать) массив любой размерности. Ограничения, которые имеются при объявлении массивов: 1) границы изменения индексов (размерности) необходимо определить либо в описании массива, либо до его объявления; 2) максимальный объем памяти, выделенной под массив, не должен превышать 64kБ. Например: const N=5; M=4; var
a:array[1..N,1..M] of real; const n=7 var a:array[1..n] of byte; Таким образом, общая конструкция для определения структуры данных типа массив в программе следующая: type <имя типа>=array[<тип индексов>] of<тип элементов>; где array, of – служебные слова, [,] – служебные символы. В качестве <типа индексов> может использоваться любой пpостой тип Turbo Pascal, кpоме real и string. В качестве <типа символов> может использоваться любой пpостой или сложный тип Turbo Pascal. Для обращения к элементу массива требуется укaзать имя переменной типа массив и номер элемента в квадратных скобках. В исполняемой части пpогpаммы один массив может быть пpисвоен дpугому, если типы их идентичны:
type mas=array[1..10] of byte; var a,d:mas; .............. begin a:=d; .......... end.
|
|