русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Writeln


Дата добавления: 2015-01-16; просмотров: 581; Нарушение авторских прав


end;

End.

В примере используется b — таблица из 10 строк по 15 символов каждая. При ее вводе необходимо набирать строки по 15 символов и нажимать <Enter>. Неудобство такого ввода заключается в том, что все строки должны содержать по 15 символов, т. е. если набираются слова, то в них не может быть более чем 15 букв, а в коротких словах надо добавлять пробе­лы.

При обработке символьных массивов используются такие же алгоритмы, как и для числовых. Например, требуется слово, заданное как массив символов, записать в обратном порядке, т. е. справа налево. При разработке алгоритма можно исполь­зовать такую постановку задачи: данный числовой массив пе­реписать так, чтобы последний элемент встал на первое мес­то, предпоследний на второе и т. д., а первый — на последнее. Другими словами, необходимо из массива а1, а2, ..., аn, полу­чить аn, аn-1, ..., а1 ,который будет находиться в массиве b (рис.8).

На рисунке 8 в рамке обведена формула пересчета индекса: когда у массива а номера перечисляются в прямом порядке, т. е. текущий индекс элемента массива изменяется от 1 до n, у элементов массива b индексы должны меняться от n до 1.

Рис. 8. Перемещение элементов из массива а в массив b и пересчет индексов

 

Такое изменение и обеспечивает данная формула, она приве­дена для индексов массива b. Программа Р32 производит пе­ремещение элементов в обратном порядке, для символьных данных она называется программой обращения слова:

program Р28;

constn = 15;

vara, b:array[ 1.. n ]of char;i:integer;

Begin

fori: = 1tondo

Begin

read(a [ i ]);

b [n-i+1]:= a[i]

end;

fori: = 1tondo

write(b [ i ])

End.

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

Строкаэто ограниченная апострофами последовательность любых символов.



Длина строки, обрабатываемой в Паскале, не должна пре­вышать 255 символов (апострофы не считаются). Это связано с тем, что в конце строки, в дополнительном байте, хранится ее длина — количество символов, а наибольшее целое число, которое может быть записано в байте, — 255. Если требуется обработать текст, длина которого большее 255 знаков, то надо использовать массив строк.

Описание строки имеет вид:

varх:string[ 20 ];

Строка х должна быть не более чем из 20 символов. Если она меньше, то будет занимать в памяти столько байтов, сколько знаков она содержит (плюс 1 байт — длина). Поэтому при вводе строк нет необходимости дополнять их до указан­ной в описании длины.

Для обработки строк используются специальные операции и собранные в специальную библиотеку подпрограммы. Опе­рации позволяют работать со строками, как с цельными объ­ектами, а подпрограммы, в основном, — с отдельными симво­лами или частями строк. Операции над строками — это объ­единение, сравнение и присваивание.

Объединение строк. Эта операция позволяет объединить две строки в одну, присоединив начало второй строки к концу первой. Объединение обозначается знаком «+». Например:

var x, у, 2:string [ 10 ];

begin:

x: = ‘тепло’;

у: = ‘ход’;

z: = х + у;

write (z)

End.

Переменным х и у присваиваются значения строк, а пере­менной z - результат объединения этих строк в одну:‘тепло­ход’. При печати строки будет выдано содержимое области памяти, называемой z.

Очевидно, что операция объединения строк некоммутатив­ная, т. е. для нее

а+b < > b+а,

поэтому при использовании объединения необходимо предус­матривать, с какой стороны к данной строке присоединяется другая: слева или справа.

Как и для арифметических операций, для данной операции со строками существует нейтральный элемент, не влияющий на ее результат. Это — строка нулевой длины (пустая строка), обозначаемая двумя рядом стоящими апострофами ("). Такую строку можно присоединить к любой строке слева или справа и строка не изменится.

Сравнение строк. Для строк используются такие же опера­ции отношения, как и для чисел, но они имеют несколько другой смысл. Если строки сравнивать на «равно» (=), то вы­полнение равенства означает посимвольное совпадение строк. Соответственно «не равно» (<>) означает несовпадение хотя бы в одном знаке. Остальные отношения (<, £, ³, >) относят­ся к длинам строк, т. е. сравниваются не символы строк, а их количества. Если записать:

‘а’ < ‘b’ + ‘с’,

то сначала выполнится объединение строк (эта операция име­ет более высокий приоритет), а затем сравнение длин. В дан­ном случае условие удовлетворяется, так как строка из одного символа меньше (по длине), чем строка из двух символов.

Присваивание. Оператор присваивания для строковых дан­ных имеет вид:

Имя_строковой _переменной: = строковое выражение;

Имя строковой переменной может быть простое или с ин­дексом (элементом массива строк). Если в результате выпол­нения всех операций строкового выражения получается стро­ка, длина которой превышает длину в описании переменной, стоящей слева от знака присваивания, то такая строка укора­чивается справа до допустимой длины.

var x:string [ 6 ];

Begin

х: = ‘мим’ + ‘озабоченный’;

write (x)

End.

В результате работы этой программы будет напечатано сло­во «мимоза». Поэтому допустимая длина x - 6 символов, зна­чение выражения справа от присваивания «мимозабоченный» сократится до «мимоза», остальные символы будут отброше­ны.

Длина строки. Функция длины строки выдает количество символов строки:



<== предыдущая лекция | следующая лекция ==>
Краткие теоретические сведения. | Length (строковое_выражение)


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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