Αποφάσισα να ανοίξουμε ένα νέο θέμα σχετικά με την Pascal, μιας και από ό,τι έχω καταλάβει οι περισσότεροι θα προσπεράσουμε τα κεφάλαια θεωρίας και θα μπούμε κατευθείαν στο ψητό... Εγώ τουλάχιστον αυτό θα κάνω και κάποια στιγμή θα διδάξω και την θεωρία των κεφαλαίων που προηγούνται της Pascal. Αν ψάξει κανείς στο Internet θα βρει πολλές και καλές ασκήσεις. Ενδεικτικά αναφέρω κάποια links όπου βρήκα ενδιαφέρουσες ασκήσεις:
- http://www.it.uom.gr/project/itweb21/exercises.htm
- http://dide.flo.sch.gr/Plinet/Tutorials/Pascal-Exercises.pdf
- http://dide.flo.sch.gr/Plinet/Tutorials/Tutorials-Pascal.html
- http://www.de.sch.gr/~adamopou/sch/pascal-0.html
Επίσης, αν πάει κανείς στον Παπασωτηρίου μπορεί να βρει αρκετά βιβλία Pascal.
Το θετικό πάντως από την όλη υπόθεση είναι ότι οι πίνακες είναι εκτός ύλης, οπότε παλεύεται.... :) Αλλιώς νομίζω θα τρέχαμε και δε θα φτάναμε!
Γεια σας συνάδελφοι.
Θα ήθελα να κάνω μία ερώτηση:
Στην ύλη το υποκεφάλαιο 4.4.4 (αναδρομή) είναι εκτός ύλης.
Στο υποκεφάλαιο 12.2.1 το οποίο όμως είναι εντός της ύλης υπάρχει στο τέλες του στη σελ 121 μία παράγραφος για αναδρομή και στην επόμενη σελίδα (122) ένα παράδειγμα.
Είναι εντός ή εκτός ύλης αυτό ?
Έχετε σκοπό να διδάξετε αναδρομή στην PASCAL ???
Άλλη ένα πρόβλημα από τα πολλά που υπάρχουν..
Συνάδελφε σαν παρατήρηση στην ύλη αναφέρεται πως δεν θα δοθούνε ασκήσεις, δραστηριότητες ή ερωτήσεις για την επεξεργασία των οποίων απαιτείται ύλη που έχει εξαιρεθεί. Δηλαδη αν μια προγραμματιστική άσκηση απαιτεί την γνώση της αναδρομής ακόμα και αν είναι σε ενότητα που είναι εντός ύλης, απλά αγνοείς την άσκηση.
Εγώ να ρωτήσω κατι άλλο ρε παιδια, σε πιο περιβάλλον (IDE) θα διδαχτει η pascal?? ???
Μια καλή επιλογή είναι η Turbo Pascal
Ένα πολύ καλό περιβάλλον και δωρεάν είναι αυτό
http://www.bloodshed.net/dev/devpas192.exe (http://www.bloodshed.net/dev/devpas192.exe)
ή για όσους έχουν Mac το παρακάτω
http://www.pascal-central.com/lwp/lightweight.html (http://www.pascal-central.com/lwp/lightweight.html)
Παράθεση από: cperdiko στις 11 Νοε 2008, 10:23:17 ΜΜ
Εγώ να ρωτήσω κατι άλλο ρε παιδια, σε πιο περιβάλλον (IDE) θα διδαχτει η pascal?? ???
Αν και όπως είδα οι περισσότεροι προσπερνάτε την θεωρία, εγώ τον χαβά μου, χαχα. ;D. Επισυνάπτω γραπτή εξέταση για τις ενότητες 7.1-7.2.2. Γενικά σχεδόν σε κάθε μάθημα την εξέταση την κάνω γραπτά, όχι τόσο για να βαθμολογήσω τα παιδιά, αλλά για να βοηθήσω τα 2-3 παιδιά που ετοιμάζονται σοβαρά για τις εξετάσεις να κρατιούνται σε "φόρμα".
Ευχαριστώ για τις απαντήσεις σας. Το υπουργείο δηλαδή αφήνει στην κρίση του καθενός ποιο IDE θα χρησιμοποιηθεί? Δε προτείνει κάποιο?
Παράθεση από: cperdiko στις 12 Νοε 2008, 04:51:20 ΜΜ
Ευχαριστώ για τις απαντήσεις σας. Το υπουργείο δηλαδή αφήνει στην κρίση του καθενός ποιο IDE θα χρησιμοποιηθεί? Δε προτείνει κάποιο?
Όχι, δε προτείνει τίποτα, απλά η λογική του είναι να σε κάτι συμβατό με turbo pascal
Καλησπέρα τρεις ασκησούλες κατανόησης του Κεφ. 7 και μια δραστηριότητα για την εισαγωγή στην Pascal.
Εγώ για pascal προτείνω:
http://www.freepascal.org/
http://www.lazarus.freepascal.org/
Επίσης κάποιες ασκησούλες στην Pascal (μόνο δομή ακολουθίας). Κάποιες είναι κλεμμένες από βοηθήματα της ΑΕΠΠ ::)
Επίσης από τώρα σκέφτομαι πως θα είναι το πακέτο ασκήσεων των Χριστουγέννων. Θέλω να σκεφτώ διασκεδαστικές ασκήσεις αλλά δεν μου κατεβαίνουν στο κεφάλι... Θέλει φαντασία... Όποιος έχει καμία καλή ιδέα...
Ιωάννα αν και αποκλειστικά για προσωπική χρήση χρησιμοποιώ λογισμικό ανοικτού κώδικα. Η FreePascal μου κατέστρεψε το μάθημα προχθές. Την είχα εγκαταστήσει απότ ην αρχή της χρονιάς και την Δευτέρα που γράψαμε το πρώτο πρόγραμμα το compilation ήταν άστα να πάνε. Όσοι συνάδελφοι σκοπεύουν να την χρησιμοποιήσουν, ας "τρέξουν" μερικά προγράμματα δοκιμαστικά πριν προσπαθήσουν να κάνουν μάθημα, για να μην εκτεθούν.
καλυτερα Turbo Pascal είναι λίγο φτωχό το περιβάλλον αλλα ανταποκρίνεται πλήρως στο μάθημα..
Ναι, Turbo Pascal ίσως είναι καλύτερα, αλλά στο τέλος τα παιδιά θα εξεταστούν Pascal ή Turbo Pascal, ή μάλλον ποιο περιβάλλον προτείνεται από το Υπουργείο;
Υποθέτω πως τα παιδιά θα γράψουνε τον κώδικα στο χαρτί στις εξετάσεις, οπότε δεν έχει και πολύ μεγάλη σημασία. Αυτό που μετράει είναι να μην έχετε προβλήματα όπως εγώ που έβγαζε λάθη στο compilation σε σωστά προγράμματα και δεν δεχόταν longint μεταβλητές. Πάντως παράλειψη του υπουργείου. Δεν νομίζω να είναι πάνω από 100 σχολεία που μετέχουν στις εξετάσεις. Θα μπορούσε κάλλιστα να έχει αγοράσει άδειες για κάποιο σύγχρονο προγραμματιστικό περιβάλλον και να το διανέμει στα συγκεκριμένα σχολεία. Εδώ μας έχει γεμίσει cabri και interactive physics που μένουνε αναξιοποίητα τα bits στα cd.
Καλά τώρα, κάτι μας είπες... Πριν από δυο-τρεις μέρες μας έστειλε το υπουργείο Java Beans. Δηλαδή κάτι το οποίο είναι δωρεάν και "χλωμό" να τρέξει στα σχολικά εργαστήρια πρό του 2006
Πολύ καλό περιβάλλον (και στα ελληνικά) είναι το PA.M.E. (Pascal Made Easy) του συναδέλφου Γιώργου Σαμαρτζίδη από την ιστοσελίδα http://users.lak.sch.gr/samartzidis/pame
Χρησιμοποιεί την έκδοση του μεταγλωττιστή FreePascal 2.0.4, η γραφική διεπαφή είναι στα Ελληνικά και υποστηρίζει την χρήση και εμφάνιση των Ελληνικών συμβολοσειρών στα προγράμματα Pascal. Δεν κάνω διαφήμιση - δεν τον γνωρίζω προσωπικά το συνάδελφο.
Πεσμένη η "Pascal" τις τελευταίες μέρες. Αλήθεια που βρίσκεστε στην ύλη συνάδελφοι;
ΚΑΛΗΜΕΡΑ ΣΕ ΟΛΟΥΣ.
ΕΓΩ ΕΧΩ ΤΕΛΕΙΩΣΕΙ ΤΑ ΚΕΦΑΛΑΙΑ 1-2-3 ΚΑΙ 8-9-10.
ΚΑΛΗ ΣΥΝΕΧΕΙΑ ΣΕ ΟΛΟΥΣ.
Εμείς έχουμε κάνει:
1, 2, 3 (το 4 το άφησα για μετά), 5, 6, 7,
8, 9
Επισυνάπτω ένα τεστ για τα κεφάλαια 8 και 9.
Τα προγράμματα είναι απλά, ήθελα να τους "ανεβάσω" λίγο (...αν και δεν τα διόρθωσα ακόμη, ελπίζω να μην "πέσω" εγώ :-\)
... Επίσης, sorry για το απαράδεκτο format του τεστ, αλλά θέλω να εξοικειωθούν λίγο οι μαθητές μου με το αντίστοιχο format των πανελληνίων.
Χαιρεται σε ολους.....
Εμεις εχουμε τελειώσει το 7 κεφαλαιο και πηγαινουμε δυναμικα στην pascal απο αυριο...
θελω να προτείνω ένα περιβάλλον για Pascal το FPS http://ims.mii.lt/fps/en/down/index.html .
Βέβαια λίγο που κοίταξα πολύ καλό είναι και το pame που αναφερει ο Crazy_Waters.
Καλή συνέχεια σε όλους..........
Καλησπέρα αύριο τελειώνουμε και την επανάληψη στο κεφ. 8. Βέβαια δυστυχώς μπορώ να πω πως προχωράμε με την πλειοψηφία των μαθητών να έχουνε πάρα πολλά κενά σε προηγούμενες ενότητες. Επισυνάπτω κάποιες ασκησούλες για το κεφ. 8 και 9. Είναι παλιές ασκήσεις που είχα ετοιμάσει την σχολική χρονιά 2004-2005 που είχα διδάξει το μάθημα στην Β ΤΕΕ.
Συνάδελφοι να κάνω μια ερώτηση γιατί δεν είμαι σίγουρη; Αφορά την άσκηση 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. Μπορούμε να το πούμε αυτό; Ευχαριστώ!
Το μάθημα δεν το διδάσκω, ούτε έχω το βιβλίο για να δω την εκφώνηση, αλλά πάντως στην Pascal δεν επιτρέπονται διαστήματα ή ανισότητες στην case. Ούτε καν πραγματικοί αριθμοί.
Αν η εκφώνηση είναι όπως φαίνεται στην παραπάνω λύση, δηλαδή π.χ. για ηλικία = 1000 εμφανίζουμε "δεν είναι υποχρεωμένος να ψηφίσει" και για ηλικία -1 "δεν είναι έγκυρη", τότε θα πρέπει να βάλεις είτε if είτε τη σταθερά MAXINT.
Δηλαδή είτε
65..MAXINT: writeln('Ο ψηφοφόρος δεν είναι υποχρεωμένος να ψηφήσει')
else writeln('Η ηλικία που δώσατε δεν είναι έγκυρη');
είτε
else { του case }
if hlikia > 65 then
writeln('Ο ψηφοφόρος δεν είναι υποχρεωμένος να ψηφήσει')
else { του if }
writeln('Η ηλικία που δώσατε δεν είναι έγκυρη');
Καλησπέρα,
Διδάσκω 8 χρόνια pascal στη Β'ΤΕΕ, αλλά τώρα που έγινε πανελλαδικά εξεταζόμενο αναγκάζομαι να ακολουθώ πιο πιστά το βιβλίο σε σημεία που παλαιότερα μπορούσα να αγνοήσω. Όσον αφορά τη συγκεκριμένη άσκηση, ακολουθώ παρόμοια λύση με αυτή που δόθηκε από τον alkisg. Δεν μπορούμε να χρησιμοποιήσουμε ανισότητες στις ετικέτες της case, αλλά μόνο τιμές ίδιου τύπου με την έκφραση/επιλογέα.
Παρόλα αυτά, νομίζω ότι για την case θα πρέπει να δοθούν διευκρινήσεις. Για παράδειγμα, στο βιβλίο δεν αναφέρεται η χρήση εύρους τιμών στις ετικέτες της case (δηλαδή το 0..17, 18..65, 65.. maxInt). Εγώ τους το δίδασκα στην τάξη και το χρησιμοποιούσα στις ασκήσεις, αλλά δεν ξέρω στις πανελλήνιες αν θα γίνει αποδεκτό (εξαρτάται και από ποιους θα βαθμολογηθούν τα γραπτά, όπως έχουμε ξαναπεί).
Το κυριότερο πρόβλημα είναι ότι στο βιβλίο γράφεται ότι τόσο η έκφραση/επιλογέας όσο και οι ετικέτες πρέπει να είναι διατεταγμένου τύπου, δηλαδή τύπου που για κάθε ζεύγος τιμών του ισχύει μόνο μια από τις σχέσεις <,>,=. Αυτό όμως δεν είναι σωστό. Πρέπει να είναι ΤΑΚΤΙΚΟΥ τύπου (ordinal) (δηλάδή για κάθε τιμή να υπάρχει μια μοναδική προηγούμενη και επόμενη). Όπως αναφέρει και ο alkisg, στην case δεν μπορούμε να χρησιμοποιήσουμε πραγματικούς (που είναι μεν διατεταγμένος τύπος αλλά όχι τακτικός). Νομίζω ότι είναι σημαντικό να δοθεί κάποια διευκρίνηση από τους αρμόδιους γιατί πολλά παιδιά βρίσκουν πιο εύκολα λύσεις με την case και θα πρέπει να ξέρουμε αν θα μπορούν να τη χρησιμοποιήσουν με πραγματικούς (όπως λέει έμμεσα τα βιβλίο τους) έστω και αν αυτό δεν είναι σωστο στην pascal.
Περιμένω με ανυπομονησία και άλλες γνώμες...
Συνάδελφοι καλησπέρα! Δεν ξέρω αν στέλνω στο σωστό σημειο την απορία μου αλλα συγχωρέστε με γιατί είμαι
νέο μέλος. Καταρχάς συγχαρητήρια σε όλουσ σας θεωρώ ότι μας βοηθάτε πολύ και μας τους νέουσ καθηγητές. Έχω κολήσει με την άσκηση 1 σελ 107 , κεφ 11. Αν μπορούσε κάποιοσ να με βοηθήσει θα του ήμουν ευγνώμων!!
Χρησιμοποιώντας τις ασκήσεις του iliasthes και το τεστ της dimitra έφτιαξα ένα διαγώνισμα το επισυνάπτω ώστε να το χρησιμοποιήσει όποιος θέλει αλλά και να μου πείτε τη γνώμη σας
Καλησπέρα συνάδελφοι
Αυτή είναι μια λύση για την άσκηση 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. Αυτές δε τις ασκήσεις θα τους τις λύσω κατά το Πάσχα (και ζήτημα είναι, γιατί θα με πάρουν με ντομάτες).
Νefeli σ' ευχαριστώ πολύ. Εγώ δεν είμαι σε σχολείο κανω ιδιαίτερα. Είμαι πολύ πισω στην ύλη. Έχω κάνει 1,2,3 , το 4 λίγο, 8,9 και τώρα είμαι στο 10. Ελπίζω να δώσουν πανελλαδικέσ μέσα στο Ιούνιο και όχι μάιο αλλιώσ θα τρέχω και δε θα φτάνω. Πάντωσ έχω παρατηρήσει πως τισ σύνθετεσ ασκήσεισ τισ λύνουν με δυσκολία(και αν τις λύσουν)! :(
Καλησπέρα συνάδελφοι,
Στέλνω ένα φυλλάδιο για τις "διαφορές" Pascal - ψευδοκώδικα και κάποιες ασκήσεις που λύσαμε με τα παιδιά σαν εισαγωγή στην Pascal (δομή ακολουθίας). Η τελευταία είναι και επίκαιρη αφού έρχονται Χριστούγεννα :)
Ανεβάζω τις ασκήσεις που έφτιαξα για τα Χριστούγεννα. Όχι δικές μου, κλεμμένες από δω και από εκεί. Πιστεύω ότι είναι αρκετά καλές, αν και ξαναδιαβάζοντας τες μάλλον λίγο δύσκολες...
Ανεβάζω τις τελευταίες ασκήσεις που κάναμε πριν τα Χριστούγεννα (κυρίως με Div και Mod). Εννοείται ότι οι περισσότεροι μαθητές στα ΕΠΑ.Λ. δυσκολεύονται αρκετά σε αυτά, αν και υπάρχουν και οι εξαιρέσεις. Joanna το παραπάνω (ωραίο) φυλλάδιο το έδωσες για να το λύσουν οι μαθητές μέσα στις γιορτές? Αν ναι, είσαι μάλλον πολύ τυχερή που δουλεύουν οι μαθητές σου τόσο στο σπίτι :) . Καλά Χριστούγεννα σε όλους
Καλησπέρα και Καλή χρονιά, κάποια προβλήματα και υποχρεώσεις με έκαναν να μην μπαίνω για περίπου 1 μήνα. πριν τις γιορτές έδωσα ένα φυλλάδιο με επαναληπτικές ερωτήσεις και ασκήσεις από το κεφάλαιο 1 έως και 9 (περίπου 140 ερωτήσεις και ασκήσεις σύνολο). Είναι κάποιες δικές μου που ήδη έχω ανεβάσει, άλλων συναδέλφων που ανέβασαν εδώ ασκήσεις (πχ Joanna), αλλά και κάποιες καινούριες (ιδιαίτερα στους αλγόριθμους).
Το καλό είναι οτι υπήρξαν πέντε μαθητές που μου φέρανε τις απαντήσεις (σωστές ή λάθος θα δείξει). Το κακό είναι πως όλη την εβδομάδα λύναμε επαναληπτικές ασκήσεις από αυτό το φυλλάδιο με αποτέλεσμα να καθυστερήσουμε. Φυσικά πρις τις χρησιμοποιήσετε ρίξτε καμιά ματιά και για λαθάκια.
Επειδή τις απαντήσεις δεν έχω προλάβει να τις γράψω όλες, δεν τις ανεβάζω προς το παρόν.
Χαίρεται!!!¨Εχω μία απορία στην σελιδα 66,ερώτηση 3 τι απάντηση περιμένει να δώσουμε;Μήπωσ ξέρει κανεισ αν θα δώσουν στο τέλοσ pascal στο χαρτί ή σε pc; :)
H απάντηση βρίσκεται στην σελ 56 τελευταίο πινακάκι. :)
Καλησπέρα και καλή χρονιά σε όλους...
ήθελα να ρωτήσω στη σελ.88 ασκ7 στην τελευταία γραμμή θεωρούμε ότι έχει συντακτικό λάθος ή απλά το αγνοούμε και θεωρούμε ως εντολή την writeln('Language=', la);
Εγώ έκανα το δεύτερο.
ε, ναι και εγω το ιδιο υπέθεσα
γιατι στη σελιδα 73 η τελευταια πραξη ειναι λάθος.
6+3(2*4) κάνει περίπου 6,375..
οχι αυτα που λεει
τεσπα.....μικρό το λάθος...
:D
Καλησπέρα σε αυτό το μάθημα τα συναισθήματα μου εναλλάσσονται συνεχώς. Απογοήτευση όταν διαπιστώνω πως η πλειοψηφία δεν μπορεί να λύσει ακόμα
και μια απλή προγραμματιστική άσκηση, ενθουσιασμός όταν ξαφνικά κάποιος μαθητής ή κάποια μαθήτρια, σε εκπλήσσει απαντώντας με έναν φυσικό αυθορμητισμό σαν να σε καλημερίζει σε κάποια ερώτηση που απαιτεί σύνθετη σκέψη και βαθειά κατανόηση των διδαχθέντων. Αναρωτιέμαι αν αρκετοί μαθητές μου έχουνε την ίδια αγωνία με μένα για την επιτυχία τους.
Ανεβάζω 2 φυλλάδια με επιμέρους θέματα για τις εντολές επιλογής. Κάποιες συντακτικές λεπτομέρειες, αλλά και λογικές λεπτομέρειες. Το βιβλίο δεν έχει ικανοποιητική ανάπτυξη σε αυτό το κομμάτι, αν και κάποιες από τις ασκήσεις του το απαιτούνε. Στο δεύτερο έγγραφο, υπάρχουνε και οι λύσεις για τις ασκήσεις 3,5, 6, και 7 του βιβλίου. Αν εντοπίσετε τίποτα λαθάκια, ή έχετε κάποια άλλη πρόταση είμαι πρόθυμος να την ακούσω. Ειδικότερα στην άσκηση 6 όπου έχω μια επανάληψη της εισόδου των αριθμών για κάθε πράξη.
καλησπερα σας.ειμαι νεοσ στο forum και να ειμαι μαθητης τησ Γ επαλ.Τυχαινει στο σχολειο να εχουμε εναν απο τουσ καλυτερουσ καθηγητες της πολησ μασ αλλα δεν τον καταλαβαινω.θα ηθελα να ρωτησω αν υπαρχει καποιο σχετικο βοηθημα με τον προγραμματισμο και τα δικτυα.επιδη οπωσ καταλαβα οι περισσοτεροι ειστε καθηγητες αν σας προσβαλει η ερωτηση μου απλα αγνοηστε την.ΕΥΧΑΡΙΣΤΩ!!! :angel:
Vellamos, βοήθημα που να έχει βγει ειδικά για το συγκεκριμένο μάθημα δεν ξέρω προσωπικά. Ειδικά για τον προγραμματισμό χωρίς να το αποκλείω το θεωρώ δύσκολο, γιατί μέχρι τον Σεπτέμβρη όλοι περιμέναμε να στείλει το υπουργείο άλλο βιβλίο για να κάνουμε c.Ωστόσο υπάρχουν αρκετά βιβλία, τόσο για προγραμματισμό όσο και για δίκτυα που να είναι περισσότερο καλογραμμένα από τα σχολικά και ίσως σε βοηθούσαν. . Εγώ προσωπικά για την pascal χρησιμοποιώ κυρίως ένα άλλο βιβλίο. Πάντως αφού έχεις πρόσβαση στο internet κάνε μια αναζήτηση, θα βρεις αρκετή βοήθεια. Ασκήσεις, θεωρία κλπ.
To βιβλίο είναι μέσα στα λάθη. Ειδικά στο κεφ. 11 υπάρχουν πολλά λάθη στα παραδείγματα της while αλλά και στην εμφωλευμένη for. Εγώ τη διόρθωσα στους μαθητές μου ως εξής, ώστε τουλάχιστον να βγάζει το αποτέλεσμα που λέει:
for teleytaio_gramma := 'A' to 'G' do
To βιβλίο είναι μέσα στα λάθη. Ειδικά στο κεφ. 11 υπάρχουν πολλά λάθη στα παραδείγματα της while αλλά και στην εμφωλευμένη for. Εγώ τη διόρθωσα στους μαθητές μου ως εξής, ώστε τουλάχιστον να βγάζει το αποτέλεσμα που λέει:
for teleytaio_gramma := 'A' to 'G' do
begin
for letter:= 'A' to teleytaio_gramma do write(letter);
writeln;
end;
Σχετικά με το παράδειγμα της σελ. 73 μάλλον έχουν ξεχαστεί οι παρενθέσεις και το αποτέλεσμα που λέει δίνεται από την παράσταση (6+3)/(2*4)=1,125.
Τουλάχιστον το βιβλίο μας δίνει την ευκαιρία να εξασκηθούμε στις σπαζοκεφαλιές για να βρούμε τι μπορεί να εννοούσαν οι συγγραφείς του...
Στη σελίδα 100 μάλλον μία μεταβλητή ξεχάστηκε στην μετάφραση. Στο παράδειγμα για την while χρησιμοποιεί την μεταβλητή metritis για αρχικοποίηση και στη συνέχεια σαν απαριθμητή, αλλά στην συνθήκη ελέγχου χρησιμοποιεί την μεταβλητή count. :laugh:
Ηθελα να ρωτήσω τις συναρτησεις του παραρτήματος τισ έχετε κάνει;;;
εγω αρχισα να τουσ δειχνω κάποιες και να τις χρησιμοποιούμε αλλα όχι όλες...αν έχεις κανεις ασκησεις με αυτές ...καλοδεχούμενες ;)
Μήπως έχει ετοιμάσει κανείς θεωρητικές ασκησείς; π.χ σωστό-λάθος, πολλαπλής επιλογής,αποτελέσματα εκτέλεσης προγραμμάτων...κ.ά;
Καλησπέρα, συναδέλφισσα για ποιο κεφάλαιο ρωτάς;
Ανεβάζω ένα τεστάκι στο κεφ. 10 και τις λύσεις του, καθώς και ένα εισαγωγικό μάθημα για την εντολή while
Στην ερώτηση 8 στην σελίδα 106 ο συγγραφέας χρησιμοποιεί την μεταβλητή arithmos ως μετρητή με βήμα το 2 και όταν ο arithmos γίνεται μεγαλύτερος από 100 η λογική έκφραση γίνεται ψευδής. Ο συγγραφέας όμως δεν μας δίνει αρχική τιμή για την μεταβλητή arithmos και μας ρωτάει πόσες επαναλήψεις θα υπάρξουν.
Σκέφτηκα δύο πιθανές απαντήσεις, ή οτι δεν γνωρίζουμε τον αριθμό των επαναλήψεων, αφού η Pascal σε κάποιες εκδόσεις της δίνει "τυχαίες" τιμές σε μεταβλητές στις οποίες δεν έχουμε δώσει τιμή ή οτι ο συγγραφέας έκανε λάθος. Εσείς τι απάντηση δώσατε;
Θεωρώ οτι και τα δύο είναι σωστά....στη προκειμένη περίπτωση μάλλον ο συγγραφέας εκανε λάθος ή το φαγε στο copy-paste...
το θέμα είναι οτι αν τους ρωτήσουν κάτι τέτοιο στισ εξετάσεις θα πρέπει να απαντήσουν ότι δε γνωρίζουμε γιατι σε αυτή τη περίπτωση δίνεται τυχαία αρχική τιμή στη μεταβλητή...
Δε μπορουμε να πούμε όμως το μάθημα έχει πολυ ενδιαφέρον....ασκούμε μαντικές ικανότητες
κανονικα έπρεπε να τα κλείσουμε τα σχολεία με τόση προχειρότητα πυο τα αντιμετωπίζουν....
Aν και θεωρητικά είναι σωστό να λέμε ότι μια μεταβλητή αν δεν αρχικοποιηθεί μπορεί να πάρει τυχαία τιμή (λόγω των καταχωρητών που αποθηκεύουν τα δυαδικά ψηφία) στην πράξη οι σύγχρονοι compilers, αρχικοποιούν τις αριθμητικές μεταβλητές στην τιμή 0 ακόμη και αν δεν υπάρχει αντίστοιχη εντολή εκχώρησης. Εγώ την έλυσα στην τάξη, βάζοντας την arithmos:=0. Αλλάζοντας μέσα στην if τη συνθήκη με την ισότητα (arithmos>=100) τους έδειξα με πίνακα τιμών ότι γίνονται 50 επαναλήψεις. Το κάναμε και στο εργαστήριο με τα κατάλληλα writeln. Τους είπα επίσης ότι είναι ακριβώς το ίδιο με
while arithmos<100 do arithmos:=arithmos+2;
ώστε να περάσουν πιο εύκολα στη for - αλλά εκεί ζορίστηκαν. Οχι πως τα υπόλοιπα τα κατάλαβαν και τέλεια...
Ευχαριστώ για τις απαντήσεις σας, αυτό που κατάλαβα είναι πως πρέπει να παρακαλάω να μην προσέξει κάποιος από την επιτροπή εξετάσεων το λάθος και νομίζει πως ο συγγραφέας το έβαλε επίτηδες σαν ερώτηση παγίδα. ;D ;D
Παρεπιπτόντως προσωπικά το αποκλείω και τα τρία θέματα των ασκήσεων που θα μπούνε να είναι ανάπτυξη αλγορίθμων ή προγραμμάτων από την αρχή, αλλά πιστεύω πως τουλάχιστον το ένα θέμα θα είναι του στυλ: α) ποια θα είναι τα αποτελέσματα του παρακάτω προγράμματος/τμήμα προγράμματος, β)ποια θα είναι η τιμή της/των παρακάτω μεταβλητής/τών μετά την εκτέλεση των παρακάτω εντολών γ) μετατροπές από if σε case και το αντίστροφο, αλλά και από repeat σε while ή for και το αντίστροφο. Επίσης έχω διαπιστώσει πως είναι πολύ δύσκολο για τα παιδιά να λύσουνε κατ' ευθείαν ασκήσεις μόνοι τους και έτσι το πάω βήμα βήμα. Αρχικά δίνω τις λύσεις με κενά ή με λαθάκια και τα παιδιά τα διορθώνουνε. Στην συνέχεια πρέπει να βρίσκουνε, αριθμό επαναλήψεων, τιμές μεταβλητών και τέλος μετατροπές (if σε case κλπ). Μόνο 1-2 μαθητές έχουν καταφέρει να λύσουνε τελείως μόνοι τους ασκήσεις.
Έχει χρησιμοποιήσει κάποιος κάποια άλλη μέθοδο και είδε θετικά αποτελέσματα;
Παιδιά θέλω τη βοήθειά σας σε δύο πραγματάκια :-\:
1. Αν ένα πρόγραμμα ζητάει να δέχεται ως είσοδο έναν πραγματικό αριθμό και να επιστρέφει το ακέραιο μέρος του, μπορούμε να πούμε akeraio_meros:=arithmos div 1, ή το div παίρνει μόνο ακέραιους;
2. Τι λύση προτείνετε για το εξής, γιατί αυτή που έχω σκεφτεί δεν μου κάθεται πολύ καλά: Να γραφεί πρόγραμμα που να δέχεται έναν πραγματικό αριθμό και το πλήθος των δεκαδικών στο οποίο θέλουμε να τον στρογγυλοποιήσουμε και να μας δίνει τον αριθμό στρογγυλοποιημένο. π.χ. 2,3456754 και 3 και να δίνει αποτέλεσμα 2,346.
Και για τα δύο δεν πρέπει να χρησιμοποιήσουμε έτοιμες συναρτήσεις της Pascal. Ευχαριστώ!
Οι έτοιμες συναρτήσεις είναι εκτός ύλης;;;Δε μπορούν να τις χρησιμοποιήσουν δηλαδή; Την άσκηση 6 σελ 89 την κάνατε με πολλές div ;;
Το div δέχεται μόνο ακεραίους.
Δεν μπορώ να φανταστώ γιατί κάποιος να βάζει άσκηση να βρεθεί το ακέραιο μέρος ενός πραγματικού χωρίς να χρησιμοποιηθεί κάποια από τις έτοιμες συναρτήσεις της γλώσσας (Pascal κτλ). Δηλαδή κάτι που βγαίνει σε O[1] σε επίπεδο μηχανής, να ζητάνε αλγόριθμο με O[N], όπου Ν το πλήθος των δυαδικών ψηφίων του ακεραίου.
Ακόμα και με casting θα έβγαινε σε Ο[1], δεν χρειάζεται καν συνάρτηση: x := integer(r);
Τέλος πάντων, εφόσον δεν μπορεί να χρησιμοποιηθεί συνάρτηση, μπορεί να γίνει δυαδική αναζήτηση στο διάστημα [-MAXINT-1..MAXINT], ώστε να βρεθεί ο πλησιέστερος ακέραιος. Έτσι για τους συνηθισμένους ακεραίους 32bit χρειάζονται 32 βήματα.
Αντίστοιχα για 3 (ή γενικότερα M) δεκαδικά ψηφία θα μπορούσε να γίνει δυαδική αναζήτηση στο [-MAXREAL..MAXREAL], με συνθήκη τερματισμού (στο περίπου) την Abs(στρογγυλεμένος_αριθμός - αρχικός_αριθμός) <= 10^-M, όπου φυσικά η Abs και η δύναμη υλοποιούνται εύκολα με μία if και μία for αντίστοιχα (αφού απαγορεύονται οι έτοιμες συναρτήσεις).
Πολύ "βαριά" μου ακούγονται για σχολείο... :)
Υ.Γ. δεν κάνω το μάθημα, δεν έχω δει καν το βιβλίο.
Το φαντάστηκα ότι δεν μπορούσε να γίνει με div, αλλά μου φάνηκαν παρανοϊκά τα άλλα σενάρια!
Τις έβαλε καθηγητής σε ιδιωτικό ΕΠΑΛ, σε ένα τμήμα που θα δώσουν πανελλήνιες το πολύ 7 παιδιά...
Το μόνο που μπορεί να πετύχει είναι να αποθαρρύνει και τους λίγους από αυτούς που το παλεύουν >:(...δεν μπορώ να καταλάβω τι σκέφτονται τέτοιοι άνθρωποι.
Παράθεση από: xryka στις 17 Φεβ 2009, 05:10:10 ΜΜ
Οι έτοιμες συναρτήσεις είναι εκτός ύλης;;;Δε μπορούν να τις χρησιμοποιήσουν δηλαδή; Την άσκηση 6 σελ 89 την κάνατε με πολλές div ;;
Δεν είναι εκτός ύλης οι έτοιμες συναρτήσεις, απλά ήταν στην εκφώνηση των ασκήσεων.
Ναι, την άσκηση την έκανα με πολλές div.
Δεν κατάλαβα ακριβώς το θέμα της στρογγυλοποίησης που λες ότι ζητήθηκε σε ιδιωτικό ΕΠΑΛ (εγώ ούτε καν ήξερα ότι υπάρχουν και ιδιωτικά ΕΠΑΛ). Στην Pascal μπορεί να γίνει στρογγυλοποίηση ενός αριθμού κατά την εμφάνισή του στην οθόνη μέσω της μορφοποιημένης εκτύπωσης (σελ. 86).
Αν δηλαδή γράψω write(3,2587:8:3) στην οθόνη θα εμφανισθεί ο αριθμός 3,259, δηλ. στρογγυλοποίηση στο 3 δεκαδικό. Μήπως ζητήθηκε κάτι τέτοιο;
Την άσκηση 6,σελ.89 τη λύνω με div. Δηλαδή απομονώνω τα ψηφία και φτιάχνω τον ανάστροφο αριθμό με το ψηφίο των μονάδων στη θέση των εκατοντάδων κ.ο.κ.΄Έχει σκεφθεί κάποιος άλλη λύση με έτοιμη συνάρτηση;
Τώρα διάβασα πιο προσεκτικά το μήνυμα της marianad.
Το θέμα της στρογγυλοποίησης το βρίσκω απλό και το έχω ζητήσει και εγώ στην τάξη. Έτσι για να αποκαταστήσουμε και το όνομα του συναδέλφου του ιδιωτικού.
Mε τη μορφοποιημένη εκτύπωση που έλεγα και πριν, λύνεται εύκολα ως εξής:
read(x); {o πραγματικός αριθμός}
read (m); {ο ακέραιος που δηλώνει τη θέση στρογγυλοποίησης}
write (x:10:m);
Το πρόγραμμα με την εύρεση του ακέραιου μέρους πραγματικού αριθμού το βρίσκω όντως δύσκολο χωρίς χρήση συνάρτησης. Υπάρχουν διάφοροι αλγόριθμοί (γενικά βασίζονται σε επαναλήψεις της μορφής while x-i>1 do i:=i+1; όπου το ακέραιο μέρος του πραγματικού x τελικά υπολογίζεται στη μεταβλητή i). Αποκλείεται΄-κατά τη γνώμη μου- τέτοιο θέμα γιατί θα τους πάρουν με τις ντομάτες. Mήπως ο συνάδελφος ήθελε απλώς εμφάνιση του αριθμού με 0 δεκαδικά ψηφία; Έτσι βέβαια ο 124,32 θα έδινε το σωστό -124- αλλά ο 124,72 θα έδινε το λάθος 125. Θα το ξανασκεφθώ και θα επανέλθω...
Παράθεση από: marianad στις 17 Φεβ 2009, 12:29:28 ΜΜ
Παιδιά θέλω τη βοήθειά σας σε δύο πραγματάκια :-\:
1. Αν ένα πρόγραμμα ζητάει να δέχεται ως είσοδο έναν πραγματικό αριθμό και να επιστρέφει το ακέραιο μέρος του, μπορούμε να πούμε akeraio_meros:=arithmos div 1, ή το div παίρνει μόνο ακέραιους;
2. Τι λύση προτείνετε για το εξής, γιατί αυτή που έχω σκεφτεί δεν μου κάθεται πολύ καλά: Να γραφεί πρόγραμμα που να δέχεται έναν πραγματικό αριθμό και το πλήθος των δεκαδικών στο οποίο θέλουμε να τον στρογγυλοποιήσουμε και να μας δίνει τον αριθμό στρογγυλοποιημένο. π.χ. 2,3456754 και 3 και να δίνει αποτέλεσμα 2,346.
Και για τα δύο δεν πρέπει να χρησιμοποιήσουμε έτοιμες συναρτήσεις της Pascal. Ευχαριστώ!
sorry λάθος μου, αναφέρω προγράμματα, ενώ και στις δύο περιπτώσεις ζητάει συναρτήσεις: akeraio_meros(x) και str(x,n).
Άρα δεν είναι θέμα μορφοποιημένης εκτύπωσης...
Καλησπέρα, έχω μια απορία.
Παρακάτω στέλνω την λύση για την άσκηση 1 σελ. 107 του βιβλίου:
program askisi1107;
var
dinami,x:longint;
arithmos :real;
Begin
x:=0;
dinami:=1;
writeln('Δώσε έναν αριθμό:');
readln(arithmos);
repeat
dinami:=dinami*2;
x:=x+1;
until dinami>arithmos;
writeln('Η μικρότερη δύναμη του 2');
writeln('μεγαλύτερη από τον αριθμό ',arithmos:6:2 );
writeln(' είναι',dinami:6);
writeln('δηλ είναι το 2 στην',x:6,'η δύναμη');
End.
Η λύση αυτή δουλεύει αποτελεσματικά για οποιοδήποτε αριθμό μεγαλύτερο του 0. Αν κάποιος δώσει 0 ή μικρότερο αριθμό το αποτέλεσμα δεν είναι σωστό. Εντάξει για αριθμούς μικρότερους του 0 δεν με ενδιαφέρει, γιατί υποθέτω πως η εκφώνηση (αν και δεν διευκρινίζει τίποτα) αναφέρεται μόνο σε θετικούς. Ωστόσο για μηδέν δοσμένο αριθμό η μικρότερη δύναμη του 2 που είναι μεγαλύτερη από το 0 είναι το 2^0=1. Έχει βρει κανείς κάποια σχετική λύση, χωρίς την χρήση if; Δηλαδή να χρησιμοποιεί κάποιον τύπο πιο αποτελεσματικό από τον dinami:=dinami*2 που έβαλα;
Αν βάλεις while dinami<=arithmos στη θέση της repeat, δε θα μπει καθόλου σε επανάληψη και θα εμφανίσει το σωστό 1.
Έχεις δίκιο Νεφέλη, αυτό το επισήμανα στα παιδιά (οτι υπάρχουν περιπτώσεις που πρώτα θέλουμε να γίνει ο έλεγχος και μετά η επανάληψη, ενώ με την repeat γίνεται πάντα μία επανάληψη), απλά το βιβλίο αναφέρει να λυθεί με repeat και η απορία μου είναι αν κάποιος βρήκε κάποια πιο πλήρη λύση.
Ευχαριστώ πολύ πάντως για την απάντηση.
Καλησπέρα σας συνάδελφοι... Για δείτε σας παρακαλώ πολύ την άσκηση 2 στη σελίδα 124....
"Να γράψετε πρόγραμμα το οποίο να διαβάζει δυο αριθμούς και το είδος της πράξης που εκτελέσει
(προσθεση, αφαίρεση, πολλαπλασιασμός, διαίρεση). Να χρησιμοποιήσετε διαδικασίες (χωρίς παραμέτρους)
για την εισαγωγή δεδομένων, την επιλογή της πράξης, τον υπολογισμό και την εκτύπωση του
αποτελέσματος. Να χρησιμοποιήσετε ένα μηχανισμό ελέγχου, ώστε οι διαδικασίες να επαναλαμβάνονται
όσες φορές θέλουμε."
Αυτό το πρόγραμμα υλοποιείται ως εξής...
program tade;
var
a,b, apot:real;
sumbolo: char;
procedure eisodos;
begin
writeln('dwse duo arithmous');
readln(a,b);
end;
procedure eidos_pra3hs;
begin
repeat
writeln('dwse to sumbolo ths pra3hs');
readln(sumbolo);
until ((sumbolo='+') OR (sumbolo='-') OR (sumbolo='/') OR (sumbolo='*'))
end;
procedure pra3h;
begin
if sumbolo='+' then
apot:=a+b
else if sumbolo='-' then
apot:=a-b
else if sumbolo='/' then
apot:=a/b
else
apot:=a*b;
writeln(sumbolo, a, b, apot);
end;
begin
eisodos;
eidos_pra3hs;
pra3h;
end.
Δηλαδή με δήλωση μεταβλητώ έξω από τις διαδικασίες, και απόδοση τιμών σε αυτές
μέσα στις διαδικασίες. Αυτό όμως δεν υπάρχει καν στο βιβλίο, ούτε ως αναφορά
ότι μπορεί να γίνει... Τι λέτε κι εσείς;
Γεια σας. :)
Θα ήθελα την βοήθεια σας σε μια άσκηση του Βιβλίου σελίδα: 108.
Άσκηση: 6.
Να γράψετε ένα πρόγραμμα που να διαβάζει τις 4 πλευρές και μία γωνία ενός τετραπλεύρου και να υπολογίζει το είδος του (τετράγωνο, ρόμβος, ορθογώνιο, παραλληλόγραμμο, τυχαίο). Να χρησιμοποιήσετε την εντολή repeat και δυαδικούς τελεστές.
Παράθεση από: aleremain στις 24 Φεβ 2009, 11:57:55 ΜΜ
Γεια σας. :)
Θα ήθελα την βοήθεια σας σε μια άσκηση του Βιβλίου σελίδα: 108.
Άσκηση: 6.
Να γράψετε ένα πρόγραμμα που να διαβάζει τις 4 πλευρές και μία γωνία ενός τετραπλεύρου και να υπολογίζει το είδος του (τετράγωνο, ρόμβος, ορθογώνιο, παραλληλόγραμμο, τυχαίο). Να χρησιμοποιήσετε την εντολή repeat και δυαδικούς τελεστές.
Έλα, πού ακριβώς θέλεις βοήθεια;
Θα διαβάσεις τις τέσσερις πλευρές (a, b, c, d) και την γωνία (g).
Αν a=b και b=c και c=d τότε:
Αν g=90 τότε είναι τετράγωνο
αλλιώς είναι ρόμβος
αλλιώς αν a=c και b=d τότε:
Αν g=90 τότε είναι ορθογώνιο
αλλιώς είναι παραλληλόγραμμο
αλλιώς είναι τυχαίο.
Θέλεις να ξαναδοκιμάσεις;
κλπ
H repeat μπορεί να περιλαμβάνει όλα τα παραπάνω...
Υπάρχει πρόβλημα στη μεταφορά του σε Pascal;
οχι οχι, okay :)
ευχαριστω :)
Θα ήθελα και εγώ τη γνώμη των συναδέλφων στο εξής:
Είμαι στο κεφ. 13, το οποίο και δεν έχω ξαναδιδάξει μέχρι σήμερα και άρα το διαβάζω τώρα από το βιβλίο. Βλέπω λοιπόν τα εξής:
1. Ως επιτρεπτή πράξη στους ακεραίους δίνει και την πράξη / (διαίρεσης), ενώ αυτή δεν είναι επιτρεπτή καθώς το αποτέλεσμα μπορεί και να μην ακέραιος (όπως άλλωστε τους διδάξαμε στο κεφ.8).
2. Στις επιτρεπτές πράξεις περιλαμβάνει και το :=, το οποίο το έχουμε διδάξει (όπως είναι και το σωστό άλλωστε) σαν εντολή αντικατάστασης και όχι σαν μια πράξη. Δηλαδή τα παιδιά εάν ερωτηθούν για τις επιτρεπτές πράξεις για παράδειγμα του λογικού τύπου θα πρέπει να αναφέρουν και το := ;;;
3. Θεωρείτε πιθανό να ερωτηθούν τα παιδιά και σε ασκήσεις με τις συναρτήσεις των τακτικών τύπων, όπως για παράδειγμα αυτές με τον πίνακα ASCII που έχει και το βιβλίο τους στις σελ. 133-136;
Γενικά βρίσκω λιγάκι περίπλοκο το κεφ. 13 και ενώ είχα υπολογίσει να το τελειώσω μέσα στην εβδομάδα, οπότε να κάνω και τα 5-7 που τα έχω αφήσει και να ξεκινήσω επαναλήψεις δυστυχώς βλέπω ότι θα μου πάρει πολύ περισσότερο...
Καλησπέρα κι από εμένα, εδώ και δυο μαθήματα είμαι στα υποπρογράμματα και συγκεκριμένα στις διαδικασίες. Έχω πάθει ντεμπλοκάζ με το πως αυτή η βίβλος του προγραμματισμού εξηγεί τις έννοιες πέρασμα παραμέτρων με τιμή και πέρασμα παραμέτρων με αναφορά. Δράμα η κατάσταση.
Για να μη σας πω τον τρόπο που με κοιτούν οι μαθητές μου, ξαφνικά είμαι ένας άγνωστος γι' αυτούς και μιλάω άλλη γλώσσα.
Πραγματικά έχω ένα κόμπο στο στομάχι, κάθε κεφάλαιο μια νέα δυσκολία. Απαράδεκτο.
Διαβάζω τα μηνύματα σας και με βάζετε σε άσχημες σκέψεις, καθώς από Δευτέρα μπαίνω στο Κεφ.12 και ελπίζω μέσα στον Μάρτιο να ολοκληρώσω και το 12 και το 13. Χμ αντί για εκδρομούλα το τριήμερο βλέπω διάβασμα και προετοιμασία σημειώσεων.
Προς το παρόν ανεβάζω ένα τεστάκι που αν εξαιρέσεις το εύκολο πρόγραμμα που πρέπει να γράψουν εξ' ολοκλήρου οι μαθητές (όμως σχεδόν κανένας δεν το έγραψε), το θεωρώ πλήρες για τις εντολές while και repeat. Δίνω και ένα 2ο αρχείο που έχει λύσεις για 3 από τις ασκήσεις που υπάρχουν στο τεστ.
Στην ασκηση 1 του κεφ. 11 θα θεωρήσουμε θετικές δυνάμεις του 2;;
Εγώ θεώρησα μόνο δυνάμεις με εκθέτη >=0. Γενικά το βιβλίο, για να δώσουμε ένα ελαφρυντικό στον συγγραφέα δεν γράφτηκε για πανελλαδικές, με αποτέλεσμα να αντιμετωπίζει με μία μεγαλύτερη ελαφρότητα την διατύπωση των ασκήσεων, κάτι φυσιολογικό. Θα έπρεπε να τα είχανε προσέξει αυτά στο Παιδαγωγικό ινστιτούτο ή στο κάτω κάτω έχουμε καμια 50ρια συμβούλους πληροφορικής ας κάνανε μια ομάδα εργασίας να στείλουνε διευκρινήσεις για ασκήσεις παραδείγματα κλπ.
Μια ερώτηση. ΔΙορθώνω τις ασκήσεις μια μαθήτριας και θέλω να επισυνάψω τις σωστές λύσεις. Στην άσκηση 3 στην ελ 107, δεν μπόρεσα να γράψω την λύση με σωστή μορφοποίηση των αποτελεσμάτων, καθώς κάτι τέτοιο το θεωρώ αδύνατο χωρίς χρήση πινάκων, αλλά οι πίνακες είναι εκτός ύλης ή κάνω λάθος;
Γεια σας!!
μπορεί κανείς να μου δώσει την απάντηση στην άσκηση 2 του βιβλίου στη σελίδα 107 που ζητάει να υπολογισθούν οι αριθμοί Fibonacci;
ευχαριστω :)
Το πρόβλημα με τους αριθμούς Fibonacci; Αυτό θα έπρεπε να το λύσεις σε δευτερόλεπτα, είναι ο αριθμός της τελειότητας στην ζωή.
:P.
program askisi2107;
uses crt;
var fibo,a,b, arithmos : longint;
BEGIN
fibo:=0;
a:=0;
b:=1;
writeln ('Δώστε έναν αριθμό');
readln(arithmos);
while fibo<=arithmos do begin
fibo:=a+b;
a:=b;
b:=fibo;
end;
writeln('ο μικρότερος αριθμός Fibonacci');
writeln(' που δεν είναι μικρότερος από ', arithmos:10);
writeln(' είναι ο αριθμός ',fibo:10);
END.
Καλησπέρα παιδιά,
στην άσκηση 3 της σελ.107 του βιβλίου θα πρέπει να
εμφανιστεί το αποτελεσμα με την μορφή πίνακα(θα πρεπει να το γνωρίζουν τα παιδια);
Έχει δώσει κανεις κάποια λύση;
Παράθεση από: iliasthes στις 01 Μαρ 2009, 08:18:35 ΜΜ
Μια ερώτηση. ΔΙορθώνω τις ασκήσεις μια μαθήτριας και θέλω να επισυνάψω τις σωστές λύσεις. Στην άσκηση 3 στην ελ 107, δεν μπόρεσα να γράψω την λύση με σωστή μορφοποίηση των αποτελεσμάτων, καθώς κάτι τέτοιο το θεωρώ αδύνατο χωρίς χρήση πινάκων, αλλά οι πίνακες είναι εκτός ύλης ή κάνω λάθος;
Οι πίνακες είναι εκτός ύλης.
Η άσκηση φαντάζομαι ότι λύνεται(χωρίς να έχω φτιάξει πρόγραμμα).
Χρησιμοποιείστε για το πινακάκι εντολές
write,
read για να μην
αλλάζει γραμμή.
Θα βάλετε writeln στο τέλος επεξεργασίας κάθε εργαζόμενου.
Σωστά Gedeon, απλά πριν την εμφάνιση κάθε γραμμής θα πρέπει να μεσολαβεί η είσοδος δεδομένων από τον χρήστη (οι ώρες εργασίας του κάθε εργαζόμενου). Άρα θα χαλάει η μορφοποίηση εκτός αν εμφανίζουμε τον α/α η είσοδος γίνεται χωρίς προτρεπτικό μήνυμα και μετά εμφανίζονται δίπλα τα αποτελέσματα, πολύ κακό για το τίποτα.
Παράθεση από: iliasthes στις 02 Μαρ 2009, 10:38:19 ΜΜ
Σωστά Gedeon, απλά πριν την εμφάνιση κάθε γραμμής θα πρέπει να μεσολαβεί η είσοδος δεδομένων από τον χρήστη (οι ώρες εργασίας του κάθε εργαζόμενου). Άρα θα χαλάει η μορφοποίηση Δεν μπορώ να σκεφτώ πως θα γίνει αρχικά η μαζική είσοδος των ωρών εργασίας για κάθε εργαζόμενο και μετά η μαζική έξοδος, χωρίς πίνακα.
Σκέφτομαι το παρακάτω δείγμα :
Έχεις ορίσει metr_ergazo --> a/a του εραζόμενου(ουσιαστικά ένας μετρητής)
ores_ergas --> ώρες εργασία εργαζόμενου
oriaia_apoz --> ωριαία αποζημίωση
Μέσα στη while γράφεις :
.....
write(' | ', metr_ergazo, ' | ');
read(ores_ergas);
write(ores_ergas, ' | ', ores_ergas*oriaia_apoz, ' | ');
..............
κλπ
έτσι το έκανα περίπου, αλλά ακριβώς είναι σχεδόν απίθανο να βγούνε. Τεσπα, ευχαριστώ για την συμμετοχή σου στον προβληματισμό μου. Καλό βράδυ.
Ευχαριστω παιδια,
κατι τετοιο φανταζομουνα. Απλώς άλλα ζητάνε οι ασκήσεις και
άλλα μπορούν να εμφανισουν τα παιδια συμφωνα με αυτα (την ύλη)που γνωριζουν
Έχετε δίκιο,
σίγουρα οι εκφωνήσεις είναι χάλια, θεωρούν αυτονόητες πολλές παραδοχές
(π. στη συγκεκριμένη άσκηση αν θεωρήσουμε ότι η ωριαία αποζημίωση, η υπερωριακή αποζημίωση και οι κανονικές ώρες εργασίας είναι κοινές για όλους τους
εργαζόμενους θα είναι σχετικά ευκολότερα τα πράγματα).
φυσικά αυτή η άσκηση είναι πολύ δύσκολη για τους μαθητές
(ειδικά τους δικούς μου...)
Καλό κουράγιο συνάδελφοι,
πολλά συγχαρητήρια για τη προσπάθεια που κάνετε όλοι.
Υ.Γ. Συμφωνώ με την άποψη του iliasthes
".....στο κάτω κάτω έχουμε καμια 50ρια συμβούλους πληροφορικής ας κάνανε μια ομάδα εργασίας να στείλουνε διευκρινήσεις για ασκήσεις παραδείγματα κλπ."
Αφού καταλαβαίνεις τι γίνεται.......άσ'τα καλύτερα
Φαντάζομαι ο προβληματισμός των περισσοτέρων είναι ο εξής: Για να λύσετε κάποιες από αυτές τις ασκήσεις στην τάξη, θέσατε εσείς κάποιους περιορισμούς ή κάποιες a priori υποθέσεις που ο συγγραφέας παρέλειψε και δώσατε κάποια λύση. Αν δοθεί η ίδια άσκηση και η επιτροπή εξετάσεων βλέποντας αυτά τα κενά θέσει άλλες a priori υποθέσεις ή περιορισμούς, υπάρχει η πιθανότητα να εκτεθούμε και στους μαθητές μας, οι οποίοι θα θεωρήσουν σωστή την λύση μας, που τελικά θα αποδειχθεί λάθος.
Βέβαια εμείς πρέπει να διδάσκουμε στην ουσία την μεθοδολογία επίλυσης των ασκήσεων και όχι αυτές καθεαυτές τις λύσεις.
Τεσπα παραθέτω, αυτό που έδωσα ως λύση, αν και κάθε γραμμή δεν χωρούσε στην ίδια σειρά, οπότε χαλούσε στο τέλος η μορφοποίηση:
program askisi1073; {Λύση της άσκησης 3 σελ 107 χωρίς απόλυτα σωστά μορφοποιημένη
εκτύπωση. Κάτι τέτοιο είναι σχεδόν αδύνατο με αυτά που έχετε διδαχθεί}
uses crt;
var
plithos : word;
x,yw, we, w_yp:byte; {Το χ θα χρησιμοποιηθεί ως μετρητής, yw είναι το υποχρεωτικό
ωράριο, we είναι οι ώρες εργασίας του κάθε εργάτη και w_yp είναι οι ώρες που
εργάστηκε ο κάθε εργάτης και θεωρούνται υπερωρίες}
w_am, ep_am, apoz, yp_apoz, synolo: longint; {Για περισσότερη οικονομία
στην μνήμη θα μπορούσαμε τις μεταβλητές w_am, ep_am, να τις δηλώσουμε integer. }
BEGIN
writeln ('Δώσε το πλήθος των εργατών της εταιρείας:');
readln(plithos);
writeln('Δώσε τις υποχρεωτικές ώρες εργασίας:');
readln(yw);
writeln('Δώσε την ωριαία αμοιβή:');
readln(w_am);
writeln('Δώστε την επιπλέον αμοιβή για τις υπερωριακές ώρες:');
readln(ep_am);
x:=0; {Αρχικοποιούμε τον μετρητή, δίνοντας του την τιμή 0}
we:=0; {Επειδή η μεταβλητή we χρησιμοποιείται ως μεταβλητή ελέγχου σύμφωνα
με τα δεδομένα της άσκησης πρέπει να έχει μια αρχική τιμή, αληθής, αλλιώς
δεν θα εκτελεστούν ποτέ τα περιεχόμενα της while. Στην λύση με repeat δεν
απαιτείται να αρχικοποιηθεί η τιμή της we}
clrscr;
writeln('πλήθος εργατών:',plithos);
writeln('υποχρεωτικές ώρες εργασίας',yw);
writeln('ωριαία αποζηίωση:',w_am);
writeln('πρόσθετη υπερωριακή αποζημ.:',ep_am);
writeln('αποδοχές εργαζομένων');
writeln('__________________________________________________________________');
writeln('| α/α | ώρες εργ. | αποζημ. | ώρες υπερ. | υπερ αποζ. | σύνολο |');
while (x<plithos) and (we>=0) do begin
x:=x+1;
write('| ',x:5,'| ');
read(we);
if we<=yw then begin {Αν ο εργάτης έχει δουλέψει λιγότερες ή ίσες με τις
υποχρεωτικές ώρες}
apoz:=we*w_am;
w_yp:=0;
yp_apoz:=0;
end
else begin {Αν ο εργάτης έχει δουλέψει περισσότερες ώρες από τις υποχρεωτικές}
apoz:=we*w_am;
w_yp:=we-yw;
yp_apoz:=w_yp*ep_am;
end;
synolo:=apoz+yp_apoz;
writeln('| ',apoz:9,'| ',w_yp:11,'| ',yp_apoz,'| ',synolo:7,'|');
end;
END.
και εγω κάτι τέτοιο έκανα
απλα κόβει ο πίνακας σε κάθε εργάτη
πιστεύω να το καταλάβουν καλύτερα τα παιδιά έτσι
τώρα τι θέλι ο συγγραφέας ακριβως....άβυσσος η ψυχη του!!!
sorry για τη μορφοποίηση, το copy-paste τα κάνει χάλια
program ergates;
USES WINCRT;
Var plithos,basikeswres,wriaia_amoibh,yperwr_amoibh,wres_ergasias,yperwries,aa_ergaz:integer;
apozhmiwsh_basikh,apozhmiwsh_yperwriwn,synolo:real;
Begin
aa_ergaz:=1;
write('plithos ergatwn:');
readln(plithos);
write('ypoxrewtikes wres ergasias:');
readln(basikeswres);
write('wriaia apozhmiwsh:');
readln(wriaia_amoibh);
write('pros8eth uperwriakh apozhmiwsh:');
readln(yperwr_amoibh);
writeln('αποδοχές εργαζομένων');
while aa_ergaz<=plithos do
begin
writeln('dwse wres ergasias tou ergath');
read(wres_ergasias);
yperwries:=wres_ergasias-basikeswres;
apozhmiwsh_basikh:=basikeswres*wriaia_amoibh;
apozhmiwsh_yperwriwn:=yperwries*yperwr_amoibh;
synolo:=apozhmiwsh_basikh+apozhmiwsh_yperwriwn;
writeln('__________________________________________________________________');
writeln('| α/α | ώρες εργ. | αποζημ. | ώρες υπερ. | υπερ αποζ. | σύνολο |');
writeln('|', aa_ergaz:6,'|',wres_ergasias:11,'|',apozhmiwsh_basikh:9:2, '|', yperwries:12,'|',apozhmiwsh_yperwriwn:12:2,'|',synolo:8:2,'|');
aa_ergaz:=aa_ergaz+1;
end;
end.
Παράθεση από: meteo_xampos στις 24 Φεβ 2009, 09:21:29 ΜΜ
Καλησπέρα σας συνάδελφοι... Για δείτε σας παρακαλώ πολύ την άσκηση 2 στη σελίδα 124....
"Να γράψετε πρόγραμμα το οποίο να διαβάζει δυο αριθμούς και το είδος της πράξης που εκτελέσει
(προσθεση, αφαίρεση, πολλαπλασιασμός, διαίρεση). Να χρησιμοποιήσετε διαδικασίες (χωρίς παραμέτρους)
για την εισαγωγή δεδομένων, την επιλογή της πράξης, τον υπολογισμό και την εκτύπωση του
αποτελέσματος. Να χρησιμοποιήσετε ένα μηχανισμό ελέγχου, ώστε οι διαδικασίες να επαναλαμβάνονται
όσες φορές θέλουμε."
Αυτό το πρόγραμμα υλοποιείται ως εξής...
..............................
Δηλαδή με δήλωση μεταβλητώ έξω από τις διαδικασίες, και απόδοση τιμών σε αυτές
μέσα στις διαδικασίες. Αυτό όμως δεν υπάρχει καν στο βιβλίο, ούτε ως αναφορά
ότι μπορεί να γίνει... Τι λέτε κι εσείς;
Συνάδελφε έχεις απόλυτο δίκιο, τώρα τι να πούμε.
Παράθεση από: iliasthes στις 03 Μαρ 2009, 08:20:33 ΜΜ
Φαντάζομαι ο προβληματισμός των περισσοτέρων είναι ο εξής: Για να λύσετε κάποιες από αυτές τις ασκήσεις στην τάξη, θέσατε εσείς κάποιους περιορισμούς ή κάποιες a priori υποθέσεις που ο συγγραφέας παρέλειψε και δώσατε κάποια λύση. Αν δοθεί η ίδια άσκηση και η επιτροπή εξετάσεων βλέποντας αυτά τα κενά θέσει άλλες a priori υποθέσεις ή περιορισμούς, υπάρχει η πιθανότητα να εκτεθούμε και στους μαθητές μας, οι οποίοι θα θεωρήσουν σωστή την λύση μας, που τελικά θα αποδειχθεί λάθος.
Βέβαια εμείς πρέπει να διδάσκουμε στην ουσία την μεθοδολογία επίλυσης των ασκήσεων και όχι αυτές καθεαυτές τις λύσεις.
......................
......................
Ελπίζω ότι η επιτροπή των θεμάτων να έχει σαφώς διατυπωμένες τις προϋποθέσεις των ασκήσεων, ειδάλλως βλέπω να στέλνουν διευκρινιστικές σημειώσεις κατά τη διάρκεια της γραπτής εξέτασης.
Υ.Γ. Χαράς το κουράγιο σας που καθήσατε να γράψετε τη λύση. Πολύ πράγμα βρε παιδιά..
Συνάδελφοι αν θέλετε μπορείτε να βάζετε τον κώδικα ανάμεσα σε [cοde=Pascal]Εδώ μπαίνει ο κώδικας[/cοde]. Έτσι διατηρείται η μορφοποίηση, και μόλις βρεθεί λίγος χρόνος και φτιαχτεί το σχετικό plugin για το φόρουμ, θα χρωματίζονται και αυτόματα.
Π.χ.:
program ergates;
USES WINCRT;
Var plithos,basikeswres,wriaia_amoibh,yperwr_amoibh,wres_ergasias,yperwries,aa_ergaz:integer;
apozhmiwsh_basikh,apozhmiwsh_yperwriwn,synolo:real;
Begin
aa_ergaz:=1;
write('plithos ergatwn:');
readln(plithos);
write('ypoxrewtikes wres ergasias:');
readln(basikeswres);
write('wriaia apozhmiwsh:');
readln(wriaia_amoibh);
write('pros8eth uperwriakh apozhmiwsh:');
readln(yperwr_amoibh);
writeln('αποδοχές εργαζομένων');
while aa_ergaz<=plithos do
begin
writeln('dwse wres ergasias tou ergath');
read(wres_ergasias);
yperwries:=wres_ergasias-basikeswres;
apozhmiwsh_basikh:=basikeswres*wriaia_amoibh;
apozhmiwsh_yperwriwn:=yperwries*yperwr_amoibh;
synolo:=apozhmiwsh_basikh+apozhmiwsh_yperwriwn;
writeln('__________________________________________________________________');
writeln('| α/α | ώρες εργ. | αποζημ. | ώρες υπερ. | υπερ αποζ. | σύνολο |');
writeln('|', aa_ergaz:6,'|',wres_ergasias:11,'|',apozhmiwsh_basikh:9:2, '|', yperwries:12,'|',apozhmiwsh_yperwriwn:12:2,'|',synolo:8:2,'|');
aa_ergaz:=aa_ergaz+1;
end;
end.
xristina, εάν μπορείς γράφε ελληνικά και όχι greeklish, είναι πιο ευανάγνωστα και μπορούν να εντοπιστούν και με αναζήτηση.
Καλησπέρα παιδιά!
Έχω ξαναρωτήσει αλλά δεν βγάλαμε άκρη. Αν μπορούσε κάποιος να με βοηθήσει σε δύο ασκήσεις:
1. Να φτιάξετε σε Pascal συνάρτηση akeraio_meros(a) που θα δέχεται μια πραγματική μεταβλητή και θα επιστρέφει το ακέραιο μέρος της.
2. Να φτιάξετε σε Pascal συνάρτηση strog(a,n) που θα δέχεται έναν πραγματικό αριθμό και θα τον επιστρέφει στρογγυλοποιημένο σε n ψηφία π.χ.strog(1.34867,2)->1.35
Και οι δύο να λυθούν χωρίς την χρήση έτοιμων συναρτήσεων της Pascal.
Ευχαριστώ πολύ!
Μήπως να ζητάγαμε ενδεικτικές λύσεις των ασκήσεων του βιβλίου;;;όλα τα μαθήματα με σκήσεις έχουν λύσεις....πόσο μάλλον το δικό μας που είναι όλο ασάφειες.....Δε γίνεται να πηγαίνουμε στα τυφλά και στο τέλος να εκτεθούμε....γιατί οπως πάντα φταίει ο καθηγητής!!!!
ΣΥΜΦΩΝΩ!!!!
Ωραία ας επικοινωνήσουμε όλοι με τουσ συμβούλους μας για να δούμε μήπως γίνει κατι......
Θα σας πρότεινα για το akeraio_meros
Function AM(A:Real):Integer;
var i:Integer;
Begin
Pr:=1;
If A<0 then Begin
pr:=-1;
A :=A*(-1);
End;
I:=0;
While (I<=A) do I:=I+1;
AM:=(I-1)*Pr;
end.
για το strog αργότερα.
Βρακόπουλος Αθανάσιος
Παράθεση από: xryka στις 05 Μαρ 2009, 08:35:05 ΠΜ
Ωραία ας επικοινωνήσουμε όλοι με τουσ συμβούλους μας για να δούμε μήπως γίνει κατι......
Εγω έστειλα ένα mail στο σύμβουλο μας...για να δουμε...έστω για του χρόνου
καλημέρα είμαι καινούρια στο forum.
βρίσκομαι στο κεφάλαιο 12 και χρειάζομαι μια λύση στις άσκησεις 1 σελ 123 και 4 σελ 124.
Ενώ δεν υπάρχουν λάθη, κατα την κλήση της διαδικασίας οι υπολογισμοί ειναι μηδέν
Αν θέλεις στείλε την λύση σου, κάποιο μικρό λαθάκι θα κρύβεται από πίσω. Αλλιώς το απογευματάκι που θα πάω στο σπίτι θα ανεβάσω την λύση.
Ανεβάζω δυο αρχεία. Το πρώτο είναι οι λύσεις των ασκήσεων 1,2 και 5 από το κεφ 12(σελ, 123, 124 και 125), ένα φύλλο εξέτασης, ενσωματωμένο στις λύσεις, όπου ζητείται από τους μαθητές να τροποποιήσουν κατάλληλα την λύση της άσκησης 2. Το δεύτερο μια περίληψη μαθήματος για τις συναρτήσεις.
Ευχαριστω παρα πολύ! Το προβλημά ήταν οι παράμετροι μεταβλητών!
Καλησπέρα παιδιά,
όποιος έχει λίγο χρόνο θα ήθελα να με βοηθήσει ανεβάζοντας την λύση της άσκησης 6(τετράπλευρο) σελ 108 κεφαλαιο 11.,κάπου μου κολλάει.
ευχαριστώ!!!
Να πως την έκανα εγώ
program askisi6;
var a,b,c,d,g:real;
ksana:char;
begin
repeat
writeln('Dwse tis tesseris pleyres tou tetrapleyrou');
readln(a,b,c,d);
writeln('Dwse th gwnia tou tetrapleyrou');
readln(g);
if (a=b) and (b=c) and (c=d)
then
if g=90
then writeln('to tetrapleuro einai tetragwno')
else writeln('to tetrapleuro einai rombos')
else if (a=c) and (b=d)
then
if g=90
then writeln('to tetrapleuro einai or8ogwnio')
else writeln('to tetrapleuro einai parallhlogramo')
else writeln('to tetrapleuro einai tuxaio');
writeln('Theleis na ksanadokimaseis; Y or N');
readln(ksana);
until ksana='N';
end.
Τι μπορείς να πάθεις αν δίνεις σημασία στο βιβλίο. Άσκηση 6 σελ 125, έχουμε ως δεδομένο έναν ακέραιο αριθμό σύμφωνα με την εκφώνηση και πρέπει να υπολογίζουμε με συνάρτηση και να εμφανίζουμε την τρίτη δύναμη του. Όταν δίνει την μορφή της εκτύπωσης παρουσιάζει τον αριθμό να εκτυπώνεται με δύο δεκαδικά ψηφία και την δύναμη με 4 δεκαδικά ψηφία. Δίνοντας την κατάλληλη μορφοποίηση στην εκτύπωση φυσικά ο compiler έβγαζε λάθος, το οποίο μου φαινόταν παράλογο ;D ;D.
Παράλογος είναι αυτός που έγραψε το βιβλίο, χαχα.
Να κάνω μια ερωτησούλα την Άσκηση 11 σελ.126 την διδάσκουμε ή παει και αυτή στην αναδρομή που είναι εκτός ύλης;
Προσωπικά την άφησα από έξω, από την στιγμή που έχει το παραγοντικό
γειά σας είμαι καινούρια στο forum.
χρειάζομαι μια λύση για την άσκηση 3 σελίδα 107 , διότι δεν καταλαβαίνω αν θέλει επανάληψη με μετρητή (αφού ζητάει το πλήθος των εργατών) ή με γεγονός (αφού λέει ότι η επανάληψη σταματάει όταν δοθεί αρνητικός αριθμός για ώρες εργασίας).
Και εγώ απέξω λέω να την αφήσω :)
Παράθεση από: nanakefa στις 16 Μαρ 2009, 08:51:38 ΜΜ
γειά σας είμαι καινούρια στο forum.
χρειάζομαι μια λύση για την άσκηση 3 σελίδα 107 , διότι δεν καταλαβαίνω αν θέλει επανάληψη με μετρητή (αφού ζητάει το πλήθος των εργατών) ή με γεγονός (αφού λέει ότι η επανάληψη σταματάει όταν δοθεί αρνητικός αριθμός για ώρες εργασίας).
Μερικά μηνύματα πριν έχουμε γράψει 2 εκδοχές της λύσης. Στη σελίδα 6 της συζήτησης...αν δεν το βρίσκεις ξαναπες να το στειλουμε...
Nα σας κάνω μία γενική ερώτηση. Πως τα πάνε οι μαθητές σας σε προβλήματα με άγνωστο αριθμό επαναλήψεων και σε αυτά που ζητείται να κατασκευάσεις υποπρόγραμμα;
Στην επανάληψη κάτι γίνεται...οχι πάντα ...εξαρτάται απο την εκφωνηση ....αλλα σήμερα έκαν αποπειρα να μπω στις ρουτίνες και συναρτήσεις και με κοιτουσαν σαν εξωγηινο..με πιασε απελπισια....
κανω ενα βημα μπροστα με υπερπροσπαθεια και 2 πισω....
Εμένα να πω την αλήθεια, μόνο 1-2 άτομα μπορούν να γράψουν μόνοι τους πρόγραμμα και αυτό απλό σχετικά, όχι τίποτα πολύπλοκο. Σε άλλου τύπου ασκήσεις όμως (πχ μετατροπή repeat σε while ) τα πράγματα είναι κάπως καλύτερα.
Έχει ετοιμάσει κανείς υλικό για το κεφ12;; Θεωρία και ασκήσεις;;
Τι ακριβώς θέλεις; Έχω λύσει τις ασκήσεις 1,2,5,6,7 και 9 μια παρουσίαση για τις διαφορές ανάμεσα σε παραμέτρους τιμής και μεταβλητής και κάποιες ασκησούλες.
Θα ήμουν ευγνώμων αν μπορούσες να μου στείλεις την παρουσίαση με τις διαφορές των παραμέτρων τιμής και παραμέτρων μεταβλητής; οι ασκήσεις του βιβλίου είναι αρκετά προχωρημένες για να καταλάβουν τη διαφορά των παραμέτρων...
το πρώτο μάθημα στο κεφ.12 έπιασε πάτο..με κοιτάγαν σαν ούφο και προσπαθώ τώρα να φτιάξω παραδείγματα με διαφορετικους τύπους παραμέτρων...
θα επιθυμουσα να δω και εγω την παρουσιαση που εκανες iliasthes, αν δεν σε πειραζει , ισως να τους διευκολυνω (με τη βοηθεια σου)περισσοτερο να κατανοησουν αυτες τι εννοιες...ευχαριστω εκ των προτερων...
Καλησπερα συνάδελφοι,ελπίζω να είστε καλά ... Μερικές παρατηρήσεις ήθελα να κάνω και εγώ...
α) Γενικώς οι μαθητές δυσκολεύονται στην ανάπτυξη αλγορίθμων και στον προγραμμάτισμο αυτών, ακόμα και σε απλές περιπτώσεις.
β) Με την υλη πώς πάτε? Στο τέλος της εβδομάδας θα κάνω μια εισαγωγή σε διαδικασίες-συναρτήσεις και ο Θεός βοηθός. Πάντως πρέπει να "τρέξω" γρήγορα την ύλη καθώς δε μένουν πολλά μαθήματα. Λέω μήπως και προλάβω να κάνω καμμιά σύντομη επανάληψη ...
γ)Το κεφάλαιο 13 τι παίζει?( για να προγραμματιστώ ρωτάω). Είναι απλά θεωρητικό ή έχει και ασκήσεις?
Στέλνω την παρουσίαση για τις παραμέτρους. Επειδή δημιουργήθηκε σε openoffice, έκδοση για Linux μπορεί να έχει κανένα προβληματάκι στην εμφάνιση (καμιά φορά κανένας πίνακας ή κανένα βελάκι εμφανίζεται σε λάθος θέση ή κάποια κίνηση δεν βρίσκει εφαρμογή). Βασικά στην τρίτη διαφάνεια στις παραμέτρους μεταβλητής τα 2 παραδείγματα στα οποία δεν αντιστοιχεί βελάκι πρέπει να υπάρχει διακριτή διαγραφή για να φαίνεται πως είναι λάθος, αλλά η μορφοποίηση δεν εμφανίζεται στο Ms Powerpoint, οπότε καλό είναι να βάλετε μόνοι σας την διαγραφή, για να φανεί πως είναι μη αποδεκτό το παράδειγμα.
Επίσης ανέβασα δυο έγγραφα που τα χρησιμοποίησα εγώ σαν μπούσουλα για το μάθημα (Μάθημα 2ο, τοπικές και καθολικές-μεταβλητές). (Μάθημα 4ο εισαγωγή στις συναρτήσεις) και τέλος αναλυτική και βήμα βήμα λύση των ασκήσεων 1 και 2 του βιβλίου και της άσκησης 5, μαζί με κάποιο φύλλο εξέτασης.
Ελπίζω να σας φανούν χρήσιμα.
Υ.Γ. Παρακαπλώ, πολύ αν προσέξετε οποιοδήποτε λάθος κάντε έναν κόπο να μου το επισημάνετε.
Σ΄ευχαριστώ πολύ,
Καλό βράδι
Εγώ αυτή τη βδομάδα θα μπω στο 12 κεφάλαιο και ο θεόσ βοηθός.Ξέρει κανείς αν έχει βγει η ημερομηνία που θα δώσουν πανελλαδικές;
Γεια σας, έχω την εντύπωση πως οι πανελλαδικές εξετάσεις θα ξεκινήσουν 15-16 Μαίου, ΔΕΝ είμαι όμως σίγουρος. :)
Οι μαθητές της Β ομάδας ξεκινάνε στις 15 Μαϊου. Οι υπόλοιποι όπως πάντα μετά τις ενδοσχολικές εξετάσεις.
Παράθεση από: iliasthes στις 24 Μαρ 2009, 11:46:29 ΠΜ
Οι μαθητές της Β ομάδας ξεκινάνε τις 15 Μαϊου. Οι υπόλοιποι όπως πάντα μετά τις ενδοσχολικές εξετάσεις.
sosta ! :)
Δηλαδή εγώ που έχω μαθητή τησ Α ομάδας να υπολογίζω μέσα Ιουνίου;Πρώτη φορά διδάσκω και δε γνωρίζω ακριβώσ τι γίνεται με τα επαλ.
Στη σελίδα του ypepth, δεν έχει βγει κάτι επίσημα;
εγω σαν μαθητης μπορω να πω οτι ειναι πολυ ευκολος ο προγραμματισμος.λυνο πρωτα στο χαρτι ολα τα προγραμματα και ειναι πιο ευκολο. ισως πρεπει να το δοκιμασεται και οι καθηγητες στα παιδια. ειδικα οι πινακες ειναι πολυ ευκολοι. φιλικα και ελπιζω να μην προσβαλω καποιον
Όλα είναι εύκολα, αρκεί να θέλεις να τα μάθεις. Αν θέλεις (αν έχεις κίνητρο δηλαδή) και σου αρέσει κάτι το μαθαίνεις. Οι μέθοδοι είναι πολλές και κάθε μέθοδος έχει αποτέλεσμα και σε διαφορετικά άτομα. Άλλοι προτιμάνε να λύνουνε σε χαρτί, άλλοι το θεωρούνε βαρετό, αφού βρήκες τον τρόπο που μαθαίνεις καλύτερα εσύ, αυτό είναι καλό για σένα και σε βοηθάει να μάθεις καλύτερα.
Επέτρεψε μου όμως κάτι. Οι πίνακες είναι εκτός ύλης. Είναι στο Κεφ 14.
Η ομάδα Α θα δώσει παν-νιες το πρώτο δεκαήμερο του Ιουνίου...προφανώς μετά τις ενδοσχολικές εξετάσεις.
Τις ασκήσεις 2 και 3 σελίδα 124 τις έχει λύσει κανείς;;;
Πώς τις κάνατε με επανάληψη όπου θα καλεί τις διαδικασίες για διάβασμα και υπολογισμό ή χωρίς οπότε θα χουμε ξεχωριστές μεταβλητές για τα 4 διαμερίσματα;
Σου στελνω τη λύση της 3 άσκησης
program askisi3;
Var embado1,embado2,embado3,embado4,dapanh:real;
pososto1,pososto2,pososto3,pososto4:real;
xrewsh1,xrewsh2,xrewsh3,xrewsh4:real;
procedure eisagwgi(Var emb1,emb2,emb3,emb4,d:real);
Begin
writeln('Δώσε το εμβαδό του 1ου διαμερίσματος:');
readln(emb1);
writeln('Δώσε το εμβαδό του 2ου διαμερίσματος:');
readln(emb2);
writeln('Δώσε το εμβαδό του 3ου διαμερίσματος:');
readln(emb3);
writeln('Δώσε το εμβαδό του 4ου διαμερίσματος:');
readln(emb4);
writeln('Δώσε τη συνολική δαπάνη πετρελαίου:');
readln(d);
End;
Procedure ypologismos(em1,em2,em3,em4,dap: real; Var pos1,pos2,pos3,pos4,xr1,xr2,xr3,xr4:real);
Begin
pos1:=em1/(em1+em2+em3+em4);
pos2:=em2/(em1+em2+em3+em4);
pos3:=em3/(em1+em2+em3+em4);
pos4:=em4/(em1+em2+em3+em4);
xr1:=pos1*dap;
xr2:=pos2*dap;
xr3:=pos3*dap;
xr4:=pos4*dap;
End;
Procedure apotelesmata(e1,e2,e3,e4,dapa,p1,p2,p3,p4,x1,x2,x3,x4:real);
begin
writeln('αξία πετρελαίου ',dapa:10:2);
writeln('διαμέρισμα εμβαδόν ποσοστά χρέωση πετρελαίου');
writeln('________________________________________________ ');
writeln('________________________________________________ ');
writeln('διαμέρισμα1 ',e1:10:2,p1:10:2,x1:10:2);
writeln('διαμέρισμα2 ',e2:10:2,p2:10:2,x2:10:2);
writeln('διαμέρισμα3 ',e3:10:2,p3:10:2,x3:10:2);
writeln('διαμέρισμα4 ',e4:10:2,p4:10:2,x4:10:2);
writeln('________________________________________________ ');
writeln('________________________________________________ ');
writeln(' ',(e1+e2+e3+e4):10:2,' 1.000');
end;
Begin
eisagwgi(embado1,embado2,embado3,embado4,dapanh);
ypologismos( embado1,embado2,embado3,embado4,dapanh,pososto1,pososto2,pososto3,pososto4,xrewsh1,xrewsh2,xrewsh3,xrewsh4);
apotelesmata(embado1,embado2,embado3,embado4,dapanh,pososto1,pososto2,pososto3,pososto4,xrewsh1,xrewsh2,xrewsh3,xrewsh4);
End.
[code]
και η 2 άσκηση
program askisi2;
uses crt;
Var
i,n:byte;
a,b, apotelesma:real;
telestis:char;
procedure eisagwgi;
Begin
Writeln('Δώστε τον πρώτο αριθμό:');
readln(a);
writeln('Δώστε τον δεύτερο αριθμό:');
readln(b);
End;
procedure praksi;
Begin
writeln('1. Για πρόσθεση των δύο αριθμών δώστε "+":');
writeln('2. Για αφαίρεση των δύο αριθμών δώστε "-":');
writeln('3. Για διαίρεση των δύο αριθμών δώστε "/":');
writeln('4. Για πολλαπλασιασμό των δύο αριθμών δώστε "*":');
readln(telestis);
end;
procedure ypologismos;
Begin
case telestis of
'+':apotelesma:= a+b;
'-':apotelesma:= a-b;
'*':apotelesma:= a*b;
'/': begin
if b=0 then
writeln('Δεν μπορεί να γίνει διαίρεση με το 0')
else
apotelesma:= a/b;
end;
else
writeln('Ο χαρακτήρας που δώσατε δεν αντιστοιχεί σε κάποια πράξη');
end;
end;
procedure eksodos;
Begin
writeln('To αποτέλεσμα είναι:',apotelesma:12:2);
end;
BEGIN
writeln('Δώστε τον αριθμό των αριθμό των πράξεων που θέλετε να εκτελέσετε:');
readln(n);
for i:=1 to n do begin
clrscr;
eisagwgi;
praksi;
ypologismos;
eksodos;
writeln('Πατήστε ένα πλήκτρο για συνέχεια');
readkey;
end;
END.
Γεια σας συναδελφοι. Μια ερώτηση ήθελα να κάνω ...
Μπορεί κανείς να μου διευκρινήσει πως παριστάνεται ένα υποπρόγραμμα με λογικό διάγραμμα? Στο βιβλίο έχει ένα ορθογώνιο με 2 κάθετες γραμμές στο οποίο φαντάζομαι γράφουμε το όνομα του υποπρογράμματος που καλούμε. Ο ορισμός το υποπρογράμματος που γίνεται?
Επίσης στον ψευδοκώδικα, πώς γίνεται η όλη διαδικασία?Εγώ λέω ως εξής:ορίζουμε κάτω από το ΑΡΧΗ του προγράμματος το υποπρόγραμμα π.χ. 'διαδικασία εκτύπωσε' και μέσα στο κυρίως πρόγραμμα γράφουμε 'κάλεσε εκτύπωσε'.
Εσείς τι λέτε?
Ευχαριστώ πολύ!
έτσι τις έκανα και γω αλλά μου φάνηκε χαζό να χρησιμοποιήσουμε τόσες μεταβλητές...
άλλη μια απορία....η αναδρομή στο κεφάλαιο 12 είναι στην ύλη ή επειδή είναι εκτός για τα λογικά διαγράμματα και τον ψευδοκώδικα θεωρούμε και εδώ ότι είναι εκτός;;;
Σύμφωνα με την διευκρινιστική εγκύκλιο, ο,τι έχει σχέση με αναδρομή δεν το αναφέρουμε, ούτε τις ασκήσεις που απαιτούνε τις σχετικές γνώσεις λύνουμε.
Καλησπέρα συνάδελφοι
Η Ομάδα Α θα δώσει μεν πανελλαδικές εξετάσεις τον Ιούνιο, αλλά απ'ότι διαβάζω όχι μετά από τις ενδοσχολικές εξετάσεις αλλά πριν από αυτές. Οι ενδοσχολικές θα γίνουν, τουλάχιστον όπως μέχρι στιγμής έχουν ανακοινώσει μετά και μέχρι τις 26 Ιουνίου. Εγώ δεν καταλαβαίνω πώς θα προλάβουμε να εκδόσουμε αποτελέσματα, πτυχια κτλ μέχρι τις 30 Ιουνίου. Αν κάποιος γνωρίζει κάτι άλλο, ας μας το πει.
Επίσης ανεβάζω μια λύση για τη δραστηριότητα 4 της σελίδας 127 του βιβλίου. Οι παρατηρήσεις σας είναι ευπρόσδεκτες.
Μάλλον κάτι έγινε με την επισύναψη του αρχείου και το ξαναστέλνω.
Έτσι όπως τα λες είναι, αλλάζουν φαίνεται τα πράγματα από φέτος. Μην αγχώνεσαι για τα αποτελέσματα, μπορεί να σου πει ο Υπουργός να καθίσεις μέχρι 10 Ιουλίου, γιατί να καθόμαστε από 30 Ιουνίου; ;D
κάθε χρόνο τελειώναμε 31 Μαίου, φέτος θα πιάσουμε Ιούλιο :o ??? :(
Εμένα αυτό που μου χαλάει το πρόγραμμα είναι πως δεν θα μείνουνε ελεύθερες μέρες να ασχοληθούμε με λοιπά θέματα, για την προετοιμασία της επόμενης χρονιάς και κυρίως την συντήρηση των εργαστηρίων. Πχ Πέρσι κάναμε τις εγγραφές τον Ιούνιο, το να έχεις 10-15 γονείς να περιμένουν για εγγραφή και την ίδια στιγμή σε διπλανή αίθουσα κάποιοι μαθητές να γράφουν εξετάσεις είναι μη λειτουργικό
και αυτό το ελεύθερο λογισμικό είναι αρκετά καλό για να διδαχθεί η Pascal. Εγώ το βρήκα πάντως ικανοποιητικό καθώς είναι φιλικό και εύχρηστο.
http://users.lak.sch.gr/samartzidis/pame/#4
εγώ χρησιμοποιώ το παρακάτω ελεύθερο λογισμικό. Είναι πολύ καλό θα έλεγα και φιλικό για τα παιδιά. Ειδικά τα εικονίδια και τα παράθυρα αποθήκευσης ταιριάζουν με την φιλοσοφία των windows και τα παιδιά δεν μπερδεύονται
http://users.lak.sch.gr/samartzidis/pame/#4