Προγραμματισμός ΗΥ Ενότητα 11: Header Files. Διδάσκων: Ηλίας Κ Σάββας,

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Ποιότητα Λογισμικού Ενότητα 4: Παράδειγμα Ελέγχου. Διδάσκων: Γεώργιος Κακαρόντζας, Καθηγητής Εφαρμογών. Τμήμα Μηχανικών Πληροφορικής, Τεχνολογικής Εκπαίδευσης.
Advertisements

Διδακτική Πληροφορικής
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 4: Συμβολοσειρές και Δομές Ελέγχου. Διδάσκων: Νικόλαος Θ Λιόλιος,
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 9: Κληρονομικότητα. Διδάσκων: Νικόλαος Θ Λιόλιος, Καθηγητής. Τμήμα.
Δομές Δεδομένων και Αρχεία Ενότητα 7: Η δομή Στοίβα Ηλίας Κ. Σάββας, Αναπληρωτής Καθηγητής, Τμήμα Μηχανικών Πληροφορικής Τ.Ε., T.E.I. Θεσσαλίας.
Δομές Δεδομένων και Αρχεία Ενότητα 10: Κυκλικά και Διπλά Συνδεδεμένη Λίστα Ηλίας Κ. Σάββας, Αναπληρωτής Καθηγητής, Τμήμα Μηχανικών Πληροφορικής Τ.Ε., T.E.I.
Δομές Δεδομένων και Αρχεία
Διδακτική Πληροφορικής
Διδακτική Πληροφορικής Ενότητα 2: Η εξέλιξη των εργαλείων της Εκπαίδευσης. Διδάσκων: Γεώργιος Σούλτης, Επίκουρος Καθηγητής. Τμήμα Μηχανικών Πληροφορικής,
Δομές Δεδομένων και Αρχεία Ενότητα 1: Διαχείριση Αρχείων κειμένου. Ηλίας Κ. Σάββας, Αναπληρωτής Καθηγητής, Τμήμα Μηχανικών Πληροφορικής Τ.Ε., T.E.I. Θεσσαλίας.
Δομές Δεδομένων και Αρχεία Ενότητα 4: Ευρετηριασμένα Αρχεία Ηλίας Κ. Σάββας, Αναπληρωτής Καθηγητής, Τμήμα Μηχανικών Πληροφορικής Τ.Ε., T.E.I. Θεσσαλίας.
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 6: Πίνακες και Παράμετροι στην main. Διδάσκων: Νικόλαος Θ Λιόλιος,
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 2: Μεταβλητές και Τύποι Δεδομένων. Διδάσκων: Νικόλαος Θ Λιόλιος,
Προγραμματισμός ΗΥ Ενότητα 6: Δισδιάστατοι πίνακες.
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Προγραμματισμός ΗΥ Ενότητα 2: Συναρτήσεις Εισόδου ⁄ Εξόδου. Διδάσκων: Ηλίας Κ Σάββας, Αναπληρωτής Καθηγητής.
Δομές Δεδομένων και Αρχεία Ενότητα 8: Η δομή Ουρά Ηλίας Κ. Σάββας, Αναπληρωτής Καθηγητής, Τμήμα Μηχανικών Πληροφορικής Τ.Ε., T.E.I. Θεσσαλίας.
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 8: Κατασκευαστές. Διδάσκων: Νικόλαος Θ Λιόλιος, Καθηγητής. Τμήμα.
Αντικειμενοστραφής Προγραμματισμός Ι
Υδραυλικά & Πνευματικά ΣΑΕ
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 10: Αφηρημένες τάξεις. Διδάσκων: Νικόλαος Θ Λιόλιος, Καθηγητής.
Τεχνολογία Ξύλου 1 Ενότητα 13: Ποιότητα και Πιστοποίηση Ξυλείας Διδάσκων: Δρ. Μιχάλης Σκαρβέλης, Αναπληρωτής Καθηγητής. Τμήμα Σχεδιασμού και Τεχνολογίας.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Εκπαιδευτικά Προγράμματα με Χρήση Η/Υ ΙΙ Θέμα «παιγνίδια» (website address) Διδάσκουσα: Καθηγήτρια Τζένη.
Στοιχεία Μηχανών ΙΙ Ενότητα 3: Μετωπικοί τροχοί με κεκλιμένη οδόντωση – Κωνικοί οδοντωτοί τροχοί Δρ Α. Δ. Τσολάκης Τμήμα Μηχανολόγων Μηχανικών Τ.Ε. ΕΛΛΗΝΙΚΗ.
Αρχές Διοίκησης και Διαχείρισης Έργων Ενότητα 12: Οικονομική Διαχείριση Έργων – Ταμειακές Ροές. Διδάσκων: Φιτσιλής Παναγιώτης, Καθηγητής. Τμήμα Διοίκησης.
Τμήμα Τεχνολόγων Γεωπόνων Τίτλος Μαθήματος: ΚΑΛΛΩΠΙΣΤΙΚΑ ΔΕΝΤΡΑ ΚΑΙ ΘΑΜΝΟΙ Ενότητα 12: Οδηγίες δημιουργίας φυτολογίου Γρηγόριος Βάρρας Αν. Καθηγητής Άρτα,
Διοίκηση Ανθρωπίνων Πόρων Ενότητα 3: Προσέλκυση Ανθρώπινου Δυναμικού. Διδάσκων: Γεώργιος Ασπρίδης, Επίκουρος Καθηγητής. Τμήμα Διοίκησης Επιχειρήσεων.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Αντικειμενοστραφής Προγραμματισμός Ι
Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Χρονικός Προγραμματισμός Έργων (Εργαστήριο)
Τεχνολογία και Προγραμματισμός Υπολογιστών
Χρονικός Προγραμματισμός Έργων (Εργαστήριο)
Επιχειρησιακές Επικοινωνίες
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Ενότητα 9: Δείκτες και Δυναμική Διαχείριση Μνήμης.
Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
ΜΗΧΑΝΙΚΗ ΤΩΝ ΥΛΙΚΩΝ ΦΡΟΝΤΙΣΤΗΡΙΟ ΛΕΠΤΟΤΟΙΧΑ
Διαχείριση Κινδύνου Ενότητα 7: Παρακολούθηση Κινδύνων.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΡΟΥΣΙΑΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΠΙΘΑΝΟΤΗΤΕΣ(3)
Χρονικός Προγραμματισμός Έργων (Εργαστήριο)
ΜΗΧΑΝΙΚΗ ΤΩΝ ΥΛΙΚΩΝ ΦΡΟΝΤΙΣΤΗΡΙΟ: ΔΙΚΤΥΩΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Προγραμματισμός κινητών συσκευών
Ηλεκτρικές Μηχανές ΙΙ Ενότητα 5: Κανονικοποιημένες Καμπύλες
Προγραμματισμός κινητών συσκευών
Αντικειμενοστραφής Προγραμματισμός ΙΙ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Επιχειρησιακές Επικοινωνίες
ΠΑΡΟΥΣΙΑΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΠΙΘΑΝΟΤΗΤΕΣ(4)
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΡΟΥΣΙΑΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΠΙΘΑΝΟΤΗΤΕΣ(5)
ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Προγραμματισμός κινητών συσκευών
Προγραμματισμός ΗΥ Ενότητα 12: Αρχεία Δομών. Διδάσκων: Ηλίας Κ Σάββας,
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Μεταγράφημα παρουσίασης:

Προγραμματισμός ΗΥ Ενότητα 11: Header Files. Διδάσκων: Ηλίας Κ Σάββας, Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Προγραμματισμός ΗΥ Ενότητα 11: Header Files. Διδάσκων: Ηλίας Κ Σάββας, Αναπληρωτής Καθηγητής. Τμήμα Μηχανικών Πληροφορικής, Τεχνολογικής Εκπαίδευσης.

Άδειες χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται στην παρακάτω άδεια χρήσης Creative Commons (C C): Αναφορά δημιουργού (B Y), Μη εμπορική χρήση (N C), Μη τροποποίηση (N D), 3.0, Μη εισαγόμενο. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς.

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

Σκοποί ενότητας Ο αναγνώστης να μπορεί να: 1) αντιλαμβάνεται την χρήση βιβλιοθηκών. 2) δημιουργεί βιβλιοθήκες (Header Files), με γνώμονα τις ανάγκες του. Header Files

Περιεχόμενα ενότητας 1) Header Files 2) Γεωμετρικές συναρτήσεις 3) Ασκήσεις Header Files

Η standard library 1) <float.h>  διαχείριση floats, 2) <math.h>  μαθηματικά, 3) <stdio.h>  input ⁄ output, 4) <stdlib.h>  γενικές συναρτήσεις, 5) <string.h>  διαχείριση συμβολοσειρών, 6) <time.h>  συναρτήσεις χρόνου. Header Files

