Δ – Εύρεση Μέγιστου & Ελάχιστου

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ – ΑΕΠΠ

ΚΕΦΑΛΑΙΟ ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ – ΕΠΙΛΟΓΗΣ

& ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΥΝΑΡΤΗΣΕΙΣ)

ΕΝΟΤΗΤΑ Δ ΜΕΓΙΣΤΑ ΕΛΑΧΙΣΤΑ

ΔΙΔΑΚΤΙΚΟΙ ΣΤΟΧΟΙ

Μετά το τέλος της ενότητας ο μαθητής θα πρέπει να είναι σε θέση:

  • να συντάσει επαναληπτικούς αλγόριθμους που δίνουν ως αποτέλεσμα τη μέγιστη/ελάχιστη τιμή ενός συνόλου δεδομένων.

Μάθημα 1οΜάθημα 2οΜάθημα 3ο

  • Σε αγώνες στίβου και στο αγώνισμα άλμα επί κοντό συμμετέχουν Ν αθλητές. Γράψτε αλγόριθμο στον οποίο θα δίνονται οι επιδόσεις των αθλητών (σε εκατοστά) και θα εμφανίζει ως αποτέλεσμα την καλύτερη επίδοση σε μέτρα.

  •  

  • Δίνονται οι χρόνοι (σε δευτερόλεπτα) κολυμβητών που αγωνίζονται στα 50 μέτρα “πεταλούδα”. Ποια η καλύτερη επίδοση; Συμπληρώστε τον αλγόριθμο ώστε να δίνει ως έξοδο και την χειρότερη επίδοση και να τερματίζει με τιμή φρουρό της επιλογής σας.

  • Απλά Προβλήματα

ΔΙΔΑΚΤΙΚΟΙ ΣΤΟΧΟΙ

Μετά το τέλος του μαθήματος ο μαθητής θα πρέπει να είναι σε θέση:

  • να .

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

    Λέξεις κλειδιά:  …

  •  

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

  • Απλές ασκήσεις και Προβλήματα -υπόλοιπα

ΔΙΔΑΚΤΙΚΟΙ ΣΤΟΧΟΙ

Μετά το τέλος του μαθήματος ο μαθητής θα πρέπει να είναι σε θέση:

  • να .

  • Εταιρεία σκαφών αναψυχής διαθέτει σε προσφορά ταχύπλοα σκάφη. Να υλοποιηθεί αλγόριθμος στον οποίο θα δίνεται το μοντέλο κάθε ταχύπλοου, η τιμή, καθώς και η κατανάλωσή του σε lt/100 Km. Το αποτέλεσμα του αλγόριθμου θα είναι η μικρότερη κατανάλωση και το μοντέλο με την υψηλότερη τιμή. Ο αριθμός των σκαφών της εταιρείας είναι τέτοιος που η συνολική αξία τους αν πουληθούν αγγίζει το ποσό των 1268000 ευρώ.

    Υπόδειξη: Να χρησιμοποιηθούν δύο συναρτήσεις με όνομα Ελάχιστος και Είναι_Μέγιστος αντίστοιχα οι οποίες θα δέχονται ως παραμέτρους δύο οποιουσδήποτε πραγματικούς αριθμούς, έστω α, β  και θα επιστρέφουν στο κύριο πρόγραμμα ως αποτέλεσμα:

    α) η συνάρτηση Ελάχιστος τον μικρότερο μεταξύ των α και β.

    β) η συνάρτηση Είναι_Μέγιστος τιμή αληθής στην περίπτωση που ισχύει α>β, ψευδής σε κάθε άλλη περίπτωση.

    Λέξεις κλειδιά:  συνάρτηση, λογική, αληθής, ψευδής, επανάληψη

  •  

    1. Με ποιον τρόπο η συνάρτηση Είναι_Μέγιστος μπορεί να χρησιμοποιηθεί, ώστε να εντοπιστεί στον αλγόριθμο και το δεύτερο ζητούμενο (το μοντέλο με την μικρότερη κατανάλωση); Να γραφεί η εντολή κλήσης της συνάρτησης μόνο.

    2. Εξηγήστε τι πρέπει ν’ αλλάξει στην συνάρτηση Είναι_Μέγιστος ώστε να επιστρέφει τιμή ψευδής μόνο στην περίπτωση που ισχύει α<β. Πως αυτή η αλλαγή θα επιδράσει στα αποτελέσματα του αλγορίθμου.

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

  • ….

