Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Γ΄ Λυκείου => Τμηματικός προγραμματισμός => Μήνυμα ξεκίνησε από: ΝΙΚΟΣ ΧΑΤΖΗΓΙΑΝΝΑΚΗΣ στις 27 Φεβ 2004, 09:10:30 ΜΜ

Τίτλος: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
Αποστολή από: ΝΙΚΟΣ ΧΑΤΖΗΓΙΑΝΝΑΚΗΣ στις 27 Φεβ 2004, 09:10:30 ΜΜ
Τελικά στις συναρήσεις το πέρασμα παραμέτρων γίνεται με τιμή η με αναφορά.

Πάντως στον διερμηνευτή της "Γλώσσας" του Αλκη υλοποιείται με αναφορά
Τίτλος: Re: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
Αποστολή από: tommy στις 28 Φεβ 2004, 02:14:30 ΠΜ
χαιρετε.
με τον τρόπο που φαίνεται να υλοποιείται το πέρασμα των τιμών σύμφωνα με το βιβλίο παρουσιάζεται σαν με αναφορά, καθώς επηρεάζεται άμεσα η τιμή που έχει η μεταβλητή-όρισμα στο κυρίως πρόγραμμα. Δεν θα έπρεπε όμως να έχει γίνει και μια αναφορά σε δείκτες και διευθύνσεις(έστω αναφορικά)?
Τίτλος: Re: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
Αποστολή από: alkisg στις 28 Φεβ 2004, 11:03:43 ΠΜ
Νίκο στον διερμηνευτή ΔΕΝ έχει γίνει υλοποίηση με αναφορά, αλλά με αντιγραφή. Πιστεύω ότι αυτόν τον μηχανισμό εννοεί η περιγραφή του σχολικού βιβλίου.
Ο μηχανισμός της αντιγραφής δεν υπάρχει ούτε στην basic ούτε στην pascal.

Εξηγώ σύντομα τις διαφορές των τριών αυτών μηχανισμών. Έστω ότι δηλώνουμε μια συνάρτηση
[glossa]Συνάρτηση Αύξησε(χ): Ακέραια[/glossa]η οποία αυξάνει το χ κατά 1 και ταυτόχρονα επιστρέφει την νέα τιμή του. Έστω ακόμα ότι την καλούμε από το κυρίως πρόγραμμα:
[glossa] α <-- Αύξησε(1)
β <-- 3
γ <-- Αύξησε(β)[/glossa]
Πέρασμα παραμέτρων με τιμή σημαίνει ότι κατά την Αύξησε(β) η τιμή του β δεν θα αλλάξει και θα παραμείνει 3.
Πέρασμα παραμέτρων με αναφορά σημαίνει ότι η Αύξησε(1) δεν είναι αποδεκτή, αφού μόνο οι μεταβλητές μπορούν να περαστούν με αναφορά και όχι οι σταθερές όπως είναι το 1.
Πέρασμα παραμέτρων με αντιγραφή σημαίνει ότι όλο το παραπάνω πρόγραμμα είναι αποδεκτό. Η τιμή της σταθεράς 1 θα αντιγραφεί στην τοπική μεταβλητή χ της συνάρτησης, το χ θα αυξηθεί αλλά φυσικά δεν θα μπορέσει να επιστρέψει την αλλαγμένη τιμή του στο κυρίως πρόγραμμα. Δηλαδή ενώ το α θα γίνει 2, η σταθερά 1 δεν θα γίνει 2 (εννοείται). Αν όμως περαστεί η τιμή της μεταβλητής β στην τοπική μεταβλητή χ με αναφορά, τότε και το β θα γίνει 4 και το γ θα γίνει επίσης 4.

Γενικά τα παραδείγματα που έχει το σχολικό βιβλίο δεν είναι δυνατόν να εκτελεστούν ούτε μόνο με αναφορά (αφού υπάρχουν παραδείγματα όπου καλούνται συναρτήσεις με παραμέτρους σταθερές), ούτε μόνο με τιμή (αφού υπάρχουν παραδείγματα όπου καλούνται συναρτήσεις με παραμέτρους μεταβλητές και οι οποίες τροποποιούνται από την συνάρτηση).

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

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

