Библиотека программи�та
Пользователь

Добро пожаловать,

Реги�траци� или входРеги�траци� или вход
Потер�ли пароль?Потер�ли пароль?

�ик:
Пароль:

Меню �айта




Ваше мнение
Легко ли найти нужную информацию на �айте?

Очень про�то
�ахожу почти �разу
Приходит�� тщательно покопать��
Почти невозможно
�е нашел (лень разбирать��)


Результаты
Другие опро�ы

В�его голо�ов: 594
Комментарии: 0


�аши партнеры



Стати�тика




Programming books  Download software  Documentation  Scripts  Content Managment Systems(CMS)  Templates  Icon Sets  Articles  Contacts  Voting  Site Search




Книги-online



Ëàáîðàòîðíàÿ ðàáîòà ¹7

Ëàáîðàòîðíàÿ ðàáîòà ¹7


Ñòåê

Öåëü ðàáîòû:
Çàêðåïèòü òåõíèêó ðàáîòû ñ äèíàìè÷åñêèìè ñòðóêòóðàìè äàííûõ íà ïðèìåðå ñòåêà. Ðàññìîòðåòü îñíîâíûå îïåðàöèè ñî ñòåêîì è ïîçíàêîìèòñÿ ñ òèïè÷íûìè ïðèìåðàìè ïðèìåíåíèÿ ñòåêà.

Îáùèå ñâåäåíèÿ

Ñòåê – óïîðÿäî÷åííûé íàáîð ýëåìåíòîâ, â êîòîðîì äîáàâëåíèå íîâûõ ýëåìåíòîâ è óäàëåíèå ñóùåñòâóþùèõ ïðîèçâîäèòñÿ ñ îäíîãî êîíöà, íàçûâàåìîãî âåðøèíîé ñòåêà.
 ëþáîé ìîìåíò âðåìåíè äîñòóïåí ëèøü îäèí ýëåìåíò ñòåêà – âåðõíèé. Èçâëåêàòü ýëåìåíòû èç ñòåêà ìîæíî òîëüêî â ïîðÿäêå, îáðàòíîì èõ äîáàâëåíèÿ â ñòåê (ïåðâûì ïðèøåë, ïîñëåäíèì óøåë).
Çíà÷åíèåì óêàçàòåëÿ, ïðåäñòàâëÿþùåãî ñòåê, ÿâëÿåòñÿ ññûëêà íà âåðøèíó ñòåêà, êàæäûé ýëåìåíò ñòåêà ñîäåðæèò ïîëå ññûëêè íà ñëåäóþùèé ýëåìåíò.
Òàêèì îáðàçîì, îïèñàòü ñòåê, ñîäåðæàùèé, íàïðèìåð, öåëûå ÷èñëà, ìîæíî ñëåäóþùèì îáðàçîì:
Type
  PStack = ^TStack;
  TStack = Record
     Data : Integer;
     Next : PStack;
  end;
Var
  Stack : PStack;
Åñëè ñòåê ïóñò, òî çíà÷åíèå ïåðåìåííîé Stack ðàâíî nil.

Ïðèìåðû

Çàíåñåíèå â ñòåê.
Çàíåñåíèå â ñòåê ïðîèçâîäèòñÿ àíàëîãè÷íî âñòàâêå íîâîãî ýëåìåíòà â íà÷àëî ñïèñêà:
Var
  x : PStack;
……………
  New(x);
  x^.Data := …….;
  x^.Next := Stack;
  Stack := x;
……………
Èçâëå÷åíèå ýëåìåíòà èç ñòåêà.
 ðåçóëüòàòå âûïîëíåíèÿ ýòîé îïåðàöèè íåêîòîðîé ïåðåìåííîé N äîëæíî áûòü ïðèñâîåíî çíà÷åíèå ïåðâîãî ýëåìåíòà ñòåêà è èçìåíåíî çíà÷åíèå óêàçàòåëÿ íà íà÷àëî ñòåêà:
Var
  N : Integer;
  x : PStack;
………………….
  N := Stack^.Data;
  x:= Stack;
  Stack := Stack^.Next;
  Dispose(x);
………………….

Êîíòðîëüíûå âîïðîñû

1.  ÷åì ñõîäñòâî è îòëè÷èå äèíàìè÷åñêèõ ñòðóêòóð äàííûõ òèïà ñïèñîê è ñòåê?
2. Ìîæíî ëè äîáðàòüñÿ äî ñåðåäèíû èëè êîíöà («äíà») ñòåêà, ìèíóÿ åãî íà÷àëî («âåðøèíó»)?
3. Ïðèâåäèòå ïðèìåðû èç æèçíè, ãäå âñòðå÷àåòñÿ «ïðèíöèï ñòåêà».
4. Îôîðìèòå â âèäå ïðîöåäóðû Push çàíåñåíèå â ñòåê çíà÷åíèÿ.
5. Îôîðìèòå â âèäå ïðîöåäóðû Pop èçâëå÷åíèå çíà÷åíèÿ èç ñòåêà.

Âàðèàíòû çàäàíèé

1. Ïîäñ÷èòàòü êîëè÷åñòâî ýëåìåíòîâ â ñòåêå.
2. Ñôîðìèðîâàòü ñòåê, ñîäåðæàùèé ñòðîêè è ñîõðàíèòü åãî â òåêñòîâîì ôàéëå.
3. Âîññòàíîâèòü ñòåê, ñîäåðæàùèé ñòðîêè, èç òåêñòîâîãî ôàéëà.
4. Íàïèñàòü ôóíêöèþ, êîòîðàÿ âû÷èñëÿåò ñðåäíåå àðèôìåòè÷åñêîå ýëåìåíòîâ ñòåêà.
5. Íàïèñàòü ïðîöåäóðó ïðèñîåäèíåíèÿ ñòåêà S2 ê ñòåêó S1.
6. Îïðåäåëèòü ñèììåòðè÷íîñòü ïðîèçâîëüíîãî òåêñòà ëþáîé äëèíû. Òåêñò äîëæåí îêàí÷èâàòüñÿ òî÷êîé. Çàäà÷ó ðåøèòü ñ ïîìîùüþ äâóõ ñòåêîâ.
7. Ñëèòü äâà ñòåêà, ñîäåðæàùèõ âîçðàñòàþùóþ ïîñëåäîâàòåëüíîñòü öåëûõ ïîëîæèòåëüíûõ ÷èñåë, â òðåòèé ñòåê òàê, ÷òîáû åãî ýëåìåíòû ðàñïîëàãàëèñü òàêæå â ïîðÿäêå âîçðàñòàíèÿ.
8. Â äàííîì òåêñòå ïðîâåðèòü ñîîòâåòñòâèå îòêðûòèÿ è çàêðûòèÿ ñêîáîê.
9. Íàïå÷àòàòü ñîäåðæèìîå òåêñòîâîãî ôàéëà, âûïèñûâàÿ ñèìâîëû êàæäîé åãî ñòðîêè â îáðàòíîì ïîðÿäêå.
10. Ïðîâåðèòü, ÿâëÿåòñÿ ëè ñòðîêà ïàëèíäðîìîì.
Íàçàä
Íà ãëàâíóþ
    Ó÷åáíèê ïî ÿçûêó Pascal          Ëàáîðàòîðíûå ðàáîòû ïî ïðîãðàììèðîâàíèþ          Ñïðàâî÷íèê


Внимание! Е�ли у ва� не получило�ь найти нужную информацию, и�пользуйте рубрикатор или во�пользуйте�ь пои�ком


.


книги по программированию и�ходники компоненты шаблоны �айтов C++ PHP Delphi �качать