Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Строковый тип данных

МНОГОМЕРНЫЕ МАССИВЫ.

Многомерные массивы – это матрицы, имеющие строки и столбцы. Если в форме описания массива задан один индекс, массив называется одномерным, если два – двумерным, если n – n-мерным. Такие матрицы можно описать следующим образом:

1) type t=array[1..3,1..4] of real;

var A:t;

 

2) type t=array[1..3] of array[1..4] of real;

var A:t;

 

В первом случае описывается каждый тип индекса, затем указывается простой базовый тип элементов массива real.

Во втором случае сначала описывается тип данных индекса [1..3], затем указывается сложный базовый тип array[1..4] of real;, который в свою очередь содержит описание типа другого индекса и простого базового типа элементов массива.

Если в программе необходимо выделить отдельные строки матрицы, то удобно ввести такое описание:

type t1=array[1..4] of real;

t=array[1..3] of t1;

var A:t;

B:t1;

Значения двумерного массива вводятся и выводятся аналогично одномерному массиву с помощью вложенного оператора цикла с параметром:

а) for i:=1 to 10 do б) for i:=1 to 10 do

for j:=1 to 15 do for j:=1 to 15 do

readln(A[i,j]); writeln(A[i,j]);

Пример:

Определить количество положительных и отрицательных элементов матрицы А(10х15).

Решение:

program mas;

var a:array[1..10,1..15] of real;

pl,otr,i,j:integer;

begin

for i:=1 to 10 do

for j:1 to 15 do

begin

writeln(‘a[‘,i:2,’,’,j:2,’]=’);

readln(a[i,j])

end;

pl:=0;

otr:=0;

for i:=1 to 10 do

for j:=1 to 15 do

if a[i,j]>0 then pl:=pl+1 else otr:=otr+1;

writeln(‘pl=’,pl:9:2,’ otr=’,otr:9:2)

end.

 

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

Для хранения и обработки отдельных символов используется переменные типа char. Значением переменной типа char может быть любой символ. Переменная символьного типа должна быть объявлена в разделе описания переменных. Как и любая переменная программы, переменная типа char может получить значение в результате выполнения операторов присваивания или ввода. Если символьная переменная получает значение в результате выполнения операции присваивания, то справа от знака:= должно стоять выражение типа char или символьная константа – символ, заключенный в двойные кавычки. Переменную типа char можно сравнить с другой переменной типа char или символьной константой. Сравнение основано на том, что каждому символу поставлено в соответствии число, причем символу ‘0' соответствует число меньшее, чем символу ‘9’, символу ‘A’ – меньшее, чем ‘B’, символу ‘Z’ – меньшее, чем ‘a’. Таким образом, можно записать:

‘0’<’1’< …<’9’< …<’A’<’B’< …<’Z’<’a’< …<’z’

Символам русского алфавита соответствуют числа большие, чем символам латинского алфавита, при этом справедливо следующее:

‘А’<’Б’<’В’< … <’Ю’<’Я’<’а’<’б’<’в’< … <’э’<’ю’<’я’.

Последовательность символов называется строкой. Для хранения и обработки последовательностей символов (строк) можно использовать массив символов. Помимо массивов символов для хранения и обработки строк можно использовать переменные типа string, за которым следует заключенное в квадратные скобки значение максимально допустимой длины строки данного типа. Количество символов в строке (длина строки) может динамически изменяться от 0 до 255. Строковые данные могут использоваться в программе в качестве констант. Недопустимо применение строковых переменных в качестве селектора в операторе case. Определение строкового типа устанавливает максимальное количество символов которое может содержать строка. Переменную строкового типа можно определить через описание типа в разделе определения типов:

 

type <имя типа> = string [максимальная длина строки];

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

 

или непосредственно в разделе описания переменных:

 

var <имя переменной>: string [максимальная длина строки];

 

Строка в языке Pascal трактуется как цепочка символов. (Для строки их N символов отводится N+1 байт; N байт – для хранения символов строки, а один байт – для значения текущей длины строки.) К любому символу в строке можно обратиться, указав его номер. В самом начале строки (под нулевым номером) расположен байт, содержащий значение текущей длины строки.

 

          N+1 N

 

<== предыдущая лекция | следующая лекция ==>
Действия над элементами массива | Строковые процедуры и функции
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 399; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.