e-ΜΑΘΗΜΑΤΑ |
Λύσεις ασκήσεων Τράπεζας Θεμάτων |
ΠΡΟΓΡΑΜΜΑ Περίμετρος_ΤΘ_31115
!ΘΕΜΑ 4
!Ο Γιώργος κληρονόμησε ένα χωράφι στον Θεσσαλικό κάμπο από τον παππού του
!το οποίο έχει σχήμα πολυγώνου.
!Δυστυχώς ο φράχτης του οικοπέδου έχει καταστραφεί και κατά συνέπεια
! πρέπει να αντικατασταθεί. Για να τον αντικαταστήσει ο Γιώργος σας αναθέτει
! να φτιάξετε ένα πρόγραμμα σε ΓΛΩΣΣΑ το οποίο υπολογίζει την περίμετρο
! του χωραφιού ώστε να μπορέσει να το υπολογίσει το μήκος της περίφραξης.
!Το ζητούμενο πρόγραμμα:
!4.1. Να περιέχει τμήμα δηλώσεων και να ζητάει επαναληπτικά τις συντεταγμένες (x,y)
! των γωνιών του χωραφιού. Επειδή θέλετε το πρόγραμμα να εκτελείται για
! οποιοδήποτε χωράφι δεν χρειάζεται να δοθεί το πλήθος των γωνιών.
! Η καταχώρηση των συντεταγμένων να τερματίζει, όταν 'κλείσει' το πολύγωνο,
!δηλαδή όταν ξαναδοθούν οι συντεταγμένες της πρώτης γωνίας.
!Μονάδες 12
!4.2 Να υπολογίζει και να εμφανίζει την περίμετρο του οικοπέδου ως άθροισμα
!του μήκους των πλευρών του, οι οποίες να υπολογίζονται από το υποπρόγραμμα
!του επόμενου ερωτήματος.
!Μονάδες 5
!4.3 Να κατασκευάσετε υποπρόγραμμα το οποίο με είσοδο τις συντεταγμένες
! 2 σημείων (x1,y1) και (x2,y2) στο επίπεδο υπολογίζει την μεταξύ τους απόσταση
! Δ σύμφωνα με τον τύπο
!Μονάδες 8
!Διευκρινήσεις: Δεν απαιτείται κανένας έλεγχος εγκυρότητας.
!Το οικόπεδο είναι εντελώς επίπεδο και ένα παράδειγμα φαίνεται στο παρακάτω σχήμα.
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: x, y, xπρώτο, yπρώτο, xprev, yprev, μήκος, περίμετρος
ΑΡΧΗ
ΓΡΑΨΕ 'Δώσε ΠΡΩΤΗ κορυφή (x,y): '
ΔΙΑΒΑΣΕ xπρώτο, yπρώτο
xprev <- xπρώτο
yprev <- yπρώτο
περίμετρος <- 0
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Δώσε επόμενη κορυφή (x,y) - ξαναδώσε την πρώτη για κλείσιμο: '
ΔΙΑΒΑΣΕ x, y
ΑΝ x = xπρώτο ΚΑΙ y = yπρώτο ΤΟΤΕ
! Προσθέτουμε την πλευρά που κλείνει το πολύγωνο
ΚΑΛΕΣΕ Απόσταση(xprev, yprev, xπρώτο, yπρώτο, μήκος)
περίμετρος <- περίμετρος + μήκος
ΑΛΛΙΩΣ
! Προσθέτουμε την πλευρά από την προηγούμενη στην τωρινή κορυφή
ΚΑΛΕΣΕ Απόσταση(xprev, yprev, x, y, μήκος)
περίμετρος <- περίμετρος + μήκος
xprev <- x
yprev <- y
ΤΕΛΟΣ_ΑΝ
ΜΕΧΡΙΣ_ΟΤΟΥ x = xπρώτο ΚΑΙ y = yπρώτο
ΓΡΑΨΕ 'Η περίμετρος του οικοπέδου είναι: ', περίμετρος
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
!-------------------------------------------
! Υποπρόγραμμα: Υπολογισμός απόστασης 2 σημείων
ΔΙΑΔΙΚΑΣΙΑ Απόσταση(x1, y1, x2, y2, μήκος)
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: x1, y1, x2, y2, μήκος
ΑΡΧΗ
μήκος <- Τ_Ρ((x1 - x2)^2 + (y1 - y2)^2)
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