პოსტის მანქანა არის ჰიპოტეტური მანქანა. ის შესდგება უსასრულო ლენტისაგან, რომელიც გაყოფილია სექციებად. ყოველ მომენტში სექცია შეიძლება იყოს ცარიელი __ან შევსებული _1_. ლენტის შევსებული და ცარიელი სექციების ერთობლიობას უწოდებენ ლენტის მდგომარეობას. მანქანას გააჩნია თავაკი, რომელიც აღინიშნება M ასოთი, ის ყოველთვის იმყოფება ზუსტად რომელიმე სექციის ქვეშ.
მანქანას შეუძლია
შეასრულოს შემდეგი მოქმედებები:
1.
თავაკი
გადაადგილდეს ერთი სექციით მარჯვნივ ან მარცხნივ;
2.
ჩაწეროს
ცარიელ სექციაში ერთიანი, ან წაშალოს შევსებული სექციიდან ერთიანი;
3.
"გაარკვიოს"
სექციაში, რომლის ქვეშაც თავაკი დგას, შევსებულია თუ არა (წერია თუ არა 1);
4.
დაამთავროს
მუშაობა - გაჩერდეს;
პოსტის მანქანის ბრძანებები:
1. თავაკის
მარცხნივ გადაადგილება: ბრძანების სახელია L(Left)
მაგ,: 02: L-03
ეს ნიშნავს თავაკის ერთი სექციით მარცხნივ გადაადგილებას, შემდეგი
შესასრულებელი ბრძანება კი იქნება ბრძანება ნომრით 03.
2. თავაკის
მარჯვნივ გადაადგილება: ბრძანების სახელია R(Right)
მაგ,: 04: L-06
ეს ნიშნავს თავაკის ერთი სექციით მარჯვნივ გადაადგილებას, შემდეგი
შესასრულებელი ბრძანება კი იქნება ბრძანება ნომრით 06.
3. სექციის
შევსება, ბრძანების სახელია 1
მაგ.: 05: 1-06
ამ ბრძანების შესრულებისას თუ სექცია ცარიელია, ჩაიწერება 1, შემდეგი
შესასრულებელი ბრძანებაა 06. თუ სექცია შევსებულია მოხდება ავარიული გაჩერება. ბრძანების
შესრულების შემდეგ თავაკი მდებარეობას არ იცვლის.
4. სექციის
გასუფთავება, ბრძანების სახელია 0
მაგ.: 05: 0-06
ამ ბრძანების შესრულებისას თუ სექცია შევსებულია ჩაიწერება 0, შემდეგი
შესასრულებელი ბრძანებაა 06. თუ სექცია ცარიელია, მოხდება ავარიული გაჩერება. ბრძანების
შესრულების შემდეგ თავაკი მდებარეობას არ იცვლის.
5. გაჩერება,
ბრძანების სახელია Q(Quit).
09: Q
ამ ბრძანების შესრულების შემდეგ პროგრამა ამთავრებს მუშაობას, თავაკი
ინარჩუნებს საბოლოო მდებარეობას, ამ შემთხვევაში ამბობენ რომ ადგილი აქვს შედეგიან
გაჩერებას.
6.
განშტოების ბრძანება, ბრძანების
სახელია I (if)
მაგ.: 03: I-04-05
ეს ნიშნავს თუ სექცია
, რომლის ქვეშაც დგას თავაკი, ცარიელია- მართვა გადაეცემა 04 ბრძანებას(ანუ შემდეგი
შესასრულებელი ბრძანებაა 04 ნომრიანი ბრძანება), ხოლო თუ სექცია შევსებულია-მართვა
გადაეცემა 05 ბრძანებას
პროგრამაში
ბრძანებები ინომრება მიმდევრობით 01 - დან დაწყებული( 01, 02, 03, ...). პროგრამა იწყება 01 ნომრიანი ბრძანებით. არ შეიძლება
გადასვლა ისეთ ნომრიან ბრძანებაზე რომელიც პროგრამაში არ გვაქვს.
მაგალითი:
პოსტის მანქანის
საწყისი მდებარეობაა:
1
|
1
|
1
|
M
შევადგინოთ პროგრამა, რომელიც მარჯვნივ პირველ ერთიანამდე
ცარიელ სექციებს შეავსებს(ჩაწერს 1-იანებს).
01: R-02
02: 1-03
03: R-04
04: 1-05
05: R-06
06: 1-07
07: Q
ან ზოგადად
(როცა ცარიელი სექციების რაოდენობა
უცნობია)
01: R-02
02:
I-03-04
03: 1-01
04: Q
1
|
1
|
1
|
1
|
1
|
1
|
No comments:
Post a Comment