ΣΧΕΔΙΑΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΛΟΓΙΣΜΙΚΟΥ. p: i: 3 p: i: 5

Σχετικά έγγραφα
Ασκηή σεις 12ο Μαά θημα - Λυύ σεις

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

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

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

ΑΣΚΗΣΗ 6: ΔΕΙΚΤΕΣ. Σκοπός της Άσκησης. 1. Εισαγωγικά στοιχεία για τους Δείκτες

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

Η γλώσσα προγραμματισμού C Οι συναρτήσεις στη C (2)

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή

Η γλώσσα προγραμματισμού C Οι συναρτήσεις στη C (2)

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

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

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

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

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

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

3. ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ (Β' μέρος: switch και :? )

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

4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for)

Διάλεξη 5: Δείκτες και Συναρτήσεις

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Τύποι Δεδομένων Είσοδος/Έξοδος

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

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

C Programming EPL032 Maria Stavrinou Ioannou Εισαγωγή στη Γλώσσα C

Πίνακες. 1 Πίνακες. 30 Μαρτίου 2014

Πανεπιστήμιο Πελοποννήσου. Σχολή Θετικών Επιστημών & Τεχνολογίας. Τμήμα Επιστήμης & Τεχνολογίας Υπολογιστών. Προγραμματισμός Ι Εργαστήριο

5. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Β' μέρος: while - do..while)

ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 8 η : Συναρτήσεις Χειµερινό Εξάµηνο 2011

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

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

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

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19)

Ασκήσεις & παραδείγματα για επανάληψη

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών

Εξοικ Εξ ε οικ ίωση ε με το το πρόγ ραμμα πρόγ DEV C++ Επικοι Επικ νωνία οι Χρήσ Χρήστη τη Υπολ Υπο ογισ λ τή

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

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

Παραδείγματα με συναρτήσεις στη C

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Ασκήσεις Επανάληψης

γνωστό) ΘΕΩΡΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ι ΑΣΚΗΣΕΙΣ ΘΕΩΡΙΑΣ Ασκήσεις C 1. Να γραφεί πρόγραµµα που να εµφανίζει τους 5 πρώτους µεγαλύτερους

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-2

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 6 Ο. Συναρτήσεις Τοπικές, καθολικές, στατικές μεταβλητές Μεταβλητές τύπου extern και register Αναδρομή

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

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

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

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

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός. Δείκτες (Διάλεξη 14)

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

ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ

Διάλεξη 11η: Δείκτες, μέρος 1

Κεφάλαιο Πίνακες Ι. (Διάλεξη 16)

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

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

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

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

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

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Είσοδος/ Έξοδος

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

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

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7)

ΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Δείκτες και Συναρτήσεις (Κεφάλαιο 11, KNK-2ED)

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

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

EΒ ΟΜΑ Α 4 Η. οµές επανάληψης while και do while

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ

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

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

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

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

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

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

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

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

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

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

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

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

Στόχοι και αντικείμενο ενότητας. Πέρασμα Πίνακα σε Συνάρτηση (συν.) Πέρασμα Πίνακα σε Συνάρτηση. #8.. Ειδικά Θέματα Αλγορίθμων

ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ 8/9/2008

Χαράλαµπος Σκόκος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ I ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΕΞΕΤΑΣΕΙΣ ΧΕΙΜΕΡΙΝΟΥ ΕΞΑΜΗΝΟΥ Ερωτήσεις

Χαράλαµπος Σκόκος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ I ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΕΞΕΤΑΣΕΙΣ ΕΑΡΙΝΟΥ ΕΞΑΜΗΝΟΥ Ερωτήσεις

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

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

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

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

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

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

Κεφάλαιο : Επαναλήψεις (o βρόγχος While) (Διάλεξη 9) Δομές Έλεγχου Προγράμματος

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

7. ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΣΥΝΑΡΤΗΣΕΙΣ

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

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

Κεφάλαιο 8.7. Πίνακες & Συναρτήσεις ( ιάλεξη 17) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

Transcript:

ΣΧΕΔΙΑΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΛΟΓΙΣΜΙΚΟΥ ΕΝΤΟΛΕΣ - ΥΠΟΔΕΙΞΕΙΣ Δείκτες int *p; /* Δήλωση Δείκτη */ int i = 3; p = &i; /* Ο Δείκτης δείχνει στον ακέραιο i */ *p = 5; /* To περιεχόμενο του δείκτη p είναι 5 */ printf( %d %d, *p, i); Η printf τυπώνει 5 5. & Διαβάστε η διεύθυνση του * Διαβάστε το περιεχόμενο του * int int * int int p: i: 3 p: i: 5 Ασκηση 1 Να γράψετε τι θα τυπώσουν οι εντολές εκτύπωσης του παρακάτω προγράμματος ΧΩΡΙΣ να εκτελέσετε το πρόγραμμα int *ptr_a, *ptr_b; int num_c = 4, num_d = 7; ptr_a = &num_c; ptr_b = ptr_a; ptr_b = &num_d; *ptr_a = *ptr_b; printf ("%d %d\n", num_c, num_d);

