68988

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

Лекция

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

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

Украинкский

2014-09-28

38 KB

1 чел.

Лекція № 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.

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


 

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

60191. Свято «Прощавай, початкова школа!» 53.5 KB
  Звучить святкова музика. Лунають фанфари. 1учень. Слухайте! 2 учень. Слухайте! 1учень. І не кажіть, що ви не чули! 2учень. І не кажіть, що ви не бачили! 1 учень. Сьогодні в нашому шкільному королівстві – свято!
60192. Сценарій тематичного вечора Дня Матері на тему «Рідна мати моя» 73 KB
  Спливли роки мов човник по воді І ведмежа стареньке десь поділось Та очі мами сині та сумні Моїм дитинством вранці подивились Анастасія Клєцова Руда Дитинство Ведуча 2 Кожна мама дає дитині свій наказ свою любов.
60193. Сценарій виховного заходу «Від зернини до хлібини» 72 KB
  Мета: Поглибити знання учнів про походження хліба, розвивати знання про професії, повязані з вирощуванням зернових культур,різновиди зернових культур. Виховувати любов до хліба, та бережливе ставлення до нього; повагу і пошану до людей хліборобської професії.
60195. Я люблю Україну, Позакласний захід для учнів початкової школи 90 KB
  Чи вірите що є такі квіти кульбабки та куль дідки Ні. Чи вірите що соком калини можна лікуватися від простудних захворювань і від авітамінозі Так. що сич заморожує на зиму в дуплі як у холодильникумишей і птахів Так. –що в Карпатах ростуть смереки Так.
60196. В гостях у доктора Пилюлькина. Устный журнал для учащихся 2 - 4 классов 46 KB
  Цели: расширить знания учащихся о вирусных заболеваниях, создать условия для формирования навыков здорового образа жизни, развивать творческие способности учащихся, воспитывать чувство товарищества.
60197. Життя без насильства 42 KB
  Мета ознайомити дітей з документами які захищають їх права; теоретично обґрунтувати сутність насильства зясувати основні причини насильства над дітьми в середовищі сімї та виявлення шляхів його подолання.
60198. ТЕХ ДНЕЙ НЕ СТЕРЕТЬ ИЗ ПАМЯТИ ЛЮДСКОЙ 69.5 KB
  Оформление доски: Уж больше полвека остывши молчат батареи И мирную землю не рвет не терзает фугас Но кажется памяти нашей ни чуть не старея Умершие так же как прежде сегодня живут среди нас...