Εννοείται βέβαια ότι αν η εκπαιδευτική κοινότητα καταλήξει σε κάποιο διαφορετικό συμπέρασμα (ή δοθεί διαφορετική διευκρίνηση από το Υπουργείο) θα τροποποιήσω κατάλληλα τον διερμηνευτή.
Τίτλος: Re: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
Αποστολή από: P.Tsiotakis στις 01 Μαρ 2004, 12:54:55 ΜΜ
Μερικές φορές κάνουμε τα πράγματα πολύ πιο δύσκολα απ'οτι είναι. Κάπου μας είχαν πει οτι ο καλύτερος δάσκαλος είναι αυτός που παίρνει τη θέση του μαθητή και εξετάζει τα πράγματα και από τη δική του σκοπιά.

Οι μαθητές λοιπόν, αδιαφορούν (και πολύ καλά κάνουν κατά τη γνώμη μου) για τους όρους: Πέρασμα παραμέτρων με τιμή, Πέρασμα παραμέτρων με αναφορά και Πέρασμα παραμέτρων με αντιγραφή.

Μια συνάρτηση δέχεται παραμέτρους και επιστρέφει μια τιμή, μια διαδικασία μπορεί να κάνει ό,τι και ένα πρόγραμμα.

Αν αλλάξει η τιμή μιας παραμέτρου σε μια συνάρτηση δεν επηρρεάζει την τιμή της στο κυρίως πρόγραμμα, το ανάποδο ισχύει σε μια διαδικασία

Τα παραδείγματα επιτρέπουν πέρασμα σταθεράς σε συνάρτηση (όχι σε διαδικασία) και θεωρώ οτι η κλήση συνάρτησης με τιμή είναι σωστή, αλλά ας το αποφύγουμε!!

Οι απορίες έχουν έννοια στην υλοποίηση του διερμηνευτή ή της γλωσσομάθειας ή αντίστοιχου άλλου περιβάλλοντος για την ΓΛΩΣΣΑ

Με εκτίμηση,
Τίτλος: Re: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
Αποστολή από: ΧΑΤΖΗΓΙΑΝΝΑΚΗΣ ΝΙΚΟΣ στις 02 Μαρ 2004, 02:25:38 ΜΜ
Εφόσον λοιπόν μία συνάρτηση δεν μπορεί να μεταβάλει τις παραμέτρους τις (όπως μια διαδικασία) θεωρούμε οτι τις περναμε με τιμή ενω σε μια διαδικασία με αντιγραφή .

Αυτο που ειπα είναι οτι στο διερμηνευτή περνιουνται με αντιγραφή και στις δύο περιπτώσεις.

Εμείς τι διδάσκουμε ?

Μπορεί μια συνάρτηση να αλλάξει τις τιμές στις παραμέτρους τις ?

Ναι είναι ψιλά γράμματα αλλά δε μπορούμε να δίνουμε και αόριστες ερμηνίες
Τίτλος: Re: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
Αποστολή από: P.Tsiotakis στις 03 Μαρ 2004, 11:58:22 ΠΜ
Θεωρώ Νίκο, οτι απλά δεν χρειάζεται να θίξουμε το αν μια συνάρτηση μπορεί να αλλάζει τις παραμέτρους
Αλλά δεν υπάρχει αόριστη ερμηνεία: μια συνάρτηση δέχεται παραμέτρους και επιστρέφει μια τιμή με το όνομα της συνάρτησης. Η μόνη τιμή που επιστρέφεται είναι αυτή που εκχωρείται (ως τελευταία εντολή) στο όνομα της συνάρτησης, τίποτα άλλο, άρα αν αλλάζει η τιμή κάποιας παραμέτρου δεν σημαίνει οτι η αλλαγή αυτή θα έχει επίπτωση στην τιμή της στο κυρίως πρόγραμμα.
Χρειάζεται τα παιδιά να προβληματιστούν περισσότερο από αυτό ??

Αόριστη ερμηνεία είναι ό,τι δεν βασίζεται σε θεωρία ή παραδείγματα του βιβλίου

Με εκτίμηση,
Τίτλος: Re: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
Αποστολή από: tanius_nik στις 19 Μαρ 2004, 12:00:01 ΠΜ
Χαιρετώ κι εγώ αυτήν την ψηφιακή κοινότητα,  ;) 8)
την οποία την βρίσκω πολύ σημαντική. Τώρα τελευταία ανακάλυψα αυτήν την κοινότητα και δηλώνω ενθουσιασμένη.
Να συστηθώ κι εγώ λοιπόν. Λέγομαι Τάνια και ζώ στην Λευκάδα.
Διδάσκω το μάθημα αυτό και το βρίσκω καταπληκτικό σαν αντικείμενο,
Όμως για το βιβλίο ας μην εκφραστώ καλύτερα  :furious3:

Βρίσκομαι στο κεφάλαιο 10 και ζητώ την γνώμη σας για τις ασκήσεις στο ΔΤ2
Για πχ το βιβλίο του καθηγητή και κάποιο άλλο βοήθημα που έχω την λύνει έτσι:
Α)
ΔΙΑΔΙΚΑΣΙΑ Τετράγωνο (Χ2)
ΠΡΑΓΜΑΤΙΚΕΣ Χ,Χ2
ΑΡΧΗ
ΔΙΑΒΑΣΕ Χ
Χ2<-Χ^2
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ Τετράγωνο

Προσωπικά πιστεύω ότι είναι λάθος. Όμως πώς να το διδάξεις στους μαθητές σου που πρέπει να γράψουν Πανελλήνιες??
Δηλαδή επειδή διαβάζει το χ , θεωρεί ότι γίνεται εισαγωγή δεδομένων και άρα είναι διαδικασία? Το ίδιο κάνει και στο Β&Γ
Εσείς τι λέτε για αυτό?
Τίτλος: Re: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
Αποστολή από: P.Tsiotakis στις 19 Μαρ 2004, 10:56:24 ΠΜ
Αγαπητή Τάνια,

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

Σύμφωνα με το βιβλίο συνάρτηση είναι ο τύπος υποπρογράμματος που δέχεται τιμές και επιστρέφει μετά από την επεξεργασία τους ΜΙΑ τιμή. Ο,τιδήποτε άλλο είναι διαδικασία (τύπος υποπρογράμματος που κάνει ό,τι και ένα πρόγραμμα).
Άρα, δεν πρόκειται να δούμε ποτέ στο τμήμα εντολών μιας συνάρτησης τις εντολές ΔΙΑΒΑΣΕ και ΓΡΑΨΕ

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

Βέβαια το συγκεκεριμένο παράδειγμα ΜΕ ΑΛΛΗ ΕΚΦΩΝΗΣΗ θα έπρεπε να υλοποιείται με συνάρτηση την οποία παραθέτω στην ιστοσελίδα http://users.kor.sch.gr/ptsiotakis/aepp/aepp_ask/ch10/aepp_ask10_1.htm παράδειγμα 10.1.4.

Τάνια δεν ξέρω αν σε κάλυψα. Ή αν υπάρχει διαφορετική άποψη από τα 173 (!!!) εγγεγραμμένα μέλη του forum και λοιπούς μη εγγεγραμμένους αναγνώστες με χαρά αναμένω να την ακούσω

Με την γνωστή εκτίμηση,
Τίτλος: Re: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
Αποστολή από: Γιώργος στις 19 Μαρ 2004, 11:03:22 ΠΜ
Γεια σου Τανια. Λοιπόν το παράδειγμα που λές είναι σωστό γιατί σε μια διαδικασία όπως ξέρουμε μπορούμε να κάνουμε ότι ακριβώς και σε ένα πρόγραμμα , αρά και εισαγωγή στοιχείων

Τίτλος: Re: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
Αποστολή από: xaidi στις 19 Μαρ 2004, 11:51:55 ΠΜ
ΣΥΜΦΩΝΩ ΑΠΟΛΥΤΑ ΜΕ ΤΟΥΣ ΠΑΡΑΠΑΝΩ ΑΛΛΑ ΝΟΜΙΖΩ ΠΩΣ ΤΟ ΚΟΜΜΑΤΙ
ΔΙΑΔΙΚΑΣΙΑ Τετράγωνο (Χ2)  ΕΙΝΑΙ ΛΑΘΟΣ ΘΑ ΕΠΡΕΠΕ ΝΑ ΕΙΝΑΙ

ΔΙΑΔΙΚΑΣΙΑ Τετράγωνο (Χ)

ΘΑ ΣΟΥ ΠΡΟΤΕΙΝΑ ΤΑΝΙΑ ΝΑ ΜΠΕΙΣ ΣΤΗΝ ΙΣΤΟΣΕΛΙΔΑ ΤΟΥ ΠΑΝΑΓΙΩΤΗ. ΕΧΕΙ ΠΟΛΥ ΕΝΔΙΑΦΕΡΟΝ ΥΛΙΚΟ.
Τίτλος: Re: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
Αποστολή από: xaidi στις 19 Μαρ 2004, 11:55:46 ΠΜ
ΔΙΑΔΙΚΑΣΙΑ Διαίρεσε_Μιγαδικούς (α, β, γ, δ, πραγμ_πηλίκο, μιγαδ_πηλίκο)