The output of this program is: 4 4 4 7 7 7 7 7 Ασκηση 2. Δηλώστε ένα πίνακα τύπου int με το όνομα values και με 5 στοιχεία και δώστε αρχικές τιμές στα στοιχεία τους ζυγούς ακεραίους από το 2 έως το 10. Ορίστε το μέγεθος του πίνακα ως σταθερά SIZE. Δηλώστε ένα δείκτη vptr που δείχνει σε ένα αντικείμενο τύπου int Προβάλλετε τα στοιχεία του πίνακα values χρησιμοποιώντας σημειολογία δεικτών θέσης πίνακα Χρησιμοποιείστε 2 διαφορετικούς τρόπους για να εκχωρείστε την διεύθυνση έναρξης του πίνακα values στην μεταβλητή δείκτη vptr. Προβάλλετε τα στοιχεία του πίνακα values χρησιμοποιώντας σημειολογία δείκτη μετατόπισης Προβάλλετε τα στοιχεία του πίνακα values χρησιμοποιώντας σημειολογία δείκτη μετατόπισης με το όνομα του πίνακα ως δείκτη. Αναφερθείτε στο στοιχείο 5 του πίνακα values χρησιμοποιώντας σημειολογία δεικτών θέσης πίνακα, σημειολογία δείκτη μετατόπισης με το όνομα του πίνακα ως δείκτη, και σημειολογία δείκτη μετατόπισης #define SIZE 5 /*const int SIZE=5; */ int values[size] = 2,4,6,8,10; int i, *vptr; printf("%d\n", values[i]); vptr= values; or vptr= &values[0]; printf("%d\n", *(values +i));

printf("%d\n", *(vptr +i)); Ασκηση 3 Να δημιουργηθεί πρόγραμμα στο οποίο ορίζονται δύο μεταβλητές number1, number1 με τύπο floating point. Το number1 αρχικοποιείται στην τιμή 7.3. Δημιούργησε μια μεταβλητή δείκτη fptr που να δείχνει σε ένα αντικείμενο τύπου float. Να καταχωρηθεί η διεύθυνση της μεταβλητής number1 στον δείκτη fptr. Να καταχωρηθεί η τιμή του αντικειμένου στο οποίο δείχνει ο δείκτης fptr στην μεταβλητή number2. Τυπώστε την τιμή της μεταβλητής number2 με ένα δεκαδικό ψηφίο. Να τυπωθεί η διεύθυνση της μεταβλητής number1 χρησιμοποιώντας το %p. Nα τυπωθεί η διεύθυνση που είναι καταχωρημένη στην μεταβλητή fptr. Είναι η ίδια με την διεύθυνση της μεταβλητής number1; float number1, number2; number1=7.3; float *fptr; fptr=&number1; number2=*fptr; printf(" H timi tis metavlitis number2 einai %.1f\n", number2); printf ("I diefthinsi tis metavlitis number1 einai %p\n", &number1); printf ("i diefthinsi pou einai kataxorimeni ston deikti fptr einai %p\n", fptr); printf ("I diefthinsi tis metavlitis number2 einai %p\n", &number2); Ασκηση 4 Να γίνει πρόγραμμα που: 1. Θα ζητάει 30 αριθμούς και θα τους εισάγει σε πίνακα 2. Θα βρίσκει και θα εμφανίζει τον μεγαλύτερο. Και οι δύο λειτουργίες θα γίνονατι με συναρτήσεις που θα καλούνται από την main. H εισαγωγή των αριθμών θα γίνεται με την συνάρτηση enterarray και η εύρεση του μεγαλύτερου θα γίνεται με την συνάρτηση maxofarray.

με δείκτες #define SIZE 30 void enterarray(int *); int maxofarray(int *); int *arrptr; int pinakas[size],megaliteros; arrptr = pinakas; enterarray(arrptr); printf("megaliteros einai o %d\n", maxofarray(arrptr)); void enterarray(int *arrayp) int i; for(i = 0; i < SIZE; i++) printf("doste ena akeraio > "); scanf("%d", (arrayp +i)); int maxofarray(int *arrayp) int max,i; max = *arrayp; for(i = 1; i < SIZE; i++) if(*(arrayp +i) > max) max = *(arrayp +i); return max; ΧΩΡΙΣ δείκτες #define SIZE 4 void enterarray(int pinakas[], int megeth); int maxofarray(int pinakas[], int megeth); int pinakas[size],megaliteros; enterarray(pinakas, SIZE);

printf("megaliteros einai o %d\n", maxofarray(pinakas, SIZE)); void enterarray(int pinakas[],int megeth) int i; for(i = 0; i < megeth; i++) printf("doste ena akeraio > "); scanf("%d", &pinakas[i]); int maxofarray(int pinakas[],int megeth) int max,i; max = pinakas[0]; for(i = 1; i < megeth; i++) if( pinakas[i] > max) max = pinakas[i]; return max;