Αποστολέας Θέμα: Άσκηση - Μετακίνηση ρομπότ  (Αναγνώστηκε 1769 φορές)

Stefevan

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 274
Άσκηση - Μετακίνηση ρομπότ
« στις: 28 Δεκ 2011, 01:16:24 μμ »
Το σενάριο (και ακόμα περισσότερο το σχήμα) είναι εμπνευσμένο από μια άσκηση εξεταστικής στο μάθημα Τεχνητή Νοημοσύνη. (κα Γεωργούλη - Πληροφορική ΤΕΙ Αθήνας) το αρχείο βρίσκεται στο eclass στο οποίο έχουν πρόσβαση μόνο οι φοιτητές...

Το original σχήμα έχει ένα επιπλέον δωμάτιο και η βεράντα ενώνεται μόνο με το σαλόνι. Το άλλαξα και έβγαλα το ένα δωμάτιο και την βεράντα την ένωσα με όλα τα δωμάτια .

Νομίζω πως ένας μαθητής ο οποίος δεν έχει κατανοήσει τον ρόλο των λογικών μεταβλητών θα δυσκολευτεί να αναπαραστήσει την μετακίνηση του ρομπότ. Ποια είναι η άποψή σας?

Πανάγος94

  • Βετεράνος
  • ****
  • Μηνύματα: 65
  • what doesn't kill you only makes you pissed off..
Απ: Άσκηση - Μετακίνηση ρομπότ
« Απάντηση #1 στις: 30 Δεκ 2011, 12:07:03 μμ »
πολύ ενδιαφέρουσα άσκηση......αλλά πιστεύω θα είταν αρκετά δύσκολο να την λύσεις στο χαρτί...εγώ προσωπικά που είμαι μαθητής 3ης Λυκείου την έλυσα σε 20 λεπτά αλλά στο Διερμηνευτή Γλώσσας...πιστεύω σωστή είναι...

Αλγόριθμος ρομποτ
δωμ[1] ← Αληθής                                                          !μπανιο
δωμ[2] ← Ψευδής                                                   !κρεβατοκαμαρα
δωμ[3] ← Ψευδής                                                          !σαλονι
δωμ[4] ← Ψευδής                                                         !βεραντα
Αρχή_επανάληψης
  Διάβασε επ
Μέχρις_ότου επ = "Τ1" ή επ = "Τ2"
Αν επ = "Τ1" τότε
  Εμφάνισε "Δωσε δωματιο"
  Αρχή_επανάληψης
    Διάβασε δ
    Αν δ = "Μ" τότε
      ι ← 1
      κ ← "μπανιο"
    αλλιώς_αν δ = "Κ" τότε
      ι ← 2
      κ ← "κρεβατοκαμαρα"
    αλλιώς_αν δ = "Σ" τότε
      ι ← 3
      κ ← "σαλονι"
    αλλιώς
      ι ← 4
      κ ← "βεραντα"
    Τέλος_αν
    Αν δωμ[ι] = Ψευδής τότε
      δωμ[ι] ← Αληθής
      Εμφάνισε "Εγινε μετακινηση στο ", κ
    αλλιώς
      Εμφάνισε "Αδυνατη η προσβαση. Δωσε αλλο δωματιο"
    Τέλος_αν
  Μέχρις_ότου δωμ[ι] = Αληθής και δωμ[4] = Αληθής
αλλιώς
δωμ[1] ← ψευδης
  μετ ← 10
  Για ι από 1 μέχρι 4
    μ[ι] ← 0
  Τέλος_επανάληψης
  Αρχή_επανάληψης
    Διάβασε δ
    Αν δ = "Μ" τότε
      ι ← 1
      κ ← "μπανιο"
    αλλιώς_αν δ = "Κ" τότε
      ι ← 2
      κ ← "κρεβατοκαμαρα"
    αλλιώς_αν δ = "Σ" τότε
      ι ← 3
      κ ← "σαλονι"
    αλλιώς
      ι ← 4
      κ ← "βεραντα"
    Τέλος_αν
    μετ ← μετ - 1
    μ[ι] ← μ[ι] + 1
    Αν δωμ[ι] = Ψευδής τότε
      Αν ι = 4 τότε δωμ[4] ← Αληθής
      Εμφάνισε "Εγινε μετακινηση στο ", κ
    Τέλος_αν
  Μέχρις_ότου μετ = 0 ή δωμ[4] = Αληθής
  max ← μ[1]
  δωματιο ← "μπανιο"
  Αν μ[2] > max τότε
    max ← μ[2]
    δωματιο ← "κρεβατοκαμαρα"
  Τέλος_αν
  Αν μ[3] > max τότε
    max ← μ[3]
    δωματιο ← "σαλονι"
  Τέλος_αν
  Εμφάνισε δωματιο
Τέλος_αν
Τέλος ρομποτ

αν έκανα πουθενά λάθος παρακαλώ διορθώστε με.....  :)