Αρχική ΑΕΠΠ - Δομές Δεδομένων Λειτουργικά Συστήματα Δίκτυα Υπολογιστών ΙΙ Βάσεις Δεδομένων Παιδαγωγικά - Διδακτική

Βασικές Έννοιες

Μεταβλητή - Έκφραση Δομή Ακολουθίας Δομή Επιλογής Δομή Επανάληψης

Αναπαράσταση Αλγορίθμων

Διάγραμμα Ροής

Πίνακας Τιμών

Πίνακες

Μονοδιάστατοι Δισδιάστατοι Πολυδιάστατοι Αναζήτηση Ταξινόμηση Στοίβα Ουρά

Υποπρογράμματα

Συναρτήσεις Διαδικασίες Σχετικά με τις παράμετρους

Δυναμικές Δομές

Λίστες Δέντρα Γράφοι

Λογικές Συνθήκες

Συνθήκη με μια μεταβλητή και ένα όριο

Ένα ασανσέρ μπορεί να δεχθεί βάρος μέχρι 500kg. Να αναπτύξετε αλγόριθμο ο οποίος θα διαβάζει το βάρος των ατόμων στο θάλαμο του ασανσέρ και θα ανάβει ενδεικτική λυχνία σε περίπτωση υπέρβασης του ορίου.

Λύση (αλγόριθμος)

Αλγόριθμος Ασανσέρ
        Διάβασε Βάρος
        Λυχνία <- Ψευδής
        Αν Βάρος > 500 τότε
                Λυχνία <- Αληθής
        Τέλος_αν
Τέλος Ασανσέρ

Όσο πιο μικρή είναι η απόδοση ενός καυστήρα, τόσο περισσότερο πετρέλαιο καταναλώνει. Ο καυστήρας μας είναι εφοδιασμένος με μία διάταξη που μετράει την απόδοσή του. Θέλουμε να φτιάξουμε ένα πρόγραμμα το οποίο θα διαβάζει την τιμή που δίνει ο καυστήρας και αν αυτή είναι κάτω από 85% να μας ενημερώνει με μία ενδεικτική λυχνία και ένα μήνυμα ώστε να καλέσουμε το service.

Λύση (αλγόριθμος)

Αλγόριθμος Καυστήρας
        Διάβασε Απόδοση
        ! Θεωρούμε ότι η απόδοση δίνεται ως τιμή μεταξύ 0 – 1
        Αν Απόδοση < 0.85 τότε
                Λυχνία_Service <- Αληθής
                Γράψε "Απόδοση χαμηλή. Καλέστε το service."
        Τέλος_αν
Τέλος Καυστήρας

Να φτιαχθεί αλγόριθμος ο οποίος θα διαβάζει τα μεγέθη δύο σημειακών φορτίων q1, q2 και την μεταξύ τους απόσταση. Στη συνέχεια θα υπολογίζει το μέτρο της δύναμης Coulomb που ασκείται σ' αυτά. Γνωρίζουμε ότι η δύναμη Coulomb δίνεται από τον παρακάτω τύπο:

Λύση (αλγόριθμος)

Εδώ αυτό που πρέπει να προσέξουμε είναι η ακτίνα να είναι διαφορετική του μηδέν διότι βρίσκεται στον παρανομαστή. Αν είναι τότε κάνουμε υπολογίζουμε την δύναμη.

Αλγόριθμος Coulomb
  Διάβασε q1, q2, r
  Αν r > 0 τότε
    F <- (q1*q2)/(r^2)
  Αλλιώς
    Γράψε "Η απόσταση πρέπει να είναι μεγαλύτερη του μηδέν"
  Τέλος_αν
Τέλος Coulomb

Για έναν επίπεδο πυκνωτή, όταν μεταξύ των οπλισμών του υπάρχει κενό ή αέρας, η χωρητικότητά του δίνεται από τη σχέση

Να φτιαχτεί αλγόριθμος ο οποίος θα διαβάζει το εμβαδόν S του οπλισμού και την απόσταση l των οπλισμών και θα υπολογίζει την χωρητικότητα (ε0=8.85*10-12 C2/Nm2).

Λύση (αλγόριθμος)

