Κατηγορία: Χωρίς κατηγορία
infographic
Το infographic που δημιουργήθηκε απεικονίζει τις βασικές έννοιες των δομών επιλογής και επανάληψης. Για τη δομή επιλογής, παρουσιάζει παραδείγματα, όπως η χρήση των "switch statements" σε ένα πρόγραμμα υπολογιστή (calculator). Για τη δομή επανάληψης, το infographic περιλαμβάνει παραδείγματα, όπως η υλοποίηση ενός παιχνιδιού τύπου guessing game και άλλες προχωρημένες θεματικές.
Αυτό το εργαλείο θα σας βοηθήσει να κατανοήσετε τις βασικές έννοιες και τη σύνδεση μεταξύ αυτών των δύο δομών προγραμματισμού, προσφέροντας μια καθαρή και ευχάριστη οπτική αναπαράσταση των δραστηριοτήτων που σχετίζονται με αυτές. Αν χρειάζεστε περισσότερη βοήθεια για την ερμηνεία ή την παρουσίαση αυτών των εννοιών στην τάξη, το infographic μπορεί να χρησιμεύσει ως οδηγός για τη διδασκαλία αυτών των θεμάτων.
Δραστηριότητα 4η
Ανοικτός Εκπαιδευτικός πόρος:
https://eclass.duth.gr/modules/document/file.php/TMA555/%CE%94%CE%B9%CE%B1%CE%BB%CE%AD%CE%BE%CE%B5%CE%B9%CF%82%2024-25/C-les2-22-23.pdf
Συμπλήρωσε τα κενά στον κώδικα :
Γράψτε ένα πρόγραμμα στην C το οποίο να χρησιμοποιεί έναν πίνακα τύπου char
για να αποθηκεύσει μια αλφαριθμητική συμβολοσειρά και στη συνέχεια να τυπώσει τα πρώτα τρία χαρακτήρες της συμβολοσειράς ξεχωριστά χρησιμοποιώντας το printf
. Χρησιμοποιήστε την εντολή gets()
για να διαβάσετε τη συμβολοσειρά από τον χρήστη και τη συνάρτηση printf()
για να εμφανίσετε τα αποτελέσματα.
#include <stdio.h>
int main() {
_______ string[80]; // Ορίστε τον πίνακα string τύπου _______
gets(string); // Χρησιμοποιείστε την συνάρτηση _______ για να διαβάσετε την είσοδο του χρήστη
printf("%s\n", string); // Εκτυπώστε ολόκληρη την συμβολοσειρά με το _______
printf("%c %c %c\n", string[0], string[1], string[2]); // Εκτυπώστε τους πρώτους τρεις χαρακτήρες με το _______
return 0;
}
Επιλογές λέξεων για συμπλήρωση:
char
printf
gets
string
char[]
scanf
--------------------
***
Αναμένονται οι σωστές συμπληρώσεις:
- Στην πρώτη κενή θέση πρέπει να συμπληρωθεί ο τύπος του πίνακα:
char
. - Στη δεύτερη κενή θέση πρέπει να συμπληρωθεί η συνάρτηση για την ανάγνωση της εισόδου:
gets
. - Στην τρίτη κενή θέση πρέπει να συμπληρωθεί η συνάρτηση για την εκτύπωση της συμβολοσειράς:
printf
. - Στην τέταρτη κενή θέση πρέπει να συμπληρωθούν οι χαρακτήρες από τον πίνακα για την εκτύπωση:
printf
.
Δραστηριότητα 3η – Προχωρημένα Θέματα
Ανοικτός εκπαιδευτικό πόρος από το ΤΕΙ Αθήνας :
(Βοήθεια σελίδα 70-- >
http://users.uoa.gr/~vsakkas/Problimata_C.pdf
Γράψτε ένα πρόγραμμα στην C (https://www.programiz.com/c-programming/online-compiler/), το οποίο να δημιουργεί μια δομή για έναν υπάλληλο, η οποία να περιέχει τα εξής μέλη:
- Όνομα
- Επώνυμο
- Ηλικία
- Θέση Εργασίας
- Μισθός σε Ευρώ
Αρχικοποιήστε την με τα εξής δεδομένα: {“Γιάννης”, “Παπαδόπουλος”, 30, “Μηχανικός”, 3500}. Στη συνέχεια, γράψτε μια συνάρτηση που θα τυπώνει τα δεδομένα του υπαλλήλου. Καλέστε τη συνάρτηση από την main()
για να εμφανίσετε τα δεδομένα στην οθόνη.
Δραστηριότητα 2η – υλοποίηση παιχνιδιού guessing game
Μπορείτε να το υλοποιήσετε εδώ και να το μεταγλωτίσσετε Online https://www.programiz.com/c-programming/online-compiler/
Παιδαγωγικά Χαρακτηριστικά :
- Ανάπτυξη Λογικής Σκέψης: Το Guessing Game απαιτεί από τον παίκτη να κάνει υποθέσεις και να σκεφτεί στρατηγικά για να εντοπίσει το σωστό αριθμό, κάτι που ενισχύει την ανάπτυξη της λογικής σκέψης και της κριτικής ικανότητας.
- Δοκιμή και Σφάλμα: Οι παίκτες μαθαίνουν να εφαρμόζουν την τεχνική του "δοκιμή και σφάλμα", η οποία τους βοηθά να κατανοήσουν πώς να προσαρμόζουν τις υποθέσεις τους με βάση τις ενδείξεις που παρέχονται από το παιχνίδι.
- Ανάπτυξη Δεξιοτήτων Ανάλυσης: Καθώς ο παίκτης προχωρά στο παιχνίδι, μαθαίνει να αναλύει και να αξιολογεί τις ενδείξεις που δίνονται για να βελτιώσει τις μελλοντικές του υποθέσεις.
- Στρατηγική και Σχεδιασμός: Το παιχνίδι ενθαρρύνει τους παίκτες να σκέφτονται στρατηγικά και να αναπτύξουν τεχνικές για να βρουν τον σωστό αριθμό με όσο το δυνατόν λιγότερες προσπάθειες, χρησιμοποιώντας τη λογική και τη στρατηγική.
- Μάθηση Μέσω Αλληλεπίδρασης: Οι παίκτες μαθαίνουν μέσω αλληλεπίδρασης με το σύστημα, ενισχύοντας την αντίληψη της αλληλουχίας ενεργειών και των αποτελεσμάτων τους, προωθώντας την ανάπτυξη δεξιοτήτων επίλυσης προβλημάτων με αυτονομία.
Δραστηριότητα 1η – Δομή επανάληψης
Παιδαγωγικά Χαρακτηριστικά :
- Κατανόηση Αρχών Προγραμματισμού: Το βίντεο με δομή επανάληψης (όπως
for
,while
, ήdo-while
) βοηθά τους μαθητές να κατανοήσουν τη βασική αρχή των επαναλαμβανόμενων διαδικασιών και την έννοια της επανάληψης για εκτέλεση εντολών πολλές φορές, μέχρι να πληρωθούν συγκεκριμένα κριτήρια. - Οπτικοποίηση Λογικών Δομών: Η επανάληψη παρέχει τη δυνατότητα στους μαθητές να οπτικοποιήσουν τις διαδικασίες και να κατανοήσουν πώς λειτουργεί η επαναληπτική διαδικασία και πώς το πρόγραμμα συνεχίζει ή σταματά ανάλογα με τις συνθήκες.
- Εξάσκηση στην Ανάλυση Προβλημάτων: Οι μαθητές καλούνται να σκεφτούν και να αναλύσουν προβλήματα που απαιτούν επαναλήψεις (π.χ. αριθμοί, συλλογές δεδομένων) και να εφαρμόσουν την κατάλληλη δομή επανάληψης για να τα λύσουν.
- Βελτίωση στην Επίλυση Προβλημάτων: Η χρήση επανάληψης ενισχύει τη στρατηγική επίλυσης προβλημάτων μέσω της διαδικασίας δοκιμής και επανόρθωσης λαθών, ενθαρρύνοντας την ανάπτυξη δεξιοτήτων στην αναγνώριση και διόρθωση σφαλμάτων στον κώδικα.
- Ανάπτυξη Κριτικής Σκέψης: Οι μαθητές ενθαρρύνονται να σκεφτούν κριτικά την αλληλουχία των εντολών και την ανάγκη για έλεγχο συνθηκών (π.χ.
i < 10
) για να ελέγξουν την πρόοδο του προγράμματος.
Δραστηριότητα 4η – δομή επιλογής – εκπαιδευτικός πόρος
Ανοικτός εκπαιδευτικός πόρος:
Μπορεί ο εκπαιδευόμενος να διαβάσει όλο το αρχείο καθώς έχει σημαντικές βασικές πληροφορίες για την χρήση της γλώσσας C.
https://eclass.uth.gr/modules/document/file.php/SE_MH_U127/2B%20intro%20to%20C%20.pdf
Ερώτηση:
Ποια από τις παρακάτω δηλώσεις είναι σωστή σχετικά με την ανάπτυξη ενός προγράμματος σε C;
Απαντήσεις (Multiple Choice):
Α) Το πρόγραμμα σε C πρέπει να περιέχει τουλάχιστον δύο συναρτήσεις με το όνομα main
.
Β) Η εντολή #include<stdio.h>
εισάγει τη βιβλιοθήκη συστήματος που παρέχει συναρτήσεις για είσοδο/έξοδο, όπως η printf()
.
Γ) Η διαδικασία προγραμματισμού σε C περιλαμβάνει μόνο το γράψιμο του κώδικα χωρίς ανάγκη για μετάφραση σε γλώσσα μηχανής.
Δ) Η εντολή gcc helloWorld.c -o helloWorld.out
δημιουργεί μόνο το πηγαίο αρχείο και όχι το εκτελέσιμο αρχείο.
Δραστηριότητα 3η – Ανοικτός εκπαιδευτικός πόρος άσκηση
Ανοικτός εκπαιδευτικός πόρος για εξάσκηση:
Εισαγωγή στη γλώσσα προγραμματισμού από το Πανεπιστήμιο Ιωαννίνων. Μπορείτε να δείτε τις διαφάνειες με τους τελεστές που χρησιμοποιούνται στην εσωτερική συνθήκη του if statement (κεφάλαιο 2.11).
https://alpha.physics.uoi.gr/C/Eisagwgi_kef2.pdf
Άσκηση:
(Oι απαντήσεις είναι στο τέλος της σελίδας. Πρώτα προσπαθήστε μόνοι σας προτού δείτε τις απαντήσεις).
Ερώτηση 1:
Ποιος είναι ο σωστός τρόπος για να μεταγλωττίσετε το πρόγραμμα στο αρχείο example.c
με χρήση μαθηματικών συναρτήσεων;
Απαντήσεις (Multiple Choice):
Α) gcc example.c
Β) gcc example.c -o example
Γ) gcc example.c -lm
Δ) gcc example.c -math
Ερώτηση 2:
Τι αποτέλεσμα θα εμφανιστεί στην οθόνη αν το πρόγραμμα εκτελεστεί με την παράμετρο cos(60)
;
Απαντήσεις (Multiple Choice):
Α) cos(60) = 1.000000
Β) cos(60) = 0.500001
Γ) cos(60) = 0.866025
Δ) cos(60) = 0.0
Ερώτηση 3:
Ποιο είναι το αποτέλεσμα της παράστασης a==d
αν οι μεταβλητές έχουν τις εξής τιμές:
a = 15; b = 7; c = 25; d = 15;
Απαντήσεις (Multiple Choice):
Α) 1
Β) 0
Γ) -1
Δ) Δεν έχει αποτέλεσμα
Απαντήσεις:
1) Σωστή Απάντηση: Γ) gcc example.c -lm
2) Σωστή Απάντηση: Β) cos(60) = 0.500001
3) Σωστή Απάντηση: Α) 1
Δραστηριότητα 2η – Δομή επιλογής – Υλοποίηση calculator με switch statements
Παιδαγωγικά χαρακτηριστικά:
Σαφής Δομή του Περιεχομένου
- Εισαγωγή στο Θέμα:
- Παρουσίαση του στόχου: "Θα μάθουμε πώς να φτιάξουμε έναν απλό Calculator στη C χρησιμοποιώντας switch statements."
- Σύνδεση με τη θεωρία: Γενική εξήγηση για τα
switch
και πώς αυτά βοηθούν στην υλοποίηση πολλαπλών επιλογών.
- Βήμα προς Βήμα Παρουσίαση:
- Διαχωρισμός του βίντεο σε ξεκάθαρα μέρη, όπως:
- Ανάλυση του προβλήματος.
- Εξήγηση των switch statements.
- Υλοποίηση του calculator.
- Διαχωρισμός του βίντεο σε ξεκάθαρα μέρη, όπως:
2. Οπτική Ενίσχυση
- Προβολή Κώδικα σε Πραγματικό Χρόνο:
- Χρήση ενός editor (π.χ., VS Code ή Code::Blocks) για live coding.
- Χρωματισμός σύνταξης (syntax highlighting) για καλύτερη κατανόηση.
- Επεξηγηματικά Σχόλια στον Κώδικα:
- Προσθήκη σχολίων που εξηγούν κάθε μέρος του κώδικα κατά την υλοποίηση.
- Διαγράμματα Ροής:
- Παρουσίαση ενός διαγράμματος ροής (flowchart) που δείχνει τη λογική του switch, ώστε να γίνει κατανοητό πώς λειτουργεί η επιλογή των περιπτώσεων.
3. Ενεργοποίηση Ενδιαφέροντος
- Πραγματικά Παραδείγματα:
- Αναφορά σε καταστάσεις όπου ένας calculator είναι χρήσιμος.
- Παρουσίαση παραδειγμάτων εισόδων και εξόδων (π.χ., 5 + 3 = 8).
- Ανατροφοδότηση σε Σφάλματα:
- Εξήγηση πιθανών λαθών (π.χ., διαίρεση με το μηδέν) και πώς να τα διαχειριστεί κάποιος στον κώδικα.
4. Διαδραστικότητα
- Ερωτήσεις κατά τη Διάρκεια:
- Ερώτηση προς τους θεατές, π.χ.: "Τι νομίζετε ότι θα συμβεί αν εισάγουμε ένα μη έγκυρο σύμβολο;"
- Προτροπή για Εξάσκηση:
- Παρότρυνση στους μαθητές να επεκτείνουν τον calculator, π.χ., προσθέτοντας νέες πράξεις όπως εκθέτες ή τετραγωνικές ρίζες.
5. Επαναληψιμότητα
- Ανακεφαλαίωση στο Τέλος:
- Σύνοψη των βημάτων και των βασικών εννοιών (π.χ., πώς λειτουργούν τα
case
και τοdefault
).
- Σύνοψη των βημάτων και των βασικών εννοιών (π.χ., πώς λειτουργούν τα
- Παραπομπές για Επιπλέον Μάθηση:
- Προτροπή για περαιτέρω μελέτη πάνω στις δομές επιλογής και επαναλήψεων.
6. Ενίσχυση της Κατανόησης
- Παρουσίαση με Απλά Λόγια:
- Αποφυγή περιττής ορολογίας και χρήση απλών, κατανοητών φράσεων.
- Συχνή Επανάληψη Κρίσιμων Εννοιών:
- Επανάληψη της σημασίας της δομής
switch
κατά τη διάρκεια του βίντεο.
- Επανάληψη της σημασίας της δομής
Ένα τέτοιο βίντεο μπορεί να βοηθήσει τους μαθητές να κατανοήσουν τις δομές επιλογής μέσω πρακτικής εφαρμογής και να δημιουργήσουν τον δικό τους κώδικα με αυτοπεποίθηση.
Δραστηριότητα 1η – Δομή Επιλογής
To βίντεο αυτής της δραστηριότητας προσφέρει τα παρακάτω παιδαγωγικά χαρακτηριστικά:
Οπτικοποίηση της πληροφορίας
- Χρήση διαφανειών και γραφικών: Παρουσιάζονται οι συνθήκες και οι εντολές μέσω διαγραμμάτων ροής, πίνακες και παραδείγματα κώδικα.
- Επισήμανση κώδικα: Οι βασικές λέξεις-κλειδιά (π.χ.,
if
,else
,switch
) τονίζονται με διαφορετικά χρώματα ή στυλ για να ξεχωρίζουν.
2. Πρακτικά παραδείγματα
- Παρουσίαση καθημερινών προβλημάτων που λύνονται με τη δομή επιλογής, ώστε να γίνει πιο κατανοητό το νόημα και η χρήση της (π.χ., έλεγχος ηλικίας χρήστη για πρόσβαση σε μια εφαρμογή).
- Διαρκής αναφορά στον κώδικα και εκτέλεση παραδειγμάτων σε πραγματικό χρόνο, ώστε οι μαθητές να βλέπουν τη λειτουργία της δομής επιλογής στην πράξη.
3. Διαδραστικότητα
- Παροτρύνει τους μαθητές να προβλέψουν τα αποτελέσματα των παραδειγμάτων πριν από την εξήγηση.
- Ενθαρρύνει την υποβολή ερωτήσεων ή την απάντηση σε σύντομες ερωτήσεις για κατανόηση.
4. Απλότητα και σαφήνεια
- Χρήση απλής γλώσσας και αποφυγή πολύπλοκων όρων που μπορεί να μπερδέψουν αρχάριους μαθητές.
- Ξεκάθαρη διάρθρωση: πρώτα θεωρία, μετά απλά παραδείγματα και τέλος σύνθετες περιπτώσεις.
5. Χρονική κλιμάκωση
- Το βίντεο προχωρά από εύκολα προς πιο δύσκολα παραδείγματα, επιτρέποντας στους μαθητές να χτίζουν τη γνώση τους σταδιακά.
6. Εστίαση στα λάθη
- Επισήμανση κοινών λαθών που κάνουν οι αρχάριοι (π.χ., παράλειψη αγκυλών
{}
ή χρήση της ανάθεσης=
αντί της σύγκρισης==
). - Παροχή τρόπων αποφυγής αυτών των λαθών.
7. Συμπερίληψη πραγματικών εφαρμογών
- Εξήγηση του πώς η δομή επιλογής χρησιμοποιείται σε μεγαλύτερα προγράμματα ή εφαρμογές, ώστε οι μαθητές να αντιληφθούν τη σημασία της.
8. Συνοδευτικό υλικό
- Παροχή επιπλέον πηγών, όπως συνδέσμους για το κατέβασμα του κώδικα, ασκήσεις ή τεστ για εξάσκηση.
9. Επανάληψη βασικών σημείων
- Επανάληψη σημαντικών εννοιών ή εντολών πριν τη μετάβαση σε νέα θέματα, ώστε να διασφαλίζεται η κατανόηση.
Με τη χρήση αυτών των χαρακτηριστικών, ένα τέτοιο βίντεο μπορεί να καταστήσει τη μάθηση ευχάριστη, διαδραστική και αποτελεσματική για τους μαθητές.
Περισσότερα για εκμάθηση της C στο παρακάτω κανάλι: