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

Ξεκίνησε από georgia_kitsou, 14 Οκτ 2010, 10:30:45 ΠΜ

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

georgia_kitsou


   Καλημέρα σας!  :)

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

  Συγγνώμη αν κάπου έχει ήδη συζητηθεί το θέμα και δεν το γνώριζα. Δε ξέρω γιατί, αλλά δεν είμαι και πολύ ικανοποιημένη με την απάντηση που του έδωσα.  :-\
Μήπως μπορεί κάποιος να μου πει τη γνώμη του; Ευχαριστώ εκ των προτέρων!

Wizard

Οι σταθερές που αναφέρεις δεν υπάρχουν στην ψευδογλώσσα, αλλά μόνο στη Γλώσσα με την ονομασία "συμβολικές σταθερές".
Στην ψευδογλώσσα, με την έννοια σταθερά, εννοούμε προκαθορισμές τιμές που δεν αλλάζουν, π.χ. 5, "Κώστας", κλπ. Δηλαδή, στην ψευδογλώσσα στην έκφραση χ <- ψ + 3, τα χ και ψ είναι μεταβλητές και το 3 είναι σταθερά.
Στη Γλώσσα όμως, μπορείς να ορίσεις συμβολικές σταθερές και εκεί μπορείς π.χ. το χ να είναι συμβολική σταθερά και να μην μπορεί να αλλάξει η τιμή του.

Καρκαμάνης Γεώργιος


georgia_kitsou

Σας ευχαριστώ πάρα πολύ, έστω και καθυστερημένα! :-)

elenitaaaaa

εστω οτι εχουμε την παρακατω ασκηση:να γραφει αλγοριθμος που να εχει σαν δεδομενα τον αριθμο εργοδηγων,τον αριθμο ειδικευμενων κα τον αριθμο ανειδικευτων εργαζομενων μιας επιχειρησης. Ξεροντας οτι οι μισθοι ειναι 1200€ για τον εργοδηγο,900€για τον ειδικευμενο και 700€ για τον ανειδικευτο,ο αλγοριθμος να υπολογιζει την μηνιαια μισθοδοσια της επιχειρησης.

ΑΛΓΟΡΙΘΜΟΣ μισθοδοσια
ΔΙΑΒΑΣΕ εργοδ, ειδ, ανειδ
μισθ<- εργοδ*1200 + ειδ*900 + ανειδ*700
ΕΜΦΑΝΙΣΕ μισθ
ΤΕΛΟΣ μισθοδοσια

ειναι σωστο?

soron80

Τσισπαράς Βασίλης
Καθηγητής Πληροφορικής ΠΕ19

Νίκος Αδαμόπουλος

Παράθεση από: elenitaaaaa στις 03 Σεπ 2011, 03:30:07 ΜΜ
ΑΛΓΟΡΙΘΜΟΣ μισθοδοσια
ΔΙΑΒΑΣΕ εργοδ, ειδ, ανειδ
μισθ<- εργοδ*1200 + ειδ*900 + ανειδ*700
ΕΜΦΑΝΙΣΕ μισθ
ΤΕΛΟΣ μισθοδοσια

Χωρίς να λέω ότι είναι λάθος, ωστόσο θα προτιμούσα την εξής εκδοχή:

ΑΛΓΟΡΙΘΜΟΣ μισθοδοσια
Δεδομένα // εργοδ, ειδ, ανειδ //
μισθ<- εργοδ*1200 + ειδ*900 + ανειδ*700
Αποτελέσματα // μισθ //
ΤΕΛΟΣ μισθοδοσια
[/quote]

... και ο λόγος είναι ότι η άσκηση που έδωσες δεν απαιτεί να διαβάζονται τα δεδομένα ούτε να εμφανίζονται τα αποτελέσματα!

Λάμπρος Μπουκουβάλας

συμφωνώ κι εγώ με το Νίκο. άλλο είναι το "να διαβάζει και να εμφανίζει" και άλλο το "δίνονται και να υπολογίζει".
Λάμπρος Μπουκουβάλας
MSc - MRes

http://blogs.sch.gr/lambrosbouk

Ο Θουκυδίδης  (που τον διαβάζουν οι ξένοι, αλλά όχι εμείς)  έγραφε: «Αταλαίπωρος τοις πολλοίς η ζήτησις της αληθείας, και επί τα ετοίμα μάλλον τρέπονται» (Ι, 20, 3). Οι περισσότεροι δηλαδή αναζητούν αβασάνιστα την αλήθεια και στρέφονται σε ό,τι βρίσκουν έτοιμο. Δεν προβληματίζονται...

elenitaaaaa

Παράθεση από: Νίκος Αδαμόπουλος στις 03 Σεπ 2011, 07:46:42 ΜΜ
Χωρίς να λέω ότι είναι λάθος, ωστόσο θα προτιμούσα την εξής εκδοχή:

ΑΛΓΟΡΙΘΜΟΣ μισθοδοσια
Δεδομένα // εργοδ, ειδ, ανειδ //
μισθ<- εργοδ*1200 + ειδ*900 + ανειδ*700
Αποτελέσματα // μισθ //
ΤΕΛΟΣ μισθοδοσια


... και ο λόγος είναι ότι η άσκηση που έδωσες δεν απαιτεί να διαβάζονται τα δεδομένα ούτε να εμφανίζονται τα αποτελέσματα!


