Εισαγωγή στον προγραμματισμό με C, C++ - ΘΕΩΡΙΑ
Περιγραφή θέματος
-
-
-
Μέχρι Type deduction: auto and decltype
-
Εως Compound assignment
-
-
-
Θεωρία για την for
-
Λυμένες Ασκήσεις
1. Να γράψετε πρόγραμμα που τυπώνει όλους τους αριθμούς από το 0..100 που διαιρούνται ακριβώς με το 4
2. Να γράψετε πρόγραμμα που τυπώνει όλους τους αριθμούς από το 0..100 που διαιρούνται ακριβώς με το 4, το 6 και το 8.
3. Να γράψετε πρόγραμμα που τυπώνει την αγγλική αλφάβητο.
4. Να γράψετε πρόγραμμα που τυπώνει την αγγλική αλφάβητο 100 φορές. -
Ασκήσεις προς λύση
1. Να γράψετε πρόγραμμα που τυπώνει 100 φορές την Αγγλική αλφάβητο με πεζούς χαρακτήρες αντεστραμμένη, δηλ. από το z στο a.
2. Να γράψετε πρόγραμμα που τυπώνει 100 φορές την Αγγλική αλφάβητο με πεζούς χαρακτήρες εναλλάξ αντεστραμμένα και κανονικά, δηλ. μια φορά από το a στο z, την επόμενη από το z στο a, κοκ.
3. Να γράψετε πρόγραμμα που εξετάζει αν μια ακέραιη μεταβλητή περιέχει πρώτο αριθμό ή όχι και παράγει κατάλληλο μήνυμα. Σημείωση: Πρώτος είναι ένας ακέραιος που διαιρείται ακριβώς μόνο με το 1 και τον εαυτό του.
4. Γράψτε κατάλληλο κώδικα που υπολογίζει τις τιμές των a,b,c στην 2ax3bx5c=22500, με a<20, b<20 και c<20. Κάντε include την math.h (#include math.h) και χρησιμοποιήστε την συνάρτηση pow για να υπολογίσετε μια δύναμη ενός αριθμού.
-
-
Μέχρι και "Arguments passed by value and by reference"
-
1. Αναπτύξτε συνάρτηση που τυπώνει 100 φορές την Αγγλική αλφάβητο με πεζούς χαρακτήρες εναλλάξ αντεστραμμένα και κανονικά, δηλ. μια φορά από το a στο z, την επόμενη από το z στο a, κοκ.
2. Αναπτύξτε συνάρτηση που εξετάζει αν μια ακέραιη μεταβλητή περιέχει πρώτο αριθμό. Σημείωση: Πρώτος είναι ένας ακέραιος που διαιρείται ακριβώς μόνο με το 1 και τον εαυτό του. -
Ασκήσεις προς λύση
1. Αναπτύξτε συνάρτηση void printPropedia(int num) που τυπώνει την προπαίδεια του num.
2. Αναπτύξτε συνάρτηση printPropedia χωρίς παραμέτρους που τυπώνει την προπαίδεια όλων των αριθμών από 2..9.
3. Να αναπτυχθεί συνάρτηση που επιστρέφει το παραγοντικό της ακέραιης παραμέτρου της.
4. Να αναπτυχθεί συνάρτηση που λαμβάνει την ακέραιη παράμετρο k και επιστρέφει true αν η k είναι άρτιος, διαφορετικά false.
5. Να αναπτυχθεί συνάρτηση που λαμβάνει την ακέραιη παράμετρο k και τυπώνει την αγγλική ονομασία του τελευταίου ψηφίου της k
6. Να αναπτυχθεί συνάρτηση που λαμβάνει ένα double d και ένα int e ως παραμέτρους και επιστρέφει το d υψωμένο στην e.
-
-
-
Εως library arrays
-
Να υλοποιηθούν οι ακόλουθες συναρτήσεις:
1. int sum(int t[], int size); Λαμβάνει ένα πίνακα ακεραίων και το μέγεθός του και επιστρέφει το άροισμα των στοιχείων του.
2. bool allTrue(bool t[], int size); Λαμβάνει ένα πίνακα από λογικές τιμές και το μέγεθός του και επιστρέφει true αν όλα τα στοιχεία του πίνακα είναι true και false διαφορετικά.
3. int replace(char chrs[], int size, char oldChar, char newChar); Λαμβάνει ένα πίνακα χαρακτήρων, το μέγεθός του, αντικαθιστά κάθε oldChar με τον newChar και επιστρέφει τον αριθμό των χαρακτήρων που αντικαταστάθηκαν.
4. void copy(char source[], int target[], int size); Αντιγράφει τον πίνακα source στον target. Και οι 2 πίνακες έχουν μέγεθος size.
5. void print(int t[], int size); Τυπώνει τα στοιχεία του πίνακα t με ένα κενό ανάμεσά τους.
6. int max(int t[], int size); Επιστρέφει το μέγιστο στοιχείο του t
7. int sequentialSearch(int t[], int size, int schElement); Ψάχνει στον t για το στοιχείο schElement. Αν το βρει επιστρέφει τον index του στοιχείου αλλιώς επιστρέφει -1.
8. void sort(int t[], int size). Ταξινομεί τα στοιχεία του t κατ’αύξουσα σειρά.
-
-
-
Μέχρι pointers and const
-
Ασκηση
Να κατασκευαστεί μια βιβλιοθήκη διαχείρισης δυσδιάστατων δυναμικών πινάκων ακεραίων. Η βιβλιοθήκη να περιλαμβάνει τουλάχιστον συναρτήσεις για δημιουργία δυσδιάστατου πίνακα (create), για ενημέρωση στοιχείου (set), για διάβασμα στοιχείου (get), για αλλαγή μεγέθους γραμμών ή/και στηλών του πίνακα.
-
-
-
1. Να αναπτυχθεί αναδρομική συνάρτηση ταξινόμησης μονοδιάστατων πινάκων ακεραίων
2. Να αναπτυχθεί βιβλιοθήκη διαχείρισης δυναμικών δυσδιάστατων πινάκων ακεραίων