Διαδικαστικός Προγραμματισμός

Σχετικά έγγραφα
Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Δομημένος Προγραμματισμός

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

Λογιστικές Εφαρμογές Εργαστήριο

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός H/Y Ενότητα 5: Συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

Εισαγωγή στον Προγραμματισμό με C++

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Δομές Δεδομένων. Ενότητα 1: Εισαγωγή-Υλοποίηση του ΑΤΔ Σύνολο με Πίνακα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής.

Τίτλος Μαθήματος: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Διαδικαστικός Προγραμματισμός

Διαδικαστικός Προγραμματισμός

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΜΑΘΗΜΑ: Αντικειμενοστρεφής Προγραμματισμός

Εισαγωγή στον Προγραμματισμό με C++

Ιστορία της μετάφρασης

Εισαγωγή στον Προγραμματισμό με C++

3 η ΕΝΟΤΗΤΑ Συναρτήσεις στο MATLAB

ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ

Αυτοματοποιημένη χαρτογραφία

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Δομημένος Προγραμματισμός

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

Στατιστική Επιχειρήσεων Ι

Μοντελοποίηση Λογικών Κυκλωμάτων

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Συναρτήσεις II Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ

Δείκτες - σελίδα 1 από 6

Θεωρία Πιθανοτήτων & Στατιστική

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

Λογιστικές Εφαρμογές Εργαστήριο

Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

Εισαγωγή στον δομημένο προγραμματισμό

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 6: Φιλικές συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Μικροβιολογία & Υγιεινή Τροφίμων

Θεωρία Πιθανοτήτων & Στατιστική

ΝΟΜΙΣΜΑΤΙΚΗ ΟΙΚΟΝΟΜΙΚΗ ΠΟΛΙΤΙΚΗ. Ενότητα 3: Αγορά Χρήματος και επιτόκια. Γεώργιος Μιχαλόπουλος Τμήμα Λογιστικής-Χρηματοοικονομικής

Υπολογιστικά & Διακριτά Μαθηματικά

Πληροφορική. Εργαστηριακή Ενότητα 3 η : Επεξεργασία Κελιών Γραμμών & Στηλών. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές

Δομές Δεδομένων. Ενότητα 11: Τεχνικές Κατακερματισμού. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής.

