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

Γενικό Λύκειο => Γ΄ Λυκείου => Μήνυμα ξεκίνησε από: sstauross στις 19 Απρ 2017, 09:12:26 ΜΜ

Τίτλος: Απορία εντολή εξόδου
Αποστολή από: sstauross στις 19 Απρ 2017, 09:12:26 ΜΜ
Καλησπέρα στην ομάδα και Χρόνια Πολλά,
μια σύντομη ερώτηση απλά για επιβεβαίωση,
η εντολή:

ΓΡΑΨΕ 'Το αποτελεσμα θα εμφανιστεί', 3, "φορές"

είναι αποδεκτή; Δεδομένης της πρότασης του βιβλίου στη σελίδα 133 τελευταία παράγραφος: "Η λιστα των στοιχείων μπορεί να περιέχει σταθερές τιμές και ονόματα μεταβλητών" θεωρώ οτι το 3 είναι σταθερή αριθμητική τιμή οπότε είναι αποδεκτό σαν σύνταξη. Τι λέτε;
Τίτλος: Απ: Απορία εντολή εξόδου
Αποστολή από: evry στις 19 Απρ 2017, 09:42:40 ΜΜ
Δεν το καταλαβαίνω, δηλαδή η παρακάτω εντολή είναι λάθος?

γράψε  2*7+45 -Α*Β

δεν μπορεί να μπει έκφραση στην Γράψε?

ΥΓ. Για τη δική σου απορία δες στα θέματα του 2015 το ερώτημα Α5.β.
Τίτλος: Απ: Απορία εντολή εξόδου
Αποστολή από: sstauross στις 19 Απρ 2017, 10:03:49 ΜΜ
Παράθεση από: evry στις 19 Απρ 2017, 09:42:40 ΜΜ
Δεν το καταλαβαίνω, δηλαδή η παρακάτω εντολή είναι λάθος?

γράψε  2*7+45 -Α*Β

δεν μπορεί να μπει έκφραση στην Γράψε?

ΥΓ. Για τη δική σου απορία δες στα θέματα του 2015 το ερώτημα Α5.β.

Αυτό φανταζόμουν και γώ οτι ειναι αποδεκτό. Τώρα, σύμφωνα με αυτή τη πρόταση του σχολικού δεν θα ήταν αποδεκτή θεωρητικά μια έκφραση στο ΓΡΑΨΕ. Ας μας πουν και άλλοι συνάδελφοι την άποψη τους..
Τίτλος: Απ: Απορία εντολή εξόδου
Αποστολή από: Manolis Kosmidis στις 20 Απρ 2017, 03:03:01 ΜΜ
Παράθεση από: evry στις 19 Απρ 2017, 09:42:40 ΜΜ
Δεν το καταλαβαίνω, δηλαδή η παρακάτω εντολή είναι λάθος?

γράψε  2*7+45 -Α*Β

δεν μπορεί να μπει έκφραση στην Γράψε?
Ο μαθητής που στο Γυμνάσιο χρησιμοποίησε τη Δείξε 2 + 3 στο Microworlds, πιθανόν να είναι προϊδεασμένος για τη χρήση αυτή. Κατά τη γνώμη μου όμως, δε προκύπτει από τη λογική του βιβλίου.
Η Γράψε είναι μία εντολή εξόδου, που εμφανίζει θέσεις μνήμης στην μονάδα εξόδου. Διαχωρίζεται από την εκχώρηση που υπολογίζει εκφράσεις και εκχωρεί το αποτέλεσμα τους στις μεταβλητές θέσης μνήμης. Αν στην Γράψε προσθέσουμε κι αυτή τη λειτουργικοτητα (υπολογίζει εκφράσεις) τότε πιθανώς να προκύψει θέμα σωστής κατανόησης της, από τον αρχάριο προγραμματιστή. Επίσης, η εντολή παύει να είναι απλή και σαφής, κάνοντας αδιαφανή την εκχώρηση του αποτελέσματος σε θέση μνήμης. Αν για παράδειγμα προκύψει ένα πρόβλημα casting μεταβλητών (πχ ακέραια με λογική), τί είδους λάθους θα παραχθεί; Ότι είναι σωστή η σύνταξη της Γράψε ή ότι η έκφραση δεν έχει σωστές τιμές;
Από πλευράς software reliability καλό είναι οι εντολές να κάνουν, όσο το δυνατό, 1 δουλειά, ώστε να είναι εύκολα συντηρήσιμες και αναγνώσιμες, ειδικά οι εντολές εξόδου που είναι πιο αργές από τους υπολογισμούς.
Συνήθως άλλωστε, τα μηνύματα εξόδου είναί μαζεμένα, είτε ως αλφαριθμητικές σταθερές, είτε ως ρουτίνες, έτσι ωστε να εντοπίζονται και να ενημερώνονται εύκολα. Επίσης συχνά, είναι ήδη αρκετά πολύπλοκες, ως προς τη σύνθεση του μηνύματος.
Νομίζω ότι δεν υπάρχει λόγος να αυξάνεις την πολυπλοκότητα μιας διδακτικής γλώσσας, χωρίς να προσθέτεις περισσότερη λειτουργικότητα.
Τίτλος: Απ: Απορία εντολή εξόδου
Αποστολή από: evry στις 20 Απρ 2017, 03:22:09 ΜΜ
Καταλαβαίνω το σκεπτικό σου, αλλά αυτό έχει να κάνει με τη διδακτική προσέγγιση, με την οποία δεν διαφωνώ ιδιαίτερα. Το ερώτημα είναι αν μπορούμε να πούμε σε μαθητή ότι μια τέτοια χρήση της Γράψε είναι λάθος.
Τίτλος: Απ: Απορία εντολή εξόδου
Αποστολή από: Λάμπρος Παπαδόπουλος στις 20 Απρ 2017, 06:45:48 ΜΜ
Οδηγίες μελέτης μαθητή σελ.: 44

    ΓΡΑΨΕ i^3