ΜΕΤΑΒΛΗΤΕΣ

    ΠΡΑΓΜΑΤΙΚΕΣ : α, β, γ, δ, πραγμ_πηλίκο, μιγαδ_πηλίκο

ΑΡΧΗ

    πραγμ_πηλίκο <- (α * γ + β * δ) / (γ^2 + δ^2)

    μιγαδ_πηλίκο <- (β * γ - α * δ) / (γ^2 + δ^2)

ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΤΟ ΠΑΡΑΠΑΝΩ ΕΙΝΑΙ ΕΝΑ ΛΥΜΕΝΟ ΚΟΜΜΑΤΙ ΑΣΚΗΣΗΣ ΑΠΟ ΤΗΝ ΣΕΛΙΔΑ ΣΟΥ . ΘΑ ΜΠΟΡΟΥΣΕΣ ΣΕ ΠΑΡΑΚΑΛΩ ΝΑ ΜΟΥ ΕΞΗΓΗΣΕΙΣ ΤΟ ΚΟΜΜΑΤΙ  "(α, β, γ, δ, πραγμ_πηλίκο, μιγαδ_πηλίκο)"?
Τίτλος: Re: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
Αποστολή από: tanius76 στις 19 Μαρ 2004, 12:23:16 ΜΜ

Καταρχήν παιδιά, Γιώργο και Παναγιώτη, ευχαριστώ
για τις απαντήσεις σας.

Η αλήθεια είναι Παναγιώτη από το δικό σου site, είδα την άσκηση και προβληματίστικα..

Καταπληκτική η δουλεία σου και πού χρήσιμη για μένα!

Αρα πρέπει να επισημάνουμε στους μαθητές μας να προσέχουν ιδιαίτερα  την εκφώνιση του προβλήματος και αναλόγως να διαλέγουν.    
Τίτλος: Re: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
Αποστολή από: P.Tsiotakis στις 19 Μαρ 2004, 12:33:42 ΜΜ
Xaidi δεν έχει δίκιο, το σωστό είναι ΔΙΑΔΙΚΑΣΙΑ Τετράγωνο(Χ2) αφού αυτή η παράμετρος θα επιστραφεί όχι η Χ

Για την άλλη ερώτηση, αναφέρεσαι στην ιστοσελίδα http://users.kor.sch.gr/ptsiotakis/aepp/aepp_ask/tet_math/aepp_tm10.htm που προτείνω τις λύσεις για τις ασκήσεις του τετραδίου μαθητή και στην άσκηση ΔΕ3.

Οι παράμετροι α, β, γ, δ είναι παράμετροι εισόδου στην διαδικασία (δίνουν τιμές) ενώ οι πραγμ_πηλίκο, μιγαδ_πηλίκο είναι παράμετροι εξόδου (δεν δίνουν αλλά επιστρέφουν τιμές στο κυρίως πρόγραμμα) - όμοια και για τις άλλες διαδικασίες. Γίνε πιο συγκεκριμένη αν κάτι σε προβλημαίζει μήπως έχω κάνει λάθος

Τάνια ευχαριστώ για τα καλά σου λόγια, αν δεις κάποιος λάθος να μου το επισημάνεις αμέσως. Επίσης, αν έχεις δημιουργήσει ασκήσεις και θες να τις βάλουμε στο site με το όνομά σου επίσης με χαρά να το κάνω

