Pascal

Ξεκίνησε από joanna, 04 Νοε 2008, 12:05:31 ΜΜ

« προηγούμενο - επόμενο »

iliasthes

Υποθέτω πως τα παιδιά θα γράψουνε τον κώδικα στο χαρτί στις εξετάσεις, οπότε δεν έχει και πολύ μεγάλη σημασία. Αυτό που μετράει είναι να μην έχετε προβλήματα όπως εγώ που έβγαζε λάθη στο compilation σε σωστά προγράμματα και δεν δεχόταν longint μεταβλητές. Πάντως παράλειψη του υπουργείου. Δεν νομίζω να είναι πάνω από 100 σχολεία που μετέχουν στις εξετάσεις. Θα μπορούσε κάλλιστα να έχει αγοράσει άδειες για κάποιο σύγχρονο προγραμματιστικό περιβάλλον και να το διανέμει στα συγκεκριμένα σχολεία. Εδώ μας έχει γεμίσει cabri και interactive physics που μένουνε αναξιοποίητα τα bits στα cd.

stratosg

Καλά τώρα, κάτι μας είπες... Πριν από δυο-τρεις μέρες μας έστειλε το υπουργείο Java Beans. Δηλαδή κάτι το οποίο είναι δωρεάν και "χλωμό" να τρέξει στα σχολικά εργαστήρια πρό του 2006
Να φοβάσαι εκείνον που δεν έχει να χάσει τίποτα.

Crazy_Waters

Πολύ καλό περιβάλλον (και στα ελληνικά) είναι το PA.M.E. (Pascal Made Easy) του συναδέλφου Γιώργου Σαμαρτζίδη από την ιστοσελίδα http://users.lak.sch.gr/samartzidis/pame
Χρησιμοποιεί την έκδοση του μεταγλωττιστή FreePascal 2.0.4, η γραφική διεπαφή είναι στα Ελληνικά και υποστηρίζει την χρήση και εμφάνιση των Ελληνικών συμβολοσειρών στα προγράμματα Pascal. Δεν κάνω διαφήμιση - δεν τον γνωρίζω προσωπικά το συνάδελφο.

iliasthes

Πεσμένη η "Pascal" τις τελευταίες μέρες. Αλήθεια που βρίσκεστε στην ύλη συνάδελφοι;

vav

ΚΑΛΗΜΕΡΑ ΣΕ ΟΛΟΥΣ.
ΕΓΩ ΕΧΩ ΤΕΛΕΙΩΣΕΙ ΤΑ ΚΕΦΑΛΑΙΑ 1-2-3 ΚΑΙ 8-9-10.
ΚΑΛΗ ΣΥΝΕΧΕΙΑ ΣΕ ΟΛΟΥΣ.

dimitra

Εμείς έχουμε κάνει:
1, 2, 3 (το 4 το άφησα για μετά), 5, 6, 7,
8, 9
Ενιαίο, δημόσιο και δωρεάν δωδεκάχρονο σχολείο.

dimitra

Επισυνάπτω ένα τεστ για τα κεφάλαια 8 και 9.

Τα προγράμματα είναι απλά, ήθελα να τους "ανεβάσω" λίγο (...αν και δεν τα διόρθωσα ακόμη, ελπίζω να μην "πέσω" εγώ  :-\)

... Επίσης, sorry για το απαράδεκτο format του τεστ, αλλά θέλω να εξοικειωθούν λίγο οι μαθητές μου με το αντίστοιχο format των πανελληνίων.
Ενιαίο, δημόσιο και δωρεάν δωδεκάχρονο σχολείο.

xristina

Χαιρεται σε ολους.....
Εμεις εχουμε τελειώσει το 7 κεφαλαιο και πηγαινουμε δυναμικα στην pascal απο αυριο...
θελω να προτείνω ένα περιβάλλον για Pascal το FPS  http://ims.mii.lt/fps/en/down/index.html .
Βέβαια λίγο που κοίταξα πολύ καλό είναι και το pame που αναφερει ο Crazy_Waters.
Καλή συνέχεια σε όλους..........

