Αποστολέας Θέμα: ΣΥΜΒΑΤΟΤΗΤΑ ΤΥΠΩΝ  (Αναγνώστηκε 1130 φορές)

landreou

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 124
ΣΥΜΒΑΤΟΤΗΤΑ ΤΥΠΩΝ
« στις: 05 Μάρ 2013, 07:58:11 πμ »
Γεια χαρά σε όλους τους φίλους του  ΣτΠ.

Αν σε ενα προγραμμα γραμμένο δε ΓΛΩΣΣΑ έχω δύο μεταβλητές πχ. μετακ και πραγμετ η πρώτη ακέραια και η δεύτερη πραγματική μπορώ εντός του προγράμματος μια εντολή μετακ <-- πραγμετ ή πραγμετ <-- μετακ ( αυτό δε θα είναι ακυρο αφού είναι διαφορετικού τυπου μεταβλητές ) ;
Επίσης αν μπορώ μεσα σε πραγματικες εκφράσεις να συμπεριλάβω την ακέραια μεταβλητη και μέσα σε ακεραιες εκφράσεις την πραγματική μεταβλητή .


Ευχαριστώ

P.Tsiotakis

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3304
  • agent romanoff you miss me?
    • P.Tsiotakis
Απ: ΣΥΜΒΑΤΟΤΗΤΑ ΤΥΠΩΝ
« Απάντηση #1 στις: 05 Μάρ 2013, 09:16:30 πμ »
τροποποιώ το ερώτημα στο παρακάτω:

αν Α πραγματική μεταβλητή. Η εκχώρηση

   Α <- 3

είναι σωστή;

Gnirut

  • Επισκέπτης
Απ: ΣΥΜΒΑΤΟΤΗΤΑ ΤΥΠΩΝ
« Απάντηση #2 στις: 05 Μάρ 2013, 10:21:43 πμ »
Από τη στιγμή που δεν υπάρχει επίσημη και λεπτομερής περιγραφή της ΓΛΩΣΣΑΣ, σωστό είναι ότι "τρέχει" στον "Διερμηνευτή" που αποτελεί και την μόνη "επίσημη" υλοποίηση της ΓΛΩΣΣΑΣ σε υπολογιστή.

Π.χ. το Α<-3 "τρέχει", άρα είναι "σωστό"
εαν το Α ήταν ακέραιος και βάζαμε Α<-3.1 δεν θα "έτρεχε", άρα είναι λάθος.

Για όποιον έχει χρόνο για ψάξιμο, είναι βέβαιο ότι θα υπάρχουν και links στο στέκι ή αλλού που θα επιβεβαιώνουν την συμπεριφορά του "Διερμηνευτή".

batos

  • Βετεράνος
  • ****
  • Μηνύματα: 70
Απ: ΣΥΜΒΑΤΟΤΗΤΑ ΤΥΠΩΝ
« Απάντηση #3 στις: 05 Μάρ 2013, 05:57:37 μμ »
Γεια χαρά σε όλους τους φίλους του  ΣτΠ.

Αν σε ενα προγραμμα γραμμένο δε ΓΛΩΣΣΑ έχω δύο μεταβλητές πχ. μετακ και πραγμετ η πρώτη ακέραια και η δεύτερη πραγματική μπορώ εντός του προγράμματος μια εντολή μετακ <-- πραγμετ ή πραγμετ <-- μετακ ( αυτό δε θα είναι ακυρο αφού είναι διαφορετικού τυπου μεταβλητές ) ;
Επίσης αν μπορώ μεσα σε πραγματικες εκφράσεις να συμπεριλάβω την ακέραια μεταβλητη και μέσα σε ακεραιες εκφράσεις την πραγματική μεταβλητή .


Ευχαριστώ

Αν χ πραγματική μεταβλητή, τότε οι δύο επόμενες θεωρούνται ισοδύναμες εντολές:
χ<- 3
χ<- 3.0
αφού στην πρώτη γίνεται αυτόματα μετατροπή του ακεραίου 3, σε πραγματικό (έστω 3.0) πριν την καταχώρηση, οπότε και στις δύο περιπτώσεις, στην μεταβλητή καταχωρείται το πραγματικό 3 (3.0).
Αυτό το θεωρούμε δεδομένο στην ΓΛΩΣΣΑ τα τελευταία 13(;) χρόνια που διδάσκεται το μάθημα (χωρίς να έχω υπόψη μου αυτή τη στιγμή σαφή αναφορά στα σχολικά εγχειρίδια).
Το αντίστροφο δεν γίνεται. Αν κ ακέραια μεταβλητή, τότε δεν μπορούμε να έχουμε την παρακάτω εντολή:
κ <- 3.1

Μέσα σε μια αριθμητική έκφραση, η παρουσία έστω και μιας πραγματικής μεταβλητής (ή τιμής), την καθιστά πραγματικού τύπου.
Επίσης σε μια αριθμητική έκφραση, αποτελούμενη μόνο από ακέραιες μεταβλητές (ή/και τιμές), η παρουσία του τελεστή /, την καθιστά πραγματικού τύπου. (Για αυτό και εκτιμώ ότι υπάρχει (από παλιά) λάθος στο ΠΡΟΓΡΑΜΜΑ σελ. 189 στην αναφορά Χ[Ν/2], αφού το Ν/2 είναι πραγματικού τύπου.)
Άρα σε πραγματική έκφραση μπορεί να υπάρχει ακέραια μεταβλητή ή τιμή,
αλλά όχι το αντίστροφο.
Προφανώς με χρήση της συνάρτησης Α_Μ(χ) (στη ΓΛΩΣΣΑ μόνο;) μπορείς να μετατρέψεις το πραγματικό χ σε ακέραιο (κρατώντας το ακέραιο μέρος), οπότε μπορεί να συμμετέχει σε ακέραια έκφραση.

gthal

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 945
Απ: ΣΥΜΒΑΤΟΤΗΤΑ ΤΥΠΩΝ
« Απάντηση #4 στις: 06 Μάρ 2013, 12:58:46 μμ »
Μέσα σε μια αριθμητική έκφραση, η παρουσία έστω και μιας πραγματικής μεταβλητής (ή τιμής), την καθιστά πραγματικού τύπου.
Επίσης σε μια αριθμητική έκφραση, αποτελούμενη μόνο από ακέραιες μεταβλητές (ή/και τιμές), η παρουσία του τελεστή /, την καθιστά πραγματικού τύπου. (Για αυτό και εκτιμώ ότι υπάρχει (από παλιά) λάθος στο ΠΡΟΓΡΑΜΜΑ σελ. 189 στην αναφορά Χ[Ν/2], αφού το Ν/2 είναι πραγματικού τύπου.)
Συμφωνώ και συμπληρώνω ότι και η ύπαρξη του τελεστή ^ ακόμα και μεταξύ ακεραίων, καθιστά την έκφραση πραγματικού τύπου
Φιλικά,
Γιώργος Θαλασσινός