Εντολή ΓΙΑ στον ψευδοκώδικα

Ξεκίνησε από christinaz, 26 Οκτ 2009, 02:46:07 ΜΜ

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

stratosg

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

Μου λέτε τι θα απαντήσω αύριο στην ερώτηση "Και τότε ρε μεγάλε τι μας έλεγες χθες;"

Πού θα ήταν το κακό αν ο συγγραφέας χρησιμοποιούσε την μετάφραση της For στα Ελληνικά (όπως στην ΑΕΠΠ). Αλλά πως να δείξουμε τον εγωισμό μας. Κατά τον Μπαμπινιώτη διφίο και διφιολέξη, όπως και ποντικοδρόμιο.

Να φοβάσαι εκείνον που δεν έχει να χάσει τίποτα.

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

Πρέπει να γίνει με ΓΙΑ αποκλειστικά;
Μπορείς να την κάνεις με την Εφόσον επανάλαβε
Ι <- 7
Σ<- 0
Εφόσον Ι<= 16 Επανάλαβε
αρχή
  Σ <- Σ + Ι
  Ι <- Ι +1
Τέλος

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

Παράθεση από: stratosg στις 12 Νοε 2009, 10:42:44 ΜΜ
Αυτό ακριβώς είχα στο μυαλό μου Νικόλα, αλλά δεν μου αρέσει καθόλου και επιπλέον είναι αντίθετο με τη φιλοσοφία της Για. Τότε τι στο καλό τους είπα ότι δεν επεμβαίνουμε στον μετρητή γιατί αυτός αλλάζει μόνος του;

Ούτε και εμένα μου αρέσει... Μετρητή; Ποιο μετρητή;

stratosg

Καλημέρα Νικόλα, το i δεν είναι μετρητής; Αφού γράφεις (κι εγώ στο σπίτι) i=i+1.
Να φοβάσαι εκείνον που δεν έχει να χάσει τίποτα.

christinaz

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

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

Παράθεση από: christinaz στις 13 Νοε 2009, 11:16:49 ΠΜ
To ι στην άσκηση αυτή δεν είναι ο μετρητής της επανάληψης, αλλά χρησιμοποιείται για την αλλαγή του αποτελέσματος της sum. Η επανάληψη έχει συγκεκριμένο αριθμό επαναλήψεων.
Συμφωνώ, ότι το ι χρησιμοποιείται για να δημιουργηθούν οι αριθμοί.

stratosg

Ρε παιδιά καλά, τότε θα σας είναι κόπος να το γράψετε με ψευδοκώδικα ΑΕΠΠ ή σε Pascal; Έχω την εντύπωση ότι δεν θα βγάλετε τον ίδιο κώδικα.
Να φοβάσαι εκείνον που δεν έχει να χάσει τίποτα.

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

Όλα είναι διαφορετικά μεταξύ τους... Απ' ότι καταλαβαίνω η Για του βιβλίου δεν έχει (ορατό - χρησιμοποιήσιμο) μετρητή... Αν το i το θεωρείς μετρητή κανένα πρόβλημα, αλλά αφού τον διαχειρίζεσαι μόνος σου τότε μπορείς να του αλλάξεις τα φώτα!  :)

-----------

S=0
i =7
Για 10 φορές επανάλαβε
  αρχή
     S=S+i
     i=i+1
  τέλος

----------------
ΑΕΠΠ:

S<-0
Για i από 7 μέχρι 16
   S <- S+i
Τέλος_αν

----------------
Pascal:

  S:=0;
  for i:=7 to 16 do
    S:=S+i;

stratosg

Παράθεση από: Νίκος Αδαμόπουλος στις 13 Νοε 2009, 05:58:58 ΜΜ
Όλα είναι διαφορετικά μεταξύ τους... ΑκριβώςΑπ' ότι καταλαβαίνω η Για του βιβλίου δεν έχει (ορατό - χρησιμοποιήσιμο) μετρητή Κι ακριβώς αυτό είναι το θέμα - προβληματισμός μου... Αν το i το θεωρείς μετρητή κανένα πρόβλημα, αλλά αφού τον διαχειρίζεσαι μόνος σου τότε μπορείς να του αλλάξεις τα φώτα!  Κάτι που απαγορεύεται δια ροπάλου στην Pascal κι όχι μόνο

-----------

S=0
i =7
Για 10 φορές επανάλαβε
  αρχή
     S=S+i
     i=i+1
  τέλος

----------------
ΑΕΠΠ:

S<-0
Για i από 7 μέχρι 16
   S <- S+i
Τέλος_αν

----------------
Pascal:

  S:=0;
  for i:=7 to 16 do
    S:=S+i;
Υλοποιόντας λοιπόν τον ψευδοκώδικα της ΑΕΠΠ σε Pascal είναι όλα καλά, αν όμως επιχειρήσει κάποιος να  μεταφέρει τον πρώτο ψευδοκώδικα σε Pascal τότε θα πέσει σε αντίφαση ως προς το i. Σε μια τέτοια περίπτωση τι απάντάς στα παιδιά;

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

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

Στράτο έχουμε καταλάβει όλοι από  την αρχή την ερώτηση και τον προβληματισμό... και συμφωνούμε! Δεν υπάρχει απάντηση! Αφήνοντας την ΑΕΠΠ , ανάμεσα στα άλλα δύο δεν υπάρχει απευθείας αντιστοίχηση και κακώς!

Η Για του βιβλίου δεν έχει μετρητή, οπότε καλύτερα να αποφύγεις μετατροπές "ψευδογλώσσα <--> Pascal" της Για που χρησιμοποιεί τον μετρητή μέσα στο σώμα του βρόχου! Π.χ. στο παρακάτω δεν υπάρχει τέτοιο πρόβλημα:

S=0
Για 10 φορές επανάλαβε
  αρχή
    Διάβασε α
    S=S+a
  τέλος

------------------------

S:=0;
for i:=1 to 10 do
  begin 
    readln(a); 
    S:=S+a;
  end

stratosg

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

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

Θέλω να παραθεσω τα παρακάτω:
1.Νομίζω πως κακώς προσπαθούμε να κάνουμε μια αντιστοίχηση μεταξύ ψευδογλώσσας και Pascal διότι πολλά δεν ταυτίζονται.
2. Επίσης δενπρέπει  να εμπλέκουμε την ΑΕΠΠ στο μάθημα των ΕΠΑΛ γιατί θα μπερδευτούμε περισσότερο.
3.Καλύτερα να σκεκομαστε σε ότι έχει το βιβλίο και μόνο αυτό και όχι στην ΑΕΠΠ καθώς αυτή αφορά το ΓΕΛ
4. στην ψευδολώσσα η εντολη ΓΙΑ έχει την έννοι να επαναλάβει ένα σύνολο εντολώ συγκεκριμένες φορές και δεν είναι τόσ ευελεκτή όυτε οπως στην PAscal ούτε όπως στην ΑΕΠΠ, και έτσι νομίζω ότι πρέπει να την δούμε.

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

Ίσως να ξεπερνιέται το πρόβλημα λαμβάνοντας υπόψη την εξής παρατήρηση που αναφέρεται στην εξεταστέα ύλη:

"2) Σε ασκήσεις ή προβλήματα για την επίλυση των οποίων απαιτείται αναπαράσταση αλγορίθμου, αυτή μπορεί να γίνει: α) Με ψευδοκώδικα, χρησιμοποιώντας τις εντολές που αναφέρονται στον πίνακα της παραγράφου 4.2. του βιβλίου (Προγραμματισμός Υπολογιστών των Αλ. Σιδερίδη κ.ά.) είτε με στοιχεία της γλώσσας Pascal ή με συνδυασμό αυτών, β) με λογικό διάγραμμα όπως περιγράφεται στις παραγράφους 4.3 και 4.4 (4.4.1, 4.4.2 και 4.4.3) του βιβλίου, γ) με τη γλώσσα προγραμματισμού Pascal."

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

S:=0
for i:=7 to 16 do
  αρχή
     S:=S+i
  τέλος

Και γιατί να μην μεταφράσουμε και τις λέξεις για λόγους ομοιομορφίας;

S=0
Για i=7 μέχρι 16 κάνε
  αρχή
     S=S+i
  τέλος

Να τολμήσω μία πρόταση: Για ψευδογλώσσα ας γράφουν μόνο pascal χωρίς να δηλώνουν τις μεταβλητές! Έτσι λύνεται το πρόβλημα της Για και της Επίλεξε, σύμφωνα με την παρατήρηση θα θεωρείται σωστό, και τα παιδιά θα μάθουν έναν μόνο τρόπο!!!

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

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

stratosg

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