Ψηφιακή Τεχνολογία σε Ακαδημαϊκό Περιβάλλον

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Διδακτική της λογοτεχνίας Ασκήσεις

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Μεταγλωττιστές. Ενότητα 4: Τυπικές γλώσσες (Μέρος 3 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Διαδικαστικός Προγραμματισμός

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής

Οικονομικά Μαθηματικά

Προγραμματισμός και Εφαρμογές Υπολογιστών

Δομές Δεδομένων. Ενότητα 3: Ουρές Εισαγωγή-Υλοποίηση ΑΤΔ Ουρά με πίνακα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής.

Ηλεκτρονικοί Υπολογιστές I

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΠΛΗΡΟΦΟΡΙΚΗ. Ενότητα: Εργαστηριακές Ασκήσεις. Καθηγήτρια: Ι.

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

Διδακτική της Πληροφορικής

Υπολογιστές Ι. Άδειες Χρήσης. Τύποι δεδομένων. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δείκτες Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 7α: SQL (NULL, Διαίρεση) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Ενότητα 11: Λογική πρώτης τάξης. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής

Προγραμματισμός και Εφαρμογές Υπολογιστών

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δομή του προγράμματος. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Εισαγωγή στους Αλγορίθμους

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

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

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

Εκκλησιαστικό Δίκαιο

Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης. Λογισμός 3 Ασκήσεις. Μιχάλης Μαριάς Τμήμα Α.Π.Θ.

Μάρκετινγκ Αγροτικών Προϊόντων

Υδραυλικά & Πνευματικά ΣΑΕ

Υπολογιστικά & Διακριτά Μαθηματικά

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Δομημένος Προγραμματισμός

Οργανωσιακή Συμπεριφορά Ενότητα 1: Η έννοια της οργάνωσης και διοίκησης

Θεωρία Πιθανοτήτων & Στατιστική

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

Πληροφορική. Εργαστηριακή Ενότητα 1 η : Εισαγωγή στα Λογιστικά Φύλλα με το MS Excel. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Βάσεις Δεδομένων. Ενότητα 1: Εισαγωγή στις Βάσεις δεδομένων. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Transcript:

Διαδικαστικός Προγραμματισμός Ενότητα 8: Παραδείγματα με μονοδιάστατους πίνακες, συναρτήσεις, δείκτες, πέρασμα παραμέτρων με αναφορά Καθηγήτρια Μαρία Σατρατζέμη

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Μακεδονίας» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

Σκοποί ενότητας Σας δίνεται ο σκελετός του προγράμματος example1.c, όπου δηλώνεται το πρωτότυπο και η υλοποίηση των συναρτήσεων ReadData και findmax. Χρησιμοποιείστε κατάλληλα τις παραπάνω συναρτήσεις για να λύσετε τα παρακάτω προβλήματα. 4

Συνάρτηση ReadData Η συνάρτηση ReadData είναι μια void συνάρτηση και χρησιμοποιείται για να διαβάζονται ακέραιοι αριθμοί και να καταχωρούνται σε ένα μονοδιάστατο πίνακα (τυπική παράμετρος pin) του οποίου το τρέχον μέγεθος είναι γνωστό (τυπική παράμετρος size). Είναι μια συνάρτηση που μπορεί να χρησιμοποιηθεί σ οποιοδήποτε πρόγραμμα που απαιτεί το διάβασμα ακεραίων αριθμών όταν είναι γνωστό το πλήθος τους. Ο πίνακας και το τρέχον μέγεθος του τα οποία μεταβιβάζονται στη συνάρτηση ReadData ως ορίσματα θα πρέπει να έχουν δηλωθεί πριν κληθεί η συνάρτηση. 5

Συνάρτηση findmax Η συνάρτηση findmax είναι μια συνάρτηση που χρησιμοποιείται για να προσδιορισθεί το μέγιστο στοιχείο ενός μονοδιάστατου πίνακα. Δέχεται τον μονοδιάστατο πίνακα (τυπική παράμετρος pin) και το τρέχον μέγεθος του πίνακα (τυπική παράμετρος size) και επιστρέφει το μέγιστο στοιχείο του πίνακα. Ο πίνακας και το τρέχον μέγεθος του τα οποία μεταβιβάζονται στη συνάρτηση findmax ως ορίσματα θα πρέπει να έχουν δηλωθεί πριν κληθεί η συνάρτηση. 6

Πρόβλημα 1.1 Σε ένα δημοτικό σχολείο οι βαθμοί των μαθητών των 2 τελευταίων τάξεων (Ε, Στ ) αποθηκεύονται σε 2 μονοδιάστατους πίνακες, δηλαδή οι βαθμοί της Ε τάξης στον πίνακα class1, οι βαθμοί της Στ τάξης στον πίνακα class2. Η Ε τάξη έχει 8 και η Στ 5 μαθητές. Χρησιμοποιώντας τις παραπάνω συναρτήσεις κάντε ένα πρόγραμμα που: 1. θα διαβάζει τους βαθμούς κάθε τάξης και θα τους καταχωρεί στον αντίστοιχο πίνακα 2. θα υπολογίζει το μεγαλύτερο βαθμό κάθε τάξης. 3. Θα εμφανίζει το μεγαλύτερο βαθμό κάθε τάξης. Η εμφάνιση θα γίνεται στη main χωρίς χρήση συνάρτησης. 7

Πρόβλημα 1.1α Στο ίδιο δημοτικό σχολείο αποφασίζουν ότι εκτός από το μεγαλύτερο βαθμό κάθε τάξης θέλουν να γνωρίζουν και ποιος μαθητής τον πέτυχε. Χρησιμοποιήστε και τροποποιήστε κατάλληλα τον κώδικα της συνάρτησης findmax ώστε να γράψτε μια νέα συνάρτηση την findmaxpos, η οποία θα επιστρέφει το μεγαλύτερο βαθμό της αντίστοιχης τάξης (μεγαλύτερη τιμή πίνακα) και τον αντίστοιχο μαθητή (τη θέση του μεγαλύτερου στοιχείου στο αντίστοιχο πίνακα). Δηλώστε το πρωτότυπο, την υλοποίηση της συνάρτησης findmaxpos και καλέστε την από την main για να υπολογίζει για κάθε τάξη το μεγαλύτερο βαθμό και τον μαθητή που τον πέτυχε. Η εμφάνιση του μεγαλύτερου βαθμού και του αντίστοιχου μαθητή θα γίνεται στη main χωρίς χρήση συνάρτησης. 8

Πρόβλημα 1.2 Σε ένα δημοτικό σχολείο οι βαθμοί των μαθητών των 2 τελευταίων τάξεων (Ε, Στ ) αποθηκεύονται σε 2 μονοδιάστατους πίνακες, δηλαδή οι βαθμοί της Ε τάξης στον πίνακα class1, οι βαθμοί της Στ τάξης στον πίνακα class2. Γνωρίζουμε ότι κάθε τάξη μπορεί να έχει μέχρι και 15 μαθητές. Χρησιμοποιώντας τις παραπάνω συναρτήσεις κάντε ένα πρόγραμμα που: 1. Θα διαβάζει το πλήθος των μαθητών της κάθε τάξης (Ε και Στ αντίστοιχα) θα γίνεται έλεγχος ώστε να μη δοθεί πλήθος μαθητών μεγαλύτερο του μέγιστου πλήθους μαθητών ανά τάξη (15 μαθητές). 2. θα διαβάζει τους βαθμούς κάθε τάξης και θα τους καταχωρεί στον αντίστοιχο πίνακα 3. θα υπολογίζει το μεγαλύτερο βαθμό κάθε τάξης 4. Θα εμφανίζει το μεγαλύτερο βαθμό κάθε τάξης 5. θα υπολογίζει το μεγαλύτερο βαθμό κάθε τάξης και τον μαθητή που τον πέτυχε. 6. Θα εμφανίζει το μεγαλύτερο βαθμό κάθε τάξης και τον μαθητή που τον πέτυχε. Η εμφάνιση θα γίνεται στη main χωρίς χρήση συνάρτησης. 9

Πρόβλημα 1.3 Σε ένα δημοτικό σχολείο οι βαθμοί των μαθητών των 2 τελευταίων τάξεων (Ε, Στ ) αποθηκεύονται σε 2 μονοδιάστατους πίνακες, δηλαδή οι βαθμοί της Ε τάξης στον πίνακα class1, οι βαθμοί της Στ τάξης στον πίνακα class2. Γνωρίζουμε ότι κάθε τάξη μπορεί να έχει μέχρι και 15 μαθητές. Χρησιμοποιώντας τις παραπάνω συναρτήσεις κάντε ένα πρόγραμμα που: 1. θα διαβάζει τους βαθμούς κάθε τάξης και θα τους καταχωρεί στον αντίστοιχο πίνακα. Το διάβασμα των βαθμών θα καθορίζεται με τη βοήθεια ερώτησης ( Continue ->0, stop->1 ), δηλαδή ο χρήστης θα ρωτάται από το πρόγραμμα αν θέλει να συνεχίσει να καταχωρεί βαθμούς ή όχι δίνοντας 0 ή 1 αντίστοιχα. 2. θα υπολογίζει το μεγαλύτερο βαθμό κάθε τάξης 3. Θα εμφανίζει το μεγαλύτερο βαθμό κάθε τάξης 4. θα υπολογίζει το μεγαλύτερο βαθμό κάθε τάξης και τον μαθητή που τον πέτυχε. 5. Θα εμφανίζει το μεγαλύτερο βαθμό κάθε τάξης και τον μαθητή που τον πέτυχε. Η εμφάνιση θα γίνεται στη main χωρίς χρήση συνάρτησης 10

Πρόβλημα 1.4 Σε ένα δημοτικό σχολείο οι βαθμοί των μαθητών των 2 τελευταίων τάξεων (Ε, Στ ) αποθηκεύονται σε 2 μονοδιάστατους πίνακες, δηλαδή οι βαθμοί της Ε τάξης στον πίνακα class1, οι βαθμοί της Στ τάξης στον πίνακα class2. Γνωρίζουμε ότι κάθε τάξη μπορεί να έχει μέχρι και 15 μαθητές. Χρησιμοποιώντας τις παραπάνω συναρτήσεις κάντε ένα πρόγραμμα που: 1. Θα διαβάζει το πλήθος των μαθητών της κάθε τάξης (Ε και Στ αντίστοιχα) θα γίνεται έλεγχος ώστε να μη δοθεί πλήθος μαθητών μεγαλύτερο του μέγιστου πλήθους μαθητών ανά τάξη (15 μαθητές). 2. θα διαβάζει τους βαθμούς κάθε τάξης και θα τους καταχωρεί στον αντίστοιχο πίνακα. Ο πίνακας θα έχει δημιουργηθεί δυναμικά σύμφωνα με το πλήθος των μαθητών κάθε τάξης. 3. θα υπολογίζει το μεγαλύτερο βαθμό κάθε τάξης 4. Θα εμφανίζει το μεγαλύτερο βαθμό κάθε τάξης 5. θα υπολογίζει το μεγαλύτερο βαθμό κάθε τάξης και τον μαθητή που τον πέτυχε. 6. Θα εμφανίζει το μεγαλύτερο βαθμό κάθε τάξης και τον μαθητή που τον πέτυχε. Η εμφάνιση θα γίνεται στη main χωρίς χρήση συνάρτησης. 11

Τέλος Ενότητας