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

Σχετικά έγγραφα
Προγραμματισμός I (Θ)

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

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

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

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

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

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

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

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

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

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

#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128]

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

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

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

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

Εισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ

Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8

Ενότητα 4: «Εισαγωγή στον Προγραμματισμό. Τα πρώτα προγράμματα σε γλώσσα C»

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

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

Ενδεικτικές λύσεις και στατιστικά

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

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

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

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

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

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

που θα δώσει αποτέλεσµα 48, λόγω της αριστερής προσεταιριστικότητας των τελεστών / και *, ενώ η επιθυµητή αντικατάσταση θα ήταν η

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

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

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

Προγραμματισμός Υπολογιστών με C++

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

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

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

Προγραµµατισµός Ι Εργαστήριο 13ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 13 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

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

Α Β Γ static; printf("%c\n", putchar( A +1)+2); B DB BD. int i = 0; while (++i); printf("*");

Επεξεργασία Αρχείων Κειµένου

Βιβλιοθήκες Αφηρημένοι τύποι δεδομένων. Προγραμματισμός II 1

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

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

Λύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος

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

Υπολογισμός - Συλλογή Δεδομένων - Πίνακες

int a[5]; a[0] a[1] a[2] a[3] a[4] 15/10/2009

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

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Προγραµµατισµός Ι Εργαστήριο 13ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 13 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

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

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

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

Πίνακες: μια σύντομη εισαγωγή. Πίνακες χαρακτήρων: τα "Αλφαριθμητικά"

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Ενδεικτικές Απαντήσεις Εξετάσεων Β' Περιόδου Θέµα 1. (α')

ΕΡΓΑΣΤΗΡΙΟ 2 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Εργαστήριο 2. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

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

Εργαστήριο 2: Πίνακες

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

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

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

Γλώσσα Προγραμματισμού C

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

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

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

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

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

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

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

Απλά Προγράμματα. Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων

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

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

Γλώσσα Προγραμματισμού C

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

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Βήματα: μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων. Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα

Κατανεμημένα και Παράλληλα Συστήματα (εργαστήριο) Παραδείγματα με openmp

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 2)

Διάλεξη 15η: Αναδρομή, μέρος 1ο

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

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

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

είκτες και Πίνακες (2)

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

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

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

Δυναμική δέσμευση και αποδέσμευση μνήμης. Προγραμματισμός II 1

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

Πίνακες. Χρησιμοποιούνται για αποθήκευση συνόλου δεδομένων του ίδιου τύπου. Γραμμική Διάταξη Δήλωση Τύπος Δεδομένων ΌνομαΠίνακα[ length ]

ΔΙΑΡΚΕΙΑ ΕΞΕΤΑΣΗΣ: 2 ΩΡΕΣ

Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8

Ενώσεις δεδομένων Απαριθμητές Ψηφιακοί τελεστές Αναδρομικές συναρτήσεις

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

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

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

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

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

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 2 η

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

Transcript:

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (E) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2015 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 1 / 13

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙI (Ε) 1 Λύση Άσκησης 2 Διάφοροι τύποι Συναρτήσεων 3 Άσκηση Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 2 / 13

Συναρτήσεις - Άσκηση Άσκηση Να αναπτύξετε πρόγραμμα το οποίο 1 θα δέχεται τρεις ακέραιους αριθμούς 2 θα χρησιμοποιεί μια συνάρτηση η οποία θα βρίσκει τον μεγαλύτερο από τους τρεις αριθμούς 3 και μια συνάρτηση η οποία θα βρίσκει τον μικρότερο από τους τρεις αριθμούς 4 και θα εμφανίζει (στην main) τον μεγαλύτερο και τον μικρότερο αριθμό. Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 3 / 13

Προτεινόμενη λύση της άσκησης #include <stdio.h> #include <stdlib.h> int max(int a, int b, int c); int min(int a, int b, int c); int main(int argc, char *argv[]) int a1,a2,a3,mik,meg; printf("give a1: "); scanf("%d",&a1); printf("give a2: "); scanf("%d",&a2); printf("give a3: "); scanf("%d",&a3); meg=max(a1,a2,a3); mik=min(a1,a2,a3); printf("max= %d \n",meg); printf("min= %d \n",mik); system("pause"); return 0; int max(int a, int b, int c) int meg; meg=a; if(b>meg) meg=b; if(c>meg) meg=c; return(meg); int min(int a, int b, int c) int mik; mik=a; if(b<mik) mik=b; if(c<mik) mik=c; return(mik); Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 4 / 13

