Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Pascal/Рядки

Рядки[ред.]

Найпримітивніша робота із рядками вже розбиралися раніше. Так, команда

writeln('Привіт, світе!');

виведе рядок 'Привіт, світе!'. Такі рядки також можна зберігати в змінних - типу string:

Program HelloWorld2; var str: string; begin str:='Привіт, світе!'; writeln(str); end.

Ця програма зберігає в змінній str значення, яке потім виводится командою writeln.

Щоб звернутися до окремого елементу рядка, треба скористатися квадратними дужками; цим рядки подібні до масивів. Програма

var str: string; begin str:='річка'; str[1]:='н'; writeln(str); end.

виведе 'нічка'. В уважного читача в цьому місці виникне питання: масиви мають тип, відмінний від елементу масива; як же так виходить, що елемент рядка може бути рядком? Дійсно, не може. Елементи рядка мають свій, окремий тип - character (літерний тип). Справа в тому, що літерний тип може бути перетворений на рядок без втрати інформації, тому компілятор робить таке перетворення непомітно. Запис 'н' (в лапках тільки один знак!) означає літеру 'н', а не рядок з однієї літери. Альтернативний спосіб задання символів - #число, де число - номер символу в кодуванні ASCII. Наприклад,

writeln(#64);

виведе літеру 'A'.

Особливості рядків[ред.]

Розглянемо команду

writeln(50);

і порівняємо її із командою

writeln('50');

Ці команди зовнішньо працюють однаково - виводять на екран знаки '50'. Різниця між ними в тому, що в першому випадку відбувається додаткове перетворення числа 50 на рядок '50', а в другому рядок виводится безпосередньо, що працює трохи швидше. Втім, це не означає, що треба всюди, де можливо, перетворювати числа на рядки - треба тільки розуміти різницю, і вживати рядки і числа на своєму місці.

Комбінація '​' зветься пустим рядком; пустий рядок, вочевидь, не містить жодної літери (і сам не є літерою).

Довжину рядка можна дізнатися за допомогою функціїї length:

Program StringLength; var str: string; begin write('Введіть рядок: '); readln(str); writeln('Довжина рядка: ',length(str)); end.

В старих версіях мови Паскаль поточна довжина рядка зберігалась в нульовій комірці рядка (на кшталт str[0]); іноді можна побачити в програмах, як працюють безпосередньо із цим значенням. В сучасних версіях це не так, тому треба користуватися тільки функцією length.

Рядки порівнюються за алфавітом; при цьому великі літери завжди вважаються такими, що йдуть раніше за маленькі (у відповідності до таблиці ASCII). Тобто

if 'bb'<'aa' then writeln('''bb''<''aa''') else writeln('''bb''>=''aa'''); if 'BB'<'aa' then writeln('''BB''<''aa''') else writeln('''BB''>=''aa''');

виведе 'bb'>='aa' 'BB'<'aa'! Коротший рядок вважається таким, що йде раніше за довший (якщо, звісно, всі літери коротшого збігаються з початковими літерами довшого рядка).


Дата добавления: 2015-09-03; просмотров: 66 | Нарушение авторских прав


Читайте в этой же книге: Урок 6. Програми з розгалуженням | Массивы и циклы в программировании | Цикл со счётчиком | Типизированные файлы |
<== предыдущая страница | следующая страница ==>
ПРОЦЕДУРЫ И ФУНКЦИИ| Множины

mybiblioteka.su - 2015-2024 год. (0.006 сек.)