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.

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


 

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

30204. Состояние и пути совершенствования технологии производства молока в ООО «Бебелево» Ферзиковского района Калужской области 44.5 KB
  Выпускная квалификационная работа бакалаврская работа изложена на 77 страницах компьютерного набора состоит из введения пяти разделов характеристика хозяйства и организационноэкономический анализ хозяйственной деятельности; современное состояние и зоотехническая оценка отраслей животноводства; мероприятия по охране труда животноводов и охране природы; работа в условиях радиоактивного загрязнения местности; экспериментальное исследование по теме выводов и предложений списка использованной литературы; содержит 28 таблиц. Состояние...
30205. РАЗРАБОТКА СИСТЕМЫ КОМПЬЮТЕРНОГО ТЕСТИРОВАНИЯ 1.67 MB
  Обследование объекта и обоснование необходимости систем компьютерного тестирования. Очень актуальным становится использование школами различных систем компьютерного тестирования. Объектом исследования является системы компьютерного тестирования используемые для контроля знаний.
30206. Изучение туристских ресурсов на территории Аргентины 923.5 KB
  Эта латиноамериканская страна становилась чемпионом Кубка мира дважды в 1978 а также в 1986 годах и такая знаменитая личность конечно после Че Гевары как Диего Марадонна обеспечивает загруженность поклонникам футбола и журналистам уже последние 10 лет. Временный поверенный в делах Аргентины в России Маркос Беднарски недавно сообщал журналистам что в 2007 году число российских туристов посетивших Аргентину выросло на 10. Лист № докум. Подпись Дата Лист 2 МОГКТЭП 100401 ПЗ ДР 15781 зачеткак1212номзачеткизачетки ...
30209. ТЕХНОЛОГИЧЕСКАЯ КАРТА НА УСТРОЙСТВО КРОВЛИ ИЗ ЦЕМЕНТНО-ПЕСЧАНОЙ ЧЕРЕПИЦЫ. РАЗВИТИЕ СИСТЕМЫ МЕНЕДЖМЕНТА КАЧЕСТВА В СТРОИТЕЛЬНОЙ ОТРАСЛИ 1.77 MB
  ТЕОРЕТИЧЕСКИЕ ОСНОВЫ МЕНЕДЖМЕНТА КАЧЕСТВА В СТРОИТЕЛЬСТВЕ. Анализ состояния качества строительной продукции на современном этапе. Развитие менеджмента качества. ТЕХНОЛОГИЧЕСКАЯ КАРТА НА УСТРОЙСТВО КРОВЛИ ИЗ ЦЕМЕНТНО-ПЕСЧАНОЙ ЧЕРЕПИЦЫ
30210. Методика развития прыгучести у юных баскетболистов 366.5 KB
  Для соревновательной двигательной деятельности в баскетболе характерно значительное проявление скоростносиловых качеств. В связи с этим скоростносиловой подготовке баскетболистов уделялось и уделяется много внимания Портнов Ю. Одними из наиболее значимых элементов соревновательной деятельности баскетболиста эффективность выполнения которых прямо зависит от уровня скоростносиловых способностей являются различные виды прыжков. Анализ специальной научнометодической литературы в области баскетбола несмотря на их значительное число...
30211. ПОЛІТИЧНА СКЛАДОВА ДІЯЛЬНОСТІ КАТОЛИЦЬКОЇ ЦЕРКВИ (ХІ – ХV СТ.) ЯК ФУНКЦІЯ ІНСТИТУТУ ЦЕРКВИ 336.5 KB
  Дослідження політичної діяльності католицької церкви у Середньовіччі є актуальним, оскільки саме християнська церква (католицька, православна, протестантська), має великий вплив не лише на духовний стан суспільства, але також на політику світових держав. Минуле, міцно пов’язане з сучасним і майбутнім
30212. МУНИЦИПАЛЬНЫЙ СЕКТОР В СТРУКТУРЕ НАЦИОНАЛЬНОГО ХОЗЯЙСТВА 1.65 MB
  Муниципальный сектор формируется как структурное подразделение национального хозяйства — единого комплекса взаимосвязей производства, распределения, обмена и потребления. Национальное хозяйство обеспечивает производственное, социальное и духовное развитие общества с учетом исторических, геополитических условий