Αλγόριθμοι. Χαρίκλεια Τσαλαπάτα 29/2/2012

Σχετικά έγγραφα
Μαθησιακές δυσκολίες. Παλαιγεωργίου Γιώργος. Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών Τηλεπικοινωνιών και Δικτύων, Πανεπιστήμιο Θεσσαλίας Μάρτιος 2010

Μαθησιακές δυσκολίες ΙΙ. Παλαιγεωργίου Γιώργος Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών Τηλεπικοινωνιών και Δικτύων, Πανεπιστήμιο Θεσσαλίας

Μαθησιακές δυσκολίες ΙΙ. Παλαιγεωργίου Γιώργος Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών Τηλεπικοινωνιών και Δικτύων, Πανεπιστήμιο Θεσσαλίας

Διδακτική της Πληροφορικής

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Ενότητα 11: Θέματα Διδακτικής Προγραμματισμού: βασικές δομές (μεταβλητή, επανάληψη, επιλογή)

Διδακτικά προβλήματα σχετικά με την έννοια της επανάληψης

Πληροφορική 2. Αλγόριθμοι

ΑΕΠΠ Ερωτήσεις θεωρίας

ΜΕΡΙΚΑ ΣΤΟΙΧΕΙΑ ΓΙΑ ΤΙΣ ΓΛΩΣΣEΣ ΠPOΓPAMMATIΣMOY

ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α A1. 2-Λάθος 3-Λάθος 4-Σωστό 5-Λάθος A2. integer. real. Boolean. char. string A3.

Δομή Επανάληψης. Κεφάλαιο 7 Mike Trimos

Διδακτική της Πληροφορικής ΙΙ

ΑΠΑΝΤΗΣΕΙΣ. H διαδικασία ανεύρεσης λογικών λαθών περιλαμβάνει : β- Σωστό. Διαπίστωση του είδους του λάθους γ- Σωστό δ- Λάθος

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

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

Διδακτική της Πληροφορικής

Διδακτική της Πληροφορικής

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛΑ ΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α Β ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Εντολές Ελέγχου & Επανάληψης

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός...

ΛΟΓΙΚΑ ΔΙΑΓΡΑΜΜΑΤΑ. Γ Λυκείου Κατεύθυνσης Mike Trimos

Διδακτική Προγραμματισμού. Χαρίκλεια Τσαλαπάτα 20/2/2012

ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΗΣ

ΟΜΑΔΑ Ε ΓΕΩΡΓΙΟΥ ΦΩΤΕΙΝΗ ΗΛΙΟΥΔΗ ΑΦΡΟΔΙΤΗ ΜΕΤΑΛΛΙΔΟΥ ΧΡΥΣΗ ΝΙΖΑΜΗΣ ΑΛΕΞΑΝΔΡΟΣ ΤΖΗΚΑΛΑΓΙΑΣ ΑΝΔΡΕΑΣ ΤΡΙΓΚΑΣ ΑΓΓΕΛΟΣ

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. β. Οι πληροφορίες είναι δεδομένα τα οποία δεν έχουν υποστεί επεξεργασία.

Α3. Ποια είναι τα πλεονεκτήματα του Δομημένου προγραμματισμού; (Μονάδες 10)

Πρόλογος Η Πληροφορική στην εκπαίδευση: γνωστικό αντικείμενο και εκπαιδευτικό μέσο... 17

Βασικές Έννοιες Αλγορίθμων Τι είναι αλγόριθμος

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ-ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΚΑΔΗΜΑΪΚΟ ΕΠΑΛ- ΚΑΝΙΓΓΟΣ 13- ΤΗΛ

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013

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

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

ΠΛΗΡΟΦΟΡΙΚΗ ΣΤΟ ΕΝΙΑΙΟ ΛΥΚΕΙΟ

Αλγόριθμοι. Βασικές έννοιες ΤΕΛΟΣ

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ

2. β. Συνθήκη ή επιλογή. 4. δ. Υποπρόγραμμα. 5. ε. ιαδικασία εισόδου ή εξόδου

Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού

A3. Μονάδες 5 Α4. Μονάδες 10 ΘΕΜΑ B. Β1. writeln Περιεχόμενα Εντολή Αποτελέσματα Παραμέτρων Μονάδες 20 ΘΕΜΑ Γ.

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ

Ανάπτυξη εφαρμογών/ Βασικές γνώσεις/ πρώτο θέμα ΕΡΩΤΗΣΕΙΣ ΣΥΝΤΟΜΗΣ ΑΠΑΝΤΗΣΗΣ

2. β. Συνθήκη ή επιλογή. 4. δ. Υποπρόγραμμα. 5. ε. ιαδικασία εισόδου ή εξόδου

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

Pascal, απλοί τύποι, τελεστές και εκφράσεις

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

ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΡΙΤΗ 3 ΙΟΥΝΙΟΥ ΑΕΠΠ

Computing. Νοέμβριος Έκδοση 1.0

ιαφάνειες παρουσίασης #3

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

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

ΘΕΜΑ 1ο Α. 1-6 Σωστό Λάθος Μονάδες 12 Β. Στήλης Στήλης Β Στήλης Α Στήλης Β).

A. Να γράψετε τον αριθμό της κάθε μιας από τις παρακάτω προτάσεις και δίπλα. το γράμμα Σ, εάν είναι σωστή, ή το γράμμα Λ, εάν είναι λανθασμένη.

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ:

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΑΠΡΙΛΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ)

Σκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL

ΚΕΦΑΛΑΙΟ 10 ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ (ή εντολές Ελέγχου και Επιλογής ή εντολές Επιλογής και Απόφασης)

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Ψευδοκώδικας. November 7, 2011

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 2 : Αλγόριθμοι. Δρ. Γκόγκος Χρήστος

α. Λογικό διάγραμμα είναι η μέθοδος που χρησιμοποιεί απλά σχήματα που υποστηρίζονται με απλές λέξεις για την αναπαράσταση συγκεκριμένων λειτουργιών.

ιαφάνειες παρουσίασης #2

Επικοινωνία:

Ο αλγόριθμος πρέπει να τηρεί κάποια κριτήρια

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Γραπτές εξετάσεις στο μάθημα: ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (Θ) Εισηγητής: Γεωργίου Χρήστος ΘΕΜΑΤΑ & ΑΠΑΝΤΗΣΕΙΣ. Β. Χαρακτήρας(Αλφαριθμητικά)

Βασικές Έννοιες Αλγορίθμων. Βασικές Εντολές Αλγορίθμων (Κεφ. 2ο Παρ. 2.4)

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

Εισαγωγή στην πληροφορική

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

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

Θεωρία Προγραμματισμού

Γκύζη 14-Αθήνα Τηλ :

Εισαγωγή - Βασικές έννοιες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

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

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) a= b= c= 3 read(d,e)

Επαναληπτικές Διαδικασίες

Αρχές Προγραμματισμού Η/Υ Μέθοδοι παρουσίασης του αλγόριθμου και Βασικές έννοιες

Προγραμματισμός PASCAL

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

Πρόβλημα 37 / σελίδα 207

Φροντιστήρια Επίγνωση Προτεινόμενα Θέματα Πανελλαδικών 2014

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων

Transcript:

Αλγόριθμοι Χαρίκλεια Τσαλαπάτα 29/2/2012

Αλγόριθμος Θεμελιώδης έννοια της πληροφορικής Είναι πεπερασμένη σειρά βημάτων για την επίλυση δεδομένου προβλήματος Αλγοριθμική σκέψη: η διαδικασία ανάπτυξης αλγορίθμων Ανθρώπινη δεξιότητα υψηλού επιπέδου Ζητούμενο για σύγχρονα εκπαιδευτικά συστήματα

Χαρακτηριστικά Καλά δομημένα βήματα Περιγράφει τα δεδομένα εισόδου Περιγράφει τα αποτελέσματα με ακρίβεια Είναι αποτελεσματικός

Θεμελιώδης ρόλος των αλγορίθμων Χωρίς αλγόριθμο δεν υπάρχει πρόγραμμα Είναι ανεξάρτητος από γλώσσες προγραμματισμού Διδακτική αλγορίθμων Ανάλυση σύνθετης εργασίες σε απλούστερες Αναγνώριση επαναλαμβανόμενων εργασιών Εκτίμηση της διάρκειας μιας εργασίας Επαλήθευση της επιθυμητής λειτουργίας (αν δίνει το επιθυμητό αποτέλεσμα)

