Εργαςτιριο Πικανοτιτων Σθμειϊςεισ προγραμματιςμοφ: βαςικζσ γνϊςεισ ανάπτυξθσ εφαρμογϊν. Κϊςτασ Αρβανιτάκθσ

Σχετικά έγγραφα
ΠΡΟΓΡΑΜΜΑΣΙΜΌ ΤΠΟΛΟΓΙΣΏΝ. Κεφάλαιο 8 Η γλϊςςα Pascal

Δείκτεσ Διαχείριςθ Μνιμθσ. Βαγγζλθσ Οικονόμου Διάλεξθ 8

16. Πίνακεσ και Συναρτήςεισ

17. Πολυδιάςτατοι πίνακεσ

Δομθμζνοσ Προγραμματιςμόσ. Βαγγζλθσ Οικονόμου Εργαςτιριο 9

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

ΡΟΓΑΜΜΑΤΙΣΤΙΚΟ ΡΕΙΒΑΛΛΟΝ MICRO WORLDS PRO

Δομζσ Αφαιρετικότθτα ςτα Δεδομζνα

Ρρογραμματιςμόσ Μεκόδων Επίλυςθσ Ρροβλθμάτων. 18. Αλφαριθμητικά. Ιωάννθσ Κατάκθσ. ΕΡΛ 032: Ρρογραμματιςμόσ Μεκόδων Επίλυςθσ Ρροβλθμάτων

Παράςταςη ακεραίων ςτο ςυςτημα ςυμπλήρωμα ωσ προσ 2

3 ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ ( while, do while )

5 ΜΕΘΟΔΟΙ - ΠΑΡΑΜΕΤΡΟΙ

Παράςταςη ςυμπλήρωμα ωσ προσ 1

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. 19. Αλφαριθμητικά II. Ιωάννθσ Κατάκθσ. ΕΠΛ 032: Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων

343 Ειςαγωγι ςτον Προγραμματιςμό

ΥΡΟΝΣΙΣΗΡΙΟ Μ. Ε. ΚΑΙ ΚΕΝΣΡΟ ΙΔΙΑΙΣΕΡΩΝ ΜΑΘΗΜΑΣΩΝ «ΚΤΡΙΣΗ» ΔΙΑΓΩΝΙΜΑ ΘΕΜΑΣΑ Β ΛΤΚΕΙΟΤ ΥΕΒΡΟΤΑΡΙΟ 2018 ΑΕΠΠ

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. 20. Αρχεία. Ιωάννθσ Κατάκθσ. ΕΠΛ 032: Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων

ΕΡΓΑΣΗΡΙΑΚΗ ΑΚΗΗ 4.1

Εργαςτιριο Βάςεων Δεδομζνων

343 Ειςαγωγι ςτον Προγραμματιςμό

Εργαςτθριακζσ Αςκιςεισ Αρικμθτικισ Ανάλυςθσ

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

1 ΕΙΣΑΓΩΓΗ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΗ ΝΟΗΛΕΤΣΙΚΗ. Φιλιοποφλου Ειρινθ

ΟΝΟΜΑΣΟΛΟΓΙΑ ΠΑΡΑΜΕΣΡΩΝ ΓΙΑ ΠΡΟΑΡΜΟΜΕΝΕ ΑΝΑΦΟΡΕ. παραμζτρου> (Εμφανίηεται ςαν Caption ςτθν φόρμα των φίλτρων).

ΑΝΑΠΣΤΞΘ ΕΦΑΡΜΟΓΩΝ Ε ΠΡΟΓΡΑΜΜΑΣΙΣΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 3 ο ΓΕΝΙΚΟ ΛΤΚΕΙΟ Ν. ΜΤΡΝΘ- ΕΠΙΜΕΛΕΙΑ: ΠΤΡΙΔΑΚΘ Λ.

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Γνωριμία με το λογιςμικό του υπολογιςτι

Visual C Express - Οδηγός Χρήσης

ΘΥ101: Ειςαγωγι ςτθν Πλθροφορικι

Ειςαγωγι ςτθν Επιςτιμθ Υπολογιςτϊν. Ειςαγωγι ςτθν Python

