αλλαγη μετρητη Για

Ξεκίνησε από ΜΑΚΡΙΔΑΚΗ ΣΤΕΛΛΑ, 10 Δεκ 2014, 02:32:34 ΜΜ

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

programmer

Παράθεση από: ether στις 17 Φεβ 2015, 01:02:12 ΠΜ
Όχι σε όλες τις γλώσσες. Π.χ. σε διάφορες "εκδόσεις" της PASCAL και της FORTRAN, η απόπειρα αλλαγής του μετρητή της FOR στο σώμα της επανάληψης είναι συντακτικό σφάλμα.
Επίσης, από θεωρητική σκοπιά, στη Θεωρία Υπολογισιμότητας ορίζονται οι έννοιες του LOOP program και του WHILE program. Ένα LOOP πρόγραμμα (που από δομές επανάληψης περιέχει μόνο τη LOOP, κάτι σαν τη FOR/ΓΙΑ δηλαδή) τερματίζει πάντοτε. Αντίθετα, υπάρχουν WHILE προγράμματα που περιέχουν και δομές επανάληψης WHILE, τα οποία μπορεί και να μην τερματίσουν ποτέ. Στις γλώσσες προγραμματισμού που επιτρέπουν την αλλαγή της τιμής του μετρητή ή υποστηρίζουν την εντολή break κ.α., προκειμένου να διευκολύνεται ο προγραμματιστής σε συγκεκριμένες περιπτώσεις, προφανώς δεν ισχύει αυτή η διαφορά.
ναι δεν μιλησα για ολες τις γλωσσες που υπαρχουν σε μερικες δεν γινεται.συγκεκριμενα στο διερμηνευτη γλωσσας το αναγνωριζει παντως.και δεν ειπα κανεις να γραφει ετσι.ειπα οτι αν καποιος θελει να γραφει ετσι για προσωπικη χρηση του αλγοριθμου του δικαιωμα του και δεν πεφτει λογος σε κανεναν κατα τη γνωμη μου.

programmer

Παράθεση από: fupat2 στις 17 Φεβ 2015, 05:01:46 ΜΜ
Μάλλον το παρακάτω θέλει να πει: ::)

πάντως Programmer , αν θες να κάνεις ακόμα πιο δύσκολο να σε διαβάζουν, δοκίμασε να γράφεις και έτσι:
εγω φιλε μου ως τωρα σε ασκησεις που ηθελαν προγραμματισμο και εφαρμογουλες που κανουμε πχ javascript c++ ktl δεν ειχα κανενα παραπονο απο καθηγητες για τους κωδικες μου.και ουτε γραφω ακαταλαβιστικα.απλα εχω φτασει σε ενα σημειο που επιτρεψε μου να σου πω οτι εχω το δικαιωμα να πιστευω οτ καποιες φορες καποιος αξιζει να παραστρατησει δεν λεω σε ολον τον κωδικα.εγω οποτε εχω κανει τετοια παραστρατηματα να το πω ετσι το χειροτερο που εχω ακουσει ειναι :πολυ σωστος κωδικας απλα δεν συνηθιζεται αυτο που εχεις κανει στις 4-5 γραμμες αυτες στο σημειο αυτο.τις πιο πολλες φορες ισα ισα εχω δεχτει και μπραβο απο καποιους καθηγητες πανεπιστημιου ή καποιοι αλλοι απλα δεν το σχολιασαν θεωρωντας το φυσιολογικο.΄και ειπαμε δεν το κανω συνεχως σπανια.αλλα απο την αλλη εγω ξερω οτι τα κολλημενα ατομα που ακολου8ουν παντοτε τους κανονισμους ποτε δεν εχουν κανει κατι σπουδαιο.το ειρωνικο σχολιο που μου λες αν θες γραφε και ετσι οκ νταξει μου θυμιζει στυλ ελενης λουκα που οταν υπαρχει φιλι σε ενα εργο ειναι εξω απο το σινεμα και λεει αντιχριστοι θα πεθανετε ολοι.χαχα.για αυτο πειτε οτι θελετε.δεν νομιζω οτι επειδη ειπα οτι καμια φορα αξιζει καποιος να παραστρατει ηταν τοσο σοβαρο ωστε να δεχτω ομοβροντια σχολιων.καθηγητες που θαυμαζω με τρομερη δουλεια δεν ειχαν ποτε κανενα παραπονο.τωρα τι να πω.το οτι ειστε καθηγητες δεν σημαινει οτι ξερετε τα παντα ουτε οτι οτι λετε εχετε δικιο.αυτα

Λαμπράκης Μανώλης

Παράθεση από: programmer στις 17 Φεβ 2015, 09:49:09 ΜΜ
το οτι ειστε καθηγητες δεν σημαινει οτι ξερετε τα παντα ουτε οτι οτι λετε εχετε δικιο.αυτα

Φίλε programmer καλημέρα

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

φιλικά

fupat2

Παράθεση από: programmer στις 17 Φεβ 2015, 09:49:09 ΜΜ
καθηγητες που θαυμαζω με τρομερη δουλεια δεν ειχαν ποτε κανενα παραπονο.
τι τερρομή δείουλα έυχον κεάνι οι κγηταθηές που θάζαυμεις;
::)
Η παιδεία είναι άσκηση ελευθερίας, που λυτρώνει τόσο τον μαθητή όσο και τον παιδαγωγό από μια δίδυμη υποδούλωση. Την υποδούλωση της σιωπής (που αφορά κυρίως τον μαθητή) και την υποδούλωση του μονολόγου (που αφορά κυρίως τον παιδαγωγό).