ναι αλλα ειμαι μολις στο 2ο μαθημα. δε θα ηταν λιγο υπερβολικο απ τη μερια μου, να τους δειξω κ τα 2 ταυτοχρονα?
και για μενα σα μορφη αλγοριθμου ειναι πιο σωστη οπως την παρουσιασατε. αλλα ποια ειναι η σωστη σειρα να τα δειξω?

Νίκος Αδαμόπουλος

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

Λάμπρος Μπουκουβάλας

Kι εγώ την τακτική που περιγράφει ο Νίκος εφαρμόζω.
Μετά τα εισαγωγικά μαθήματα τους μιλάω για δεδομένα/αποτελέσματα και τους δίνω σε χαρτί τους συνδυασμούς εκφωνήσεων (π.χ. να διαβάζει και να υπολογίζει, να δέχεται και να υπολογίζει κ.λπ.)
Λάμπρος Μπουκουβάλας
MSc - MRes

http://blogs.sch.gr/lambrosbouk

Ο Θουκυδίδης  (που τον διαβάζουν οι ξένοι, αλλά όχι εμείς)  έγραφε: «Αταλαίπωρος τοις πολλοίς η ζήτησις της αληθείας, και επί τα ετοίμα μάλλον τρέπονται» (Ι, 20, 3). Οι περισσότεροι δηλαδή αναζητούν αβασάνιστα την αλήθεια και στρέφονται σε ό,τι βρίσκουν έτοιμο. Δεν προβληματίζονται...

elenitaaaaa


Σπύρος Δουκάκης

Ένα συναφές ζήτημα είναι να ζητήσεις από τους μαθητές και τις μαθήτριες να εντοπίσουν σε έναν αλγόριθμο αναπτυγμένο είτε σε ψευδογλώσσα είτε σε ΓΛΩΣΣΑ να εντοπίσουν τις σταθερές και τις μεταβλητές και στο σημείο αυτό να μπουν στη διαδικασία να διακρίνουν τα είδη των μεταβλητών και των σταθερών.
Μία τέτοια άσκηση θα μπορούσε να είναι η ακόλουθη από κάποιο διαγώνισμα που έχει αναπτυχθεί μέσα από αυτό το forum στην οποία μπορεί να ζητηθεί και ο εντοπισμός των σταθερών, των τελεστών, πιθανώς να προστεθούν και συναρτήσεις, να αξιοποιηθεί και το Α_Μ ώστε να ελέγξουν το είδος της μεταβλητής και ακόμα να έχει συνδυασμό εντολών div, mod και / ώστε να μπορέσουν να διακρίνουν ορθά τα είδη. Π.χ. y <- 9 mod 10 / Τ_Ρ(81) + 1

Δίνεται ο παρακάτω αλγόριθμος
Αλγόριθμος Άσκηση
Διάβασε γ, α
β ← α + 5 ^ 2 * 2
Εκτύπωσε β
κ ← "Τρίτη"
Τρίτη ← γ
γ ← κ
Εκτύπωσε "Οι μέρες είναι", Τρίτη, "Τρίτη"
α ← β div 5 mod 3
Εκτύπωσε "α =", α
Τέλος Άσκηση

Να ξεχωρίσετε τις παραπάνω μεταβλητές ανάλογα με τον τύπο που ανήκουν, αν δοθούν ως είσοδοι οι τιμές "Δευτέρα" και 35.

elenitaaaaa

Καποιος μπορει να το δωσει κ ετσι. σωστα?

ΑΛΓΟΡΙΘΜΟΣ μισθοδοσια
μισεργ<-1200
μισειδ<-900
μισανειδ<-700
ΔΙΑΒΑΣΕ εργοδ, ειδ, ανειδ
μισθ<- εργοδ*μισεργ + ειδ*μισειδ + ανειδ*μισανειδ
ΕΜΦΑΝΙΣΕ μισθ
ΤΕΛΟΣ μισθοδοσια

P.Tsiotakis

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

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

elenitaaaaa

απλα εγω θα το εγραφα με τον δευτερο τροπο. οι μισθοι του καθενος ειναι στοιχεια που μας δινονται. δεν ειναι ενας τυχαιος αριθμος. κ φυσικα σαν προγραμμα ειναι πιο ευχρηστο για τον λογο που αναφερεις...

Σπύρος Δουκάκης

Μία τέτοια άσκηση είναι και η ΔΤ2 Κεφάλαιο 2 από το τετράδιο του μαθητή, όπου έχω τροποποιήσει την εκφώνηση ώστε να είναι συμβατή με τον τρόπο που έχει εξελιχθεί το μάθημα (http://wp.me/pykbG-1w)

Να αναπτύξετε αλγόριθμο για τη διαδικασία μετατροπής των παρακάτω νομισμάτων σε ευρώ, αν είναι γνωστό ότι:
• Η λίρα Αγγλίας έχει τιμή πώλησης 1,18 ευρώ.
• Το δολάριο Αμερικής έχει τιμή πώλησης 0,72 ευρώ.
• Το φράγκο Ελβετίας έχει τιμή πώλησης 1,50 ευρώ.
Στη συνέχεια να υπολογίσετε και να εκτυπώσετε σε δραχμές το σύνολο από 1.025 λίρες Αγγλίας, 2.234 δολάρια Αμερικής και 3.459 φράγκα Ελβετίας, αν γνωρίζετε ότι ένα ευρώ ισούται με 340,75 δραχμές.

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

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