Πρόγραμμα Σειρά εντολών σε γλώσσα προγραμματισμού Εκτέλεση συγκεκριμένων εντολών για να επιτευχθεί μια διαδικασία

Τρόποι αναπαράστασης αλγορίθμων Φευτοκώδικας Αναπαράσταση σε συμβατική γλώσσα Διάγραμμα ροής Πλεονεκτήματα: σχηματική οπτικοποίηση του αλγορίθμου Μειονέκτημα: δεν ακολουθεί τη διατύπωση δομημένων προγραμμάτων

Δομημένος προγραμματισμός Οργανώνουμε τις εντολές με τρόπο που να ελαχιστοποιεί την πιθανότητα λάθους και παρανοήσεων Διαδικαστική προσέγγιση προγραμματισμού (Dijkstra) Καταργεί την εντολή GOTO και τα άλματα μέσα στον κώδικα Δομές! Διευκολύνεται ο έλεγχος του προγράμματος και ο εντοπισμός λαθών

Βασικές δομές δομημένου προγραμματισμού Ακολουθία ή διαδοχή Επιλογή Επανάληψη Αναδρομή

Δυσκολίες εκμάθησης Χαρίκλεια Τσαλαπάτα 29/2/2012

Λάθη μαθητών Σε όλες τις επιστήμες (θετικές και ανθρωπιστικές), κατά την επίλυση προβλημάτων παρουσιάζονται ορισμένα λάθη τα οποία είναι σχεδόν προβλέψιμα Συστηματικά Διαδεδομένα «Αντιστέκονται» σε κάθε προσπάθεια εξάλειψης τους.

Λάθη μαθητών Ορισμένες από τις αντιλήψεις των μαθητών είναι βαθειά ριζωμένες και μπορούν να αποτελέσουν πραγματικά εμπόδια στην (γνωστική) εξέλιξη των ατόμων.

Παραδείγματα από τα μαθηματικά Υπάρχουν αριθμοί ανάμεσα στο 3.456 και στο 3.457; Υπάρχουν αριθμοί ανάμεσα στο 3,999 (περιοδικός).. και το 4; Σε ένα πλοίο υπάρχουν 26 πρόβατα και 10 κατσίκες. Ο καπετάνιος αγοράζει ένα ζώο από τη μέρα που γεννήθηκε. Πόσων ετών είναι ο καπετάνιος;

Παραδείγματα από τη φυσική Τα βαρύτερα σώματα πέφτουν πιο γρήγορα από τα πιο ελαφριά Αν αφήσω μια σιδερένια μπάλα από το κατάρτι ενός πλοίου που ταξιδεύει, η μπάλα θα πέσει στη βάση του καταρτιού;

Παραδείγματα από τον προγραμματισμό EMVADON:=VASIS * YPSOS; readln (VASIS); Readln (YPSOS); Writeln EMVADON; Αν VASIS=8 και ΥPSOS=4, τότε ποιο είναι το αποτέλεσμα της εκτέλεσης του;

Δυσκολίες εκμάθησης προγραμματισμού Χαρίκλεια Τσαλαπάτα 29/2/2012

Η έννοια της μεταβλητής (1) Ονόματα σε θέσης μνήμης Χρήση κατάλληλου ονόματος βοηθά στην κατανόηση Συστατικά (Horowitz)

Η έννοια της μεταβλητής (2) X:= X+ 1; Αριστερά τρέχουσα τιμή, δεξιά αναφορά Η κατανόηση της έννοιας της μεταβλητής είναι σημαντική στον προγραμματισμό (Dijsktra) Η αποθήκευση δεδομένων με μορφή μεταβλητής είναι δύσκολο να κατανοηθεί (Duforer) Ακόμη πιο δύσκολο γιατί η αποθήκευση περιέχει την έννοια της ανάθεσης (εκχώρησης) τιμής και της εμφάνισης

Διδακτικά προβλήματα σε σχέση με μεταβλητές Ανάθεση τιμής Τύπος (δυνατές τιμές, δυνατές πράξεις, κλπ) Λάθος κατηγορία μεταβλητής Αρχικές τιμές Συντακτικό και συμβάσεις

Μεταβλητές