Έυρευση ΜέγιστουΕλάχιστος θετικόςΕπιτόκια ΚαταθέσεωνΜπασκετμπολίστεςΕΜΥΚαι ποιος δεν χρωστάειΦόρμουλα 1Δισκοβόλοι

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

  • Να γραφεί αλγόριθμος που εντοπίζει και θα εκτυπώνει τον μικρότερο θετικό ενός συνόλου ακεραίων αριθμών που ο τελευταίος είναι το -1.

  • Ζητούμενο Ιδιαίτερη προϋπόθεση 
    Ο μικρότερος ενός συνόλου αριθμών Θετικός και ακέραιος
    Δεδομένα
    Διάφοροι αριθμοί Ακέραιοι

  • Γράψτε αλγόριθμο που θα συγκρίνει τα επιτόκια καταθέσεων του συνόλου των τραπεζών της χώρας και θα δίνει ως αποτέλεσμα το μικρότερο από αυτά καθώς και την τράπεζα που το προσφέρει.

  • Να υλοποιηθεί αλγόριθμος που θα διαβάζει ονοματεπώνυμο και το ύψος των παικτών μιας ομάδας μπάσκετ και θα εμφανίζει το ονοματεπώνυμο του ψηλότερου. 

    Ερώτηση: Τι αποτέλεσμα θα δώσει ο αλγόριθμος σας αν δύο παίκτες έχουν το ίδιο μεγαλύτερο ύψος;

  • Σ’ ένα μετεωρολογικό σταθμό καταγράφεται καθημερινά η θερμοκρασία στις 12:00. Να αναπτυχθεί αλγόριθμος που στο τέλος του μήνα θα υπολογίζει και θα εμφανίζει:

    1. Την ελάχιστη θερμοκρασία και την μέρα που σημειώθηκε.

    2. Τη μέγιστη θερμοκρασία και την μέρα που σημειώθηκε.

  • Να αναπτυχθεί αλγόριθμος που θα δίνει ως αποτέλεσμα την χώρα με το μεγαλύτερο χρέος μεταξύ του συνόλου των χωρών της υφηλίου. Το χρέος κάθε χώρας δίνεται ως είσοδος και σε καμμία περίπτωση δεν ξεπερνά τον μεγαλύτερο 16-ψήφιο αριθμό. Το συνολικό χρέος όλων των χωρών υπολογίστηκε και δίνεται ως είσοδος στην αρχή του αλγορίθμου.

  • Ξαναγράψτε τον προηγούμενο αλγόριθμο ώστε στο αποτέλεσμα να εμφανίζει επιπλέον και την χώρα που χρωστά τα λιγότερα.

  • Σε αγώνα της φόρμουλα 1 παίρνουν μέρος οδηγοί με τα οχήματά τους. Να γραφεί αλγόριθμος που θα δέχεται το μοντέλο κάθε οχήματος καθώς και την τελική του ταχύτητα σε Km/h. Ο αλγόριθμος θα εντοπίζει την μικρότερη ταχύτητα (μεταξύ των μοντέλων που η τελική ταχύτητά τους ξεπερνά τα 300 Km/h) και το μοντέλο με τη μεγαλύτερη ταχύτητα (μεταξύ των μοντέλων με τελική ταχύτητα που δεν «φτάνει» τα 300 Km/h).

  • Σε αγώνες στίβου και στο αγώνισμα της δισκοβολίας συμμετέχει άγνωστος αριθμός αθλητών. Γράψτε αλγόριθμο στον οποίο θα δίνονται οι επιδόσεις των αθλητών (σε εκατοστά) και θα εμφανίζει ως αποτέλεσμα τον αριθμό των αθλητών που έχουν επίδοση ίση με την καλύτερη επίδοση (που θα εντοπίζει ο αλγόριθμος).

    Λέξεις Κλειδιά: Επανάληψη, Σύνθετη Επιλογή, Καταμέτρηση, Μέγιστα

  • Προσπαθήστε να τροποποιήσετε τον προηγούμενο αλγόριθμο ώστε να να εμφανίζει, στην περίπτωση που περισσότεροι από ένας αθλητές έχουν την ίδια καλύτερη επίδοση τα ονοματεπώνυμά τους. Είναι δυνατόν να ικανοποιηθεί η νέα απαίτηση; Αν ναί πως, αν όχι γιατί;

Ακριτικό ΧωριόΠυρηνικός αντιδραστήραςΒιβλιοθήκη

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

    Ο αλγόριθμος τερματίζει όταν ο αριθμός των ενήλικων ξεπεράσει το μισό των ανήλικων κατοίκων.

  • Σ’ ένα πυρηνικό αντιδραστήρα η μέτρηση της ραδιενέργειας γίνεται καθημερινά με τη βοήθεια Η/Υ. Να αναπτυχθεί αλγόριθμος που:
    Α) θα διαβάζει το όριο ασφαλείας για την τιμή της ραδιενέργειας.
    Στη συνέχεια,
    Β) θα διαβάζει τιμές για τη ραδιενέργεια κάθε ημέρας έως ότου ξεπεραστεί το όριο ασφαλείας.
    Γ) Όταν ξεπεραστεί το όριο θα εμφανίζει δέκα φορές το μήνυμα ΚΙΝΔΥΝΟΣ!!!.
    Επίσης ο αλγόριθμος θα υπολογίζει και θα εμφανίζει :
    Δ) το πλήθος των ημερών που η τιμή της ραδιενέργειας δεν ξεπέρασε το όριο ασφαλείας.
    Ε) την μικρότερη τιμή ραδιενέργειας.

  • Η βιβλιοθήκη του σχολείου σας διαθέτει αριθμό βιβλίων που μόλις ξεπερνούν τον μικρότερο εξαψήφιο αριθμό. Να δοθεί αλγόριθμος που θα δέχεται για κάθε βιβλίο τα εξής δεδομένα: θέμα, τίτλο, συγγραφέα, έτος πρώτης κυκλοφορίας και ISBN.

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

    Επίσης,
    το έτος κυκλοφορίας και τον συνολικό αριθμό των πλέον πρόσφατων βιβλίων,
    το παλαιότερο από τα βιβλία που αναφέρονται στην Γαλλική Επανάσταση,
    το πλήθος των διηγημάτων που συγγραφέας τους είναι ο Αλέξανδρος Παπαδιαμάντης.

  • #include <iostream>
    #include <string>
    using namespace std;
    //GiannisPapageorgiou Student of 3rd Gymnasium
    int main() {
        const int currentYear = 2018;
        string topic, title, author, ISBN, algorithm, topic1;
        int year_of_release, times=0, N, max_year_of_release=0, number_of_books=0, oldest_yor_for_fr=0, number_AP=0;
        N = 4;
        oldest_yor_for_fr = currentYear + 1;
        do {
            times=times+1;
            cout<<“Enter the topic of your book: “;
                cin>>topic;
                cout<<“Now enter the title of your book: “;
                cin>>title;
                cout<<“Enter the author of your book: “;
                cin>>author;
                cout<<“What is the year of release? “;
                cin>>year_of_release;
                cout<<“Please enter the ISBN of this book: “;
                cin>>ISBN;
                cout<<“\n\n”;
                if(times==1) {
                    topic1=topic;
                    number_of_books = 1;
                }
                if(year_of_release>max_year_of_release) {
                    max_year_of_release = year_of_release;
                    number_of_books=1;
                }
                else
                    if(year_of_release==max_year_of_release)
                        number_of_books = number_of_books + 1;
                if(topic==topic1) {
                    cout<<“\n\nThe author of the book with the topic “<<topic<<” is “<<author;
                    cout<<” and the title is “<<title<<“\n\n”;            }
                if(topic==”French_Revolution”)
                    if(year_of_release < oldest_yor_for_fr)
                        oldest_yor_for_fr=year_of_release;
                if(author==”Alexandros_Papadiamantis”)
                    number_AP = number_AP + 1;
            } while(times<N);
            cout<<“The year of releasement of the latest “<<number_of_books<<” books is “<<max_year_of_release;
            if(oldest_yor_for_fr!=0)
                cout<<“\nThe oldest book about the French Revolution was released in “<<oldest_yor_for_fr;
            if(number_AP!=0)
                cout<<“\nThe number of books written by Alexandros Papadiamandis is “<<number_AP;
    }

