ερώτηση για τα div/mod

Ξεκίνησε από Πανάγος94, 31 Μαρ 2012, 08:39:57 ΜΜ

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

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

Συνάδελφοι,

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

Θα επικεντρωθώ στο ερώτημα της διαίρεσης ακεραίων όταν το αποτέλεσμα είναι ακέραιο, το οποίο προσδιορίζεται σαφώς από τα μαθηματικά του Λυκείου αλλά και από την wikipedia στο σημείο που αναφέρθηκε ο Άλκης με ειδική μνεία. Πόσο κάνει 6/3; Αυτό είναι κομβικό σημείο κατά την γνώμη μου.

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

maria.k.

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

Το πρόβλημα όμως αυτό, το συναντάμε και στη ΓΛΩΣΣΑ που ως "γλώσσα προγραμματισμού" περιλαμβάνει δηλώσεις μεταβλητών...

P.Tsiotakis

κατά τη γνώμη μου το 6/3 είναι το ίδιο με το α/β
δηλαδή κοιτώ το σύμβολο της διαίρεσης και αγνοώ τους εμπλεκόμενους στην πράξη
και βέβαια είναι πραγματική η έκφραση

evry

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

  3.6 div 1.2

Παράθεση από: sdoukakis στις 04 Απρ 2012, 11:40:07 ΠΜ
Υπενθυμίζω ότι στην ψευδογλώσσα δεν έχω δηλώσεις μεταβλητών και διαχωρισμό ακεραίων και πραγματικών, αφού δεν έχουμε θέμα μνήμης μιας και δεν υπάρχει υπολογιστής...

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

Ουσιαστικά η ψευδογλώσσα είναι μια γλώσσα προγραμματισμού με χαλαρή σύνταξη έτσι ώστε να επικεντρωνόμαστε στον αλγόριθμο και όχι σε τεχνικές λεπτομέρειες όπως είναι η σύνταξη. Αυτό όμως δε σημαίνει ότι μπορούμε να φτάνουμε στο άλλο άκρο.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Gnirut

Παράθεση από: evry στις 04 Απρ 2012, 01:17:38 ΜΜ
οι αλγόριθμοι που γράφουμε σε ψευδογλώσσα δεν έχουν σαν στόχο να εκτελεστούν από υπολογιστή??? από τι εκτελούνται?
επίσης αφού δεν έχουμε δηλώσεις μεταβλητών γιατί έχουμε τύπους αλφαριθμητικούς και λογικούς? εκεί γιατί έχουμε διαχωρισμό?
τέλος με βάση το σκεπτικό αυτό η παρακάτω έκφραση στην ψευδογλώσσα είναι σωστή ή λάθος?

  3.6 div 1.2

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

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

βασικά το πρόβλημα είναι το ότι ούτε η ψευδογλώσσα και το σπουδαιότερο ούτε η ΓΛΩΣΣΑ δεν είναι πουθενά επισήμως ορισμένες.
μια απλή ελληνοποίηση της ISO-PASCAL ίσως να ήταν τελικά ο φθηνότερος και γρηγορότερος τρόπος να καλυπτονταν οι ανάγκες του μαθήματος.


evry

πολύ καλή προσέγγιση από άλλη οπτική

Παράθεση από: Gnirut στις 04 Απρ 2012, 01:49:41 ΜΜ
στο συγκεκριμένο παράδειγμα, από τη στιγμή που το div δεν είναι αυστηρά καθορισμένο το πως λειτουργεί με ορίσματα πραγματικούς, όλος ο αλγόριθμος που το χρησιμοποιεί δεν πληροί το κριτήριο της καθοριστικότητας.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

sstergou

Μπορεί να μου πει κάποιος από που συμπεραίνει ότι το 6/3 δίνει πραγματικό αριθμό στην ψευδογλώσσα;

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

Πώς σας φαίνεται το παρακάτω: (σελ. 189 του βιβλίου)

ΑΝ Ν MOD 2 =0 TOTE
   Διάμεσος <- (X[N/2]+X[N/2+1])/2
ΑΛΛΙΩΣ
   Διάμεσος <- X[(N+1)/2]
ΤΕΛΟΣ_ΑΝ

όπου Ν ακέραιος...

evry

Νίκο το συγκεκριμένο είναι στη ΓΛΩΣΣΑ αν θυμάμαι καλά
και πάω στοίχημα ότι είναι από τα λάθη του βιβλίου που δεν έχουν διορθωθεί ακόμα :D

Παράθεση από: Νίκος Αδαμόπουλος στις 28 Απρ 2012, 09:41:44 ΜΜ
Πώς σας φαίνεται το παρακάτω: (σελ. 189 του βιβλίου)

ΑΝ Ν MOD 2 =0 TOTE
   Διάμεσος <- (X[N/2]+X[N/2+1])/2
ΑΛΛΙΩΣ
   Διάμεσος <- X[(N+1)/2]
ΤΕΛΟΣ_ΑΝ

όπου Ν ακέραιος...
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

andreas_p

ΑΝ Ν MOD 2 =0 TOTE
   Διάμεσος <- (X[N DIV 2]+X[N DIV 2+1])/2
ΑΛΛΙΩΣ
   Διάμεσος <- X[(N+1) DIV 2]
ΤΕΛΟΣ_ΑΝ