Μετάβαση στο κύριο περιεχόμενο

Πληροφορική Γ' Λυκείου: Επαναληπτική Άσκηση #7 (2021)

Στην έβδομη επαναληπτική άσκηση της σειράς "10 επαναληπτικές ασκήσεις για το μάθημα της Πληροφορικής" καλείστε να ακολουθήσετε ένα μονοπάτι μέσα σε έναν δισδιάστατο πίνακα. Χρειάζεται ιδιαίτερη προσοχή στον τρόπο που θα επιλεγεί το επόμενο κελί που θα μετακινηθείτε (θέλουμε η μετακίνηση να γίνει πάντοτε προς την ίδια κατεύθυνση).

 

7η Επαναληπτική άσκηση στην Πληροφορική (2021)
 

7η Επαναληπτική Άσκηση

Τίτλος: Κοντορεβιθούλης
Κατηγορία: Δισδιάστατοι Πίνακες

Ο Κοντορεβιθούλης είναι ένα από τα αγαπημένα παραμύθια των μικρών παιδιών. Ήρωας του παραμυθιού είναι το μικρότερο αλλά και εξυπνότερο παιδί μιας φτωχής οικογένειας καλαθοποιών. Όταν οι γονείς αφήνουν τα παιδιά τους στο δάσος, ο Κοντορεβιθούλης έχει προνοήσει αφήνοντας, κατά μήκος της διαδρομής, βοτσαλάκια την πρώτη φορά και ψίχουλα τη δεύτερη φορά. 

Να γράφει πρόγραμμα το οποίο: 

α) Θα διαβάζει για κάθε κελί ενός πλέγματος 20 Χ 20, που αναπαριστά το δάσος, το περιεχόμενο του (τιμή «Δ» αν υπάρχει δέντρο, τιμή «Β» αν υπάρχει βοτσαλάκι και τιμή «.» αν είναι κενό), 

β) Θα διαβάζει τη θέση (γραμμή και στήλη) στην οποία άφησαν οι γονείς τα παιδιά τους μέσα στο δάσος και 

γ) Θα αποφαίνεται αν υπάρχει μονοπάτι με βοτσαλάκια που να οδηγεί τα παιδιά έξω από το δάσος (θεωρείστε ότι όλα τα εξωτερικά κελιά οδηγούν έξω από το δάσος ενώ μονοπάτι με βοτσαλάκια υπάρχει όταν δύο γειτονικά βοτσαλάκια είναι και σε γειτονικά κελιά, δηλαδή σε κελιά που το ένα είναι αριστερά, δεξιά, πάνω ή κάτω από το άλλο. Επίσης θεωρείστε ότι, αν υπάρχει μονοπάτι, αυτό είναι και το μοναδικό μονοπάτι που υπάρχει).

 

Λύση 7ης επαναληπτικής άσκησης

ΠΡΟΓΡΑΜΜΑ Κοντορεβιθούλης
ΜΕΤΑΒΛΗΤΕΣ 
  ΑΚΕΡΑΙΕΣ: Ι, Ξ, ΓΡ, ΣΤ, ΓΕΙΤΟΝΙΚΑ[4, 2], ΝΕΑ_ΓΡ, ΝΕΑ_ΣΤ
  ΧΑΡΑΚΤΗΡΕΣ: ΔΑΣΟΣ[20, 20] 
  ΛΟΓΙΚΕΣ: ΤΕΛΟΣ, ΒΡΕΘΗΚΕ, ΕΠΙΣΚ[20, 20] 
