ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2

Σχετικά έγγραφα
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #3

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #1

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #5

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής

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

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Προγραμματισμός

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Στόχοι και αντικείμενο ενότητας. Βασικές κατασκευές ΓΠ. Έλεγχος ροής προγράμματος. #4.. Εντολές Επιλογής

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Εντολές επιλογής Επαναλήψεις (if, switch, while)

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Προγραμματισμός Η/Y. Διάλεξη 6 η : Συναρτήσεις

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο

Προγραμματισμός ΙI (Θ)

Προγραμματισμός Ι (ΗΥ120)

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Προγραμματισμός

Προγραμματισμός ΗΥ και Υπολογιστική Φυσική. Χρήστος Γκουμόπουλος

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Επικοινωνία:

ΗΥ-150. Προγραμματισμός

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

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

ΗΥ-150. Προγραμματισμός

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8)

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης

Προγραμματισμός Η/Υ (ΤΛ2007 )

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Συναρτήσεις και διαδικασίες

Υπολογισμός - Εντολές Επανάληψης

8. Συνθήκες ελέγχου, λογικοί τελεστές

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΕΞΕΤΑΣΗ IOYNIOY 2018 ΘΕΜΑΤΑ Α ΟΝΟΜΑΤΕΠΩΝΥΜΟ:... ΑΕΜ: ΕΞΑΜΗΝΟ:

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Κεφάλαιο 10 ο Υποπρογράµµατα

Ανάπτυξη και Σχεδίαση Λογισμικού

ΛΟΓΙΚΑ ΔΙΑΓΡΑΜΜΑΤΑ. Γ Λυκείου Κατεύθυνσης Mike Trimos

scanf() scanf() stdin scanf() printf() int float double %lf float

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. Α2. Να αναφέρετε ονομαστικά: i) τα αλγοριθμικά κριτήρια ii) τους τρόπους αναπαράστασης αλγορίθμου. (μονάδες 10)

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

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

ττιαογή και επανάληψη

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

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

Πληροφορική 2. Αλγόριθμοι

Κεφάλαιο : Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) Εντολές Επανάληψης που θα καλυφθούν σήμερα

Προγραμματισμός I (Θ)

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

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

Δομές Ανακυκλώσεων. Εντολές ελέγχου - 1

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος

Ανάπτυξη και Σχεδίαση Λογισμικού

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

ΠαράδειγµαΠρογραµµατισµού

Μεθόδων Επίλυσης Προβλημάτων

Προγραμματισμό για ΗΜΥ

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

Ρητή μετατροπή αριθμητικής τιμής σε άλλο τύπο. Τι θα τυπωθεί στον παρακάτω κώδικα;

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

Όνομα(τα): Όνομα(τα): Όνομα Η/Υ: Τμήμα: Ημερομηνία: Δομή Επιλογής

Η γλώσσα προγραμματισμού C

Εισαγωγή στην γλώσσα προγραμματισμού C

Κεφάλαιο 10ο. ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ιαδικασίες - Συναρτήσεις

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

Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό. 3η Διάλεξη Είσοδος Δεδομένων Συνθήκες Βρόχοι Παραδείγματα

Η γλώσσα προγραμματισμού C

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

Δομημένος Προγραμματισμός (ΤΛ1006)

Κεφάλαιο : Επαναλήψεις (for, do-while)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β. Καβακλή. Χειμερινό Εξάμηνο 2001

Λογικός τύπος Τελεστές σύγκρισης Λογικοί τελεστές Εντολές επιλογής Εμβέλεια Μαθηματικές συναρτήσεις Μιγαδικός τύπος ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος lantzos@teiser.gr

Κεφάλαιο 3.1, : Συναρτήσεις I. (Διάλεξη 11)

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

Βασικές Αρχές Προγραμματισμού

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

Ψευδοκώδικας. November 7, 2011

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

9. Εντολές επανάληψηςκαι η εντολή

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Η γλώσσα προγραμματισμού C

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον. τελική επανάληψη /4/2015 1