Πρότυπο δομής - Structure Το πρότυπο μίας δομής μπορεί να χρησιμοποιηθεί σε πολλά προγράμματα, παρά να το γράφουμε κάθε φορά που το χρειαζόμαστε. Μπορούμε να γράψουμε το πρότυπο μίας δομής, και να το αποθηκεύσουμε με όνομα όπως, <any_name.h>. Μετά, απλά το συμπεριλαμβάνουμε σε κάθε πρόγραμμα που το χρειαζόμαστε: #include “any_name.h” ή #include “path\any_name.h”: #include “c:\data\date.h”. ΠΡΟΣΟΧΉ: “…” (εισαγωγικά), και όχι <…> (σύμβολα μικρότερου και μεγαλύτερου). Header Files

Πρότυπα συναρτήσεων Ένα σύνολο συναρτήσεων μπορεί να χρησιμοποιηθεί σε πολλά προγράμματα, παρά να τις γράφουμε κάθε φορά που τις χρειαζόμαστε. Μπορούμε να γράψουμε ένα σύνολο συναρτήσεων, και να τις αποθηκεύσουμε με όνομα όπως, <any_name.h>. Μετά, απλά τις συμπεριλαμβάνουμε σε κάθε πρόγραμμα που τις χρειαζόμαστε: #include “any_name.h” ή #include “path\any_name.h”: #include “c:\data\date.h”. ΠΡΟΣΟΧΉ: “…” (εισαγωγικά), και όχι <…> (σύμβολα μικρότερου και μεγαλύτερου). Header Files

Γεωμετρικές συναρτήσεις #include <math.h> #define Pi 3.14159 float circle_area(float); float circle_perimeter(float); float rectangle_area(float, float); float rectangle_perimeter(float, float); float circle_area(float R) { float a; a = Pi * R * R; return a; } float circle_perimeter(float R) { float p; p = 2 * Pi * R; return p; float rectangle_area(float l, float w) { float a; a = l * w; return a; } float rectangle_perimeter(float I, float w) { float p; p = 2 * (l + w); return p; Header Files

Χρήση header files του χρήστη #include <stdio.h> #include "Geometry.h" int main() { float Radius = 10.0; float area, perimeter; area = circle_area(Radius); perimeter = circle_perimeter(Radius); printf("\n\n Εμβαδόν = %.2f", area); printf("\n\n Περίμετρος = %.2f \n\n", perimeter); return 0; } Header Files

Άσκηση 1: Header file Να γραφεί ένα header file <stats.h>, το οποίο να περιέχει συναρτήσεις για τον υπολογισμό, 1) μέγιστου, 2) ελάχιστου, 3) μέσης τιμής, τριών πραγματικών αριθμών. Στην συνέχεια, να γραφεί πρόγραμμα, το οποίο να χρησιμοποιεί αυτό το header file. Header Files

Header file 1 float max_num(float, float, float); float min_num(float, float, float); float average(float, float, float); float max_num(float a, float b, float c) { float temp; temp = a; if (b > temp) temp = b; if (c > temp) temp = c; return temp; } float min_num(float a, float b, float c) { float temp; temp = a; if (b < temp) temp = b; if (c < temp) temp = c; return temp; } float average(float a, float b, float c) temp = (a + b + c) / 3; Header Files

Πρόγραμμα 1 #include <stdio.h> #include "stats.h" int main() { float x = 20, y = 3, z = 1.5; float av; av = average(x, y, z); printf("\n\n Μέγιστη τιμή = %.2f", max_num(x, y, z)); printf("\n\n Ελάχιστη τιμή = %.2f", min_num(x, y, z)); printf("\n\n Average = %.2f \n\n", av); return 0; } Header Files

Άσκηση 2: Header file Να γραφεί ένα header file <dates.h>, το οποίο να περιέχει μία δομή ημερομηνίας, και συναρτήσεις οι οποίες, 1) να εισάγουν μία ημερομηνία και, 2) να εκτυπώνουν μία ημερομηνία. Στην συνέχεια, να γραφεί πρόγραμμα, το οποίο να χρησιμοποιεί αυτό το header file. Header Files

Header file 2 struct date { int day; int month; int year; }; struct date input_date(int, int, int); void display_date(struct date); struct date input_date(int a, int b, int c) { struct date D; D.day = a; D.month = b; D.year = c; return D; } void display_date(struct date D) printf("\n %2d - %2d - %4d \n", D.day, D.month, D.year); Header Files

Πρόγραμμα 2 #include <stdio.h> #include "dates.h" int main() { int a, b, c; struct date X; printf("\n\n Εισαγωγή ημέρας, μήνα και έτους: "); scanf("%d %d %d", &a, &b, &c); X = input_date(a, b, c); display_date(X); return 0; } Header Files

Τέλος ενδέκατης ενότητας