Αντιφάσεις καθηγητών

Ξεκίνησε από pesto80, 26 Μαρ 2015, 10:41:01 ΜΜ

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

pesto80

Είμαι μαθητής της Γ' Λυκείου και θα ήθελα να επισημάνω 2 θεματάκια τα οποία έχουν προκύψει λόγω αντιφατικών οδηγιών από τους 2 μου καθηγητές (στο σχολείο και το φροντιστήριο):

1) Σε μια συνάρτηση η οποία δέχεται μεταξύ των παραμέτρων της και μια παράμετρο ενός δείκτη ή/και μια λογική τιμή [πχ. Συν(i,f,...)]
Είναι δυνατόν καθώς καλώ την συνάρτηση μέσα στο πρόγραμμα να βάλω ως εισόδους τις πραγματικές παραμέτρους τις αντίστοιχες τιμές που επιθυμώ κατευθείαν ή πρέπει πρώτα να εκχωρήσω τις αντίστοιχες τιμές σε κάποιες μεταβλητές και να βάλω τις μεταβλητές αντίστοιχα ως εισόδους στις παραμέτρους; [πχ. Συν(2,Aληθής,...) ή α<-2, β<-Αληθής, Συν(α,β,...)]

2)Στο είδος των ασκήσεων όπου χρειάζεται η εισαγωγή ονόματος ενός στοιχείου από τον χρήστη  και στη συνέχεια η εισαγωγή κάποιων πληροφοριών για το συγκεκριμένο στοιχείο πάλι από τον χρήστη και η διαδικασία γίνεται επαναληπτικά μέχρι να δοθεί κάποια τιμή φρουρός:
Ως γνωστόν υπάρχουν 2 επαναληπτικές δομές για αυτήν τη διαδικασία η "Όσο "και η "Αρχή_επανάληψης".
Ο ένας καθηγητής στην επίλυση αυτής της άσκησης κάνει αποκλειστική χρήση της δομής Όσο καθώς διαβάζει το όνομα του στοιχείου έξω απο την επανάληψη και έπειτα μέσα σε αυτήν διαβάζει τις απαιτούμενες πληροφορίες ενώ το επόμενο διάβασμα ονόματος το κάνει στο τέλος.
Ο δεύτερος καθηγητής έκανε χρήση της δομής Αρχη_επαναληψης κάνοντας όλες τις διαδικασίες μέσα στην επανάληψη ενώ ο έλεγχος όπως καταλαβαίνεται για την τιμή φρουρό γίνεται στο τέλος. Εγώ λοιπόν του επισήμανα ότι υπάρχει η περίπτωση να δοθεί κατευθείαν η τιμή φρουρός οπότε θα χρειάζονταν να βάλει όλες τις άλλες διαδικασίες μέσα σε μια μεγάλη εμφωλευμένη ΑΝ. Ο ίδιος μου είπε ότι αυτό αποτελεί  πολύ μικρή λεπτομέρεια και δεν λαμβάνεται υπόψιν.
Ρωτάω λοιπόν: Είναι όντως τόσο ασήμαντο όσο μου είπε ο δεύτερος καθηγητής; Αν όχι η χρήση της μεγάλης ΑΝ διορθώνει το πρόβλημα που προκύπτει αποτελεσματικά; Ποια διαδικασία να χρησιμοποιώ εν τέλη;

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

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

Παράθεση από: pesto80 στις 26 Μαρ 2015, 10:41:01 ΜΜ
Είμαι μαθητής της Γ' Λυκείου και θα ήθελα να επισημάνω 2 θεματάκια τα οποία έχουν προκύψει λόγω αντιφατικών οδηγιών από τους 2 μου καθηγητές (στο σχολείο και το φροντιστήριο):

1) Σε μια συνάρτηση η οποία δέχεται μεταξύ των παραμέτρων της και μια παράμετρο ενός δείκτη ή/και μια λογική τιμή [πχ. Συν(i,f,...)]
Είναι δυνατόν καθώς καλώ την συνάρτηση μέσα στο πρόγραμμα να βάλω ως εισόδους τις πραγματικές παραμέτρους τις αντίστοιχες τιμές που επιθυμώ κατευθείαν ή πρέπει πρώτα να εκχωρήσω τις αντίστοιχες τιμές σε κάποιες μεταβλητές και να βάλω τις μεταβλητές αντίστοιχα ως εισόδους στις παραμέτρους; [πχ. Συν(2,Aληθής,...) ή α<-2, β<-Αληθής, Συν(α,β,...)]

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

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

Για την περίπτωση διαδικασιών τα πράγματα είναι χειρότερα αφού συχνά διατυπώνονται αμφιβολίες από συναδέλφους. Αυτό οφείλεται στο γεγονός ότι η μεταβίβαση τιμών γίνεται και προς τις δύο κατευθύνσεις, ανάμεσα στις πραγματικές και τυπικές παραμέτρους. Βέβαια από τη στιγμή που υπάρχει στο Τετράδιο Μαθητή το παράδειγμα με τους πύργους του Ανόι, όπου χρησιμοποιείται έκφραση ως πραγματική παράμετρος ( ΚΑΛΕΣΕ Μετακινησε(Ν-1, ΣτύλοςΑ, ΣτύλοςΓ,ΣτύλοςΒ)  ) τότε ακόμα κι εκεί θα μπορούσαμε να το θεωρήσουμε σωστό!