iliasthes

Καλησπέρα αύριο τελειώνουμε και την επανάληψη στο κεφ. 8. Βέβαια δυστυχώς μπορώ να πω πως προχωράμε με την πλειοψηφία των μαθητών να έχουνε πάρα πολλά κενά σε προηγούμενες ενότητες. Επισυνάπτω κάποιες ασκησούλες για το κεφ. 8 και 9. Είναι παλιές ασκήσεις που είχα ετοιμάσει την σχολική χρονιά 2004-2005 που είχα διδάξει το μάθημα στην Β ΤΕΕ. 

marianad

Συνάδελφοι να κάνω μια ερώτηση γιατί δεν είμαι σίγουρη; Αφορά την άσκηση 6 στην σελίδα 96 του κεφαλαίου 10. Η λύση αυτή είναι σωστή;

program psifos;
uses wincrt;

var
    hlikia:integer;

begin
    write('Δώσε την ηλικία του ψηφοφόρου');
    readln(hlikia);
    case hlikia of
        0..17  :writeln('Το άτομο είναι ανήλικο');
        18..65 :writeln('O ψηφοφόρος υποχρεούται να ψηφήσει');
        >65    :writeln('Ο ψηφοφόρος δεν είναι υποχρεωμένος να ψηφήσει');
        else writeln('Η ηλικία που δώσατε δεν είναι έγκυρη');
    end;
end.

Βασικά η απορία μου είναι στην ετικέτα >65. Μπορούμε να το πούμε αυτό; Ευχαριστώ!

alkisg

Το μάθημα δεν το διδάσκω, ούτε έχω το βιβλίο για να δω την εκφώνηση, αλλά πάντως στην Pascal δεν επιτρέπονται διαστήματα ή ανισότητες στην case. Ούτε καν πραγματικοί αριθμοί.

Αν η εκφώνηση είναι όπως φαίνεται στην παραπάνω λύση, δηλαδή π.χ. για ηλικία = 1000 εμφανίζουμε "δεν είναι υποχρεωμένος να ψηφίσει" και για ηλικία -1 "δεν είναι έγκυρη", τότε θα πρέπει να βάλεις είτε if είτε τη σταθερά MAXINT.

Δηλαδή είτε
Κώδικας: Pascal
65..MAXINT: writeln('Ο ψηφοφόρος δεν είναι υποχρεωμένος να ψηφήσει')
else writeln('Η ηλικία που δώσατε δεν είναι έγκυρη');


είτε
Κώδικας: Pascal
else { του case }
  if hlikia > 65 then
    writeln('Ο ψηφοφόρος δεν είναι υποχρεωμένος να ψηφήσει')
  else { του if }
    writeln('Η ηλικία που δώσατε δεν είναι έγκυρη');

nefeli

Καλησπέρα,

Διδάσκω 8 χρόνια pascal στη Β'ΤΕΕ, αλλά τώρα που έγινε πανελλαδικά εξεταζόμενο αναγκάζομαι να ακολουθώ πιο πιστά το βιβλίο σε σημεία που παλαιότερα μπορούσα να αγνοήσω. Όσον αφορά τη συγκεκριμένη άσκηση, ακολουθώ παρόμοια λύση με αυτή που δόθηκε από τον alkisg. Δεν μπορούμε να χρησιμοποιήσουμε ανισότητες στις ετικέτες της case, αλλά μόνο τιμές ίδιου τύπου με την έκφραση/επιλογέα.

Παρόλα αυτά, νομίζω ότι για την case θα πρέπει να δοθούν διευκρινήσεις. Για παράδειγμα, στο βιβλίο δεν αναφέρεται η χρήση εύρους τιμών στις ετικέτες της case (δηλαδή το 0..17, 18..65, 65.. maxInt).  Εγώ τους το δίδασκα στην τάξη και το χρησιμοποιούσα στις ασκήσεις, αλλά δεν ξέρω στις πανελλήνιες αν θα γίνει αποδεκτό (εξαρτάται και από ποιους θα βαθμολογηθούν τα γραπτά, όπως έχουμε ξαναπεί).

