Ο Νόμος του Μέρφυ

28.6.13

Σκούπα-ρομπότ; Σιγά τα ωά.

Ρομποτική σκούπα σου λέει. Τρίχες!

Ο αλγόριθμος, σε ψευδοκώδικα, του προγράμματός της είναι ως εξής:
-------------------------------
Διάβασε λειτουργία 
! Η λειτουργία μπορεί να είναι 1 ή 2. Η λειτουργία 1 τελειώνει μετά από 30 λεπτά
! ... δηλαδή 1800 δευτερόλεπτα.

! Η συσκευή διαθέτει μόνο δύο πλήκτρα, 1 και 2
άναψε_λυχνία(πράσινο)
Τέλος_χρόνου <- ψευδής
Τέλος_μπαταρίας <- ψευδής
Εμπόδιο <-ψευδής
μπλοκάρισμα <-ψευδής

Ώρα_έναρξης <- 0
Αν λειτουργία = 1 τότε
ξεκίνα_χρονόμετρο()
Τέλος_αν
!Σε δευτερόλεπτα


Επανάλαβε
κίνηση()
εμπόδιο <-αισθητήρας_εμποδίων()
μπλοκάρισμα <- αισθητήρας_μπλοκαρίσματος()
Αν μπλοκάρισμα = αληθής τότε
    σταμάτα()
  Αλλιώς
    Αν εμπόδιο = αληθής τότε
   στρίψε_σε_τυχαία_κατεύθυνση()
  Τέλος_Αν 

  Αν λειτουργία = 1 τότε
  Ώρα <-χρονόμετρο()
  Αν Ώρα-Ώρα_έναρξης = 1800 τότε
  Τέλος_χρόνου=αληθής
  Τέλος_αν

  Τέλος_αν

  Τέλος_μπαταρίας<-Έλεγξε_επίπεδα_μπαταρίας()
  Τέλος_Αν
Μέχρις_ότου Τέλος_μπαταρίας=αληθής ή Τέλος_χρόνου=αληθής ή μπλοκάρισμα=αληθής
Αναβόσβησε_λυχνία(κόκκινο)