Μαθησιακές δυσκολίες στον προγραμματισμό (1) Τι είναι προγραμματισμός (orientation): Οι μαθητές δεν κατανοούν τα οφέλη που αποκομίζουν από την απόκτηση δεξιοτήτων στην επίλυση προβλημάτων μέσω του υπολογιστή Δηλαδή: Το πως μπορούν να αξιοποιήσουν τις δεξιότητες που αποκτούν Τα είδη προβλημάτων που μπορούν να επιλύονται μέσω του υπολογιστή.

Μαθησιακές δυσκολίες στον προγραμματισμό (2) Λειτουργία του υπολογιστή: Δυσκολίες στην κατανόηση του τρόπου λειτουργίας του υπολογιστή. Για παράδειγμα: Δε γνωρίζουν πως ο υπολογιστής διαχειρίζεται τις μεταβλητές Δε μπορούν να διακρίνουν αν τα μηνύματα που εμφανίζονται στην οθόνη αποτελούν αποτέλεσμα της εκτέλεσης ενός προγράμματος

Μαθησιακές δυσκολίες στον προγραμματισμό (3) Συντακτικό και σημασιολογία της γλώσσας προγραμματισμού: Λάθη που αφορούν στο συντακτικό της γλώσσας προγραμματισμού που χρησιμοποιούν. Δυσκολία στην κατανόηση της σημασιολογίας των προγραμματιστικών δομών Οι μαθητές δεν είναι σε θέση να εξηγούν τη λειτουργία των εντολών και τον τρόπο με τον οποίο ο υπολογιστής τις εκτελεί

Μαθησιακές δυσκολίες στον προγραμματισμό (4) Σχέδια επίλυσης Δυσκολία στην εφαρμογή μιας στρατηγικής για επίλυση Προσπαθούν με μη οργανωμένους τρόπους να προσεγγίσουν ένα πρόβλημα

Μαθησιακές δυσκολίες στον προγραμματισμό (5) Στη διαδικασία ανάπτυξης ενός προγράμματος Τη δοκιμή Την αποσφαλμάτωση Τις διορθώσεις

Μαθησιακές δυσκολίες στον προγραμματισμό (6) Οφείλονται σε: Λάθος νοητικό μοντέλο για το πώς λειτουργεί ο υπολογιστής Εσφαλμένες αντιλήψεις σχετικά με τις δυνατότητες του υπολογιστή Θεωρούν ότι οι εντολές εκτελούνται με τον τρόπο που τις έχουν στο μυαλό τους και όχι με τον πραγματικό τρόπο εκτέλεσης του υπολογιστή

Μεταβλητές

Ανάθεση τιμής Συντακτικό και συμβάσεις Pascal: Sum:=Sum + N; Πιο κατανοητό: Provisory := Sum + N; Sum:=Provisory;

Εκχώρηση σταθερής τιμής Καλό σύμβολο για ψευδο-γλώσσα είναι το Μεταβλητή Έκφραση Εκχώρηση σταθερής τιμής a:= 15; list:= word ; test:=true; Πρέπει να εξηγηθεί το λάθος παρακάτω: 15:=x;

Εκχώρηση τιμής μετά από υπολογισμό Υπολογισμοί a := 15+4; y := x+4;

Αντικατάσταση x:= y; Πρέπει να μελετάται συνέχεια (ανάγκη βοηθητικής μεταβλητής) a:=10; b:=20; s:=a; a:=b; b:=s;

Συσσώρευση (accumulation) x:= x+1; sum:=sum+n; expn:=expn*n; Συχνό λάθος που μεταφέρεται από τα μαθηματικά είναι η σύγχυση της εκχώρησης με την ισότητα x=y αντί για x:=y; Άλλο λάθος που μεταφέρεται από τα μαθηματικά x y και y x δεν είναι ισοδύναμα

Παράδειγμα διδακτικής προσέγγισης Χρησιμοποιούμε τη γραφική παράσταση / εικόνα ενός κουτιού «Τοποθετούμε τιμή» μέσα στο κουτί

Δομές ελέγχου

Δομές ελέγχου (1) Απόφαση μεταξύ 2 διαφορετικών καταστάσεων Συνθήκες Αληθής ή λάθος κατάσταση Απλή, διπλή, πολλαπλή επιλογή