Αλγόριθμος Πυκνωτής
        ε0 <- 8.85*10^-12
        Διάβασε S, l
        Αν l > 0 τότε
                C <- ε0*S/l
        Αλλιώς
        Γράψε "Η απόσταση των οπλισμών πρέπει να είναι μεγαλύτερη του μηδέν"
        Τέλος_αν
Τέλος Coulomb

Το λιμενικό εκδίδει κάθε μέρα απαγορευτικό ή μη για τον απόπλου των πλοίων ανάλογα με την ένταση των ανέμων. Να γραφεί αλγόριθμος ο οποίος θα διαβάζει την ένταση του ανέμου και αν είναι μικρότερος ή ίσος από 8 μποφόρ να αναφέρει ότι επιτρέπεται ο απόπλους, διαφορετικά να αναφέρει ότι απαγορεύεται.


Μια Τράπεζα επιβαρύνει τους καταθέτες της με έξοδα διαχείρισης €1/μήνα, αν το μέσο ημερήσιο υπόλοιπο εξαμήνου ενός καταθετικού λογαριασμού είναι μικρότερο από €300. Να διαβασθούν τα μέσα μηνιαία υπόλοιπα για 6 μήνες ενός πελάτη της Τράπεζας και να βρεθεί η επιβάρυνσή του.

Λύση (αλγόριθμος)

Αλγόριθμος Τράπεζα
        Διάβασε μήνας1, μήνας2, μήνας3, μήνας4, μήνας5, μήνας6
        ΜΟ <- (μήνας1+μήνας2+μήνας3+μήνας4+μήνας5+μήνας6)/6
        Αν ΜΟ < 300 τότε
                χρέωση <- 6
                Γράψε "Υπάρχει χρέωση €", χρέωση
        Τέλος_αν
Τέλος_Τράπεζα

Ένα video club ενοικιάζει ταινίες προς €1,5 το διήμερο. Σε περίπτωση καθυστέρησης χρεώνει €1/μέρα. Να γραφεί αλγόριθμος που θα υπολογίζει τη χρέωση των πελατών με βάση την διάρκεια της ενοικίασης.

Λύση (αλγόριθμος)

Αλγόριθμος Video_Club
        Κόστος <- 1.5
        Διάβασε Ημέρες
        Αν Ημέρες > 2 τότε
                Κόστος <- Κόστος + (Ημέρες-2)
        Τέλος_αν
        Γράψε "Ο πελάτης οφείλει", Κόστος
Τέλος Video_Club

Ένα Internet Cafe ακολουθεί την εξής πολιτική χρέωσης. Η πρώτη ώρα χρεώνεται €1. Μετά την πρώτη ώρα η χρέωση γίνεται ανά 30 λεπτά προς €0.30. Αν ένας πελάτης κάνει χρήση για 31 λεπτά, μετά την πρώτη ώρα, τότε πληρώνει δύο 30λεπτα. Να γραφεί αλγόριθμος για τον υπολογισμό της χρέωσης των πελατών.

Λύση (αλγόριθμος)

Αλγόριθμος Internet_Cafe
        υπόλοιπο <- 0
        μισάωρα  <- 2
        Διάβασε χρόνος_ομιλίας
        Αν χρόνος_ομιλίας>60 τότε
                μισάωρα  <- χρόνος_ομιλίας div 30
                υπόλοιπο <- χρόνος_ομιλίας mod 30
        Τέλος_αν
        Αν υπόλοιπο > 0 τότε
                μισάωρα <- μισάωρα + 1
        Τέλος_Αν
        χρέωση <- 1 + (μισάωρα - 2) * 0.30
  Εκτύπωσε "Ο πελάτης οφείλει ", χρέωση
Τέλος Internet_Cafe

Μια Τράπεζα χρεώνει τις συναλλαγές που κάνουν οι πελάτες από τα υποκαταστήματά της ως εξής: Οι πρώτες 3 συναλλαγές το μήνα είναι δωρεάν, ενώ για κάθε επόμενη συναλλαγή υπάρχει χρέωση €1 ανά συναλλαγή. Να υπολογιστεί αν ένας πελάτης έχει χρέωση και πόση είναι.

Λύση (αλγόριθμος)

Αλγόριθμος Τράπεζα
        Διάβασε Συναλλαγές
        Αν Συναλλαγές > 3 τότε
                Χρέωση <- (Συναλλαγές-3)*1
                Γράψε "Υπάρχει χρέωση:", Χρέωση
        Τέλος_αν