Ένα πρόβλθμα γραμμικοφ προγραμματιςμοφ βρίςκεται ςτθν κανονικι μορφι όταν:

Ονοματεπϊνυμο.. ΔΙΑΓΩΝΙΣΜΑ ΑΕΠΠ

Στα προθγοφμενα δφο εργαςτιρια είδαμε τθ δομι απόφαςθσ (ι επιλογισ ι ελζγχου ροισ). Ασ κυμθκοφμε:

Ειςαγωγι ςτο Δομθμζνο Προγραμματιςμό. Βαγγζλθσ Οικονόμου

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. Διαφάνειεσ: Βαςικζσ Αρχζσ Προγραμματιςμοφ Α.Π.Θ. Δθμιτρθσ Βράκασ

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο του Άβακα

Ηλεκτρονικι Επιχειρθςιακι Δράςθ Εργαςτιριο 1

343 Ειςαγωγι ςτον Προγραμματιςμό

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. 15. Πίνακεσ ΙI. Ιωάννθσ Κατάκθσ. ΕΠΛ 032: Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων

Ιδιότθτεσ πεδίων Γενικζσ.

Βαγγζλθσ Οικονόμου Διάλεξθ 7. Συναρτιςεισ Μζροσ 2ο

Περιοριςμοί μιασ Β.Δ. ςτθν Access(1/3)

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 3 ο Εργαςτιριο υγχρονιςμόσ Διεργαςιϊν

Ενδεικτική Οργάνωςη Ενοτήτων. Α Σάξη. Διδ. 1 ΕΝΟΣΗΣΑ 1. 6 Ομαδοποίθςθ, Μοτίβα,

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

Modellus 4.01 Συ ντομοσ Οδηγο σ

ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ. Ειρινθ Φιλιοποφλου

343 Ειςαγωγι ςτον Προγραμματιςμό

Διαχείριςθ του φακζλου "public_html" ςτο ΠΣΔ

x n D 2 ENCODER m - σε n (m 2 n ) x 1 Παραδείγματα κωδικοποιθτϊν είναι ο κωδικοποιθτισ οκταδικοφ ςε δυαδικό και ο κωδικοποιθτισ BCD ςε δυαδικό.

ΕΝΟΤΗΤΑ 2: ΕΠΙΚΟΙΝΩΝΩ ΜΕ ΤΟΝ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Αρχεία - Φάκελοι

Μονάδες 6. Μονάδες ΓΑΨΕ Δεν υπάρχει ρίηα 2. ΑΝ Α>0 ΤΟΤΕ 3. ΤΕΛΟΣ_ΑΝ 4. ΑΛΛΙΩΣ 5. ίηα Τ_(Α)

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ. ΚΕΦΑΛΑΙΟ 2: Σο Τλικό του Τπολογιςτι

8 τριγωνομετρία. βαςικζσ ζννοιεσ. γ ςφω. εφω και γ. κεφάλαιο

ΜΑΘΗΜΑΤΙΚΑ Α Γυμνασίου

Διαχείριςη Αριθμοδεικτών (v.1.0.7)

Ποσοτικές Μέθοδοι Δρ. Χάϊδω Δριτσάκη

Ειδικά Θζματα Βάςεων Δεδομζνων

ΕΡΓΑΣΗΡΙΟ ΕΦΑΡΜΟΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο τησ Αριθμογραμμήσ

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο)

= = 124

ΥΡΟΝΣΙ ΣΗΡΙΟ Μ. Ε. ΚΑΙ ΚΕΝΣΡΟ ΙΔΙΑΙΣΕΡΩΝ ΜΑΘΗΜΑΣΩΝ «ΚΤΡΙΣ Η» ΔΙΑΓΩΝΙ ΜΑ ΑΕΠΠ

Θεςιακά ςυςτιματα αρίκμθςθσ

Πνομα Ομάδασ: Προγραμματιςμόσ ενόσ κινοφμενου ρομπότ

Πρόςβαςη και δήλωςη μαθημάτων ςτον Εφδοξο

ΛΕΙΤΟΥΓΙΚΆ ΣΥΣΤΉΜΑΤΑ. 5 ο Εργαςτιριο Ειςαγωγι ςτθ Γραμμι Εντολϊν