Επίδοση μαθητώνΦοίτιση μαθητήΚατασκήνωσηΠληροφορικές ΣπουδέςΑγορά διαμερίσματος

  • Να υλοποιηθεί αλγόριθμος που θα δέχεται σαν είσοδο το ονοματεπώνυμο και το βαθμό απολυτηρίου για κάθε έναν από τους απόφοιτους του 3ου Λυκείου Καλαμαριάς. Ο αλγόριθμος θα εμφανίζει μεταξύ των άριστων μαθητών -βαθμός απολυτηρίου τουλάχιστον 18,5- το ονοματεπώνυμο εκείνου με το χαμηλότερο βαθμό.
    Επίσης το  ονοματεπώνυμο του μαθητή με τον 2ο υψηλότερο βαθμό απολυτηρίου μεταξύ όλων των μαθητών.
    Ο αλγόριθμος τερματίζει όταν ως βαθμός απολυτηρίου δοθεί μη έγκυρη τιμή -έγκυρες τιμές βαθμολογίας θεωρούνται οι τιμές  μεταξύ 0 και 20.

  • Η φοίτηση ενός μαθητή χαρακτηρίζεται επαρκής αν έχει μέχρι 114 απουσίες. Επίσης χαρακτηρίζεται επαρκής αν οι απουσίες του είναι μέχρι 160 αλλά ο μέσος όρος βαθμολογίας του είναι τουλάχιστον 18. Σε κάθε άλλη περίπτωση η φοίτηση χαρακτηρίζεται ανεπαρκής.
    Η Γ’ τάξη ενός σχολείου αποτελείται από 160 μαθητές. Να αναπτυχθεί αλγόριθμος ο οποίος θα διαβάζει για κάθε μαθητή τον αριθμό μητρώου του, τις απουσίες του και τον μέσο όρο βαθμολογίας του. Θα εμφανίζει,
    α) τον αριθμό των μαθητών που η φοίτησή τους χαρακτηρίζεται σαν ανεπαρκής.
    β) τον αριθμό μητρώου του μαθητή με τις λιγότερες απουσίες.
    γ) το σύνολο των απουσιών όλων των μαθητών.
    δ) το σύνολο των απουσιών των μαθητών με μέσο όρο βαθμολογίας μεγαλύτερο του 18.
    ε) τις απουσίες του μαθητή με αριθμό μητρώου που θα διαβάζεται από τον αλγόριθμο.

  • Σε μια κατασκήνωση υπάρχουν παιδιά καθένα από τα οποία έχει ένα μοναδικό αριθμό. Ο αριθμός αυτός για τον πρώτο παιδί της κατασκήνωσης είναι το 1000, για το δεύτερο το 1001, για το τρίτο το 1002 κ.ο.κ.
    Να γραφεί αλγόριθμος που θα διαβάζει για κάθε παιδί το φύλο του (έλεγχος εγκυρότητας με αποδεκτές τιμές αγόρι, κορίτσι), την ηλικία του και το ύψος του. Για την συνέχιση της διαδικασίας ο αλγόριθμος θα εμφανίζει την ερώτηση “Υπάρχουν ακόμη δεδομένα προς καταχώρηση;” θα δέχεται την απάντηση του χρήστη και αναλόγως είτε θα συνεχίζει είτε θα τερματίζει.
    Θα υπολογίζει και θα εμφανίζει το μέσο όρο ηλικίας των παιδιών, το ποσοστό των παιδιών που το φύλο τους είναι αγόρι και το ύψος τους είναι μεγαλύτερο του 1.85, καθώς και τον αριθμό και το φύλο του μικρότερου σε ηλικία παιδιού. Επίσης ο αλγόριθμος θα ενημερώνει για το αν είναι περισσότερα τα αγόρια ή τα κορίτσια στην κατασκήνωση.

    Λέξεις Κλειδιά: Επανάληψη (άγνωστος αριθμός), Έλεγχος Εγκυρότητας, Σύνθετες Λογικές Εκφράσεις, Εμφωλευμένη Επανάληψη, Μέσος Όρος, Ποσοστά, Καταμέτρηση, Ελάχιστο, Συνάρτηση

  • Για την εισαγωγή στο τμήμα Πληροφορικής απαιτείται ένας αριθμός μορίων –βάση- για τον οποίο ισχύει ότι 0<μόρια<=20000. Να αναπτυχθεί αλγόριθμος που θα δέχεται τα μόρια ενός μαθητή και τον αριθμό μητρώου του.

    Θα εμφανίζει τον αριθμό μητρώου του μαθητή με τα περισσότερα μόρια μεταξύ των μαθητών που δεν κατάφεραν να εισαχθούν στο τμήμα. Ποιο το πλήθος των μαθητών που απέτυχαν να εισαχθούν στο τμήμα Πληροφορικής; Πόσα μόρια τους χωρίζουν από την βάση;

    Μεταξύ των μαθητών που πέτυχαν την εισαγωγή τους στο τμήμα αλλά το σύνολο των μορίων τους δεν ξεπερνά περισσότερο από 2% την βάση, πόσοι συγκέντρωσαν τον μεγαλύτερο αριθμό μορίων; Ο αλγόριθμος επίσης θα δίνει ως αποτέλεσμα:

    • το πλήθος των μαθητών με τα λιγότερα μόρια.
    • τα μόρια του μαθητή με αριθμό μητρώου 4563.
    • τα μόρια των μαθητών με όνομα Δημοσθένης και επώνυμο Νικολάου.
    • Τον αριθμό μητρώου των μαθητών που εισάγονται στο τμήμα.

  • Είναι προφανές ότι ο αριθμός των μαθητών που “πρωταγωνιστούν” στο πρόβλημα όχι μόνο δεν είναι γνωστός, αλλά και δεν περιγράφεται κάποιο κριτήριο που να μπορεί να χρησιμοποιηθεί προκειμένου να υλοποιηθεί η επανάληψη. Συνεπώς ο δημιουργός του αλγορίθμου έχουμε την υποχρέωση να επιλέξουμε το κριτήριο που θα οδηγεί στον τερματισμό του αλγορίθμου. Έστω λοιπόν ότι γνωρίζουμε,

    • το πλήθος των μαθητών που το τμήμα Πληροφορικής μπορεί να εκπαιδεύσει.

    • το ονοματεπώνυμο του τελευταίου εισακτέου

  • Υποψήφιος αγοραστής διαμερίσματος πραγματοποίησε έρευνα αγοράς για τις τιμές πώλησης διαμερισμάτων σε μια περιοχή της πόλης. Να γραφεί αλγόριθμος στον οποίο θα δίνεται για κάθε διαμέρισμα η τιμή πώλησής του και τα τετραγωνικά μέτρα που καλύπτει.

    Θα υπολογίζει και θα εμφανίζει τη μέση τιμή πώλησης των διαμερισμάτων που η επιφάνειά τους είναι μικρότερη από 80 τ.μ. καθώς και το πλήθος των διαμερισμάτων που η τιμή τους ανά τετραγωνικό μέτρο είναι μεγαλύτερη των 2000 ευρώ. Επίσης την υψηλότερη (ανά τετραγωνικό μέτρο) τιμή διαμερίσματος. Η επιλογή του κριτηρίου για τον τερματισμό του αλγορίθμου είναι στην επιλογή σας.

Permanent link to this article: https://pervolischool.edu.gr/computer-science/algorithms-aepp/repeatif/%ce%b4%ce%bf%ce%bc%ce%ae-%ce%b5%cf%80%ce%b1%ce%bd%ce%ac%ce%bb%ce%b7%cf%88%ce%b7%cf%82-%ce%bc%ce%ad%ce%b3%ce%b9%cf%83%cf%84%ce%b1-%ce%b5%ce%bb%ce%ac%cf%87%ce%b9%cf%83%cf%84%ce%b1/