Τέλος Τράπεζα

Η ωριαία αμοιβή ενός εργαζομένου είναι 6 €. Όμως, αν οι ώρες εργασίας του είναι περισσότερες από 40, λαμβάνει και επιπλέον υπερωριακή αποζημίωση 3 € για κάθε επιπλέον ώρα. Να διαβασθούν οι ώρες εργασίας και να υπολογισθούν οι αποδοχές ενός εργαζομένου (κανονική αμοιβή, αμοιβή υπερωριών και συνολικές αποδοχές).

Λύση (αλγόριθμος)

Αλγόριθμος Αμοιβή_Εργαζόμενου
        Μισθός   <- 6
        Υπερωρία <- 3
        Υπερωριακή_Αμοιβή <- 0
        Διάβασε Ώρες
        Κανονική_Αμοιβή <- Μισθός * Ώρες
        Αν Ώρες > 40
                Υπερωριακή_Αμοιβή <- (Ώρες–40)*3
        Τέλος_αν
        Συνολική_Αμοιβή <- Κανονική_Αμοιβή + Υπερωριακή_Αμοιβή
        Γράψε "Κανονική αμοιβή:", Κανονική_Αμοιβή
        Γράψε "Υπερωριακή αμοιβή:", Υπερωριακή_Αμοιβή
        Γράψε "Συνολική αμοιβή:", Συνολική_Αμοιβή
Τέλος_αν

Αν αγοράσουμε ΚΑ κιλά ροδάκινα Βέροιας προς Α €/κιλό και ΚΒ κιλά ροδάκινα Νάουσας προς Β €/κιλό ποια είναι ακριβότερα;

Λύση (αλγόριθμος)

Αλγόριθμος Ροδάκινα
        Βέροιας <- Α/ΚΑ
        Νάσουας <- Β/ΚΒ
        Αν Βέροιας > Νάσουας
                Γράψε "Της Βέροιας είναι πιο ακριβά"
        Αλλιώς
                Γράψε "Της Νάουσας είναι πιο ακριβά"
        Τέλος_αν
Τέλος Ροδάκινα

Να διαβασθούν δύο ακέραιοι αριθμοί και να υπολογισθεί η απόλυτη τιμή της διαφοράς τους.

Λύση (αλγόριθμος)

Αλγόριθμος Απόλυτη_Διαφορά
        Διάβασε x, y
        Αν x > y τότε
                Διαφορά <- x – y
        Αλλιώς
                Διαφορά <- y – x
        Τέλος_αν
        Γράψε Διαφορά
Τέλος Απόλυτη_Διαφορά

Ένα ζαχαροπλαστείο πουλάει τα μελομακάρονα προς €5/kgr. Αν γίνει παραγγελία μεγαλύτερη των 20kgr, τότε τα δίνει με €4/kgr. Να διαβαστεί ο αριθμός των κιλών που παραγγέλθηκαν και να υπολογισθεί η αξία τους.

Λύση (αλγόριθμος)

Αλγόριθμος Ζαχαροπλαστείο
        Διάβασε Κιλά
        Αν Κιλά > 20
                Κόστος <- Κιλά * 4
        Αλλιώς
                Κόστος <- Κιλά * 5
        Τέλος_αν
        Γράψε "Η παραγγελία είναι ", κιλά, "kgr και το κόστος της €", Κόστος
Τέλος Ζαχαροπλαστείο

Η συνάρτηση y ορίζεται με τις εξισώσεις: y = 3.5x-12 για x≥0 ή y = 8.2|x|+5 για x<0.
Να υπολογίζεται το y για οποιοδήποτε x δίνεται από το χρήστη.

Λύση (αλγόριθμος)

Αλγόριθμος Συνάρτηση_Υ
        Διάβασε x
        Αν x>=0 τότε
                y <- 3.5*x-12
        Αλλιώς
                y <- -8.2*x+5
        Τέλος_αν
        Γράψε y
Τέλος Συνάρτηση_Υ

Για να έχει δικαίωμα μια οικογένεια με δύο παιδιά που σπουδάζουν να ζητήσει μετεγγραφή, θα πρέπει ο μέσος όρος των εισοδημάτων της την τελευταία τριετία να μην ξεπερνάει τα €35.000. Να διαβασθούν τα εισοδήματα των τριών τελευταίων ετών μιας οικογένειας που έχει δύο παιδιά που σπουδάζουν, να υπολογισθεί το μέσο ετήσιο εισόδημά της και να βρεθεί αν έχει το δικαίωμα ή όχι να ζητήσει μετεγγραφή.