ΑΡΧΗ 

  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 20
    ΓΙΑ Ξ ΑΠΟ 1 ΜΕΧΡΙ 20
      ΓΡΑΨΕ 'Τι υπάρχει στο σημείο (', Ι, ', ', Ξ, '); '
      ΔΙΑΒΑΣΕ ΔΑΣΟΣ[Ι, Ξ] 
      ΕΠΙΣΚ[Ι, Ξ] <- ΨΕΥΔΗΣ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΡΑΨΕ ''
  ΓΡΑΨΕ 'Σημείο στο οποίο άφησαν οι γονείς τα παιδιά τους'
  ΓΡΑΨΕ 'Σε ποια γραμμή είναι; '
  ΔΙΑΒΑΣΕ ΓΡ
  ΓΡΑΨΕ 'Σε ποια στήλη είναι; '
  ΔΙΑΒΑΣΕ ΣΤ

  ΚΑΛΕΣΕ ΕΜΦΑΝΙΣΗ(ΔΑΣΟΣ) 
  ΕΠΙΣΚ[ΓΡ, ΣΤ] <- ΑΛΗΘΗΣ

  ΓΕΙΤΟΝΙΚΑ[1, 1] <- -1
  ΓΕΙΤΟΝΙΚΑ[1, 2] <- 0
  ΓΕΙΤΟΝΙΚΑ[2, 1] <- 1
  ΓΕΙΤΟΝΙΚΑ[2, 2] <- 0
  ΓΕΙΤΟΝΙΚΑ[3, 1] <- 0
  ΓΕΙΤΟΝΙΚΑ[3, 2] <- -1
  ΓΕΙΤΟΝΙΚΑ[4, 1] <- 0
  ΓΕΙΤΟΝΙΚΑ[4, 2] <- 1

  ΤΕΛΟΣ <- ΨΕΥΔΗΣ

  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ

    Ι <- 1
    ΒΡΕΘΗΚΕ <- ΨΕΥΔΗΣ
    ΟΣΟ Ι <= 4 ΚΑΙ ΟΧΙ ΒΡΕΘΗΚΕ ΕΠΑΝΑΛΑΒΕ
      ΝΕΑ_ΓΡ <- ΓΡ + ΓΕΙΤΟΝΙΚΑ[Ι, 1] 
      ΝΕΑ_ΣΤ <- ΣΤ + ΓΕΙΤΟΝΙΚΑ[Ι, 2] 

      ΑΝ ΝΕΑ_ΓΡ >= 1 ΚΑΙ ΝΕΑ_ΓΡ <= 20 ΚΑΙ ΝΕΑ_ΣΤ >= 1 ΚΑΙ ΝΕΑ_ΣΤ <= 20 ΤΟΤΕ
        ΑΝ ΔΑΣΟΣ[ΝΕΑ_ΓΡ, ΝΕΑ_ΣΤ] = 'Β' ΚΑΙ ΕΠΙΣΚ[ΝΕΑ_ΓΡ, ΝΕΑ_ΣΤ] = ΨΕΥΔΗΣ ΤΟΤΕ
          ΓΡ <- ΝΕΑ_ΓΡ
          ΣΤ <- ΝΕΑ_ΣΤ
          ΒΡΕΘΗΚΕ <- ΑΛΗΘΗΣ
          ΕΠΙΣΚ[ΝΕΑ_ΓΡ, ΝΕΑ_ΣΤ] <- ΑΛΗΘΗΣ
        ΤΕΛΟΣ_ΑΝ
      ΤΕΛΟΣ_ΑΝ
      Ι <- Ι + 1
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

    ΑΝ ΓΡ = 1 Η ΓΡ = 20 Η ΣΤ = 1 Η ΣΤ = 20 ΤΟΤΕ
      ΓΡΑΨΕ 'Μπράβο! Τα κατάφερες'
      ΤΕΛΟΣ <- ΑΛΗΘΗΣ
    ΑΛΛΙΩΣ_ΑΝ ΟΧΙ ΒΡΕΘΗΚΕ ΤΟΤΕ
      ΓΡΑΨΕ 'Δυστυχώς δεν υπάρχει μονοπάτι'
      ΤΕΛΟΣ <- ΑΛΗΘΗΣ
    ΤΕΛΟΣ_ΑΝ

  ΜΕΧΡΙΣ_ΟΤΟΥ ΤΕΛΟΣ

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Κοντορεβιθούλης

ΔΙΑΔΙΚΑΣΙΑ ΕΜΦΑΝΙΣΗ(ΔΑΣΟΣ) 
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Ι, Ξ
  ΧΑΡΑΚΤΗΡΕΣ: ΔΑΣΟΣ[20, 20] 
ΑΡΧΗ

  ΓΡΑΨΕ ''
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 20
    ΓΙΑ Ξ ΑΠΟ 1 ΜΕΧΡΙ 20
      ΓΡΑΨΕ ΔΑΣΟΣ[Ι, Ξ], '  '
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ ''
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Άλλες επαναληπτικές ασκήσεις

Οι υπόλοιπες επαναληπτικές ασκήσεις της σειράς υπάρχουν στο άρθρο:

10 Επαναληπτικές Ασκήσεις στην Πληροφορική (2021) 


Παρόμοιες επαναληπτικές ασκήσεις υπάρχουν στο άρθρο:

30 Επαναληπτικές Ασκήσεις για το μάθημα της Πληροφορικής

 

Σχόλια

Δημοφιλείς αναρτήσεις από αυτό το ιστολόγιο

10 Επαναληπτικές Ασκήσεις στην Πληροφορική (2021)

Τι είναι η ανακαλυπτική - διερευνητική μάθηση;

Τα καλύτερα YouTube κανάλια για να μάθετε προγραμματισμό