Ρομποτική σκούπα σου λέει. Τρίχες!
Ο αλγόριθμος, σε ψευδοκώδικα, του προγράμματός της είναι ως εξής:
-------------------------------
Διάβασε λειτουργία
! Η λειτουργία μπορεί να είναι 1 ή 2. Η λειτουργία 1 τελειώνει μετά από 30 λεπτά
! ... δηλαδή 1800 δευτερόλεπτα.
! Η συσκευή διαθέτει μόνο δύο πλήκτρα, 1 και 2
άναψε_λυχνία(πράσινο)
Τέλος_χρόνου <- ψευδής
Τέλος_μπαταρίας <- ψευδής
Εμπόδιο <-ψευδής
μπλοκάρισμα <-ψευδής
Ώρα_έναρξης <- 0
Αν λειτουργία = 1 τότε
ξεκίνα_χρονόμετρο()
Τέλος_αν
!Σε δευτερόλεπτα
Επανάλαβε
κίνηση()
εμπόδιο <-αισθητήρας_εμποδίων()
μπλοκάρισμα <- αισθητήρας_μπλοκαρίσματος()
Αν μπλοκάρισμα = αληθής τότε
σταμάτα()
Αλλιώς
Αν εμπόδιο = αληθής τότε
στρίψε_σε_τυχαία_κατεύθυνση()
Τέλος_Αν
Αν λειτουργία = 1 τότε
Ώρα <-χρονόμετρο()
Αν Ώρα-Ώρα_έναρξης = 1800 τότε
Τέλος_χρόνου=αληθής
Τέλος_αν
Τέλος_αν
Τέλος_μπαταρίας<-Έλεγξε_επίπεδα_μπαταρίας()
Τέλος_Αν
Μέχρις_ότου Τέλος_μπαταρίας=αληθής ή Τέλος_χρόνου=αληθής ή μπλοκάρισμα=αληθής
Ο αλγόριθμος, σε ψευδοκώδικα, του προγράμματός της είναι ως εξής:
-------------------------------
Διάβασε λειτουργία
! Η λειτουργία μπορεί να είναι 1 ή 2. Η λειτουργία 1 τελειώνει μετά από 30 λεπτά
! ... δηλαδή 1800 δευτερόλεπτα.
! Η συσκευή διαθέτει μόνο δύο πλήκτρα, 1 και 2
άναψε_λυχνία(πράσινο)
Τέλος_χρόνου <- ψευδής
Τέλος_μπαταρίας <- ψευδής
Εμπόδιο <-ψευδής
μπλοκάρισμα <-ψευδής
Ώρα_έναρξης <- 0
Αν λειτουργία = 1 τότε
ξεκίνα_χρονόμετρο()
Τέλος_αν
!Σε δευτερόλεπτα
Επανάλαβε
κίνηση()
εμπόδιο <-αισθητήρας_εμποδίων()
μπλοκάρισμα <- αισθητήρας_μπλοκαρίσματος()
Αν μπλοκάρισμα = αληθής τότε
σταμάτα()
Αλλιώς
Αν εμπόδιο = αληθής τότε
στρίψε_σε_τυχαία_κατεύθυνση()
Τέλος_Αν
Αν λειτουργία = 1 τότε
Ώρα <-χρονόμετρο()
Αν Ώρα-Ώρα_έναρξης = 1800 τότε
Τέλος_χρόνου=αληθής
Τέλος_αν
Τέλος_αν
Τέλος_μπαταρίας<-Έλεγξε_επίπεδα_μπαταρίας()
Τέλος_Αν
Μέχρις_ότου Τέλος_μπαταρίας=αληθής ή Τέλος_χρόνου=αληθής ή μπλοκάρισμα=αληθής
Αναβόσβησε_λυχνία(κόκκινο)