Λύση (αλγόριθμος)

Αλγόριθμος Μετεγγραφή
        Διάβασε Α, Β, Γ
        ΜΟ <- (Α+Β+Γ)/3
        Αν ΜΟ <= 35000 τότε
                Γράψε "Έχουν δικαίωμα μετεγγραφής"
        Αλλιώς
                Γράψε "Δεν έχουν δικαίωμα μετεγγραφής"
        Τέλος_αν
Τέλος Μετεγγραφή

Να γράψετε έναν αλγόριθμο που ελέγχει αν ένα τρίγωνο είναι ορθογώνιο.

Λύση (αλγόριθμος)

Αλγόριθμος Ορθογώνιο
        Διάβασε α, β, γ
        Αν γ^2 = α^2 + β^2 τότε
                Γράψε "Το τρίγωνο είναι ορθογώνιο."
        Αλλιώς
                Γράψε "Το τρίγωνο δεν είναι ορθογώνιο."
        Τέλος_αν
Τέλος Ορθογώνιο

Τα αυτοκίνητα που νοικιάζει ένα γραφείο ενοικίασης χρεώνονται προς 0,04 € το χιλιόμετρο για τα πρώτα 100 χιλιόμετρα και προς 0,06 € το χιλιόμετρο για τα υπόλοιπα χιλιόμετρα συν πάγιο 6 €. Να διαβασθούν τα χιλιόμετρα που διήνυσε ένα αυτοκίνητο και να υπολογισθεί η συνολική χρέωσή του.

Λύση (αλγόριθμος)

Αλγόριθμος Ενοικίαση_Αυτοκινήτων
        Διάβασε χιλιόμετρα
        Αν χιλιόμετρα <= 100 τότε
                κόστος <- χιλιόμετρα*0.04
        Αλλιώς
                κόστος <- 100*0.04 + (χιλιόμετρα-100)*0.06
        Τέλος_αν
        κόστος <- κόστος + 6
        Γράψε "Συνολικό κόστος:", κόστος
Τέλος Ενοικίαση_Αυτοκινήτων

Σε άνεργους εργάτες χορηγείται οικονομική ενίσχυση (επίδομα ανεργίας) ανάλογα με τις ημέρες εργασίας τους το προηγούμενο έτος και πιο συγκεκριμένα μέχρι και 50 ημέρες εργασίας δικαιούνται αποζημίωση €10/ημέρα εργασίας, ενώ για τις παραπάνω ημέρες εργασίας δικαιούνται αποζημίωση €8 ανά επιπλέον ημέρα εργασίας. Να διαβασθούν οι ημέρες εργασίας του προηγούμενου έτους ενός άνεργου εργάτη και να βρεθεί το επίδομα ανεργίας που δικαιούται.

Λύση (αλγόριθμος)

Αλγόριθμος Επίδομα_Ανεργίας
        Διάβασε Ημέρες_Εργασίας
        Αν Ημέρες_Εργασίας <= 50 τότε
                Επίδομα <- Ημέρες_Εργασίας*10
        Αλλιώς
                Επίδομα <- 50*10 + (Ημέρες_Εργασίας-50)*8
        Τέλος_Αν
        Γράψε "Εργάστηκε ", Ημέρες_Εργασίας, " ημέρες και δικαιούται επίδομα", Επίδομα
Τέλος Επίδομα_Ανεργίας

Μια εταιρεία κινητής τηλεφωνίας χρεώνει σε ένα από τα προγράμματά της τα πρώτα 120 δευτερόλεπτα προς €0,04/δευτερόλεπτο και τα επόμενα προς €0,039 /δευτερόλεπτο. Να διαβασθεί ο αριθμός των δευτερολέπτων που μίλησε ένας συνδρομητής και να υπολογισθεί η χρέωσή του.

Λύση (αλγόριθμος)

Αλγόριθμος Χρέωση_Ομιλίας
        Διάβασε Δευτερόλεπτα
        Αν Δευτερόλεπτα <= 120
                Χρέωση <- Δευτερόλεπτα*0.04
        Αλλιώς
                Χρέωση <- 120*0.04 + (Δευτερόλεπτα – 120)*0.038
        Τέλος_αν
        Γράψε Χρέωση