Ανάπτυξη Εφαρμογών με Σχεςιακέσ Βάςεισ Δεδομένων

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο)

ΔΟΜΗ ΑΠΛΗΣ ΕΠΙΛΟΓΗΣ Αςκήςεισ με ψευδογλώςςα/ διάγραμμα ροήσ. Αντώνης Μαϊργιώτης

ΟΔΗΓΙΕ ΔΗΜΙΟΤΡΓΙΑ ΚΑΙ ΡΤΘΜΙΗ ΔΩΡΕΑΝ ΗΛΕΚΣΡΟΝΙΚΟΤ ΣΑΧΤΔΡΟΜΕΙΟΤ ΣΟ GOOGLE (G-MAIL)

Λαμβάνοντασ υπόψη ότι κατά την πρόςθεςη δφο δυαδικϊν ψηφίων ιςχφει: Κρατοφμενο

Multi Logo. Προγραμματιςμόσ Η/Υ με Multi Logo. Σχεδίαςη και ανάπτυξη εφαρμογήσ κίνηςησ αντικειμζνου

Ραραμετροποίθςθ ειςαγωγισ δεδομζνων περιόδων

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

assessment.gr USER S MANUAL (users)

Διαδικαςία Διαχείριςθσ Στθλϊν Βιβλίου Εςόδων - Εξόδων. (v.1.0.7)

2 ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ. Η πιο απλι μορφι ςφγκριςθσ εντολισ ελζγχου ζχει τθ μορφι : if (<ζπλζήθε>) εληνιή; if(<ζπλζήθε>){ block εληνιώλ; }

ΟΔΗΓΙΕΣ ΔΗΜΙΟΥΡΓΙΑΣ ΚΑΙ ΡΥΘΜΙΣΗΣ ΔΩΡΕΑΝ ΗΛΕΚΤΡΟΝΙΚΟΥ ΤΑΧΥΔΡΟΜΕΙΟΥ ΣΤΟ YAHOO

Α) Ενδεικτικϋσ απαντόςεισ των θεμϊτων

Ειςαγωγή ςτο Matlab Μζροσ Β. Κυριακίδης Ιωάννης 2011

ΣΤΟΙΧΕΙΑ ΜΑΘΗΜΑΤΙΚΗΣ ΛΟΓΙΚΗΣ

1. Κατέβαςμα του VirtueMart

Αλγορικμικι & Ρρογραμματιςμόσ με Java

Τπολογιςτζσ Ι. Ε. Νιςταηάκθσ Αναπλ. Κακθγθτισ Σμιματοσ Φυςικισ

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

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 7 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Γ

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

φνδεςη με βάςη δεδομζνων

Σύ ντομος Οδηγο ς χρη σης wikidot για τα projects

Πόςο εκτατό μπορεί να είναι ζνα μη εκτατό νήμα και πόςο φυςικό. μπορεί να είναι ζνα μηχανικό ςτερεό. Συνιςταμζνη δφναμη versus «κατανεμημζνησ» δφναμησ

ΗΛΕΚΣΡΟΝΙΚΗ ΤΠΗΡΕΙΑ ΑΠΟΚΣΗΗ ΑΚΑΔΗΜΑΪΚΗ ΣΑΤΣΟΣΗΣΑ

Ειςαγωγή ςτισ Συναρτήςεισ τησ PHP

3 θ διάλεξθ Επανάλθψθ, Επιςκόπθςθ των βαςικϊν γνϊςεων τθσ Ψθφιακισ Σχεδίαςθσ

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Περιφέρειες)

ΘΕΜΑ Α / Αν μια μεταβλθτι ζχει τθν τιμι 47.0 τότε ο τφποσ τθσ μεταβλθτισ είναι ακζραιοσ.

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

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

ΠΡΟΦΟΡΑ ΖΗΣΗΗ ΚΡΑΣΘΚΗ ΠΑΡΕΜΒΑΗ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Transcript:

Εργαςτιριο Πικανοτιτων Σθμειϊςεισ προγραμματιςμοφ: βαςικζσ γνϊςεισ ανάπτυξθσ εφαρμογϊν Κϊςτασ Αρβανιτάκθσ

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons

Απαραίτθτεσ γνϊςεισ Διλωςθ-ειςαγωγι ζτοιμων βιβλιοκθκϊν Συνάρτθςθ main Διλωςθ μεταβλθτϊν Εκχϊρθςθ και πράξεισ με μεταβλθτζσ Εντολζσ ειςόδου εξόδου Δομι επιλογισ Δομι επανάλθψθσ Στατικοί πίνακεσ Χριςθ ςυναρτιςεων

Τι είναι οι βιβλιοκικεσ Οι βιβλιοκικεσ (header files) περιζχουν ζτοιμεσυλοποιθμζνεσ ςυναρτιςεισ για τον χριςτθ Ενδεικτικά #include <stdio.h> Απαραίτθτθ για ςυναρτιςεισ ειςόδου εξόδου (printf(),scanf(),fopen(), ) #include <stdlib.h> Περιζχει ζτοιμεσ ςυναρτιςεισ γενικοφ ςκοποφ όπωσ δζςμευςθ μνιμθσ, παραγωγι τυχαίων αρικμϊν(malloc(),calloc,rand(), )

Διλωςθ-ειςαγωγι ζτοιμων βιβλιοκθκϊν Οι βιβλιοκικεσ δθλϊνονται πάντα ςτθν αρχι του κϊδικα μασ πριν από τθν ςυνάρτθςθ main Παράδειγμα : #include <stdio.h> int main(){...