Δομές ελέγχου (2) ΑΝ συνθήκη ΤΟΤΕ επεξεργασία 1 ΑΝ συνθήκη ΤΟΤΕ επεξεργασία 1 ΑΛΛΙΩΣ επεξεργασία 2 ΑΝ συνθήκη 1 ΤΟΤΕ επεξεργασία 1 ΑΝ συνθήκη 2 ΤΟΤΕ επεξεργασία 2.. ΑΛΛΙΩΣ επεξεργασία Ν

Μαθησιακά προβλήματα σε σχέση με δομές Λογικό περιεχόμενο των συνθηκών Συμβολικές αναπαραστάσεις Συντακτικό (με βάση τη χρησιμοποιούμενη γλώσσα προγραμματισμού) Αλληλεπιδράσεις με τις αναπαραστάσεις ακολουθιακής μορφής εκτέλεσης Βοηθούν γνώσεις Μαθηματικών Λογικής

Συνηθισμένα λάθη Αν η συνθήκη είναι ψευδής το πρόγραμμα σταματά Αν η συνθήκη είναι ψευδής πηγαίνουμε στην αρχή του προγράμματος

Δυσκολίες Η αναπαράσταση που διαθέτουν οι μαθητές για τη σειριακή εκτέλεση του προγράμματος Σειριακά υπάρχει αλληλουχία εντολών Οι δομές ελέγχου διακόπτουν τη γραμμική αλληλουχία Ακολουθείται μόνο μία από τις δυνατές δομές

Η εντολή GOTO

Δυσκολίες Το λογικό περιεχόμενο και ο συνδυασμός περιπτώσεων ((x>10) AND (x<20)) OR (x>30)) Οι συμβολικές αναπαραστάσεις (x<10) OR (x=10) ή (x<=10) Η διαφορά ανάμεσα στη σύνταξη της καθημερινής ομιλίας και στη σύνταξη προγραμμάτων Π.χ.

Παραδείγματα προβλημάτων Π.χ. στην καθομιλουμένη «αν όλοι οι στρατιώτες σκοτωθούν το παιχνίδι τελειώνει» στον υπολογιστή «αν ο αριθμός των σκοτωμένων είναι ίσος με το συνολικό αριθμό των στρατιωτών τότε το παιχνίδι τελειώνει»

Παράδειγμα διδακτικής προσέγγισης (1) Program megalyteros1; Var X, Y, Meg: Real; BeginWriteln( Δώσε δύο αριθμούς: ); Readln(X, Y); Meg:=Y; If X>Y then Meg:=X; Writeln( Μεγαλύτερος είναι ο αριθμός:, Meg) End.

Παράδειγμα διδακτικής προσέγγισης (2) Program megalyteros2; Var X, Y, Meg: Real; BeginWriteln( Δώσε δύο αριθμούς: ); Readln(X, Y); If X<=Y then Meg:=Y; If X>Y then Meg:=X; Writeln( Μεγαλύτερος είναι ο αριθμός:, Meg) End.

Παράδειγμα διδακτικής προσέγγισης (3) Program megalyteros3; Var X, Y, Meg: Real; BeginWriteln( Δώσε δύο αριθμούς: ); Readln(X, Y); If X>Y then Meg:=X else Meg:=Y; Writeln( Μεγαλύτερος είναι ο αριθμός:, Meg) End.

Επανάληψη

Δομή ΟΣΟ συνθήκη ΕΠΑΝΕΛΑΒΕ Εντολή 1 Εντολή 2 Εντολή Ν ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ Εντολή 1 Εντολή 2 Εντολή Ν ΜΕΧΤΙΣ_ΟΤΟΥ συνθήκη

Δυσκολίες Διαφορετικές δομές (προ και μετα-ελεγχόμενες) και η αντίθετη πορεία συλλογισμού: REPEAT UNTIL WHILE DO Ειδική περίπτωση το FOR STEP UNTIL Ο σωστός ορισμός της συνθήκης ελέγχου ανάλογα με τη δομή Το WHILE DO μπορεί να μην εκτελεστεί ποτέ Το REPEAT UNTIL εκτελείται τουλάχιστον μια φορά

Παράδειγμα διδακτικής προσέγγισης Άθροισμα των 100 πρώτων ακεραίων BASIC PASCAL Sum=0; FOR i=1 to 100 STEP 1 Sum = sum + I NEXT I PRINT SUM begin Sum :=0; For i:=1 to 100 DO sum := sum + 1; Writeln (sum) end