Τέλος_αν

Συνθήκη με μία μεταβλητή και δύο ή περισσότερα όρια

Ένας αισθητήρας ελέγχει τη στάθμη σε μία δεξαμενή πετρελαίου. Αν η στάθμη ξεπεράσει τα 10m ή πέσει κάτω από τα 2m πρέπει να προειδοποιεί με μήνυμα "Προσοχή: Υψηλή στάθμη" ή "Προσοχή: Χαμηλή στάθμη" αντίστοιχα. Να γραφεί πρόγραμμα που θα ελέγχει τη στάθμη και θα ειδοποιεί κατάλληλα.

Λύση (αλγόριθμος)

Αλγόριθμος Δεξαμενή
        Διάβασε Στάθμη
        Αν Στάθμη > 10 τότε
                Γράψε "Προσοχή: Υψηλή στάθμη!"
        Αλλιώς_αν Στάθμη < 2 τότε
                Γράψε "Προσοχή: Χαμηλή στάθμη!"
        Τέλος_αν
Τέλος Δεξαμενή

Δίνονται τρεις αριθμοί. Να βρεθεί και να τυπωθεί ο μεγαλύτερος.

Λύση (αλγόριθμος)

Αλγόριθμος Μεγαλύτερος
        Διάβασε α, β, γ
        max <- α
        Αν β > max τότε
                max <- β
        Τέλος_αν
        Αν γ > max τότε
                max <- γ
        Τέλος_αν
        Γράψε "Ο μεγαλύτερος αριθμός είναι ο", max
Τέλος Μεγαλύτερος

Δίνονται οι τιμές τεσσάρων προϊόντων. Να βρεθεί το οικονομικότερο.

ΑπορρυπαντικόΚόστος (€)Βάρος (kgr)
Ασπρέξ14,007,5
Λαμπρέξ12,507,0
Καθαρέξ13,758,0
Πλυνέξ14,258,2

Λύση (αλγόριθμος)

Αλγόριθμος Απορρυπαντικά
        Κόστος_Ασπρέξ  <- 14/7.5
        Κόστος_Λαμπρέξ <- 12.5/7
        Κόστος_Καθαρέξ <- 13.75/8
        Κόστος_Πλυνέξ  <- 14.25/8.2
        ελάχιστη <- Κόστος_Ασπρέξ
        προϊόν   <- "Ασπρέξ"
        Αν Κόστος_Λαμπρέξ < ελάχιστη τότε
                ελάχιστη <- Κόστος_Λαμπρέξ
                προϊόν   <- "Λαμπρέξ"
        Τέλος_αν
        Αν Κόστος_Καθαρέξ < ελάχιστη τότε
                ελάχιστη <- Κόστος_Καθαρέξ
                προϊόν   <- "Καθαρέξ"
        Τέλος_αν
        Αν Κόστος_Πλυνέξ < ελάχιστη τότε
                ελάχιστη <- Κόστος_Πλυνέξ
                προϊόν   <- "Πλυνέξ"
        Τέλος_αν
        Γράψε "Το πιο οικονομικό προϊόν είναι το", προϊόν, "με τιμή €", ελάχιστη, "/kgr"
Τέλος Απορρυπαντικά

Σε ένα πρόγραμμα μας χρειάζεται η τιμή ενός από τα πέντε πρώτα πολυώνυμα Chebychev Tn(x). Να γραφεί πρόγραμμα που υπολογίζει την τιμή του Tn(x) από το n (0≤n≤4) και το x. Τα πολυώνυμα είναι:

Τ0(x) = 1
Τ1(x) = x
Τ2(x) = 2x2-1
Τ3(x) = 4x3-3x
Τ4(x) = 8x4-8x2+1

Λύση (αλγόριθμος)

Αλγόριθμος Chebychev
        Διάβασε n, x
        Επίλεξε n
                Περίπτωση 0
                        Τ <- 1
                Περίπτωση 1
                        Τ <- x
                Περίπτωση 2
                        Τ <- 2*x^2-1
                Περίπτωση 3
                        T <- 4*x^3-3*x
                Περίπτωση 4
                        T <- 8*x^4-8*x^2+1
        Τέλος_επιλογών
        Γράψε Τ