Παράθεση από: pesto80 στις 26 Μαρ 2015, 10:41:01 ΜΜ
2)Στο είδος των ασκήσεων όπου χρειάζεται η εισαγωγή ονόματος ενός στοιχείου από τον χρήστη  και στη συνέχεια η εισαγωγή κάποιων πληροφοριών για το συγκεκριμένο στοιχείο πάλι από τον χρήστη και η διαδικασία γίνεται επαναληπτικά μέχρι να δοθεί κάποια τιμή φρουρός:
Ως γνωστόν υπάρχουν 2 επαναληπτικές δομές για αυτήν τη διαδικασία η "Όσο "και η "Αρχή_επανάληψης".
Ο ένας καθηγητής στην επίλυση αυτής της άσκησης κάνει αποκλειστική χρήση της δομής Όσο καθώς διαβάζει το όνομα του στοιχείου έξω απο την επανάληψη και έπειτα μέσα σε αυτήν διαβάζει τις απαιτούμενες πληροφορίες ενώ το επόμενο διάβασμα ονόματος το κάνει στο τέλος.
Ο δεύτερος καθηγητής έκανε χρήση της δομής Αρχη_επαναληψης κάνοντας όλες τις διαδικασίες μέσα στην επανάληψη ενώ ο έλεγχος όπως καταλαβαίνεται για την τιμή φρουρό γίνεται στο τέλος. Εγώ λοιπόν του επισήμανα ότι υπάρχει η περίπτωση να δοθεί κατευθείαν η τιμή φρουρός οπότε θα χρειάζονταν να βάλει όλες τις άλλες διαδικασίες μέσα σε μια μεγάλη εμφωλευμένη ΑΝ. Ο ίδιος μου είπε ότι αυτό αποτελεί  πολύ μικρή λεπτομέρεια και δεν λαμβάνεται υπόψιν.
Ρωτάω λοιπόν: Είναι όντως τόσο ασήμαντο όσο μου είπε ο δεύτερος καθηγητής; Αν όχι η χρήση της μεγάλης ΑΝ διορθώνει το πρόβλημα που προκύπτει αποτελεσματικά; Ποια διαδικασία να χρησιμοποιώ εν τέλη;

Το πρόβλημα δεν έχει να κάνει (μόνο) με το αν "δοθεί κατευθείαν η τιμή φρουρός", αλλά ακόμα και τη στιγμή που στο τέλος έτσι κι αλλιώς θα δοθεί η τιμή φρουρός για να σταματήσουν οι επαναλήψεις, πάλι δεν πρέπει η τιμή αυτή να χρησιμοποιηθεί και στην επεξεργασία των δεδομένων. Με τη συγκεκριμένη χρήση της Όσο αυτό εξασφαλίζεται από μόνο του, αλλά και στην Μέχρις_ότου αν χρησιμοποιήσουμε την Αν που περιγράφεις τότε πάλι η λύση είναι σωστή. Όμως αν χρησιμοποιήσουμε τη Μέχρις_ότου χωρίς την Αν τότε όντως υπάρχει πρόβλημα, αφού στην τελευταία επανάληψη θα εκτελεστούν εντολές που δεν θα έπρεπε και που μάλλον θα επηρεάζουν τα αποτελέσματα. Οπότε δεν είναι και τόσο ασήμαντο!

Καλή επιτυχία!

P.Tsiotakis

το
Εμφάνισε Τ_Ρ(100) δεν είναι σωστό;;

το
Τυπ_Απόκλιση <- Τ_Ρ(άθροισμα_2/Ν - ΜΤ^2) είναι σωστό (Παράδειγμα 2, κεφάλαιο 9)

συνεπώς μπορείς να περνάς σταθερή τιμή ή σταθερά ή μεταβλητή σε συνάρτηση (ως παράμετρο)


Για το ερώτημα2 αρκεί να διαβάσεις το κείμενο που κλείνει την παράγραφο 8.2.2 του σχολικού βιβλίου (πριν το παράδειγμα 3)
οι δυο δομές είναι το ίδιο σωστές και ειναι προσωπική επιλογή του προγραμματιστή ποια θα χρησιμοποιήσει.

Έτσι είναι τα μεγάλα διλήμματα με το ή

Laertis

Για το 1ο ερώτημα συμφωνώ ότι μπορείς να περνάς και σταθερές, όπως προείπαν οι συνάδελφοι.
Στο 2ο ερώτημα πρόσεξε γιατί υπάρχει ουσιώδης διαφορά και καθόλου ασήμαντη. Αν κάνεις χρήση της Μέχρις_ότου και δεν αποκλείσεις απο τις επεξργασίες την τιμή φρουρό με Αν, τότε υπάρχει διαφορετικό αποτέλεσμα απο ότι στην Όσο, αφού εκτελείται μία επιπλέον επανάληψη με εντελώς διαφορετικά αποτελέσματα.
Νικολακάκης Γιώργος
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής
http://users.sch.gr/gnikola