Με εκτίμηση,
Τίτλος: Re: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
Αποστολή από: xaidi στις 19 Μαρ 2004, 12:45:49 ΜΜ
ΤΟ ΠΡΟΒΛΗΜΑ ΜΟΥ ΕΙΝΑΙ ΤΟ ΕΞΗΣ: ΣΥΜΦΩΝΑ ΜΕ ΤΟ ΒΙΒΛΙΟ "Η ΛΙΣΤΑ ΠΑΡΑΜΕΤΡΩΝ ΕΙΝΑΙ ΜΙΑ ΛΙΣΤΑ ΜΕΤΑΒΛΗΤΩΝ ΤΩΝ ΟΠΟΙΩΝ ΟΙ ΤΙΜΕΣ.....ΤΗΣ ΔΙΑΔΙΚΑΣΙΑΣ. (ΣΕΛ 214)
ΣΤΗΝ ΠΑΡΑΠΑΝΩ ΔΙΑΔΙΚΑΣΙΑ ΔΗΛΩΝΕΙΣ ΟΛΕΣ ΤΙΣ ΜΕΤΑΒΛΗΤΕΣ. ΣΤΗΝ ΕΠΟΜΕΝΗ ΔΙΑΔΙΚΑΣΙΑ ΔΗΛΩΝΕΙΣ ΤΙΣ ΜΕΤΑΒΛΗΤΕΣ "ΕΙΣΟΔΟΥ". ΜΕ ΠΟΙΑ ΑΙΤΙΟΛΟΓΙΑ ΚΑΘΕ ΦΟΡΑ ΦΙΛΤΡΑΡΕΙΣ ΤΙ ΔΗΛΩΝΕΙΣ? ΑΝ ΚΑΤΑΛΑΒΑΙΝΩ ΚΑΛΑ ΣΥΜΦΩΝΑ ΜΕ ΤΟ ΒΙΒΛΙΟ ΤΙΣ ΔΗΛΩΝΟΥΜΕ ΟΛΕΣ.(?)
ΔΙΑΔΙΚΑΣΙΑ Υπολογισμός_ΦΠΑ (Τιμή, συντ_ΦΠΑ)

ΜΕΤΑΒΛΗΤΕΣ

     ΠΡΑΓΜΑΤΙΚΕΣ : Τιμή, συντ_ΦΠΑ, ποσό_ΦΠΑ, τελ_τιμή

ΑΡΧΗ

     Ποσό_ΦΠΑ <- Τιμή * συντ_ΦΠΑ

     τελ_τιμή <- Τιμή + Ποσό_ΦΠΑ

     ΓΡΑΨΕ 'Το ποσό ΦΠΑ είναι, Ποσό_ΦΠΑ, και η τελική τιμή του προϊόντος είναι', τελ_τιμή

ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
ΙΣΩΣ ΕΓΩ ΔΕΝ "ΠΙΑΝΩ" ΚΑΤΙ.

Τίτλος: Re: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
Αποστολή από: P.Tsiotakis στις 19 Μαρ 2004, 01:04:54 ΜΜ
Πάντα δηλώνω τις μεταβλητές εισόδου ΚΑΙ τις μεταβλητές εξόδου, αν κάπου δενμ το έχω κάνει είναι λάθος μου. Στο συγκεκριμένο παράδειγμα σε όλες τις διαδικασίες ακολυθώ την ίδια στρατηγική.

Στο άλλο παράδειγμα οι μεταβλητές Τιμή και συντ_ΦΠΑ είναι παράμετροι εισόδου. Υπάρχει εκτύπωση εντός της διαδικασίας, δεν επιστρέφεται τίποτα στο κυρίως πρόγραμμα

Δεν τις δηλώνουμε όλες. Δηλώνουμε μόνο αυτές που είναι εισόδου και αυτές που είναι εξόδου (αν υπάρχουν σε μια διαδικασία)

Υπάρχει κάτι άλλο;

Με εκτίμηση,
Τίτλος: Re: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
Αποστολή από: tommy στις 19 Μαρ 2004, 03:45:43 ΜΜ
Χαίρετε,
σχετικά με το προηγούμενο post:
εστω οτι θέλουμε να φτιάξουμε μια διαδικασία που να προσθέτει 2 ακέραιους αριθμούς και να επιστρέφει το αποτέλεσμα στο κυρίως πρόγραμμα, θα ήταν σωστό το παρακάτω?

Διαδικασία Πρόσθεση(Αριθμός1, Αριθμός, Αποτέλεσμα)
Μεταβλητές
   Ακέραιες:Αριθμός1, Αριθμός2, Αποτέλεσμα
Αρχή
   Αποτέλεσμα<-Αριθμός1+Αριθμός2
Τέλος_Διαδικασίας