Το κυριότερο πρόβλημα είναι ότι στο βιβλίο γράφεται ότι τόσο η έκφραση/επιλογέας όσο και οι ετικέτες πρέπει να είναι διατεταγμένου τύπου, δηλαδή τύπου που για κάθε ζεύγος τιμών του ισχύει μόνο μια από τις σχέσεις <,>,=. Αυτό όμως δεν είναι σωστό. Πρέπει να είναι ΤΑΚΤΙΚΟΥ τύπου (ordinal) (δηλάδή για κάθε τιμή να υπάρχει μια μοναδική προηγούμενη και επόμενη). Όπως αναφέρει και ο alkisg, στην case  δεν μπορούμε να χρησιμοποιήσουμε πραγματικούς (που είναι μεν διατεταγμένος τύπος αλλά όχι τακτικός). Νομίζω ότι είναι σημαντικό να δοθεί κάποια διευκρίνηση από τους αρμόδιους γιατί πολλά παιδιά βρίσκουν πιο εύκολα λύσεις με την case και θα πρέπει να ξέρουμε αν θα μπορούν να τη χρησιμοποιήσουν με πραγματικούς (όπως λέει έμμεσα τα βιβλίο τους) έστω και αν αυτό δεν είναι σωστο στην pascal. 

Περιμένω με ανυπομονησία και άλλες γνώμες...

kristi

Συνάδελφοι καλησπέρα! Δεν ξέρω αν στέλνω στο σωστό σημειο την απορία μου αλλα συγχωρέστε με γιατί είμαι   
νέο μέλος. Καταρχάς συγχαρητήρια σε όλουσ σας θεωρώ ότι μας βοηθάτε πολύ και μας τους νέουσ καθηγητές. Έχω κολήσει με την άσκηση 1 σελ 107 , κεφ 11. Αν μπορούσε κάποιοσ να με βοηθήσει θα του ήμουν ευγνώμων!!   

coletsos

Χρησιμοποιώντας τις ασκήσεις του iliasthes και το τεστ της dimitra έφτιαξα ένα διαγώνισμα το επισυνάπτω ώστε να το χρησιμοποιήσει όποιος θέλει αλλά και να μου πείτε τη γνώμη σας

nefeli

Καλησπέρα συνάδελφοι

Αυτή είναι μια λύση για την άσκηση 1, σελ. 107 του βιβλίου
...
read (x);  {x: ο αριθμός που δίνεται}
n:=1;      {n: η ζητούμενη δύναμη του αριθμού}
g:=2;      {g: η n-οστή δύναμη του 2}
while x>=g do
       begin
       n:=n+1;
       g:= g*2;
       end;
...
Μάλλον απίθανο τα παιδιά να καταλάβουν τον αλγόριθμο. Τουλάχιστον οι δικοί μου μαθητές δυσκολεύονται να καταλάβουν τι σημαίνει δύναμη ενός αριθμού. Εξίσου στη σφαίρα του εξωπραγματικού κινείται και η άσκηση 2 με τους αριθμούς Fibonacci. Ελπίζω να επικρατήσει κοινή λογική και να μη ζητήσουν τέτοια στις πανελλαδικές.

Είστε και άλλοι τόσο μπροστά στην ύλη; Εγώ σχεδιάζω να μπω΄στο κεφ. 11 με τη νέα χρονιά και να μείνω αρκετά αρχικά στη FOR και υπολογίζω τέλος Γενάρη για while και repeat. Αυτές δε τις ασκήσεις θα τους τις λύσω κατά το Πάσχα (και ζήτημα είναι, γιατί θα με πάρουν με ντομάτες).