пʼятниця, 20 жовтня 2017 р.

Тип String

Стрічки


Під стрічкою розуміється скінченну послідовність символів (елементів таблиці ASCII). В Pascal така послідовність не може перевищувати 255 символів. Загальний вигляд опису змінних типу стрічка:
I спосіб:  type Strichka=string[N];
                var S:Strichka;                        
        II спосіб:  var S:string[N];
Var S: string[N]; де N вказує довжину максимальної стрічки, яка може бути присвоєна змінній S.
Якщо стрічка описана   var S: string [10];
то можна задати такі рядки    S:=’фізика’;   або    S:=‘’;{порожня стрічка}.
Змінній типу стрічка можна присвоювати значення або вводити оператором readln(s).

Аналогічно того, як при роботі з масивами, вказується доступ до елементів стрічки шляхом вказування імені змінної і порядкового номера елемента цієї стрічки. Крім того можна використовувати зміннуS[0], яка містить інфомацію про довжину стрічки S.
Фунція Ord(S[0]) видає довжину стрічки.
Для преставлення стрічки S в оперативній пам’яті КС виділяється(N+1) байт пам’яті.

Над стрічками виконуються всі операції порівняння. Вони визначаються наступним чином:
1) перевіряється довжина двох стрічок; якщо довжина однієї є більшою, то вона більша;
2) у випадку, коли довжини стрічок одинакові, більшою вважається та, в якій код першого символа, яким вони відрізняються, є більшим.

Операції над стрічками:
1). Додавання (склеювання) рядків:
S1:= concat (S1,S2)   або  S1:=S1+S2. Після її виконання в кінець S1 допишеться початок S2.
2) delete(S,n,m) – вилучає із стрічки S, починаючи з позиції n  m символів;
3) insert(S2,S1,N) – вставляє S2 в S1, починаючи з позиції N;
4) length (S)–визначає довжину стрічки;
5) copy (S,n,m)–копіює із стрічки S m символів, починаючи з позиції n;
6) pos(S2,S1)–визначає номер позиції, починаючи з якої S2 входить в S1 (перше входження). Якщо такого входження немає, то значення функції=0.

7) str(n, S)–перетворює число n в стрічку S;    (приклад: n=123,S=’123’)
8) val (S,n,c)-переводить стрічку в число, де S- стрічка, n-число, c–змінна типу байт. Параметр с (індикатор) вказує успішність такого переведення: якщо стрічка S переведено в число n, то c=0; в іншому випадку значення цієї змінної рівне позиції першого елемента стрічки, при переведенні якого в число виникає помилка (приклад: S=’12c47’, після виконання val(S, n ,c) n–невідоме, с=3.
9) upcase(c)-переводить малі букви в великі.

Приклад 1. Ввести рядок S, який може містити максимально  15 символів, і вивести його. Змінній Р присвоїти рядок ‘Lviv’.
Var S:string[15]; P:string[4];
Begin
   Readln(S);
   Writeln(S);
   P:=’Lviv’;
   Writeln(p)
End.

Приклад 2. Порахувати кількістьцифр 5 в стрічці.
Var S:string[20]; i,k:integer;
Begin
   Readln(S);
   k:=0;
  For i:=1 to Length(S) do
         If S[i]=’5’ then k:=k+1;
  Writeln(k)
End.

Приклад 3. Порахувати кількістьцифр 5 в стрічці (ІІ спосіб).
Var S:string[20]; i,k:integer;
Begin
   Readln(S);
   k:=0;
  while Pos(‘5’,S)>0 do
         k:=k+1;
  Writeln(k)
End.

Приклад 4.
В рядку S:string[10] слова ’Київ’ замінити на ’Львів’.
Var S:string[10]; i:integer;
Begin
  Read(s);
  i:=Pos(‘Київ’,s);   
 while i>0 do
   begin       
      Delete(s,i,4);
      Insert(‘Львів’,s,i);
      i:=Pos(‘Київ’,s);   
   end; 
 Write(s)
End.

Руденко, Речич, Потієнко. Інформатика. 9 клас ст. 172-174

Д./з. №1
1. Видалити всі слова red в рядку.
2. Всі сполучення abc в рядку замінити на defg, підрахувати кількість таких замін.
3. Після кожної букви в рядку записати букву s.

Д./з. №2
Задано : type slovo=string[8];
                   Var mas:array [1..12] of slovo;
1.      Порахувати кількість слів, коротших від слова Львів.
2.      Вивести всі слова, які відмінні від слова Київ.
3.      Текст, що утвориться з останніх літер всіх слів списку mas.
4.      Всі слова зі списку mas, що містять дві букви s.


Немає коментарів:

Дописати коментар