Προγραµµατισµός Η/Υ. Μέρος2

Προγραμματισμός Η/Υ. Ενότητα 5: Εντολές Επανάληψης

ΕΠΛ 034: Εισαγωγήστον ΠρογραµµατισµόγιαΗΜΥ

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

Transcript:

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2

«Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #2 2 Γενικά Στο Εργαστήριο αυτό θα αναλύσουμε τη χρήση της βασικής εντολής ελέγχου ροής <if (Συνθήκη) Πρόταση_1 Πρόταση_2> 1, καθώς και τη σύνταξη και κλήση συναρτήσεων (functions) που ορίζονται από το χρήστη Πιο συγκεκριμένα, και μέσω δύο παραδειγμάτων που παρατίθενται στη συνέχεια, αναλύεται η χρήση της εντολής if, με τρόπο που να προσεγγίζει την ανθρώπινη σκέψη σε περιπτώσεις λήψης αποφάσεων με δύο ή παραπάνω επιλογές, καθώς και η χρήση συναρτήσεων για επίλυση προβλημάτων (πχ, για υπολογισμό μαθηματικών σχέσεων, φυσικών μεγεθών, κλπ) Η Εντολή Ελέγχου Ροής (if ) Στη γενική της μορφή, μια τέτοια πρόταση (εντολή), περιέχει έναν αριθμό υπο-προτάσεων, από τις οποίες μόνο μία επιλέγεται για εκτέλεση Οι υπο-προτάσεις αυτές συνήθως αφορούν εναλλακτικές ενέργειες Παράδειγμα (ψευδοκώδικας): if (ο βαθμός του φοιτητή είναι μεγαλύτερος ή ίσος με 5) τύπωσε προάγεται τύπωσε απορρίπτεται Εάν η συνθήκη (ο βαθμός του φοιτητή είναι μεγαλύτερος ή ίσος με 5) είναι αληθής (true), τότε εκτελείται η εντολή που τυπώνει το μήνυμα προάγεται και το πρόγραμμα συνεχίζει από την επόμενη εντολή (αγνοώντας το και ότι περιέχεται σε αυτό) Εάν η παραπάνω συνθήκη είναι ψευδής (false), τότε αγνοείται η εντολή που τυπώνει το μήνυμα προάγεται κι εκτελείται η εντολή που τυπώνει το μήνυμα απορρίπτεται (αυτή δηλαδή που περιέχεται στο ) Παράδειγμα (σε C, παρατηρήστε ομοιότητες με τον ψευδοκώδικα) if ( vathmos >= 5 ) printf( "Προάγεται\n" ); printf( Απορρίπτεται\n ); 1 Οι εντολές ελέγχου ροής, ονομάζονται αλλιώς και «προτάσεις διακλάδωσης υπό συνθήκη», διότι η ροή του προγράμματος διακλαδώνεται ανάλογα με το αν η πρόταση είναι αληθής ή όχι

«Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #2 3 Στο Διάγραμμα Ροής που ακολουθεί, o ρόμβος δηλώνει ότι στο σημείο αυτό πρέπει να ληφθεί μια απόφαση Προσέξτε ότι ένας τέτοιος ρόμβος (σύμβολο απόφασης): Περιέχει μια συνθήκη που μπορεί να είναι αληθής ή ψευδής Ελέγχει την ορθότητα της συνθήκης αυτής κι επιλέγει την ανάλογη «διαδρομή» στη ροή του προγράμματος Το Διάγραμμα Ροής για το παράδειγμα της προηγούμενης σελίδας έχει ως εξής: ψευδής vathmos >= 5 αληθής Τύπωσε Απορρίπτεται τύπωσε Προάγεται Ορισμός και κλήση συναρτήσεων Η χρήση συναρτήσεων (functions) μας παρέχει έναν καλό τρόπο κατάτμησης (τμηματοποίησης) σύνθετων διεργασιών προγραμματισμού σε επιμέρους απλούστερες (και μικρότερες όσον αφορά το μέγεθος του αντίστοιχου κώδικα) διεργασίες Τα προγράμματά σας είναι προτιμότερο να περιέχουν πολλές και μικρές συναρτήσεις, παρά λίγες και μεγάλες, κυρίως για λόγους εύκολης ανάγνωσης και αποφυγής άσκοπων επαναλήψεων του κώδικα Έχουμε ήδη δει, ότι η χρήση κάποιων «έτοιμων» συναρτήσεων (πχ της printf από τη βασική βιβλιοθήκη εισόδου/εξόδου stdioh) μας επιτρέπει ουσιαστικά να χρησιμοποιούμε κώδικα που άλλοι έχουν ετοιμάσει για μας Στο εργαστήριο αυτό θα μάθουμε πώς να ορίζουμε, δηλώνουμε και καλούμε τις «δικές μας» συναρτήσεις Η κατάστρωση («χτίσιμο») μιας συνάρτησης περιλαμβάνει δύο στάδια: 1 Τη δήλωση της συνάρτησης (βλ θεωρία), τον καθορισμό δηλαδή του ονόματος της συνάρτησης και των παραμέτρων κλήσης της στην αρχή του προγράμματος (πριν το main) Ο ορισμός συνάρτησης έχει τη μορφή: <Τύπος Συν> <Όνομα Συν> (<τύπος_1> <όνομαπαραμέτρου_1>,, <τύπος_ν> <όνομαπαραμέτρου_ν);

«Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #2 4 2 Τον ορισμό της συνάρτησης (βλ θεωρία), την ανάπτυξη δηλαδή του σώματος εντολών της συνάρτησης μετά το τέλος του main Ένα τυπικό παράδειγμα προγράμματος που περιέχει μια συνάρτηση έχει την παρακάτω μορφή: #include <stdioh> int abs(int x); /* Δήλωση συνάρτησης */ main() int a, apol; Κύριο Πρόγραμμα apol= abs(a); /* Κλήση Συνάρτησης */ int abs(int x) /* Σώμα Εντολών Συνάρτησης */ return(παράσταση ή μεταβλητή); /*Επιστροφή τιμής στο κύριο πρόγραμμα */ Προσοχή: Πολύ σημαντικό στοιχείο στην κατανόηση των συναρτήσεων αποτελεί και η εντολή επιστροφής της τιμής της στο κύριο πρόγραμμα (πιο συγκεκριμένα, μια συνάρτηση επιστρέφει κάποια τιμή στο σημείο από το οποίο κλήθηκε) Η επιστροφή μιας τιμής γίνεται με την εντολή return(μεταβλητή ή παράσταση) Η επιστρεφόμενη μεταβλητή ή τιμή της παράστασης μετατρέπεται αυτόματα στον τύπο της συνάρτησης πριν επιστραφεί στο κύριο πρόγραμμα

«Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #2 5 Πρόβλημα 1 Να γραφεί ένα πρόγραμμα που να υπολογίζει τον μέγιστο μεταξύ δύο ακεραίων αριθμών x και y που εισάγονται από το χρήστη Σε περίπτωση που οι αριθμοί είναι ίσοι, θα πρέπει να τυπώνεται κατάλληλο μήνυμα στην οθόνη Ανάλυση του προβλήματος Στο συγκεκριμένο πρόβλημα καλούμαστε να επιλέξουμε τον μέγιστο μεταξύ δύο αριθμών Στον προγραμματισμό, οποιαδήποτε στιγμή κληθούμε να επιλέξουμε μεταξύ δύο ή περισσότερων εναλλακτικών περιπτώσεων, χρησιμοποιούμε τις εντολές ελέγχου ροής (διακλάδωσης) Στη συγκεκριμένη περίπτωση, το πρόγραμμα πρέπει να συγκρίνει τους δύο αριθμούς και να επιλέξει τον μεγαλύτερο από τους δύο (επιλογή μεταξύ δύο εναλλακτικών) Ακόμα, πρέπει να ελέγξουμε αν οι δύο αριθμοί είναι ίσοι (τρίτη επιλογή) Σκεπτόμενοι λοιπόν αλγοριθμικά, δουλεύουμε ως εξής: Σχεδιάζουμε τον πίνακα Σταθερών και Μεταβλητών, σύμφωνα με τα δεδομένα του προβλήματος Πίνακας Μεταβλητών & Σταθερών Ονομασία Μεταβλητή / Σταθερά Τύπος Τιμή x Μεταβλητή int Δίνεται από το χρήστη y Μεταβλητή int Δίνεται από το χρήστη Επιλέγουμε τους τελεστές που θα χρησιμοποιήσουμε για τη συνθήκη ελέγχου των δύο αριθμών Γράφουμε την εντολή (ή το σύνολο εντολών) που θα εκτελεστεί/στούν σε κάθε περίπτωση (για κάθε μία από τις εναλλακτικές που εξετάζουμε) Τυπώνουμε το αποτέλεσμα (κατάλληλο μήνυμα) στην οθόνη Προσοχή: Κάθε φορά που χρησιμοποιούμε εντολές ελέγχου (διακλάδωσης), είναι σημαντικό να λαμβάνουμε υπ όψιν μας όλες τις πιθανές τιμές που μπορεί να πάρει μια μεταβλητή, έτσι ώστε να μπορούμε να αντιμετωπίσουμε τυχόν λάθη ή ειδικές/ακραίες περιπτώσεις στις εισαγόμενες από το χρήστη τιμές Για παράδειγμα, στο συγκεκριμένο πρόβλημα, μια τέτοια περίπτωση θα μπορούσε να ήταν η εισαγωγή του ίδιου αριθμού Εάν δεν είχε προβλεφθεί στο πρόγραμμα που ακολουθεί μια τρίτη επιλογή (μετά τις δύο πρώτες και προφανείς συγκρίσεις), το πρόγραμμά μας θα έδινε λανθασμένα αποτελέσματα Ο τρόπος αυτός του προγραμματισμού ονομάζεται «αμυντικός προγραμματισμός» και χρησιμοποιείται για την αποφυγή σφαλμάτων που προκύπτουν από την εισαγωγή δεδομένων

«Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #2 6 Προτεινόμενη Λύση /* Προγραμματιστής : Όνομα Επώνυμο, Αριθμός Μητρώου Ημερομηνία συγγραφής : 27/3/2002 Λειτουργία Προγράμματος : Υπολογίζει το μέγιστο μεταξύ δύο αριθμών */ #include <stdioh> /* Βιβλιοθήκη βασικών συναρτήσεων Εισόδου/Εξόδου */ main() int x,y; /* Δήλωση Μεταβλητών */ printf("πληκτρολογήστε τους δύο αριθμούς x και y: "); scanf("%d%d", &x,&y); if (x>y) printf("\n Ο μεγαλύτερος αριθμός είναι ο %d",x); if (x<y) printf("\n Ο μεγαλύτερος αριθμός είναι ο %d",y); printf("\n Οι αριθμοί που πληκτρολογήσατε είναι ίσοι!");

«Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #2 7 Πρόβλημα 2 Να γραφεί πρόγραμμα που να υπολογίζει την απόλυτη τιμή ενός ακεραίου a, με τη χρήση της συνάρτησης int abs(int x) Η συνάρτηση θα πρέπει να δέχεται σαν όρισμα τον αριθμό που θα πληκτρολογεί ο χρήστης και να επιστρέφει την απόλυτη τιμή του αριθμού αυτού Η απόλυτη τιμή ενός αριθμού δίνεται από τη σχέση: α = α, α 0 -α, α<0 Ανάλυση του προβλήματος Το συγκεκριμένο πρόγραμμα μας εισάγει στη χρήση συναρτήσεων Οι συναρτήσεις είναι ένα χρήσιμο εργαλείο που βοηθά στη λεγόμενη αφαιρετικότητα των προγραμμάτων Σε πολλές περιπτώσεις, χρησιμοποιούμε συναρτήσεις όταν ένα block εντολών χρειάζεται να επαναληφθεί παραπάνω από μία φορά στο συνολικό κώδικα ενός προγράμματος Έτσι, για παράδειγμα, εάν η τιμή της Μηχανικής ενέργειας που υπολογίσαμε στο Τετράδιο #1, χρειαζόταν να υπολογισθεί και σε κάποιο άλλο σημείο του προγράμματός μας, θα μπορούσαμε να ορίσουμε μια συνάρτηση που να δέχεται ως ορίσματα τους γνωστούς όρους (μεταβλητές & σταθερές) και να επιστρέφει κάθε φορά την τιμή της Μηχανικής Ενέργειας Τη συνάρτηση αυτή θα την καλούσαμε σε οποιοδήποτε σημείο του προγράμματος χρειαζόταν ανάλογος υπολογισμός Εφαρμόζοντας τα όσα έχουμε μάθει, δουλεύουμε ως εξής: 1 Δηλώνουμε το όνομα της συνάρτησης που θα υπολογίζει την απόλυτη τιμή ενός αριθμού, όπως ακριβώς ορίζεται στο πρόβλημα 2 Δηλώνουμε τις μεταβλητές που θα χρησιμοποιήσουμε 3 Συνεχίζουμε με τον ορισμό της συνάρτησης, την ανάπτυξη δηλαδή του σώματος εντολών της (καθορίζουμε και τις τιμές που η συνάρτηση θα επιστρέφει στο κύριο πρόγραμμα) 4 Εισάγουμε τον αριθμό του οποίου την απόλυτη τιμή θέλουμε να υπολογίσουμε 5 Καλούμε τη συνάρτηση που υπολογίζει την απόλυτη τιμή ενός αριθμού 6 Τυπώνουμε στην οθόνη το αποτέλεσμα με ένα κατάλληλο μήνυμα Με τον τρόπο αυτό έχουμε δημιουργήσει μια συνάρτηση, την οποία θα μπορούμε να χρησιμοποιούμε (καλούμε) όσες φορές θέλουμε μέσα στο σώμα του main προγράμματος Είναι προφανές πως μπορούμε να ορίσουμε όσες συναρτήσεις επιθυμούμε και να τις καλέσουμε όσες φορές θέλουμε στα πλαίσια ενός προγράμματος, κάνοντας έτσι το πρόγραμμά μας πιο κατανοητό, μικρότερο σε όγκο και εύκολο στην αποσφαλμάτωση

«Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #2 8 Προτεινόμενη Λύση /* Προγραμματιστής : Όνομα Επώνυμο, Αριθμός Μητρώου Ημερομηνία συγγραφής : 27/3/2002 Λειτουργία Προγράμματος : Υπολογίζει το απόλυτο ενός ακεραίου */ #include <stdioh> /* Βιβλιοθήκη βασικών συναρτήσεων Εισόδου/Εξόδου */ int abs(int x); /* Δήλωση Συνάρτησης */ int a,apol; /* Δήλωση Μεταβλητών του κυρίου προγράμματος*/ main() printf("πληκτρολογήστε το αριθμό : "); scanf("%d", &a); apol= abs(a); /* Κλήση Συνάρτησης */ printf("το απόλυτο του %d είναι : %d ",a,apol); int abs(int x) /* Το σώμα εντολών της συνάρτησης */ if (x>=0) return(x); return(-x); Σημείωση: Προσπαθήστε να πειραματιστείτε με τον τρόπο κλήσης και τα ορίσματα των συναρτήσεων Δοκιμάστε, για παράδειγμα, να καλέσετε τη συνάρτηση abs(a) απ ευθείας μέσα από την εντολή printf, χωρίς δηλαδή να εκχωρείτε την τιμή που αυτή επιστρέφει στη μεταβλητή apol