στο κυρίως πρόγραμμα δε θα πρέπει να δηλωθεί μια μεταβλητή που να δέχεται το Αποτέλεσμα?
και εστω οτι δηλώνεται θα καλέσουμε: Κάλεσε πρόσθεση(χ,χ1,y)?
αλλά η μεταβλητή y για το κυρίως πρόγραμμα δεν έχει κάποια τιμή και η μεταβλητή Αποτέλεσμα είναι τοπική μεταβλητή της διαδικασίας.
Θα σας ήταν εύκολο παρακαλώ να το αναλύσετε;
ευχαρίστώ πολύ


Τίτλος: Re: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
Αποστολή από: tanius76 στις 19 Μαρ 2004, 06:33:58 ΜΜ
Βέβαια το συγκεκεριμένο παράδειγμα ΜΕ ΑΛΛΗ ΕΚΦΩΝΗΣΗ θα έπρεπε να υλοποιείται με συνάρτηση την οποία παραθέτω στην ιστοσελίδα http://users.kor.sch.gr/ptsiotakis/aepp/aepp_ask/ch10/aepp_ask10_1.htm παράδειγμα 10.1.4.
 
Καταρχήν δεν υπάρχει παράθεση?Πώς γίνεται?
Αρα η εξής Ασκηση που παραθέτω
 10.1.1. Να γράψετε υποπρόγραμμα που να διαβάζει έναν αριθμό και να επιστρέφει το τετράγωνό του

ΣΥΝΑΡΤΗΣΗ Εις_το_Τετράγωνο (Χ): ΠΡΑΓΜΑΤΙΚΗ

ΜΕΤΑΒΛΗΤΕΣ

     ΠΡΑΓΜΑΤΙΚΕΣ : Χ

ΑΡΧΗ

     Τετράγωνο <- Χ^2

ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

 
είναι λάθος Παναγιώτη σωστά? Τι λέτε?
Τίτλος: Re: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
Αποστολή από: P.Tsiotakis στις 19 Μαρ 2004, 07:09:16 ΜΜ
"Παραθέτω" σημαίνει οτι υπάρχει στην ιστοσελίδα μου και δεν τον αντιγράφω στο forum
Απόσπασμα από ιστοσελίδα http://users.kor.sch.gr/ptsiotakis/aepp/aepp_ask/ch10/aepp_ask10_1.htm
10.1.4. Να γράψετε υποπρόγραμμα που να δέχεται έναν αριθμό και να επιστρέφει το τετράγωνό του

[glossa]
ΣΥΝΑΡΤΗΣΗ Εις_το_Τετράγωνο (Χ): ΠΡΑΓΜΑΤΙΚΗ
ΜΕΤΑΒΛΗΤΕΣ
     ΠΡΑΓΜΑΤΙΚΕΣ : Χ, εκτίμηση
ΑΡΧΗ
     εκτίμηση <-- Χ ^ 2
     Εις_το_Τετράγωνο <-- εκτίμηση
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
[/glossa]

Μήπως Τάνια έχεις εκτυπώσει την ιστοσελίδα παλιά όπου είχα κάνει λάθος στην τελευταία εντολή? Στην παλιότερη έκδοση την είχα ονομάσει "Τετράγωνο", όταν την μετονόμασα ξέχασα να αλλάξω και την τελευταία εντολή. Δες και τώρα...

Tommy:

Το πρόγραμμα που αναφέρεσαι είναι το εξής:

[glossa]
ΠΡΟΓΡΑΜΜΑ Έλεγχος_Πρόσθεσης
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: x1, x2, y
ΑΡΧΗ
  x1 <-- 5
  x2 <-- 11
  ΚΑΛΕΣΕ Πρόσθεση (x1, x2, y)
  ΓΡΑΨΕ y
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
!=================================
ΔΙΑΔΙΚΑΣΙΑ Πρόσθεση(Αριθμός1, Αριθμός2, Αποτέλεσμα)
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Αριθμός1, Αριθμός2, Αποτέλεσμα
ΑΡΧΗ
  Αποτέλεσμα <-- Αριθμός1 + Αριθμός2
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
[/glossa]


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

Κάνε copy paste στον διερμηνευτή αν τον έχεις και τρέξτο να παρακολουθήσεις τις τιμές των μεταβλητών κατά την εκτέλεση

Μπορείς επίσης να δεις και τις ιστοσελίδες:

1)  http://users.kor.sch.gr/ptsiotakis/aepp/aepp_theory/ch10/aepp_theory10c.htm
2)  http://users.kor.sch.gr/ptsiotakis/aepp/aepp_ask/ch10/aepp_ask10_9.htm