Τέλος Chebychev

Ένα έτος είναι δίσεκτο αν διαιρείται με το 4 και όχι με το 100 ή αν διαιρείται με το 400 (π. χ. δίσεκτα είναι τα έτη 1600, 1908, 1984, 2000, 2004, αλλά όχι τα 1800, 1900, 1901, 1985). Γράψτε ένα πρόγραμμα που θα εξετάζει ένα δεδομένο έτος αν είναι δίσεκτο.

Λύση (αλγόριθμος)

Αλγόριθμος Δίσεκτο
        Διάβασε Έτος
        Αν (Έτος mod 4 = 0 ΚΑΙ Έτος mod 100 <> 0) Ή (Έτος mod 400 = 0) τότε
                Γράψε "Είναι δίσεκτο"
        Αλλιώς
                Γράψε "Δεν είναι δίσεκτο"
        Τέλος_αν
Τέλος Δίσεκτο

Συνθήκη με δύο μεταβλητές και ένα όριο για καθεμιά

Δεδομένων δύο διακοπτών μίας θέσης (on/off), γράψτε ένα πρόγραμμα που θα επιτρέπει την έξοδο όταν και ο διακόπτης Α και ο διακόπτης Β είναι κλειστός.

Λύση (αλγόριθμος)

Αλγόριθμος Διακόπτες
        Έξοδος <- Ψευδής
        Αν Α = Ψευδής ΚΑΙ Β = Ψευδής τότε
                Έξοδος <- Αληθής
        Τέλος_αν
Τέλος Διακόπτες

Δεδομένων δύο διακοπτών μίας θέσης (on/off), γράψτε ένα πρόγραμμα που θα επιτρέπει την έξοδο όταν ο διακόπτης Α ή ο διακόπτης Β είναι κλειστός.

Λύση (αλγόριθμος)

Αλγόριθμος Διακόπτες
        Έξοδος <- Ψευδής
        Αν Α = Ψευδής Ή Β = Ψευδής τότε
                Έξοδος <- Αληθής
        Τέλος_αν
Τέλος Διακόπτες

Κάθε φοιτητής εξετάζεται σε πέντε (5) μαθήματα. Για να περάσει το έτος πρέπει να περάσει τουλάχιστον τέσσερα (4) με βαθμό 5 ή μεγαλύτερο στο καθένα και να συγκεντρώσει τουλάχιστον 6 μέσο όρο. Αν για κάθε μαθητή έχουμε τους βαθμούς του, να γραφεί αλγόριθμος που θα κρίνει αν ένας φοιτητής πέρασε το έτος ή όχι.

Λύση (αλγόριθμος)

Αλγόριθμος Φοιτητής
        Διάβασε M1, M2, M3, M4, M5
        Πέρασε <- 0
        Βαθμός <- 0
        Αν Μ1 >= 5 τότε
                Πέρασε <- Πέρασε + 1
                Βαθμός <- Βαθμός + Μ1
        Τέλος_αν
        Αν Μ2 >= 5 τότε
                Πέρασε <- Πέρασε + 1
                Βαθμός <- Βαθμός + Μ2
        Τέλος_αν
        Αν Μ3 >= 5 τότε
                Πέρασε <- Πέρασε + 1
                Βαθμός <- Βαθμός + Μ3
        Τέλος_αν
        Αν Μ4 >= 5 τότε
                Πέρασε <- Πέρασε + 1
                Βαθμός <- Βαθμός + Μ4
        Τέλος_αν
        Αν Μ5 >= 5 τότε
                Πέρασε <- Πέρασε + 1
                Βαθμός <- Βαθμός + Μ5
        Τέλος_αν

        ΜΟ <- Βαθμός / Πέρασε
        Αν Πέρασε >= 4 ΚΑΙ ΜΟ >=6 τότε
                Γράψε "Περνάει το έτος"
        Αλλιώς
                Γράψε "Δεν περνάει το έτος"
        Τέλος_αν
Τέλος_Φοιτητής

Συνθήκη με δύο μεταβλητές και δύο όρια για καθεμιά