Συνάρτθςθ main Η ςυνάρτθςθ main αποτελεί τθν ραχοκοκαλιά ενόσ προγράμματοσ. Είναι το minimum που απαιτείται για τθ δθμιουργία ενόσ προγράμματοσ ςτθ C. Σφνταξθ: int main(int argc, char *argv[]){... return 0; Τα πεδία int argc, char *argv[] είναι προαιρετικά, χρθςιμεφουν μόνο ςτο να περαςτοφν δεδομζνα ςτθν main κατά εντολι εκτζλεςθσ του προγράμματοσ. Οπότε αντίςτοιχα και αυτό int main(), κα δουλζψει κανονικά

Διλωςθ τφπου μεταβλθτϊν Για να χρθςιμοποιιςουμε μια μεταβλθτι πρζπει να δθλϊςουμε τόςο το όνομα τθσ όςο και τον τφπο τθσ. Το όνομα μιασ μεταβλθτισ μπορεί να αποτελείται από χαρακτιρεσ του Λατινικοφ αλφαβιτου, αρικμοφσ κακϊσ και τον χαρακτιρα _. Ο πρϊτοσ χαρακτιρασ πρζπει πάντα να είναι του Λατινικοφ αλφάβθτου. Η διλωςθ γίνετε με τθν μορφι τφποσ_μεταβλθτισ(κενό)όνομα_μεταβλθτισ; π.χ. int x; Πάντα ςε ζνα πρόγραμμα ο τφποσ μιασ μεταβλθτισ πρζπει να είναι δθλωμζνοσ πριν από τθν πρϊτθ χριςθ τθσ μεταβλθτισ.

Τφποι μεταβλθτϊν int ακζραιοσ long int ακζραιοσ με δυνατότθτα αποκικευςθσ μεγαλφτερου εφρουσ float δεκαδικόσ double δεκαδικόσ μεγαλφτερθσ ακρίβειασ (περιςςότερα δεκαδικά ψθφία ) char χαρακτιρασ.

Εκχϊρθςθ και πράξεισ με μεταβλθτζσ Η εκχϊρθςθ ι ανάκεςθ μιασ τιμισ ςε μια μεταβλθτι γίνετε με τθν χριςθ του ςυμβόλου =. Πάντα αριςτερά από το = βάηουμε τθν μεταβλθτι ςτθν οποία κα εκχωρθκεί θ τιμι και δεξιά από το ίςον τθν τιμι αυτι. π.χ. : x=5; Με αυτό τον τρόπο μποροφμε να αρχικοποιιςουμε τθν τιμι μιασ μεταβλθτισ. Tip 1. αν κζλουμε να αρχικοποιιςουμε παραπάνω από μια μεταβλθτζσ με τθν ίδια τιμι μποροφμε να γράψουμε το εξισ: x=y=z=i=0; Tip 2. αν ςε μια μεταβλθτι τφπου char κζλουμε να ανακζςουμε ζναν χαρακτιρα τότε αυτόσ ο χαρακτιρασ πρζπει να βρίςκετε ανάμεςα ςε. Π.χ. character= c ; Το αποτζλεςμα μιασ πράξεισ μεταξφ αρικμϊν ι μεταβλθτϊν ι μεταβλθτϊν με αρικμοφσ μποροφμε να το εκχωριςουμε ςε μια μεταβλθτι με τον ίδιο τρόπο π.χ.: x=1+2; x=y+z; x=y+3*z;

Επιτρεπόμενεσ πράξεισ Επιτρεπόμενεσ πράξεισ είναι: Πράξη ςύμβολο Πρόςκεςθ + Αφαίρεςθ - Πολλαπλαςιαςμόσ * Ακζραια διαίρεςθ (div) / Ακζραιο υπόλοιπο διαίρεςθσ (mod) % Tip1 δεν υφίςταται θ πράξθ τθσ δφναμθσ ^ ο υπολογιςμόσ μιασ δφναμθσ γίνετε με τθν χριςθ τθσ ςυνάρτθςθσ pow() Tip2 για να πάρουμε δεκαδικό αποτζλεςμα από μια πράξθ διαίρεςθσ χρθςιμοποιοφμε τθν τεχνικι type casting π.χ. x=(float)a/b; Αντί για float μποροφμε να χρθςιμοποιιςουμε double για μεγαλφτερθ ακρίβεια.

Προτεραιότθτα πράξεων Στθν προτεραιότθτα των πράξεων ιςχφουν τα εξισ: 1 υπολογίηουμε το περιεχόμενο των παρενκζςεων 2 ακολουκοφν οι πολλαπλαςιαςμοί και οι διαιρζςεισ 3 τελευταίεσ εκτελοφνται οι προςκζςεισ και αφαιρζςεισ π.χ.: 3*(8+2)+6=36

Εντολζσ ειςόδου εξόδου Για τθν ειςαγωγι δεδομζνων από το πλθκτρολόγιο χρθςιμοποιοφμε κατά κφριο λόγο τθν ςυνάρτθςθ scanf() (υπάρχουν και άλλεσ όπωσ θ getc(), fscanf ) Για τθν εκτφπωςθ δεδομζνων ςτθν οκόνθ του υπολογιςτι χρθςιμοποιοφμε τθν ςυνάρτθςθ printf() (υπάρχουν και άλλεσ ςυναρτιςεισ π.χ. θ fprintf() για εκτφπωςθ δεδομζνων ςε αρχείο κειμζνου)

scanf() Με τθν Scanf μποροφμε να περάςουμε τιμζσ από το πλθκτρολόγιο ςε μια μεταβλθτι. Συντάςςετε ωσ εξισ: scanf( κωδικοχαρακτιρασ τφπου μεταβλθτισ, &όνομα_μεταβλθτισ); π.χ. : scanf( %d,&x); O κωδικοχαρακτιρασ προςδιορίηει τον τφπο τθσ μεταβλθτισ ςτθν οποία κα αποκθκευτεί θ τιμι. Κωδικοχαρακτήρασ %d int %f float Τύποσ μεταβλητήσ %lf double %c char Μπροςτά από το όνομα τθσ μεταβλθτισ βάηουμε το ςφμβολο & κακϊσ κζλουμε να δϊςουμε ςτθν ςυνάρτθςθ τθν κζςθ μνιμθσ τθσ μεταβλθτισ

printf() Με τθν printf() μποροφμε να εκτυπϊςουμε δεδομζνα ςτθν οκόνθ Συντάςςεται ωσ εξισ: printf( πεδίο κειμζνου με ι χωρίσ κωδικοχαρακτιρεσ, όνομα_μεταβλθτισ_1, όνομα_μεταβλθτισ_2) π.χ.: int x=5; float y=3.2; char z= g ; printf( X=%d Y=%f text \nz=%c,x,y,z); Αυτό κα εμφανίςει ςτθν οκόνθ : X=5 Y=3.2 Z=g Ο κωδικοχαρακτιρασ \n ςυνεχίηει το γράψιμο ςτθν επόμενθ ςειρά

Δομι επιλογισ Η δομι επιλογισ μασ επιτρζπει να επιλζξουμε αν κα κάνουμε κάτι ι αν κα κάνουμε κάτι άλλο

Δομι επιλογισ με if Σφνταξθ: if(λογικι ςυνκικθ){ κϊδικασ; Η λογικι ςυνκικθ μπορεί να είναι μια ςφγκριςθ μεταξφ δφο ι περιςςότερων μεταβλθτϊν Η ςφγκριςθ αυτι γίνεται με τουσ τελεςτζσ ςφγκριςθσ. Πράξη ςύγκριςησ Ιςότθτα == Διάφορο!= Μικρότερο < Μεγαλφτερο > Μικρότερο-ίςο <= Μεγαλφτερο-ίςο >= Τελεςτήσ

Παράδειγμα χριςθσ του if Εάν το x είναι μικρότερο του 5 if(x<5){ κϊδικασ; Εάν το x είναι διάφορο του 0 if(x!=0){ κϊδικασ; Επίςθσ μποροφμε να κάνουμε και λογικζσ πράξεισ (OR, AND && ) μεταξφ των λογικϊν ςυνκθκϊν Εάν το χ είναι μεγαλφτερο-ίςο του 3 και ταυτόχρονα το y είναι ίςο με 1 if((x>=3)&&(y==1)){ κϊδικασ;

if και else if και else Σε περίπτωςθ που κζλω να κάνω μια επιλογι τθσ μορφισ Εάν το χ είναι μεγαλφτερο του 5 κάνε τθν πράξθ_1 αλλιϊσ αν το χ είναι μικρότερο του 1 κάνε τθν πράξθ_2 αλλιϊσ ςε κάκε άλλθ περίπτωςθ κάνε τθν πράξθ_3 ςυντάςςεται ωσ εξισ: if(x>5){ πράξθ_1; else if(x<1){ πράξθ_2; else{ πράξθ_3; Μεγάλθ προςοχι, από όλουσ αυτοφσ τουσ βρόγχουσ του if κα εκτελεςτεί μόνο ζνασ (αν δεν υπιρχε το else τότε υπάρχει περίπτωςθ να μθν εκτελεςτεί κανζνασ). Μόλισ το πρόγραμμα βρει ζναν βρόγχο με ςυνκικθ που να είναι αλθκισ κα εκτελζςει το περιεχόμενο του και κα προςπεράςει όλουσ τουσ υπόλοιπουσ

Δομι επανάλθψθσ Υπάρχουν τρεισ δομζσ επανάλθψθσ : for(;;){ κϊδικασ; Τθν χρθςιμοποιοφμε όταν ξζρουμε ακριβϊσ τον αρικμό των επαναλιψεων που κζλουμε να εκτελζςουμε while(){ κϊδικασ; Τθν χρθςιμοποιοφμε όταν δεν ξζρουμε τον ακριβι αρικμό επαναλιψεων do{ κϊδικασ; while(); Τθν χρθςιμοποιοφμε όταν δεν ξζρουμε τον ακριβι αρικμό επαναλιψεων αλλά κζλουμε να εκτελεςτεί τουλάχιςτον μια φορά.

while() και do while() Μζςα ςτισ παρενκζςεισ δθλϊνουμε τθν λογικι ςυνκικθ βάςθ τθσ οποίασ όςο αυτι είναι αλθκισ τόςο ςυνεχίηει και θ επανάλθψθ του κϊδικα που περιζχεται ςτισ δομζσ αυτζσ. Οι λογικζσ ςυνκικεσ λειτουργοφν ακριβϊσ με τθν ίδια λογικι όπωσ παρουςιάςτθκαν νωρίτερα ςτθν δομι επιλογισ.

for(;;) Σφνταξθ: for(αρχικοποίθςθ του μετρθτι;λογικι ςυνκικθ;βιμα αφξθςθσ του μετρθτι) π.χ. αν κζλω να κάνω 100 επανάλθψθσ κα χρθςιμοποιιςω ωσ μετρθτι μια μεταβλθτι ακεραίου i αρχικοποιθμζνθ ςτο 0, κα αυξάνω τθν τιμι του I κατά 1 και αυτό κα ςυμβαίνει όςο το i παραμζνει μικρότερο του 100 for(i=0;i<100;i++){ κϊδικασ; Ιςοδφναμα μπορεί να γίνει και το εξισ αλλά ςυνιςτάται μόνο ςτισ περιπτϊςεισ που χρειάηεται πραγματικά να μετριςουμε ανάποδα (π.χ. να διαςχίςουμε ζναν πίνακα από το τζλοσ προσ τθν αρχι) for(i=100;i>0;i--){ κϊδικασ;

Διλωςθ ςτατικϊν πινάκων Σφνταξθ μονοδιάςτατου τφποσ_μεταβλθτισ όνομα_πίνακα [αρικμόσ_κελιϊν]; int array [5]; Σφνταξθ διςδιάςτατου τφποσ_μεταβλθτισ όνομα_πίνακα [αρικμόσ_ςτίλων+*αρικμόσ_γραμμϊν]; int float [3][5];

Διαχείριςθ ςτατικϊν πινάκων int array [5]; Ζχοντασ δθμιουργιςει ζναν πίνακα ακεραίων 5 κζςεων μεγάλθ προςοχι το πρϊτο κελί είναι το κελί array[0] και το πζμπτο κελί είναι το κελί array[4]; Αντίςτοιχα το ίδιο ιςχφει και ςτουσ διςδιάςτατουσ πίνακεσ. Η εκχϊρθςθ-ανάκεςθ-αρχικοποίθςθ τιμϊν ςτουσ πίνακεσ γίνεται ςυντακτικά ακριβϊσ με τον ίδιο τρόπο array[3]=0; array[1]=array[2]-array*3+;.

Διαχείριςθ ςτατικϊν πινάκων Ο ευκολότεροσ τρόποσ για να διαχειριςτοφμε ζναν πίνακα είναι με μια for(). Π.χ. αν κζλω να αρχικοποιιςω όλεσ τισ τιμζσ ενόσ πίνακα 5 κζςεων: for(i=0;i<5;i++){ array[i]=0; Αντίςτοιχα ςε ζναν πίνακα διαςτάςεων 5x5 for(i=0;i<5;i++){ for(j=0;j<5;j++){ array[i][j]=0;

Χριςθ ζτοιμων ςυναρτιςεων Για να μπορζςουμε να χρθςιμοποιιςουμε μια ζτοιμθ ςυνάρτθςθ το μόνο που χρειάηεται είναι να δθλϊςουμε ςτθν αρχι του προγράμματοσ τθν βιβλιοκικθ (header file) ςτθν οποία είναι υλοποιθμζνθ. Οι ςυναρτιςεισ δζχονται πεδία ειςόδου και μποροφν να επιςτρζψουν μια μόνο τιμι κάκε φορά. Σφνταξθ x=function_name(input); π.χ. x=pow(2,2); Η ςυνάρτθςθ pow() (math.h) δζχεται ωσ είςοδο ζναν αρικμό και τθν δφναμθ ςτθν οποία κζλουμε να τον υψϊςουμε και επιςτρζφει το αποτζλεςμα.

Ειδικζσ περιπτϊςεισ 1 Υπάρχουν ςυναρτιςεισ που μόνο επιςτρζφουν δεδομζνα χωρίσ να χρειάηονται κάποια είςοδο π.χ.: θ ςυνάρτθςθ rand() επιςτρζφει τυχαίουσ αρικμοφσ, χωρίσ να χρειάηεται κάποια είςοδο οπότε οι παρενκζςεισ παραμζνουν κενζσ. Τθν επιςτροφι αυτι πρζπει πάντα να τθν αποκθκεφουμε ςε κάποια μεταβλθτι ϊςτε να μπορζςουμε να τθν διαχειριςτοφμε x=rand();

Ειδικζσ περιπτϊςεισ 2 Συναρτιςεισ όπωσ θ printf() και θ scanf() δεν επιςτρζφουν κάτι οπότε δεν χρειάηονται κάποια εντολι εκχϊρθςθσ κατά τθν χριςθ τουσ. printf( Hello World );