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

Σχετικά έγγραφα
Δομημένος Προγραμματισμός

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

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

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

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

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

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

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

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

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

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

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

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

Ασκηή σεις 12ο Μαά θημα - Λυύ σεις

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

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

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

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

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

Σημειώσεις για πρόοδο στο εργαστήριο

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

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

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

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

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

Εργαστήριο 3 Εντολή for while, do while

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

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

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

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

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

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

9 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

Νικόλαος Μιχαλοδημητράκης Σημειώσεις C (Εργαστήριο) 5 ο Μέρος 5 ο Μέρος Εντολές Επανάληψης: FOR - WHILE. Περιγραφή

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

Επεξεργασία κειμένου και συμβολοσειρών σε C

Νικόλαος Μιχαλοδημητράκης Σημειώσεις C (Εργαστήριο) 12 ο Μάθημα 1

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

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

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

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

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

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

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

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

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

7 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

8 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

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

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

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

ΣΥΝΑΡΤΗΣΕΙΣ (Functions)

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

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

ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ(Visual Basic)

Συστήματα Αυτομάτου Ελέγχου 1 Ενότητα # 5: Χρήση μετασχηματισμού Laplace για επίλυση ηλεκτρικών κυκλωμάτων Μέθοδοι εντάσεων βρόχων και τάσεων κόμβων

11 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

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

Εκτέλεση της εντολής1 και στη συνέχεια εκτέλεση της ΕΝΟΤΗΤΑΣ και της εντολής2 όσο η ΣΥΝΘΗΚΗ είναι αληθής.

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

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

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

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

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

Περιβαλλοντική Χημεία

Προχωρημένες έννοιες προγραμματισμού σε C

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

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

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

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

Προέλευση της Pazcal ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

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

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

Μέθοδοι Βελτιστοποίησης

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

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

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

Transcript:

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

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

Σκοποί ενότητας... 4 Περιεχόμενα ενότητας... 4 Ασκήσεις... 5 Άσκηση 1... 5 Άσκηση 2... 5 Άσκηση 3... 6 Άσκηση 4... 7

Σκοποί ενότητας Σκοπός της ενότητας είναι η πρακτική εξάσκηση του εκπαιδευόμενου με έννοιες που έχουν αναλυθεί στο αντίστοιχο τμήμα της θεωρίας, με την επίλυση ασκήσεων. Πιο αναλυτικά οι σκοποί είναι Να χρησιμοποιούν πινάκες σαν παραμέτρους σε συναρτήσεις Να γνωρίσουν τον τρόπο μεταβίβασης πίνακα σε συνάρτηση Να γνωρίσουν την φύση των αναδρομικών συναρτήσεων Να κατανοήσουν τα πιθανά μειονεκτήματα από την χρήση αναδρομικών συναρτήσεων Να χρησιμοποιούν αναδρομικές συναρτήσεις στον προγραμματισμό Περιεχόμενα ενότητας Η ενότητα του εργαστηρίου περιλαμβάνει ασκήσεις για το μάθημα: Εισαγωγή στον προγραμματισμό.

Ασκήσεις Άσκηση 1 Το παρακάτω πρόγραμμα αθροίζει τα στοιχεία πίνακα με χρήση συνάρτησης int showpin(int pin[ ], int plithos) //int showpin(int * pin, int plithos) //int showpin(int pin[10], int plithos) //int showpin(int pin[50], int plithos) { int sum=0,i; for (i=0;i<plithos;i++) printf("%d ",pin[i]); for (i=0;i<plithos;i++) sum=sum+pin[i]; return sum; int main(int argc, char *argv[]){ int a[10]={1,2,3,4,5,6,7,8,9,10; printf("\nto athroisma einai= %d\n",showpin(a,10)); int b[ ]= {100, 200, 300, 400, 500, 600; printf("\nto athroisma einai= %d\n", showpin(b,sizeof(b)/sizeof(int))); system("pause"); return EXIT_SUCCESS; Άσκηση 2 Να εισάγονται οι βαθμοί δύο τμημάτων που αποτελούνται από 5 και 6 σπουδαστές. Να εμφανίζεται ο μέγιστος βαθμός και ο μέσος όρος του κάθε τμήματος. Ποιο τμήμα πέτυχε τον καλύτερο μέσο όρο. Τέλος να εμφανίζεται το πλήθος των σπουδαστών που πέτυχαν βαθμό ίσο με τον μέγιστο σε κάθε τμήμα. double average(double v[], int n) { //n einai to plithos sôoixeion v[] double s = 0.0;int i; for (i = 0; i < n; ++i) s += v[i]; return s / n; double megistos( double v[], int n) { int i; double max = v[0]; for (i = 0; i < n; ++i) if (max < v[i]) max = v[i]; return max; int plithos( double v[], int n) { int i, pli=0; double meg; meg=megistos(v,n);

for (i = 0; i < n; ++i) if (v[i] == meg) pli++; return pli; int main( int argc, char *argv[]) { double a[6]={6,8,10,10,7,5; double b[5]={5,9,9,6,9; double mega,megb,avea,aveb; mega=megistos(a,6); avea=average(a,6); aveb=average(b,5); megb=megistos(b,5); printf("megistos A tmimatos= %.2f O mesos A tmimatos %.2f\n\n", mega,avea); printf("megistos B tmimatos= %.2f O mesos B tmimatos %.2f\n\n", megb,aveb); if (avea<aveb) printf("to deftero tmima exei kalitero meso\n\n"); else if(avea>aveb) printf("to proto tmima exei kalitero meso\n\n"); else mesous \n\n"); printf("ta dio tmimata exoyn petixei isous printf( "To plithos ton bathmon poy isoutai me to megisto %d\n", plithos(a,6)); printf( "To plithos ton bathmon poy isoutai me to megisto %d\n", plithos(b,5)); system("pause"); return EXIT_SUCCESS; Άσκηση 3 Να γραφεί συνάρτηση που να επιστρέφει το παραγοντικό ενός αριθμού n χωρίς επανάληψη και να γίνει σύγκριση με την αντίστοιχη συνάρτηση με χρήση αναδρομής double factorial(int); double factloop(int); main(){ int n; double result, resloop; printf("dose akeraio arithmo"); scanf("%d", &n); result=factorial(n); resloop=factloop(n); printf("paragontiko me anadromi n!= %.0f\n", result); printf("paragontiko me loop n!= %.0f\n", resloop); return 0; double factorial(int n) { if (n == 0) return(1);

else return (factorial(n - 1) * n); double factloop(int n){ int i; double product = 1; for (i = 1; i <= n; i++) product *= i; return (product); Άσκηση 4 Να οριστεί αναδρομική συνάρτηση που να παράγει αριθμούς Fibonacci int Fibonacci(int); int main() { int n,i, k; printf("dose to plithos ton arithmon Fibonacci\n"); scanf("%d", &n); printf("\n\nemfanisi seiras arithmon Fibonacci\n"); i=0; for ( k = 0 ; k < n ; k++ ){ printf("%2dos Arithmos= %3d\n",k+1, Fibonacci(i)); i++; return 0; int Fibonacci(int n){ if ( n == 0 ) return 0; else if ( n == 1 ) return 1; else return ( Fibonacci(n-1) + Fibonacci(n-2) );