itt

Παράθεση από: programmer στις 17 Φεβ 2015, 09:49:09 ΜΜ
εγω φιλε μου ως τωρα σε ασκησεις που ηθελαν προγραμματισμο και εφαρμογουλες που κανουμε πχ javascript c++ ktl δεν ειχα κανενα παραπονο απο καθηγητες για τους κωδικες μου.και ουτε γραφω ακαταλαβιστικα.απλα εχω φτασει σε ενα σημειο που επιτρεψε μου να σου πω οτι εχω το δικαιωμα να πιστευω οτ καποιες φορες καποιος αξιζει να παραστρατησει δεν λεω σε ολον τον κωδικα.εγω οποτε εχω κανει τετοια παραστρατηματα να το πω ετσι το χειροτερο που εχω ακουσει ειναι :πολυ σωστος κωδικας απλα δεν συνηθιζεται αυτο που εχεις κανει στις 4-5 γραμμες αυτες στο σημειο αυτο.τις πιο πολλες φορες ισα ισα εχω δεχτει και μπραβο απο καποιους καθηγητες πανεπιστημιου ή καποιοι αλλοι απλα δεν το σχολιασαν θεωρωντας το φυσιολογικο.΄και ειπαμε δεν το κανω συνεχως σπανια.αλλα απο την αλλη εγω ξερω οτι τα κολλημενα ατομα που ακολου8ουν παντοτε τους κανονισμους ποτε δεν εχουν κανει κατι σπουδαιο.το ειρωνικο σχολιο που μου λες αν θες γραφε και ετσι οκ νταξει μου θυμιζει στυλ ελενης λουκα που οταν υπαρχει φιλι σε ενα εργο ειναι εξω απο το σινεμα και λεει αντιχριστοι θα πεθανετε ολοι.χαχα.για αυτο πειτε οτι θελετε.δεν νομιζω οτι επειδη ειπα οτι καμια φορα αξιζει καποιος να παραστρατει ηταν τοσο σοβαρο ωστε να δεχτω ομοβροντια σχολιων.καθηγητες που θαυμαζω με τρομερη δουλεια δεν ειχαν ποτε κανενα παραπονο.τωρα τι να πω.το οτι ειστε καθηγητες δεν σημαινει οτι ξερετε τα παντα ουτε οτι οτι λετε εχετε δικιο.αυτα

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

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

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

marvic

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

petrosp13

Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

bugman

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

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

tpakis

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

evry

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

tpakis

Κατάλαβα ευχαριστώ πάρα πολύ!

G.S.

Πέρα από τι θεωρεί ο καθένας από εμάς καλή ή κακή προγραμματιστική προσέγγιση ή τέλος πάντως τι τον βολεύει ή όχι το καθένα , θεωρείτε ότι έχει αξία μια σχετική ερώτηση σε Σ/Λ? Αν έπεφτε τι θα απαντούσαμε? Για παράδειγμα:

Δίνεται το παρακάτω αλγοριθμικό κομμάτι .
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 10
  ΔΙΑΒΑΣΕ Χ
  ΓΡΑΨΕ Χ
  Ι<--10
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Αυτό θα εκτελεστεί μια φορά 


Ή κάτι πιο αφαιρετικό,πχ:
Στις εντολές της ΓΙΑ μπορεί να γίνεται αλλαγή της τιμής του μετρητή της ΓΙΑ
Σιαφάκας Γιώργος
ΠΕ19

petrosp13

Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

bugman

Αυτή η ερώτηση: Στις εντολές της ΓΙΑ μπορεί να γίνεται αλλαγή της τιμής του μετρητή της ΓΙΑ
δεν λέει ξεκάθαρα αν η αλλαγή θα γίνει μέσα στο σώμα της ΓΙΑ.
Πάντως η αλλαγή τιμής του μετρητή μέσα στη ΓΙΑ είναι εκτός λογικής της ΓΙΑ, που θέλει να γίνονται συγκεκριμένες επαναλήψεις. Δεν υπάρχει ούτε έξοδος από ΓΙΑ με απλή εντολή, άρα για τη ΓΛΩΣΣΑ η αλλαγή αριθμού επαναλήψεων είναι λάθος. Το αν γίνεται σε κάποια υλοποίηση της γλώσσας δεν σημαίνει ότι είναι στο πνεύμα της ΓΛΩΣΣΑΣ.
(στη γλώσσα που έχω γράψει και να αλλάξει κανείς τιμή στο μετρητή, στην επόμενη επανάληψη ο μετρητής θα πάρει τη σωστή τιμή, γιατί η τιμή του μετρητή είναι αντίγραφο του πραγματικού "κρυφού" μετρητή, και ο έλεγχος επανάληψης γίνεται στο κρυφό μετρητή. Το γράφω αυτό γιατί δεν είναι δεδομένο ότι κάθε γλώσσα θα έχει το μετρητή στο "χέρι" του προγραμματιστή για να τον πειράξει).

G.S.

Ευχαριστώ ! Και εγώ σε αυτή τη λογική ήμουν αλλά ερχόταν συχνά μαθητές με διαφορετικές απόψεις, αυτό το κλασσικό "κάποιος μου είπε ότι....". Οπότε δεν αλλάζω γραμμή! Καλό βράδυ
Σιαφάκας Γιώργος
ΠΕ19