Στο παρακάτω σχήμα φαίνεται το ορθογώνιο παραλληλόγραμμο που ορίζουν τα σημεία Α(x1, y1) και Β(x2, y2). Να γράψετε αλγόριθμο ο οποίος, με δεδομένα τα x1, x2, y1, y2, θα διαβάζει τις συντεταγμένες ενός σημείου και θα υπολογίζει αν βρίσκεται εκτός, εντός ή στα όρια του παραλληλόγραμμου.

Λύση (αλγόριθμος)

Επεκτείνοντας λίγο το παραπάνω σχήμα, βλέπουμε όλες τις δυνατές περιπτώσεις που έχουμε.

Αλγόριθμος Συντεταγμένες
        Δεδομένα //x1, y1, x2, y2//
        Διάβασε x, y
        ! 1η περίπτωση: Εντός
        Αν x>x1 ΚΑΙ x<x2 ΚΑΙ y>y1 ΚΑΙ y<y2 τότε
                Γράψε "Οι συντεταγμένες", x, ", ", y, " είναι εντός του παραλληλόγραμμου"
        Τέλος_αν
        ! 2η περίπτωση: Εκτός
        Αν x<x1 Ή x>x2 Ή y<y1 Ή y>y2 τότε
                Γράψε "Οι συντεταγμένες", x, ", ", y, " είναι εκτός του παραλληλόγραμμου"
        Τέλος_αν
        ! 3η περίπτωση: Πάνω στα όρια
        Αν ((x=x1 Ή x=x2) ΚΑΙ y>=y1 KAI y<=y2) Ή ((y=y1 Ή y=y2) ΚΑΙ x>=x1 ΚΑΙ x<=x2) τότε
                Γράψε "Οι συντεταγμένες", x, ", ", y, " είναι πάνω στα όρια του παραλληλόγραμμου"
        Τέλος_αν

Συνθήκη με πολλές μεταβλητές και ένα όριο για καθεμιά

Δεδομένων τεσσάρων διακοπτών (Α,Β,Γ,Δ), με επαφές κανονικά ανοικτές (ψευδή), γράψτε ένα πρόγραμμα το οποίο θα ανάβει μία ενδεικτική λυχνία όταν όλοι οι διακόπτες είναι κλειστοί (αληθή).

Λύση (αλγόριθμος)

Αλγόριθμος Διακόπτες
        Λυχνία <- Ψευδής
        Αν Α = Αληθής ΚΑΙ Β = Ψευδής ΚΑΙ Γ = Αληθής ΚΑΙ Δ = Αληθής τότε
                Λυχνία <- Αληθής
        Τέλος_αν
Τέλος Διακόπτες

Μια ενδεικτική λυχνία θα ανάψει όταν ικανοποιηθούν όλες οι ακόλουθες προϋποθέσεις ενός κυκλώματος:

  • και οι τέσσερις διακόπτες πίεσης του κυκλώματος είναι κλειστοί
  • δύο από τους τρεις διακόπτες ορίων του κυκλώματος πρέπει να είναι κλειστοί
  • ο διακόπτης επαναλειτουργίας (reset) δεν πρέπει να είναι κλειστός.

Γράψτε ένα πρόγραμμα που θα ελέγχει τη λυχνία με βάση τα παραπάνω.

Λύση (αλγόριθμος)

Αλγόριθμος Λυχνία
        Διάβασε ΔΠ1, ΔΠ2, ΔΠ3, ΔΠ4
        Διάβασε ΔΟ1, ΔΟ2, ΔΟ3
        Διάβασε RESET
        Λυχνία <- Ψευδής

        ΔΠ_Κλειστοί <- ΔΠ1=Αληθής ΚΑΙ ΔΠ2=Αληθής ΚΑΙ ΔΠ3=Αληθής ΚΑΙ ΔΠ4=Αληθής
        ΔΟ_Κλειστοί <- (ΔΟ1=Αληθής ΚΑΙ ΔΟ2=Αληθής) Ή (ΔΟ1=Αληθής ΚΑΙ ΔΟ3=Αληθής) Ή (ΔΟ2=Αληθής ΚΑΙ ΔΟ3=Αληθής)
        Αν ΔΠ_Κλειστοί=Αληθής ΚΑΙ ΔΟ_Ορίων=Αληθής και RESET=Ψευδής τότε
                Λυχνία <- Αληθής
        Τέλος_αν
Τέλος Λυχνία

Τελευταία ενημέρωση: 14-12-2009 (16:28)

Copyright 2008 - Άρης Φεργάδης