Με τη γνωστή εκτίμηση,
Τίτλος: Re: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
Αποστολή από: tanius76 στις 20 Μαρ 2004, 12:45:13 ΜΜ
Ναι Παναγιώτη έχω την προηγούμενη εκδοχή της Άσκησης!
Όπου το πρώτο λάθος ήταν στην εκφώνιση όπου έλεγε να διαβάζει έναν αριθμό και όχι να δέχεται έναν αριθμό και το δεύτερο είναι αυτό που αναφέρεις εσύ.
Ευχαριστώ πάντως για τις απαντήσεις σου..
ΚΑΛΟ ΣΚ !
Τίτλος: Re: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
Αποστολή από: P.Tsiotakis στις 20 Μαρ 2004, 05:38:45 ΜΜ
Η συνεχής βελτίωση του δικτυακού κόμβου οφείλεται στα διαρκή σχόλια και παρατηρήσεις των συναδέλφων κάτι που άλλωστε επιζητώ.  Υπάρχουν σίγουρα πολλά λάθη ακόμη

Το υλικό αυτό τελικά ανήκει σε όλους
Τίτλος: Re: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
Αποστολή από: xaidi στις 22 Μαρ 2004, 08:13:54 ΠΜ
 OXI EYXARISTO (KATI EXEI PATHEI PALI AYTO TO MHXANIMA KAI DEN GRAFEI ELLHNIKA ! ) DHLADH OTAN EKTYPVNEIS MESA STH DIADIKASIA, (AYTONOHTO OTI DEN EPISTREFEI TIPOTA) DEN DHLONEIS OTAN YPARXEI EPISTROFJH STIS DIADIKASIES DHLONEIS TA PANTA. ETSI TO KATALABAINO KI EGO.
Τίτλος: Re: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
Αποστολή από: P.Tsiotakis στις 22 Μαρ 2004, 09:08:09 ΠΜ
Όταν δεν υπάρχει παράμετρος εξόδου δεν την βάζεις (πχ στην εκτύπωση) αλλά θα βάλεις τις παραμέτρους εισόδου. Πώς θα πάρει δεδομένα η διαδικασία ;;;
Όταν έχεις και εισόδου και εξόδου τότε θα βάλεις όλες τις παραμέτρους

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

Μάλιστα, το βιβλίο λέει οτι μια διαδικασία μπορεί να μην έχει καθόλου παραμέτρους

Με εκτίμηση,
Τίτλος: Re: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
Αποστολή από: tommy στις 22 Μαρ 2004, 11:38:34 ΠΜ
ptsiotakis:

Ευχαριστώ πολύ για την απάντηση.
Τίτλος: Re: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
Αποστολή από: tanius76 στις 22 Μαρ 2004, 12:21:12 ΜΜ
Παιδιά άλλη μια διευκρινησούλα με τα υποπρογράμματα

Οταν η εκφώνιση λέει να κάνετε υποπρόγραμμα που να δέχεται τις παραμέτρους α,β  
σημαίνει ότι οι τιμές αυτές έχονται από το Κύριο Πρόγραμμα.
Ομως στο βιβλίο στην άσκηση ΔΤ2 το Β) Ερώτημα αν δεν κάνω λάθος
Ενώ γράφει έτσι στην εκφώνηση χρησιμοποιεί Διαδικασία
και εντός της διαδικασίας γράφει Διάβασε α,β
Τι λέτε εσείς γιαυτό?
Τίτλος: Re: ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
Αποστολή από: P.Tsiotakis στις 22 Μαρ 2004, 12:41:47 ΜΜ
Σαφώς, στο ΔΤ2.β πρέπει να χρησιμοποιηθεί συνάρτηση

Ωστόσο, σε όποια περίπτωση χρησιμοποιώ συνάρτηση μπορώ να χρησιμοποιήσω και διαδικασία για να κάνω τα ίδια πράγματα (το αντίθετο φυσικά δεν ισχύει).

Δεν ξέρω γιατί αυτοί που έλυσαν την άσκηση επέλεξαν διαδικασία. Η πιο "ψαγμένη" εξήγηση είναι οτι ήθελαν να περάσουν το μήνυμα που προανέφερα. Την πιο απλή εξήγηση δεν θέλω να την αναφέρω τώρα  :furious3:

Tommy, δεν χρειάζονται ευχαριστίες, συζητάμε για να βγάζουμε συμπεράσματα

Με εκτίμηση,