Τίτλος: Απ: Απορία εντολή εξόδου
Αποστολή από: bugman στις 21 Απρ 2017, 04:15:23 ΜΜ
Σε όλες τις γλώσσες που η έξοδος είναι η κονσόλα του τερματικού, ή ένα αρχείο, υπάρχουν εντολές που στέλνουν χαρακτήρες και κάποιες που μορφοποιούν αριθμητικές τιμές. Υπάρχουν και αυτές που δέχονται παραστάσεις και όχι δείκτες σε τιμές. Η χρήση μεταβλητής για να κρατήσουμε την τιμή μιας παράστασης είναι πλεονασμός όταν δεν την θέλουμε για κάτι άλλο. Ό,τι πρόβλημα casting έχουμε στην εκχώρηση θα το έχουμε και στην εντολή εξόδου. Για παράδειγμα αν η Α είναι ακέραιος και η Β κινητής υποδιαστολής,  η εντολή εξόδου πρέπει ή να μπορεί να το γνώριζει αν ελέγχει τύπους  (ο διερμηνευτής ή ο μεταφραστής ανάλογα) ή να δέχεται όρισμα που να καθορίζει το είδος. Διαφορετικά θα πρέπει να υπάρχει μια Γράψε μόνο για ακέραιους, μια άλλη για χαρακτήρες, μια άλλη για κινητής υποδιαστολής αριθμούς. Αποφεύγονται όλα αυτά αν από την παράσταση είναι φανερό το τι δίνουμε. Συνήθως αυτό συμβαίνει. Η  python εκτελεί πράξεις και αυτόματα προάγει τα αποτελέσματα στο τύπο που μπορεί να κρατήσει την τιμή. Σε κάποιες γλώσσες η παρουσία μιας και μόνο τιμής κινητής υποδιαστολής, σταθερής ή μεταβλητής, δίνει το αποτέλεσμα της παράστασης ως αριθμό κινητής υποδιαστολής οπότε γίνεται μετατροπή σε χαρακτήρες με την ακρίβεια σε δεκαδικά που έχει επιλεχθεί, καθολικά. Ειδικά οι αριθμοί κινητής υποδιαστολής,  σε μετατροπή ως χαρακτήρες, έχουν πολλούς τρόπους, άρα μια εντολή Γράψε με χρήση ενός και μόνο τρόπου δεν είναι ικανοποιητική.
Και αυτά σχετίζονται με τους αριθμούς, χωρίς να υπολογίσει κανείς τις στήλες και την στοίχιση σε αυτές. Πώς θα γράψουμε πέντε σειρές των τεσσάρων αριθμών η μία, με στοίχιση δεξιά, σε στήλες πλάτους 10 χαρακτήρων, με σταθερή την υποδιαστολή, με δύο δεκαδικά στρογγυλοποίηση, και εμφάνιση 0,00 στη τιμή μηδέν. Η μορφοποίηση της εξόδου έχει να κάνει με το είδος των τιμών μεμονωμένα αλλά και σε σύνολο. Η επιλογή παραστάσεων ή υποχρεωτικά μόνο μεταβλητών είναι το λιγότερο, στο θέμα χρήσης. Ασφαλώς η χρήση παραστάσεων στη Γράψε βοηθάει για πιο κομψό κώδικα.
Θα μπορούσε να δει κανείς τη Γράψε ως έναν αυτοματισμό που παράγει ιδιωτικές μεταβλητές, κάνει εκχώρηση και μετά λειτουργεί όπως μια Γράψε με μεταβλητή. Η διαφορά είναι ότι επιλέγει ο διερμηνευτής/μεταφραστής τον τύπο. Και αυτό σε γλώσσα όπου όλες οι μεταβλητές δίνονται με δήλωση τύπου. Προφανώς αυτή η απουσία δήλωσης ξενίζει, ή φαίνεται ανακόλουθη.
Τίτλος: Απ: Απορία εντολή εξόδου
Αποστολή από: Sergio στις 21 Απρ 2017, 06:12:17 ΜΜ
Παράθεση από: sstauross στις 19 Απρ 2017, 09:12:26 ΜΜ
Καλησπέρα στην ομάδα και Χρόνια Πολλά,
μια σύντομη ερώτηση απλά για επιβεβαίωση,
η εντολή:

ΓΡΑΨΕ 'Το αποτελεσμα θα εμφανιστεί', 3, "φορές"

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


ΝΑΙ, η εντολή που ρωτάς ΕΙΝΑΙ αποδεκτή στο πλαίσιο των στόχων του μαθήματος. 

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