рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Рядковий тип даних

Рядковий тип даних - раздел Образование, Інформатика Розв’Язуючи Задачі Нам Доводиться Виконувати Не Тільки Математичні Обчислення...

Розв’язуючи задачі нам доводиться виконувати не тільки математичні обчислення, а й опрацьовувати текстову інформацію: знаходити потрібне слово, виконувати електронний переклад, шифрувати або розшифровувати текст і т.д. Для роботи з текстами в Паскалі застосовується структурований тип даних String (рядок). Рядкомназивається послідовність певної довжини, що складається з символів.

Опис типу:

Var Str:string;

Найбільша довжина рядка не перевищує 255 символів і може бути вказана в його описі. Наприклад, рядкові змінні з найбільшою довжиною 10 символів описують так:

Var S,T:string[10];

Якщо найбільша довжина в описові не вказана, то вона становить 255 символів. Справжня довжина рядка залежить від присвоєного значення і не перевищує вказаної в описі. Для описаних вище змінних можливі такі присвоєння:

Str:='мир'; {справжня довжина 3 символи}

S:='я і ти';{справжня довжина 6 символів}

T:='';{справжня довжина 0 символів}

Як бачите, рядкові значення в програмі обмежуються апострофами. Якщо ж рядок теж містить апростроф, то в тексті програми цей символ слід подвоїти:

S:='Сім''я'; {присвоєне значення «Сім'я»}

Змінні типу String виводяться на екран з допомогою стандартних процедур Write і Writeln і вводяться за допомогою стандартних процедур Readln і Read. Тобто вводяться і виводяться не поелементно, як символи, а повністю.

Операції з рядками

У Паскалі є два основних способи опрацювання змінних типу String. Перший спосіб передбачає опрацювання всього рядка як єдиного цілого, тобто єдиного об’єкта. Також, можна розглядати рядок як складний об’єкт, що складається з окремих символів, тобто елементів типу Char, що під час опрацювання доступні кожний окремо. До кожного символу можна звернутися за його номером: Str[i] – це звернення до і-го символу рядка Str. Нумерація символів починається з 1.

1. Склеювання.

Під склеюванням розуміється послідовне об’єднання кількох рядків в один.

Приклад

Var Str1, Str2, Str3:string;

begin

Str1:='Я люблю';

Str2:='інформатику.';

Str3:=Str1+ ' ' +Str2;

...

Рядок Str3 набуває значення «Я люблю інформатику.».

2. Порівняння.

Паскаль дає змогу виконувати операції порівняння двох рядків. Порівняння відбувається посимвольно зліва направо: порівнюються коди відповідних символів, доки не порушиться рівність або не закінчиться один з рядків (чи обидва разом). При цьому відразу робиться висновок про знак нерівності. Два рядки називаються рівними, якщо вони рівні за довжиною і збігаються посимвольно.

Приклад

'Balkon'<'balkon' (Ord('B')<Ord('b'));

'Кіт'='Кіт' (рівні за довжиною і збігаються посимвольно).

Стандартні процедури і функції

АЛГО надає у розпорядження цілу низку стандартних функцій і процедур мови Паскаль, призначених для опрацювання рядків. Розглянемо найважливіші з них. Назви функцій подані двома мовами.

1. Вилучення.

Для вилучення з рядка фрагмента використовується процедура ВилучитиDelete(Str,n,m), що вирізає з рядка Str m символів, починаючи з n–го. Таким чином, після виклику процедури Delete рядок змінюється.

Приклад

Str1:=’ABCDEFGH’;

Delete (Str1,3,4);

Після виконання цих операторів із рядка будуть вилучені чотири символи (починаючи з третього), тобто рядок стане таким: Str1=‘ABGH’.

2. Вставка.

Для вставки одного рядка в інший використовується процедура Вставити Insert (Str1,Str2,n), що вставляє рядок Str1 у рядок Str2, починаючи з n–го символу. При цьому перший рядок не змінюється , а другий одержує нове значення.

Приклад

Str1:='ABCDEFGH';

Str2:='abcdefgh';

Insert(Str1, Str2, 3);

У результаті виконання даної процедури рядок стане таким: Str2= ‘abABCDEFGHcdefgh’. Таким самим буде результат виконання такої послідовності операторів:

Str2:='abcdefgh';

Insert ('ABCDEFGH',Str2,3);

3. Копіювання.

Функція Фрагмент Copy (Str,n,m) копіює m символів рядка str, починаючи з n-ого символу. При цьому рядок Str не змінюється.

Приклад

Str1:='ABCDEFGH';

Str2:='abcdefgh';

Str3:=Copy(Str1,4,3);

Writeln(Str3);

Writeln(copy(Str2,4,3));

Значення змінної Str3=’DEF’. А на екран будуть виведені такі рядки:

DEF

def

4. Довжина рядка.

Під довжиною рядка розуміють фактичну (а не найбільшу можливу) кількість символів у рядку. Її значення можна отримати за допомогою функції Довжина Length (Str). Результат її виклику – ціле число, що дорівнює кількості символів рядка Str.

Приклад

Str:='Я люблю інформатику.';

K:=Length(Str);

У результаті значення змінної K буде дорівнювати 20.

5. Пошук підрядка.

Функція Знайти Pos (Str1,Str2) визначає позицію підрядка в рядку. Її результат – ціле число. Воно визначає номер елемента, з якого починається перше входження підрядка Str1 у рядок Str2. Якщо Str1 не входить у Str2, то значення функції дорівнює 0.

Приклад

K:=Рos('ка', 'солодка карамелька')

У цьому випадку значення К дорівнює 6, тому що функція Рos повертає номер елемента, починаючи з якого підрядок зустрічається перший раз.

6. Числа і рядки.

Для роботи з числами й рядками застосовують дві процедури перетворення типів.

Текст Str(N,Str1) – переводить числове значення N у рядкове і присвоює результат рядку Str1, причому можна переводити як цілі числа, так і дійсні.

Приклад

Str(1234, Str1) – після виконання Str1='1234';

Str(452.567, Str1) – переводимо дійсне число, результат Str1='452.567';

Друга процедура виконує обернену дію.

Значення Val (Str, N, K) – переводить рядкове значення у числове. Якщо даний рядок є записом числа (цілого або дійсного), то значення К стане рівне 0, а N – шуканому числу. Якщо ж повністю перетворити рядок в число не вдалось, то K буде рівним номеру помилкового символу в рядку, а N – числу, записаному символами перед помилковим.

Наведемо програму, яка демонстує різні варіанти виклику процедури Значення:

Program ValDemo;

Var x, k:integer;

y:real;

– Конец работы –

Эта тема принадлежит разделу:

Інформатика

Інформатика... АЛГО основи програмування... клас Навчальний посібник Шепетівка...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Рядковий тип даних

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Середовище програмування АЛГО
Загальний вигляд та основні елементи оболонки У середовищі АЛГО реалізована мова програмування Паскаль, яка була розроблена Н.Віртом у 1968–1970 роках спеціально для навчання програмуванню

G, alfa, test17, x2y, _h1,
Сума2Чисел, кінець_масиву. Надалі слова «ім’я» та «ідентифікатор» вживатимемо як синоніми. В АЛГО ідентифікатори стандартних типів, констант, функцій та процедур,

Початок
Вивести('a,b='); Ввести (a,b); Sum:=a+b; Вивести('Sum=',sum); Кінець.

Цикл з передумовою
Тоді, коли число повторень тіла циклу заздалегідь невідоме, а задається лише деяка умова виконання циклу, використовуються цикли з умовою, а саме цикл з передумовою та цикл

Символьний тип даних
Символьний тип даних, як і цілий та логічний, відноситься до порядкових типів. Дані символьного типу описуються за допо­могою ідентифікатора Char. Значенням змінної символ

Процедури для оформлення та виведення тексту
Для відображення інформації в середовищі АЛГО виділено робоче поле висотою 2000 точок. Горизонтальний розмір цього поля дорівнює роздільній здатності монітора по горизонталі. Для зручності надалі н

Програма-годинник
Завдання цього параграфа – розробити про­граму електронного годинника. На прикладі цієї програми ви вивчите роботу процедур опиту­вання часу та методи побудови рухомих зображень. Для опиту

Практичне завдання
1) Зробіть так, щоб у випадку спроби ділення на нуль калькулятор повідомляв про помилку. 2) Додайте кнопки для обчислення потрібних Вам функцій. 4.4. Основи роботи ігрових

Початок
{ витираємо (зеленим кольором) мішень } Олівець(1,0,255,0); Пензель(1,0,255,0); Еліпс(Xm-5,Ym-5,Xm+5,Ym+5); { якщо за крок мішень вийде

Початок
Олівець(1,0,255,0); Пензель(1,0,255,0); Прямокутник(0,0,250,250); Xm:=20; Ym:=20; dX:=1; dY:=2; Повторювати МішеньЛетить

Початок
Олівець(1,0,255,0); Пензель(1,0,255,0); Прямокутник(0,0,250,250); Xp:=100; Yp:=100; Приціл(Xp,Yp); Повторювати Повідомлення(k,i,j); Як

Початок
{Попадання.Великим жовтим кругом показуємо вибух.} Пензель(1,255,255,0); Олівець(1,255,255,0); Еліпс(Xm-30,Ym-30,Xm-(-30),Ym-(-30)); { р

Поурочне планування
(32 години + 2 години резервного навчального часу) № уро­ку Тема уроку Параграф 1. Базові конструкції мови прогр

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги