Αποστολέας Θέμα: Σχεδιαγράμματα για τη θεωρία του μαθήματος ΑΕΠΠ  (Αναγνώστηκε 11030 φορές)

P.Tsiotakis

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3295
  • agent romanoff you miss me?
    • P.Tsiotakis
Θα ήθελα να ενημερώσω τους συναδέλφους οτι σχεδιαγράμματα για τη θεωρία του μαθήματός μας (και για τα υπόλοιπα στο Ενιαίο Λύκειο) υπάρχουν στην ιστοσελίδα της συναδέλφου Λέττα Ελένης - http://users.sch.gr/elant/   (αν και διαφωνώ σε κάποια σημεία του κεφαλαίου 10)

Πάντως, για το κεφάλαιο 6 , για το οποίο οι μαθητές χρειάζονται σχεδιάγραμμα, έχει κάνει ΕΚΠΛΗΚΤΙΚΗ δουλειά (πιο συγκεκριμένα http://users.sch.gr/elant/anaptixi/anaptixi.htm )

Γνώμη: Οι clopy-righters μπορούν να βγάλουν φωτοτυπίες αφού κόψουν το υποσέλιδο στην εκτύπωση    :o


nikolasmer

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 561
  • There can be only one...may it be AEPP.
Απ: Σχεδιαγράμματα για τη θεωρία του μαθήματος ΑΕΠΠ
« Απάντηση #1 στις: 16 Μάρ 2013, 12:07:28 μμ »
Στην ιστοσελίδα της συναδελφου Λέττα Ελένης αντέγραψα και επικολλώ σε αυτό το σημείο ενα πρόγραμμα με το υποπρόγραμμα Αντιμετάθεση.
Επαναλαμβάνω το τμήμα κώδικα παρακάτω είναι πνευματική ιδιοκτησία της κυρίας Λέττα Ελένης.

Πάνω σε αυτό το κομμάτι ήθελα να εκφράσω μια απορία.
Θα μπορούσε η κλήση της διαδικασίας να είναι:

ΚΑΛΕΣΕ Αντιμετάθεση(Πίνακας[ j-1], Πίνακας[ j ])

και η επικεφαλίδα της Διαδικασίας να είναι:

Διαδικασία Αντιμετάθεση (α,β)

με τις ανάλογες τροποποιήσεις του κώδικα;

Κώδικας: [Επιλογή]
Ταξινόμηση φυσσαλίδας με χρήση διαδικασίας αντιμετάθεσης

Πρόγραμμα_ταξινόμηση_φύσαλίδας2
Μεταβλητές
ακέραιος:  Πίνακας[100 ], ι, j : ακέραιος

Αρχή
Για ι από 1 μέχρι 100
Γράψε «Δώσε στοιχείο του πίνακα»
Διάβασε Πίνακας[ι]
Τέλος_Επαναληψης

Για ι από 2 μέχρι ν100
Για j από 100 μέχρι ι με βήμα –1
Αν Πίνακας[j-1] >Πίνακας[j] τότε

ΚΑΛΕΣΕ Αντιμετάθεση(Πίνακας[ j-1], Πίνακας[ j ], j )

Τέλος_Αν
Τέλος_Επαναληψης
Τέλος_Επανάληψης
Γ
ια ι από 1 μέχρι 100
Γράψε Πίνακας[ι]
Τέλος_Επαναληψης
Τέλος_Προγράμματος

Διαδικασία Αντιμετάθεση (Α[δείκτης-1], Α[δείκτης], δείκτης)
Μεταβλητές
ακέραιος: Α[100], δείκτης, βοηθητική

Αρχή
βοηθητική <-- Α [δείκτης-1]
Α[δείκτης-1] <-- Α[δείκτης]
Α[δείκτης] <-- βοηθητική
Τέλος_διαδικασίας
Απ' τα τσακάλια δεν γλυτώνεις μ'ευχές ή παρακάλια
(Κ. Βάρναλης)

Μερεντίτης Νικόλαος
Καθηγητής Πληροφορικής - Φροντιστής

P.Tsiotakis

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3295
  • agent romanoff you miss me?
    • P.Tsiotakis
Απ: Σχεδιαγράμματα για τη θεωρία του μαθήματος ΑΕΠΠ
« Απάντηση #2 στις: 16 Μάρ 2013, 02:02:03 μμ »
αν όλα είναι ακέραια τότε ΝΑΙ

ένα κελί ενός πίνακα είναι στην ουσία μεταβλητή

(http://ptsiotakis.mysch.gr/old/aepp/aepp_ask10_1.htm ασκήσεις 14, 15)

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2302
Απ: Σχεδιαγράμματα για τη θεωρία του μαθήματος ΑΕΠΠ
« Απάντηση #3 στις: 16 Μάρ 2013, 05:45:08 μμ »
Θα έλεγα ότι η υλοποίηση της συναδέλφου δεν είναι η ιδανική, καθώς έχει ως παραμέτρους στην διαδικασία 2 στοιχεία ενός πίνακα και έτσι αναγκάζεται να στείλει ολόκληρο τον πίνακα στην διαδικασία
Επίσης, δεν γνωρίζω κατά πόσο είναι εφικτό να υπάρχει τέτοια λίστα παραμέτρων
Κώδικας: [Επιλογή]
Διαδικασία δ (Α[i],i)
Το προτιμότερο και σίγουρο είναι αυτό που λέει ο Παναγιώτης
Όταν ένα υποπρόγραμμα καλείται με παραμέτρους που είναι στοιχεία πίνακα, το υποπρόγραμμα θα έχει παραμέτρους μεταβλητές ίσου αριθμού για να αντιγράφονται τα στοιχεία αυτά
Απλό και βέλτιστο
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

pgrontas

  • Ομάδα διαγωνισμάτων 2016
  • *
  • Μηνύματα: 1424
  • There are always possibilities...
Απ: Σχεδιαγράμματα για τη θεωρία του μαθήματος ΑΕΠΠ
« Απάντηση #4 στις: 16 Μάρ 2013, 08:37:29 μμ »
Πάνω σε αυτό το κομμάτι ήθελα να εκφράσω μια απορία.
Θα μπορούσε η κλήση της διαδικασίας να είναι:

ΚΑΛΕΣΕ Αντιμετάθεση(Πίνακας[ j-1], Πίνακας[ j ])

και η επικεφαλίδα της Διαδικασίας να είναι:

Διαδικασία Αντιμετάθεση (α,β)

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

Αντίθετα ο ορισμός συνάρτησης
Κώδικας: [Επιλογή]
Διαδικασία Αντιμετάθεση (Α[δείκτης-1], Α[δείκτης], δείκτης)
είναι εντελώς λάθος, καθώς συγχέει τις τυπικές παραμέτρους με τις πραγματικές και τον ορισμό της συνάρτησης με την κλήση της.
Άσε που η δήλωση Α[δείκτης-1] δεν ξέρω αν θα μπορούσε ποτέ να αποτιμηθεί στο compilation.
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

nikolasmer

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 561
  • There can be only one...may it be AEPP.
Απ: Σχεδιαγράμματα για τη θεωρία του μαθήματος ΑΕΠΠ
« Απάντηση #5 στις: 17 Μάρ 2013, 09:00:11 μμ »
Φυσικά και ναι και έτσι θα έπρεπε να είναι το σωστό.

Αντίθετα ο ορισμός συνάρτησης
Κώδικας: [Επιλογή]
Διαδικασία Αντιμετάθεση (Α[δείκτης-1], Α[δείκτης], δείκτης)
είναι εντελώς λάθος, καθώς συγχέει τις τυπικές παραμέτρους με τις πραγματικές και τον ορισμό της συνάρτησης με την κλήση της.
Άσε που η δήλωση Α[δείκτης-1] δεν ξέρω αν θα μπορούσε ποτέ να αποτιμηθεί στο compilation.

Συμφωνώ απόλυτα μαζί σου pgrontas.

Σας ευχαριστώ πολύ κύριοι για τις απαντήσεις και τις παρατηρήσεις σας .
Απ' τα τσακάλια δεν γλυτώνεις μ'ευχές ή παρακάλια
(Κ. Βάρναλης)

Μερεντίτης Νικόλαος
Καθηγητής Πληροφορικής - Φροντιστής

Λευτέρης Δουκέρης

  • Ομάδα διαγωνισμάτων 2013
  • *
  • Μηνύματα: 185
  • ΝΑ ΔΙΝΟΥΜΕ ΑΞΙΑ ΣΤΑ ΠΡΑΓΜΑΤΑ ΓΙΑ ΑΥΤΟΠΟΥ ΣΗΜΑΙΝΟΥΝ
    • ΓΥΜΝΑΣΙΟ ΛΑΥΡΙΟΥ
Απ: Σχεδιαγράμματα για τη θεωρία του μαθήματος ΑΕΠΠ
« Απάντηση #6 στις: 18 Μάρ 2013, 06:07:01 μμ »
Καλησπέρα. Νομίζω ότι η γλώσσα απαγορεύει αυτού του είδους κλήση:
ΚΑΛΕΣΕ Αντιμετάθεση(Πίνακας[ j-1], Πίνακας[ j ])
Παρόλο που συμφωνώ με τον Παναγιώτη ότι και ο Πίνακας[ j-1], Πίνακας[ j ] είναι στην ουσία μεταβλητές άρα ορθά χρησιμοποιούνται σαν παράμετροι. Εγώ θα πρωτινά
στο πρόγραμμα να γράφαμε το εξής:

Για ι από 2 μέχρι ν100
   Για j από 100 μέχρι ι με βήμα –1
      Αν Πίνακας[j-1] >Πίνακας[j] τότε
                      α<-- Πίνακας[ j-1]
                       β <--Πίνακας[ j]
      ΚΑΛΕΣΕ Αντιμετάθεση(α , β)

      Τέλος_Αν
   Τέλος_Επαναληψης
Τέλος_Επανάληψης
ΛΕΥΤΕΡΗΣ  ΚΕΡΑΤΕΑ
http://glavrio.blogspot.com"Ο ιδανικός δάσκαλος είναι εκείνος που γίνεται γέφυρα για να περάσει αντίπερα ο μαθητής του και όταν , πια του διευκολύνει το πέρασμα , αφήνεται χαρούμενα να γκρεμιστεί , ενθαρρύνοντας το μαθητή του να φτιάξει τις δικές του γέφυρ

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2302
Απ: Σχεδιαγράμματα για τη θεωρία του μαθήματος ΑΕΠΠ
« Απάντηση #7 στις: 18 Μάρ 2013, 06:10:23 μμ »
Για ποιο λόγο να απαγορεύεται η κλήση με παραμέτρους στοιχεία πίνακα;
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

andreas_p

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 1052
Απ: Σχεδιαγράμματα για τη θεωρία του μαθήματος ΑΕΠΠ
« Απάντηση #8 στις: 18 Μάρ 2013, 07:23:20 μμ »
Για ι από 2 μέχρι ν100
   Για j από 100 μέχρι ι με βήμα –1
      Αν Πίνακας[j-1] >Πίνακας[j] τότε
                      α<-- Πίνακας[ j-1]
                       β <--Πίνακας[ j]
      ΚΑΛΕΣΕ Αντιμετάθεση(α , β)
      Τέλος_Αν
   Τέλος_Επαναληψης
Τέλος_Επανάληψης

Ναι, αλλά έτσι αφήνεις "άθικτα" , τα στοιχεία  Πίνακας[ j-1], Πίνακας[ j]  ....


Α

Λευτέρης Δουκέρης

  • Ομάδα διαγωνισμάτων 2013
  • *
  • Μηνύματα: 185
  • ΝΑ ΔΙΝΟΥΜΕ ΑΞΙΑ ΣΤΑ ΠΡΑΓΜΑΤΑ ΓΙΑ ΑΥΤΟΠΟΥ ΣΗΜΑΙΝΟΥΝ
    • ΓΥΜΝΑΣΙΟ ΛΑΥΡΙΟΥ
Απ: Σχεδιαγράμματα για τη θεωρία του μαθήματος ΑΕΠΠ
« Απάντηση #9 στις: 18 Μάρ 2013, 09:46:44 μμ »
καλησπέρα.
εχεις απόλυτο δίκιο.
το συμπληρώνω

Για ι από 2 μέχρι ν100
 Για j από 100 μέχρι ι με βήμα –1
      Αν Πίνακας[j-1] >Πίνακας[j] τότε
                      α<-- Πίνακας[ j-1]
                       β <--Πίνακας[ j]
      ΚΑΛΕΣΕ Αντιμετάθεση(α , β)
                      Πίνακας[ j-1] <-- α
                       Πίνακας[ j] <-- β

      Τέλος_Αν
   Τέλος_Επαναληψης
Τέλος_Επανάληψης

ΛΕΥΤΕΡΗΣ  ΚΕΡΑΤΕΑ
http://glavrio.blogspot.com"Ο ιδανικός δάσκαλος είναι εκείνος που γίνεται γέφυρα για να περάσει αντίπερα ο μαθητής του και όταν , πια του διευκολύνει το πέρασμα , αφήνεται χαρούμενα να γκρεμιστεί , ενθαρρύνοντας το μαθητή του να φτιάξει τις δικές του γέφυρ

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3502
  • to Iterate is human to Recurse divine
Απ: Σχεδιαγράμματα για τη θεωρία του μαθήματος ΑΕΠΠ
« Απάντηση #10 στις: 19 Μάρ 2013, 03:15:38 μμ »
Νομίζω ότι η Αντιμετάθεσε στο παρακάτω τμήμα προγράμματος είναι περιττή, αφού αν αφαιρεθεί θα έχουμε το ίδιο αποτέλεσμα.

καλησπέρα.
εχεις απόλυτο δίκιο.
το συμπληρώνω

Για ι από 2 μέχρι ν100
 Για j από 100 μέχρι ι με βήμα –1
      Αν Πίνακας[j-1] >Πίνακας[j] τότε
                      α<-- Πίνακας[ j-1]
                       β <--Πίνακας[ j]
      ΚΑΛΕΣΕ Αντιμετάθεση(α , β)
                      Πίνακας[ j-1] <-- α
                       Πίνακας[ j] <-- β

      Τέλος_Αν
   Τέλος_Επαναληψης
Τέλος_Επανάληψης


What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Λευτέρης Δουκέρης

  • Ομάδα διαγωνισμάτων 2013
  • *
  • Μηνύματα: 185
  • ΝΑ ΔΙΝΟΥΜΕ ΑΞΙΑ ΣΤΑ ΠΡΑΓΜΑΤΑ ΓΙΑ ΑΥΤΟΠΟΥ ΣΗΜΑΙΝΟΥΝ
    • ΓΥΜΝΑΣΙΟ ΛΑΥΡΙΟΥ
Απ: Σχεδιαγράμματα για τη θεωρία του μαθήματος ΑΕΠΠ
« Απάντηση #11 στις: 19 Μάρ 2013, 11:23:54 μμ »
καλησπέρα.
δεν νομίζω ότι είναι περιττή η διαδικασία Αντιμετάθεση(α , β) γιατί η διαδικασία αντιμεταθέτει τις τιμές  και σκοπός της άσκησης είναι να γίνεται κλιση υποπρογράμματος που να αντιμεταθέτει τις τιμές.
Συμφωνώ πάντως ότι είναι σωστό , να γίνει  κλίση της διαδικασίας με
ΚΑΛΕΣΕ Αντιμετάθεση(Πίνακας[ j-1] , Πίνακας[ j] ) απλά θυμάμαι ότι πριν καιρό σε μια ενημέρωση μας είχαν πει ότι κάτι τέτοιο δεν το υποστηρίζει η ΓΛΩΣΣΑ άποψη με την οποία διαφωνώ και για αυτό πρότεινα και την παρακάτω λύση

Για ι από 2 μέχρι ν100
 Για j από 100 μέχρι ι με βήμα –1
      Αν Πίνακας[j-1] >Πίνακας[j] τότε
                      α<-- Πίνακας[ j-1]
                       β <--Πίνακας[ j]
      ΚΑΛΕΣΕ Αντιμετάθεση(α , β)
                      Πίνακας[ j-1] <-- α
                       Πίνακας[ j] <-- β
      Τέλος_Αν
   Τέλος_Επαναληψης
Τέλος_Επανάληψης
ΛΕΥΤΕΡΗΣ  ΚΕΡΑΤΕΑ
http://glavrio.blogspot.com"Ο ιδανικός δάσκαλος είναι εκείνος που γίνεται γέφυρα για να περάσει αντίπερα ο μαθητής του και όταν , πια του διευκολύνει το πέρασμα , αφήνεται χαρούμενα να γκρεμιστεί , ενθαρρύνοντας το μαθητή του να φτιάξει τις δικές του γέφυρ

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2302
Απ: Σχεδιαγράμματα για τη θεωρία του μαθήματος ΑΕΠΠ
« Απάντηση #12 στις: 19 Μάρ 2013, 11:27:30 μμ »
σε μια ενημέρωση μας είχαν πει ότι κάτι τέτοιο δεν το υποστηρίζει η ΓΛΩΣΣΑ

Ενημέρωση από ποιον και πάνω σε τι;
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3502
  • to Iterate is human to Recurse divine
Απ: Σχεδιαγράμματα για τη θεωρία του μαθήματος ΑΕΠΠ
« Απάντηση #13 στις: 19 Μάρ 2013, 11:30:33 μμ »
Αν αφαιρέσεις την Αντιμετάθεσε το πρόγραμμα δεν θα κάνει ακριβώς τα ίδια? Δεν θα έχεις το ίδιο αποτέλεσμα?
Ποιος ο λόγος λοιπόν να τη χρησιμοποιήσεις?

καλησπέρα.
δεν νομίζω ότι είναι περιττή η διαδικασία Αντιμετάθεση(α , β) γιατί η διαδικασία αντιμεταθέτει τις τιμές  και σκοπός της άσκησης είναι να γίνεται κλιση υποπρογράμματος που να αντιμεταθέτει τις τιμές.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

novaro

  • Θαμώνας
  • ***
  • Μηνύματα: 37
Απ: Σχεδιαγράμματα για τη θεωρία του μαθήματος ΑΕΠΠ
« Απάντηση #14 στις: 08 Απρ 2014, 03:21:16 μμ »
Συνάδελφοι οι παράμετροι σε διαδικασίες σίγουρα μπορούν να είναι κελιά ενός πίνακα αφού αυτά συνιστούν απλές μεταβλητές. Η κλήση αυτή θα είναι call by reference οπότε κάθε αλλαγή των τυπικών παραμέτρων στη ΔΙΑΔΙΚΑΣΙΑ θα έχει αντίκτυπο στις πραγματικές παραμέτρους (κελιά του πίνακα του κυρίου προγράμματος). Φαίνεται ξεκάθαρα στο παράδειγμα του σχολικού βιβλίου στα υποπρογράμματα με το Διαφ1 κτλ. Όπως αφήνεται να εννοηθεί στο βιβλίο όλα τα περάσματα στις διαδικασίες είναι call by reference και όλα τα περάσματα σε συναρτήσεις είναι call by value π.χ

{κύριο}
Β<----10
Α<---- ΑΥΞ(Β)
ΓΡΑΨΕ 'Β=',Β,' Α=', Α   
ΚΑΛΕΣΕ ΑΥΞΗΣΗ(Β)
ΓΡΑΨΕ 'Β=', Β

Το πρόγραμμα θα γράψει Β=10 Α=11
και Β=11



ΣΥΝΑΡΤΗΣΗ ΑΥΞ(Α)
....
ΑΥΞ<---Α+1
Α<-Α+5 //ΔΕΝ ΘΑ ΕΧΕΙ ΑΝΤΙΚΤΥΠΟ ΣΤΗΝ ΠΡΑΓΜΑΤΙΚΗ ΠΑΡΑΜΕΤΡΟ Β
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

ΔΙΑΔΙΚΑΣΙΑ ΑΥΞΗΣΗ(Α)
....
Α<---Α+1  //ΘΑ ΕΧΕΙ ΑΝΤΙΚΤΥΠΟ ΣΤΗΝ ΠΡΑΓΜΑΤΙΚΗ ΠΑΡΑΜΕΤΡΟ

ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ



Παραθέτω τον ορισμό
The call by reference method of passing arguments to a subprogram copies the address of an argument into the formal parameter. Inside the subprogram, the address is used to access the actual argument used in the call. This means that changes made to the parameter affect the passed argument.

Σχετικά με τη γλώσσα και το πέρασμα παραμέτρων.
https://alkisg.mysch.gr/%CE%93%CE%9B%CE%A9%CE%A3%CE%A3%CE%91/%CE%9C%CE%B5%CF%84%CE%B1%CE%B2%CE%AF%CE%B2%CE%B1%CF%83%CE%B7_%CF%80%CE%B1%CF%81%CE%B1%CE%BC%CE%AD%CF%84%CF%81%CF%89%CE%BD/

« Τελευταία τροποποίηση: 08 Απρ 2014, 03:51:11 μμ από novaro »