Συνέχεια παραδείγματος PASCAL Begin sum:=0; i:=0; Repeat i:=i+1; sum:=sum+i Until I=100; Writeln (sum) end PASCAL Begin sum:=0; i:=0; While i<=100 do sum:=sum+i; i:=i+1 end; Writeln (sum) end

Διαδικασίες

Διαδικασίες Από τους πρώτους τύπους αφαίρεσης (procedural abstraction) Αντιστοίχιση συνόλου εισόδων σε σύνολο εξόδων Η περιγραφή δεν αποκαλύπτει τον τρόπο με τον οποίο υπολογίζονται οι τιμές των εξόδων Επιτρέπει να εστιάσουμε στην κλήση και όχι στον τρόπο που γίνονται οι υπολογισμοί (Horowitz) Βελτιώνουν τη λογική και αισθητική του προγράμματος Κατάτμηση σε μικρότερες ενότητες

Παράδειγμα διαδικασίας σε LOGO Τρίγωνο πλευράς σταθερού μήκους: TO triangle REPEAT 3 [FD 100 RT 120] END Τρίγωνο πλευράς μεταβλητού μήκους TO TRIAGLE : length REPEAT 3 [FD : length RT 120] END

Αναδρομικότητα

Η έννοια της αναδρομής Εμφανίζεται στην καθημερινή ζωή (έργα Escher, Bach) Εμφανίζεται στο φυσικό περιβάλλον

Παραδείγματα αναδρομής Escher

Παραδείγματα αναδρομής Fractals

Αναδρομικές διαδικασίες στον προγραμματισμό Οι αναδρομικές διαδικασίες είναι πολύ σημαντικές στον προγραμματισμό Καλούν τον εαυτό τους Βοηθούν στην επίλυση περίπλοκων προβλημάτων Δεν περιέχουν εντολή εκχώρησης και δεν τροποποιούν μεταβλητές

Στα μαθηματικά είναι η έννοια της επαγωγής Έστω S σύνολο από πραγματικούς αριθμούς με τις εξής 2 ιδιότητες Α) ο αριθμός 1 ανήκει στο S και Β) αν ο ακέραιος k ανήκει στο S, ο ακέραιος k+1 ανήκει στο S Τότε κάθε θετικός ανήκει στο S.

Υποστήριξη αναδρομής Όλες οι γλώσσες προγραμματισμού την υποστηρίζουν Μπορεί να αντικατασταθεί με δομή επανάληψης Όμως είναι πιο περιληπτική και κομψή Η λανθασμένη εκτέλεση καταναλώνει τους πόρους του συστήματος και μπορεί να οδηγήσει γρήγορα σε απότομο τερματισμό Αλλάζουν το προγραμματιστικό μοντέλο από διαδικαστικό σε αναδρομικό

Διδακτικά προβλήματα Υπάρχουν σημαντικά! Πρέπει να προβλεφθεί ο τερματισμός, που και πως Αποφεύγεται η κυκλικότητα εφόσον τα δεδομένα γίνονται σταδιακά πιο απλά Στο τέλος τα δεδομένα είναι τόσο απλά που η διαδικασία δε χρειάζεται να καλέσει τον εαυτό της (Goldschlager & Lister) Λανθασμένη αντίληψη Είτε σαν μοναδικό αντικείμενο (αντί για σειρά από στιγμιότυπα) Είτε κάλεσμα διαδοχικών αντιγράφων

Δόμηση Παραμετροποίηση του προβλήματος Αναγνώριση τετριμμένης περίπτωσης (τερματισμού) Αποσύνθεση γενικής περίπτωσης που οδηγεί σε απλούστερες περιπτώσεις (μείωση)

Παράδειγμα διδακτικής παρέμβασης (1) Για να σχεδιάσεις ένα μοτίβο Σχεδίασε το βασικό σχέδιο Σχεδίασε ένα μικρότερο μοτίβο

Παράδειγμα διδακτικής παρέμβασης (2) TO antistrofimetrisi :n if :n = 0 [stop] print :n antistrofimetrisi :n-1 end

Παράδειγμα διδακτικής παρέμβασης (3) Function FIB (N: INTEGER) : INTEGER; BEGIN IF (N<2) THEN FIB:=1 ELSE FIB := FIB (N-1) + FIB(N-2) END;

Πηγές Παλαιγεωργίου Κόμης