Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Контрольные работы » Структури та алгоритми обробки даних

Реферат Структури та алгоритми обробки даних





цедура використовує рекурсивний спадний обхід}

Procedure Tree (p: tr); undertree (c: char); {створює поддеревья} Skob; {враховує дужки} i: = i +1; p ^. pole [i] = '( 'then Skob;: = i +1; p ^. pole [i] =') ';; {Skob} i: = 1 to length (p ^. pole) dop ^. pole [i] =' ('then : = i;; (p ^. pole [i +1] <> '+') and (p ^. pole [i +1] <> '-') (p ^. pole [i + 1] <> '*') and (p ^. pole [i +1] <> '/') (p ^. pole [g-1] <> '*') and (p ^. pole [g-1] <> '/') (p ^. pole [g-1] <> '-') and (p ^. pole [g-1] <> ' + ') (p ^. pole [i +1] <>' ^ ') and (p ^. pole [g-1] <>' ^ ') (p ^. pole, i, 1) ; (p ^. pole, 1,1);: = 0;;; p ^. pole [i] = c i +1, ord (p ^. pole [0])); ^. r ^. zn: = 0; ^. r ^. sym: = false;: = ord (p ^. pole [0]); ^ . pole: = c;;;; {UnderTree} p <> nil then

{Будуються поддеревья залежно від пріоритету арифметичної операції}

begin ('+'); ('-'); ('*'); ('/'); ('^'); (p ^. l); (p ^. r);;; {Tree}

{Обчислення значення арифметичної функції}

{процедура використовує рекурсивний спадний обхід}

Procedure Calc (p: tr); p <> nil then beginp ^. l ^. sym and p ^. r ^. sym thenp ^. pole [1] of

'+': begin ^. zn: = p ^. l ^. zn + p ^. r ^. zn; ^. sym: = true;;

'-': begin ^. zn: = p ^. l ^. zn-p ^. r ^. zn; ^. sym: = true;;

'*': begin ^. zn: = p ^. l ^. zn * p ^. r ^. zn; ^. sym: = true;;

'/': begin ^. zn: = p ^. l ^. zn/p ^. r ^. zn; ^. sym: = true;;

'^': begin ^. zn: = EXP (p ^. r ^. zn * LN (p ^. l ^. zn)); ^. sym: = true;;; { case}; (p ^. l); (p ^. r);

end;; {calc}

{процедура визначає де в дереві мінлива або значення, і де

знак операції. Використовується рекурсивний спадний обхід}

Procedure Symb (p: tr); p <> nil thenp ^. pole [1] in ['a' .. 'z'] then ^. sym: = true; (p ^ . pole, '='); (p ^. zn);; p ^. pole [1] in ['0 '.. '9'] then ^. sym: = true; (p ^. pole, p ^ . zn, code);; (p ^. l); (p ^. r);

end;; {Symb}

{процедура виводить на екран, отримане дерево}

{процедура використовує рекурсивний спадний обхід}

Procedure OutTree (pr: tr; f: byte);: = y +2; pr <> nil thenf = 1 then: = x-5;; f = 2 then: = x + 9;

end; (X, Y);

{Якщо f = 0 то виводиться коренева вершина}

if f = 0 then writeln ('[', pr ^. pole, ']');

{Якщо f = 1 то виводиться ліве піддерево}


Назад | сторінка 9 з 10 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Creation of control system by a personnel how to begin with a zero
  • Реферат на тему: Procedure of preparation business-plan
  • Реферат на тему: Розробка проекту територіального планування та управління для земель трансп ...
  • Реферат на тему: Програма "Обхід конем"
  • Реферат на тему: Розробка програми, що використовує однофайловий базу даних на Pascal