Διάφοροι τύποι Συναρτήσεων Στα παραδείγματα που ακολουθούν θα παρουσιάσουμε: Συνάρτηση χωρίς μεταβλητές εισόδου αλλά με έξοδο. Συνάρτηση χωρίς μεταβλητές εισόδου, χωρίς έξοδο και χρήση καθολικής μεταβλητής. Συνάρτηση με μεταβλητή εισόδου πίνακα αλλά χωρίς έξοδο. Αυτός είναι ένας εναλλακτικός τρόπος μια συνάρτηση να μας επιστρέφει περισσότερες από μια τιμές Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 5 / 13

Συνάρτηση χωρίς μεταβλητές εισόδου αλλά με έξοδο Να αναπτύξετε πρόγραμμα το οποίο 1 θα χρησιμοποιεί μια συνάρτηση η οποία θα διαβάζει δυο αριθμούς και θα επιστρέφει το άθροισμα τους 2 και θα εμφανίζει (στην main) το άθροισμα. Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 6 / 13

#include <stdio.h> #include <stdlib.h> int fun1(void); int main(int argc, char *argv[]) int a; a=fun1(); printf("result=%d\n\n",a); system("pause"); return 0; int fun1(void) int a1,a2; printf("fun: Give a1: "); scanf("%d",&a1); printf("fun: Give a2: "); scanf("%d",&a2); return(a1+a2); Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 7 / 13

Συνάρτηση χωρίς μεταβλητές εισόδου, χωρίς έξοδο και χρήση καθολικής μεταβλητής Να αναπτύξετε πρόγραμμα το οποίο 1 θα εμφανίζει την τιμή μιας καθολικής μεταβλητής 2 θα χρησιμοποιεί μια συνάρτηση χωρίς μεταβλητές εισόδου και χωρίς έξοδο η οποία θα αυξάνει την τιμή της καθολικής μεταβλητής κατά μια μονάδα και θα την εμφανίζει 3 και θα εμφανίζει (στην main) την τιμή της καθολικής μεταβλητής. Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 8 / 13

#include <stdio.h> #include <stdlib.h> int glob; void fun2(void); int main(int argc, char *argv[]) glob=10; printf("glob=%d\n\n",glob); fun2(); fun2(); printf("glob=%d\n\n",glob); system("pause"); return 0; void fun2(void) glob=glob+1; printf("fun: glod=%d\n\n",glob); Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 9 / 13

Συνάρτηση με μεταβλητή εισόδου πίνακα αλλά χωρίς έξοδο Να αναπτύξετε πρόγραμμα το οποίο 1 θα αρχικοποιεί τις τιμές ενός πίνακα και θα τις εμφανίζει 2 θα χρησιμοποιεί μια συνάρτηση χωρίς έξοδο η οποία θα διαβάζει τις τιμές του πίνακα και θα τις εμφανίζει 3 και θα εμφανίζει (στην main) τις τιμές του πίνακα. Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 10 / 13

#include <stdio.h> #include <stdlib.h> void fun3(int A[3]); int main(int argc, char *argv[]) int A[3]=1,1,1; printf("a[0]=%d, A[1]=%d, A[2]=%d\n\n",A[0],A[1],A[2]); fun3(a); printf("a[0]=%d, A[1]=%d, A[2]=%d\n\n",A[0],A[1],A[2]); system("pause"); return 0; void fun3(int A[3]) int i; for(i=0;i<3;i=i+1) printf("give A[%d] = ",i); scanf("%d",&a[i]); printf("fun: A[0]=%d, A[1]=%d, A[2]=%d\n\n",A[0],A[1],A[2]); Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 11 / 13

Στο παραπάνω πρόγραμμα παρατηρούμε ότι, ο πίνακας A έχει αρχικές τιμές οι οποίες αλλάζουν μέσα στην συνάρτηση fun3 και μεταφέρονται main. Η χρήση πίνακα είναι ένας εναλλακτικός τρόπος να μας επιστρέψει μια συνάρτηση περισσότερες από μια τιμές. Για να επιστρέψουμε τιμές μέσω πίνακα από μια συνάρτηση πρέπει ο πίνακας να είναι όρισμα (μεταβλητή εισόδου) της συνάρτησης. Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 12 / 13

Συναρτήσεις - Άσκηση Άσκηση Να αναπτύξετε πρόγραμμα το οποίο 1 θα δέχεται δύο ακέραιους αριθμούς 2 θα χρησιμοποιεί μια συνάρτηση η οποία θα βρίσκει το άθροισμα και τη διαφορά τους θα τα επιστρέφει στην main 3 και θα εμφανίζει (στην main) το άθροισμα και τη διαφορά. Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 13 / 13