68988

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

Лекция

Информатика, кибернетика и программирование

Розглянемо процедуру шукання заданого елемента. Попередньо опишемо тип, який відображає рядок символів як динамічну структуру. Складемо логічну функцію виявлення заданого символу в заданому динамічному рядку. Передбачимо як побічний ефект логічної функції шукання елемента вказівку...

Украинкский

2014-09-28

38 KB

2 чел.

Лекція № 17

Тема: Операції над динамічними рядками

План заняття:

  1.  Пошук заданого елементу
  2.  Вилучення заданого елемента з рядка

Пошук заданого елемента.

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

program Form2;

type

Link=^LRiad;

LRiad=Record

Elem: Char;

Next: Link;

end;

function SeekElem(Rjad:Link; Elm:char; var Res:Link): Boolean;

var Rb: Link;

begin

SeekElem:=False;

Res:=nil;

Rb:=Rjad^.Next;

while (Res=nil) and (Rb<>nil) do

if Rb^.EIem=Elm then

begin

SeekElem:=True;

Res:=Rb;

end

else Rb:=Rb^.next;

end;

begin

end.

Параметрами функції SeekElem є: вказівна змінна Rjad, що вказує на рядок символів; Elm, що містить шуканий елемент -символ; Res - вказівна змінна-результат, вказує на ланку, що містить шуканий елемент; Rb - робоча змінна вказівного типу.

Вилучення заданого елемента з рядка.

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

Схематично процедуру вилучення зобразимо так. Нехай вихідний ланцюг є (опишемо фрагмент) таким, як показано на рис. 1.

Рис. 1. Фрагмент динамічного рядка.

Вилучення елемента В треба організувати так, щоб вказівка з ланки А була на ланку С. оминаючи ланку з елементом В (рис. 2).

Рис. 2. Вилучення ланки динамічного рядка.

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

program Form3;

type

Link=^LRiad;

LRiad=record

Elem: Char;

Next: Link;

end;

procedure DelElem(Lanka: Link);

var Rb: Link;

begin

Rb:=Lanka^.Next;

Lanka^.Next:=Lanka^.Next^.Next;

dispose(Rb);

end;

begin

end.

Знищуємо ланку, що містить шуканий елемент, для економії пам'яті.


 

А также другие работы, которые могут Вас заинтересовать

57769. Союз гіпотенузи та катетів. Теорема Піфагора 1.81 MB
  Тип проекту: Пізнавальний дослідницький творчий За кількістю учасників: груповий За тривалістю підготовки: короткотривалий два тижні Епіграф: Не роби ніколи того що не знаєш але вчись усьому що потрібно знати і тоді будеш вести спокійне життя.
57770. Розв’язування квадратних рівнянь та рівнянь, що зводяться до квадратних 6.68 MB
  Мета: освітня – узагальнити та систематизувати знання учнів з теми: “Розв’язування квадратних рівнянь та рівнянь, що зводяться до квадратних”; виховна – виховувати самостійність, інтерес до вивчення математики...
57771. Питание и здоровье 191 KB
  Образовательная: установить связь между особенностями питания человека и его здоровьем; пояснить значение рационального питания поддержания здорового образа жизни; познакомить с распространенными болезнями человека...
57772. Питание и здоровье 349 KB
  Базовые понятия и термины: рациональное питание норма питания энергетический баланс. Здоровье человека его трудоспособность долголетие адаптация к изменчивым условиям окружающей среды в значительной степени зависит от правильного питания. Что же является основой рационального питания Нам предстоит сегодня узнать сообщение темы и целей урока запись в тетрадь.
57773. Програмне забезпечення ПК 432.5 KB
  Актуальність теми: Компютер - універсальний пристрій призначений для опрацювання інформації. Утім сам по собі компютер не володіє знаннями у жодній області свого використання. Якщо ми кажемо: компютер зробив мається на увазі що на компютері була виконана програма яка дозволила виконати ці дії.
57774. Різноманітність, значення та охорона плазунів 83.5 KB
  Мета: формувати такі компетентності учнів як: комунікаційну інформаційну логічну аналітичну продуктивну творчу діяльність дослідницьку технологічну мовленеву; ознайомити учнів з різноманітністю плазунів видами поширеними в Україні власному регіоні та рідкісними видами...
57775. Взаємне розміщення прямих на площині 3.51 MB
  Мета та задачі уроку: узагальнити й систематизувати знання учнів з теми; закріпити вміння застосовувати отримані знання під час розв’язування задач; розвивати логічне мислення, комунікативні навички...
57776. Отзвуки «Серебряного века» 93.5 KB
  Цели урока: познакомить учащихся с творчеством выдающихся поэтов и композиторов эпохи серебряного века; развивать умение вслушиваться в музыку стихотворений и музыкальных произведений развивать воображение творческие способности...
57777. Погода. Спостереження за погодою 1.21 MB
  Тип проекту: Пізнавальний дослідницький творчий Задачі проекту: розширити знання учнів про атмосферні явища шляхом узагальненого поняття погода; познайомитися з науковими дослідженнями прогнозування погоди виявити...