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.

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


 

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

51552. В рідній школі – рідне слово 430 KB
  Вірші українських поетів. Для їх проведення складені картки для вчителя і для учнів Вірші для вчителя Вірші для учнів де розміщені уривки з різних віршів відповідно розділам і тематики підручника. Етапи роботи Пропонуємо учням ознайомитися з карткою віршів. Особливо добре зустрічають учні знайомі вірші які вони читали чи вчили раніше.
51554. Сценарий нового года для 5-11 классов 67 KB
  Галя: да ничего а где Маша Саша: она пошла папу и Николая Олександровича искать. после этого идет погода потихоньку все уходят первыми уходят Коля и Петр потом Маша и Саша остаются только Галя и Таня они с удивлением смотрят погоду Погода: Я Дмитрий Джуджула и прогноз погоды на завтра я расскажу вам какими будут температура и ветер внимательно послушайте что вам следует что бы у вас самих не было высокой температуры и ветров:1 гидрамикробинзофикат калия если у вас сильный кашель температура сорок и вам за семьдесят то...
51556. Программные средства учебного назначения и тенденции их развития 55.5 KB
  Демонстрационные программы предназначены для обучения теоретическому материалу. Контролирующие программы Эти программы можно использовать в любой дисциплине при сходном рубежном или итоговом контроле знаний. Обучающие программы Программы данного типа особенно эффективны когда изучаемый материал можно разбить на небольшие порции поддающихся контролю. Профессиональные программы Эти программы применяются для предоставления учащимся самостоятельной уч.
51557. Створення блогу в Інтернеті 38 KB
  Зареєструйте власну безкоштовну поштову скриньку на сервері служби Gmаil. Для цього з порталу пошукової системи Google клацніть мишою на верхній панелі Google на надпис Gmаil або знайдіть в Інтернеті цю саму стартову сторінку поштової служби Gmil . Для цього посиланням Зареєструватися в Gmаil створіть свій аккаунт обліковий запис. На стартовій сторінці Gmаil буде вікно в яке треба ввести свої дані: Імя Андрій Прізвище Колос Імя скриньки на сервері gmil.
51558. У чому виявляється милосердя 13.67 MB
  Мета уроку. Навчити учнів пояснювати поняття милосердя альтруїзм егоїзм; наводити приклади милосердя у вчинках висловлювати власне розуміння милосердя та співчуття характеризувати прояви егоїзму у власній поведінці та поведінці інших; формувати навички проявів альтруїзму; розвивати потреби гуманістичної спрямованості; виховувати гуманізм. Засоби мультимедіа вислови про милосердя ілюстрації до теми. Проблемні питання запис на дошці: Що таке милосердя Кого називають альтруїстом а кого ―...