Αποστολέας Θέμα: εμφανισε"..  (Αναγνώστηκε 5484 φορές)

novulus

  • Θαμώνας
  • ***
  • Μηνύματα: 25
Απ: εμφανισε"..
« Απάντηση #15 στις: 11 Δεκ 2006, 12:34:52 μμ »
Συμφωνώ απόλυτα για τη ορολογία ΓΛΩΣΣΑ και ψευδογλώσσα.
Όμως θεωρώ δεν είναι αναγκαίο να τονίζουμε στα παιδιά ότι όταν γράφουν σε ψευδογλώσσα πρέπει να χρησιμοποιούν μόνο εμφάνισε ή εκτύπωσε και όχι γράψε. Αλλού είναι τα σημεία στα οποία πρέπει να εστιαστεί η προσπάθεια η δική μας και η προσοχή του μαθητή.
Από την άλλη όταν γράφουμε πρόγραμμα σε ΓΛΩΣΣΑ, καλό είναι να τονίζουμε με λίγο σπαστικό τρόπο ότι πρέπει να χρησιμοποιούμε την ΓΡΑΨΕ, απλώς για να εισάγουμε την πειθαρχία στο λεξιλόγιο και την γραμματική των γλωσσών προγραμματισμού. Βέβαια, αν δούμε ένα πρόγραμμα σε ΓΛΩΣΣΑ με εκτύπωσε (που τυπικά είναι λάθος) δεν πιστεύω ότι πρέπει να είμαστε και πολύ αυστηροί. 
Thus spake the master programmer:
"When you have learned to snatch the error code from the trap frame, it will be time for you to leave."

johnny_xp

  • Θαμώνας
  • ***
  • Μηνύματα: 39
  • Null Argument Exception
Απ: εμφανισε"..
« Απάντηση #16 στις: 11 Δεκ 2006, 09:00:45 μμ »
Ως πρός το αν επιτρέπεται δίπλα στη ΓΡΑΨΕ να εμφανίζεται μια απλή τιμή, εγώ θα έλεγα το εξής:
Έστω η εντολή:
Κώδικας: [Επιλογή]
ΓΡΑΨΕ 2006
και έστω και το επόμενο τμήμα προγράμματος:
Κώδικας: [Επιλογή]
ΣΤΑΘΕΡΕΣ
     YEAR = 2006

ΑΡΧΗ
ΓΡΑΨΕ YEAR
Ποιά η διαφορά των δυο ΓΡΑΨΕ; Απολύτως καμία. Κατά μείζωνα λόγο όταν οι σταθερές στη ΓΛΩΣΣΑ χρησιμοποιούντε με μορφή συμβολικών σταθερών. Το σχολικό βιβλίο μιλά ξεκάθαρα για αντιστοίχηση ενός συμβόλου με μια τιμή (π.χ. σε επίπεδο της C ή της C++ το τμήμα κώδικα:
Κώδικας: [Επιλογή]
#define YEAR 2006
cout<<YEAR<<endl;
αφού εμπλακεί ο προεπεξεργαστής θα γίνει:
Κώδικας: [Επιλογή]
cout<<2006<<endl;
)
« Τελευταία τροποποίηση: 11 Δεκ 2006, 09:26:29 μμ από johnny_xp »

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3168
  • to Iterate is human to Recurse divine
Απ: εμφανισε"..
« Απάντηση #17 στις: 12 Δεκ 2006, 12:18:32 μμ »

   το define δεν είναι ίδιο με το να ορίζεις σταθερά. Στην περίπτωση της σταθεράς αν δεν κάνω λάθος δεσμεύεται χώρος στη μνήμη ενώ η define απλά αντικαθιστά σύμβολα.  Δεν είναι το ίδιο. π.χ. αν δοκιμάσεις να γράψεις

Κώδικας: [Επιλογή]
#define max(a,b) a < b ? b : a

και μετά γράψεις στο κύριο πρόγραμμα
Κώδικας: [Επιλογή]
c = max(x++, ++y)

το αποτέλεσμα δεν είναι αυτό ακριβώς που θα περίμενες
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

johnny_xp

  • Θαμώνας
  • ***
  • Μηνύματα: 39
  • Null Argument Exception
Απ: εμφανισε"..
« Απάντηση #18 στις: 12 Δεκ 2006, 03:27:14 μμ »
Μίλησα για συμβολική σταθερά και όχι απλά σταθερά. Η #define ορίζει μια συμβολική σταθερά και κάνει ακριβώς αυτό που λές (http://www.acm.uiuc.edu/webmonkeys/book/c_guide/1.7.html).

dozb

  • Θαμώνας
  • ***
  • Μηνύματα: 45
Απ: εμφανισε"..
« Απάντηση #19 στις: 12 Δεκ 2006, 07:21:57 μμ »
Βρε παιδιά για τη #define κλπ δε γνωρίζω, αυτό που καταλαβαίνω όμως βάσει λογικής είναι ότι δίπλα από τη ΓΡΑΨΕ, (ή εμφάνισε ή εκτύπωσε για ψευδογλώσσα αφού το διαχωρίζετε) επιτρέπεται να υπάρχει τιμή. Είτε αυτή είναι τύπου χαρακτήρα (π.χ. "Καλημέρα Μαρία"), είτε αυτή είναι τύπου ακέραια (15) είτε , τύπου πραγματική, είτε λογική. Επίσης, αν και δεν ξέρω αν είναι συπτωματικό ή όχι,  και η ΓΛΩΣΣΑ το επιτρέπει μια χαρά..