Προς το περιεχόμενο

Γενικό thread αποριών για τη C#.


Alithinos

Προτεινόμενες αναρτήσεις

 

 

Καλά και γω μπορεί να το κάνω αυτό όταν βαριέμαι τη ζωή μου και ασχολούμαι με χαζά. "Α lol δε δουλεύει lol ε θα έκανα λάθος στο if κάτσε να το αλλάξω lol" και κάνεις ήδη edit πριν προλάβεις καν να σκεφτείς όλα αυτά τα lol.  :P

 

Αυτά του τα λέω γιατί όταν μαθαίνεις θέλει wax on wax off, άμα πάρεις μαύρη ζώνη και μετά κάνε ο,τι σου αρέσει. Worst case scenario πουλοπαίζεις όσο χρειάζεται για να αποφασίσεις να σοβαρευτείς, άμα σοβαρευτείς μετά τέλος.

 

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Απαντ. 505
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Συχνή συμμετοχή στο θέμα

Δημοσιευμένες Εικόνες

 

Ποτέ μα ποτέ μη το κάνεις αυτό γιατί ποτέ δε θα μάθεις προγραμματισμό έτσι. Μπορεί να μάθεις αρκετά για να γράφεις κανα προγραμματάκι της πλάκας, αλλά αυτό δεν είναι προγραμματισμός.

 

Η ουσία του προγραμματισμού είναι πως κάθε πράγμα που γράφεις πρέπει να έχει συγκεκριμένο νόημα το οποίο ήδη γνωρίζεις. Αν γράφεις πράγματα στην τύχη σημαίνει ότι δε γνωρίζεις τι νόημα έχουν αυτά που γράφεις. Έτσι δε θα πας πουθενά. Κάθε αλλαγή που πας να κάνεις θα πρέπει να βασίζεται σε συγκεκριμένη υπόθεση (η οποία ως υπόθεση μπορεί να αποδειχθεί λάθος, αλλά πρέπει να είναι συγκεκριμένη!) για να έχει μια λογική συνέχεια αυτό που κάνεις.

 

Αν σε ρωτήσω την ώρα που πληκτρολογείς "γιατί άλλαξες το || σε &&" και η καλύτερη απάντηση που μπορείς να δώσεις είναι "γιατί με || δε δούλευε", σταμάτα να πληκτρολογείς και κάτσε να σκεφτείς ακριβώς ποιός είναι ο λόγος που με || δε δούλευε. Αφού φτάσεις στην πραγματική αιτία συνήθως (σίγουρα σ' αυτό το επίπεδο) μετά α) είναι πολύ πιο εύκολο να καταλάβεις ποιό είναι το σωστό, β) ακόμα κι αν δεν καταλάβεις, έχεις βελτιώσει την ικανότητά σου να αντιλαμβάνεσαι πώς λειτουργεί ένα πρόγραμμα διαβάζοντάς το. Χωρίς αυτή την ικανότητα δεν είσαι χομπίστας προγραμματιστής αλλά ένας άσχετος τύπος που ξέρει λίγο από τη σύνταξη και τις λειτουργείες της C#.

 

----

 

Απο κει και πέρα. Υπάρχουν πολλοί δρόμοι για να βελτιώσεις αυτό που έχεις στα χέρια σου, αλλά πρώτα απ' όλα προτείνω το εξής: κάνε την IsPrime να ταιριάζει λίγο παραπάνω με το όνομά της και να επιστρέφει bool. Αυτή τη στιγμή η IsPrime που έχεις είναι άχρηστη για οποιαδήποτε άλλη χρήση πέρα του να τυπώσεις τον υποψήφιο prime στην κονσόλα (π.χ., δε μπορείς να τη χρησιμοποιήσεις για να μαζέψεις τους primes σε ένα πίνακα).

 

Με το που θα κάνεις αυτή την αλλαγή μαθαίνεις και τα εισαγωγικά του LINQ και γίνεσαι άρχοντας.

 

Δες εδώ πώς θα γινόταν στην πράξη κάτι τέτοιο και σκέψου τις προεκτάσεις:

  • Το Enumerable.Range(...) επιστρέφει κάποιου είδους τιμή. Δε μας ενδιαφέρει τι αυτή τη στιγμή. Αυτό που μας ενδιαφέρει είναι ότι ως τιμή θα μπορούσες να τη δεχτείς σαν όρισμα συνάρτησης, ξεχωρίζοντας τελείως το "ποιοί είναι οι υποψήφιοι" με το τι σκοπεύεις να κάνεις μαζί τους. Η συνάρτηση που θα έπαιρνε αυτό το όρισμα θα λειτουργούσε χωρίς να την ενδιαφέρει πώς προκύπτουν οι υποψήφιοι.
  • Η IsEven τώρα μπορεί να χρησιμοποιηθεί όπου σου αρέσει με όποιο τρόπο σου αρέσει.
  • Αν π.χ. θες να τυπώσεις τους περιττούς ακεραίους αντί για τους άρτιους, βάζεις ένα ! μέσα στη Where και καθάρισες, end of story. Αυτό θα μπορούσες να το κάνεις όσο περίπλοκη κι αν ήταν η IsEven γιατί πλέον δε σε ενδιαφέρει.
  • Η Main είναι πλέον τρεις γραμμές που διαβάζονται νεράκι και σου δίνουν αμέσως να καταλάβεις τι θα κάνει το πρόγραμμα χωρίς να ψάχνεις αλλού.

 

 

Εντάξει απ' τη στιγμή που έβγαλα το κομμάτι που τυπώνει στην οθόνη εκτός της λούπας, ήταν εύκολο να καταλάβω πως έπρεπε να φτιάξω μια bool, και το έκανα συνειδητά. Αλλά και πάλι, ενώ τύπωνε το κάθε αριθμό που τύπωνε 1 φορά και όχι... 100, παρέμενε ένα πρόβλημα, το οποίο τελικά έλυσα αλλάζοντας τη συνθήκη της for από Χ-1 σε Χ/Ψ.

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

 

 

 

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

 

Με αυτό κατάλαβα ότι πρέπει να δω αν διαιρείται με τους αριθμούς από το 2 έως το Χ-1, μιας και όλοι οι αριθμοί διαιρούνται με τον εαυτό τους. Έτσι το να τον διαιρούσα με τον εαυτό του θα ήταν περιττό. Βέβαια μετά θυμήθηκα το ότι όλοι οι αριθμοί δεν μπορούν να διαιρεθούν με έναν αριθμό μεγαλύτερο από τον μισό τους, θεμελιώδη γνώση μαθηματικών, και άλλαξα τη συνθήκη στη λούπα σε X / Y. Το θέμα είναι πως με αυτό περίμενα απλά να κάνω το πρόγραμμα πιο γρήγορο λόγο του ότι θα περιόριζα τον αριθμό συγκρίσεων που θα έκανε, δεν περίμενα και ότι αυτό ήταν που έλειπε για να το κάνω να τυπώνει τελικά τους πρώτους αντί να τους τυπώνει όλους. Άρα το ότι τελικά το κατάφερα να τυπώνει τους πρώτους ήταν ατύχημα, αλλά δεν έγινε τελείως στη τύχη.

 

Ούτε καν που πήγαινε αρχικά το μυαλό μου ότι μπορεί να φταίει η συνθήκη της for που έχω ορίσει, μιας και νόμιζα πως αυτό το κομμάτι το είχα γράψει σωστά, και πως κάτι μου διέφευγε αλλού. Και είχα τη πεποίθηση ότι το είχα γράψει σωστά, λόγο του ότι ίσως πήρα πολύ κυριολεκτικά τον λεκτικό ορισμό που έδωσε η Wikipedia, χωρίς να κάτσω να τον μελετήσω και να τον αναλύσω λίγο παραπάνω. Η Wikipedia είπε πως "ένας αριθμός είναι πρώτος αν δεν διαιρείται με αριθμούς εκτός από το 1 και τον εαυτό τους", και έτσι είπα να ελέγξω τον κάθε αριθμό με ένα σύνολο μεταξύ του 1 και του εαυτού του. Μεταφέροντας 'ακριβώς' τη διατύπωση στο κώδικα.

 

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

Γιατί η αλλαγή του Χ-1 με το Χ/Ψ μπορεί να μην ήταν εντελώς τυχαία, αλλά ο λόγος που αποφάσισα να το αλλάξω ήταν κάποιος, και το ότι επιπρόσθετα αυτό ήταν που έκανε το πρόγραμμα να ξεχωρίσει τους πρώτους ήταν 'ατύχημα'.

 

 

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

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν μπορεί κανείς να ξέρει τα πάντα. Δοκίμασες το κόσκινο του Οιλερ; Δέκα φορές πιο γρήγορος από αυτό του Ερατοσθένη.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

@Μ2000: Δε το δοκίμασα, γιατί όπως προείπα δεν μπορώ να διαβάσω τη Μ2000.

 

 

Για παράδειγμα στο κώδικα για τον αλγόριθμο του Ερατοσθένη γράφει:

 

ι(λ)=1

 

Τι σημαίνει αυτό ?

 

Στη C# που μαθαίνω ο τύπος κάτι(κάτιΆλλο) λειτουργεί για να καλέσεις τη συνάρτηση "κάτι" περνώντας της ως παράμετρο τη μεταβλητή κάτιΆλλο. Άρα ι(λ) θα έγραφα αν ήθελα να χρησιμοποιήσω μια συνάρτηση με το όνομα 'ι' και να της περάσω ως παράμετρο λ.

 

Αν όμως η 'ι' είναι συνάρτηση, γιατί γράφει πάνω πάνω "Πίνακας" ?

Δεν θα προκαλέσει μπέρδεμα αυτό με τον Πίνακα (array) ως δομή δεδομένων ?

Και αν η 'ι' είναι μια δομή δεδομένων τύπου πίνακα, οι δομές δεδομένων στη Μ2000 και στη C# δηλώνονται και αρχικοποιούνται με εντελώς διαφορετικό τρόπο, με αποτέλεσμα να μου φαίνεται ακατανόητος ο κώδικας.

Αλλά και αν η 'ι' δεν είναι δομή δεδομένων τύπου πίνακα αλλά συνάρτηση τελικά, τι σημαίνει το

 

ι(λ)= 1;

 

Δεν το 'χω ξαναδεί πουθενά. Στη C# τουλάχιστον ανάθεση τιμών μπορείς να κάνεις σε μεταβλητές τύπου δεδομένων πχ int, bool, string. Όχι σε συναρτήσεις. Αν το γράψω αυτό ο compiler πετάει error.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Απ' όλες τις γραμμές στο ι(λ)=1 κόλλησες...

Είναι πίνακας.Στη Μ2000 αν δεν υπάρχει σύμβολο ειδικό π.χ, $ για αλφαριθμητικά, είναι double, και με τους double δουλεύει η Διά που είναι η Div η ακεραία διαίρεση.

Η βάση της Μ2000 είναι η BASIC. Η εντολή Πίνακας είναι η DIM. DIM Α(100) δίνει πίνακα 100 στοιχείων από 0 έως 99. Απλά η Μ2000 μπορεί να βάζει αντικείμενα στα στοιχεία του πίνακα, αλλά εδώ δεν έχω κάτι τέτοιο.

Στη c# θα ορίσεις ένα όνομα ως πίνακα Int, χωρίς στοιχεία,και σε άλλη γραμμή λες ότι θα έχει ένα νέο πίνακα με το μέγεθος χ+1. Νομίζω ότι τώρα σου έλυσα το πρόβλημα. Και αν το σκεφτείς πάλι θα δεις ότι ..θα το καταλάβαινες, απλά δεν είχες καθαρό κεφάλι.

 

 

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

Η Μ2000 δεν παίρνει το ; ως τέλος εντολής. Για άλλη εντολή στην ίδια γραμμή βάζουμε :

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Μαθαίνει κανείς αυτό που χρειάζεται, αλλά εδώ οι αλγόριθμοι για το κόσκινο του Ερατοσθένη, και εκείνο του Όιλερ, δεν έχουν κάτι το εξαιρετικό.

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

Φυσικά AlliCHAOS η ειρωνεία είναι περιττή. Δύο πράγματα συμβαίνουν, ή είσαι εντελώς βλάκας, ή είσαι για λύπηση λόγω κατάστασης... που προσβάλεις για να ξεδώσεις.

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

Για έλα στα καλά σου λοιπόν....

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Νομίζω ότι ο chaos αναφέρεται στο παράδοξο της απόφασης να ασχοληθεί κανείς με την υλοποίηση σε M2000 ενώ υπάρχουν στο internet υλοποιήσεις σε όποια γλώσσα μπορεί να θέλει κανείς. Και είναι όντως λίγο ατυχές να προσπαθεί κανείς να μάθει δύο πράγματα μαζί, ακόμα κι αν υποθέσουμε ότι έχει όντως νόημα να τα μάθει και τα δύο.

 

Έχει ενδιαφέρον επίσης η σκέψη "πώς θα μπορούσε να σκεφτεί κανείς ότι το x(y) δεν είναι πίνακας"...

 

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

 

Δεύτερον, M2000 εδώ είσαι προφανώς λίγο περιορισμένος στη σκέψη επειδή εσύ ξέρεις ήδη ότι αυτή είναι σύνταξη από VB και τι σημαίνει. Τελείως τυχαία διάβαζα κάτι χθες σε ένα blog το οποίο έφτασε στη συζήτηση "πώς είναι δυνατόν να μη καταλαβαίνει κανείς ότι int x; σημαίνει δηλώνω το x να είναι int". Και η απάντηση είναι, δεν είναι δυνατόν να μη το καταλαβαίνεις εφόσον το ξέρεις ήδη. Αν δεν το ξέρεις ήδη τότε μπορεί να το καταλάβεις (δεν είναι το δυσκολότερο πράγμα στον κόσμο) αλλά μπορεί κάλλιστα και όχι.

 

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

  • Like 3
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν με πείραξε ότι ο Alithinos δεν καταλαβαίνει σύνταξη τύπου Basic, γιατί είναι γεγονός ότι εκεί που υπάρχουν δηλώσεις τύπων, που είναι απαραίτητη για έναν compiler, ο προγραμματιστής δίνει μεγάλη προσοχή. Όταν λοιπόν δει ένα πρόγραμμα χωρίς δηλώσεις τύπων, τα χάνει! Δεν θα επεκταθώ εδώ στο πώς λειτουργεί η Μ2000. Πραγματικά αυτά που έδωσα για τους αλγόριθμους θα μπορούσε κανείς να τα δει ως ψευδογλώσσα, δεν έχουν τίποτα εξαιρετικό! Ένας πίνακας και η Ενώ είναι η While πόσο δύσκολο είναι;

Με πείραξε όμως η αντίδραση του ALLisCHAOS γιατί το να κοροϊδεύει "ασυστόλως" δεν είναι πρέπον. Δεν τον κάνει ούτε ήρωα, ούτε τον κάνει αστείο. Πιστεύω ότι ήταν μια ατυχή φάση, ίσως ένα ξέσπασμα από πίεση στη δουλειά ή στο σπίτι, πάντως κάτι άσχετο με την συζήτηση εδώ!

Γιατί να προτείνω κώδικα από αλλού αν τον έχω γράψει με απλό τρόπο σε Μ2000, με BASIC εντολές (Η Μ2000 έχει πολλές εντολές της BASIC, διαφοροποιείται στο πώς καλούνται τμήματα-συναρτήσεις-ρουτίνες, τμήματα και ρουτίνες δεν είναι το ίδιο πράγμα στη Μ2000).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Φίλε m2000, νομίζω πως ο defacer με κάλυψε σε γενικές γραμμές. Να προσθέσω απλά: προσωπικά σου έχω δώσει συγχαρητήρια για το ότι είχες το κουράγιο και το μεράκι να δημιουργήσεις μια δικιά σου γλώσσα. Μπραβό ξανά λοιπόν, αλλά ρε συ στο 90% των post σου θα αναφέρεις σχεδόν πάντα αυτό θα γίνει έτσι με την m2000, αυτο μπορεί να υλοποιηθεί έτσι με την m2000, καινούργιο feature στην m2000, μπες δες πως γίνεται αυτό στην m2000. Δηλαδή δε θα μπορούσες να πεις στον alithino ψάξε και δες υλοποιήσεις από το ερατοσθένη και το κοσκινο του Οιλερ? Ετσι ώστε να πάει ο άνθρωπος και αφού τώρα μαθαίνει κ έχει ξεκινήσει με c# να googlarei: C# ερατοσθενης κλπ κλπ. Έπρεπε να τον μπλέξεις στην m2000 και να του την λες κιόλας που δεν κατάλαβα το ι(λ) ότι είναι πίνακας?

Και όχι δεν έχει απλό συντακτικό και μόνο που είναι στα ελληνικά εμένα με κάνει να χάνομαι τελείως.
*Το λειτουργικό στον υπολογιστή μου το έχω πάντα στα αγγλικά, μια φορα μετά απο φορμάτ(βιασύνη) μπερδεύτηκα και το έβαλα στα ελληνικά. Δεν ήξερα που μου παν τα τέσσερα...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Οκ,

πάντως απλά περιγράφεις μια αδυναμία, ενώ στην ουσία ένας προγραμματιστής πρέπει να έχει ανοικτό μυαλό και να ξεπερνάει τις αδυναμίες. Τις προάλλες έγραψα ένα πρόγραμμα σε C και πράγματι έκανα λάθος με το τρόπο που το έκανα θα μπορούσε να είχε απροσδιόριστο λάθος, λόγω χρήσης δεικτών. Στο τέλος όμως το διόρθωσα. Η όλη υπόθεση για κάποιον θα φαίνεται άσχημη.."τι κάθεται και ασχολείται με C αφού δεν ξέρει, δεν έχει εμπειρία". Μα αυτή είναι η "ασχολία", είναι μια απόκτηση εμπειρίας, μια τριβή. Θα κάνουμε λάθος, θα το διορθώσουμε. Δεν πρέπει να φοβηθούμε από το λάθος, και επιδιώκουμε να μας διορθώσουν (είναι προς όφελος). Γιατί λοιπόν να αποκλείσεις την γνώση; Μόνο ένας λόγος υπάρχει...η πίεση στη δουλειά. Όταν σε πιέζουν για το Α δεν μπορείς να απασχοληθείς με κάτι άλλο. Αλλά εδώ στο Insomnia δεν κάνουμε "δουλειά", υποτίθεται πως "κλέβουμε" λίγο χρόνο, από άλλες ασχολίες, για να μοιράσουμε κάτι μεταξύ μας.

Σε αυτά λοιπόν καλώς ή κακώς που μοιραζόμαστε θα είναι και η Μ2000, διότι είναι μια "υπαρκτή" γλώσσα. Το πώς γίνεται κάτι δεν το καθορίζει η γλώσσα. Αυτό το μαθαίνει κανείς πρώτο, όταν του λένε ότι ο αλγόριθμος δεν έχει σχέση με τη γλώσσα, ότι είναι η λύση ενός προβλήματος. Ο Alithinos, δεν έχει θέμα με την χρήση της C# αλλά με τον αλγόριθμο. Το να τον δει σε άλλη γλώσσα είναι πολύ καλύτερο από να τον δει σε C#, γιατί τον βάζει να κάνει μετατροπή, αφού κατανοήσει τον αλγόριθμο. Αλλιώς "προγραμματιστής" θα ήταν ο googlistas....το πιο γρήγορο πιστόλι στην αναζήτηση!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Πραγματικά αυτά που έδωσα για τους αλγόριθμους θα μπορούσε κανείς να τα δει ως ψευδογλώσσα, δεν έχουν τίποτα εξαιρετικό! Ένας πίνακας και η Ενώ είναι η While πόσο δύσκολο είναι;

Εμένα ρωτάς; Εγώ δεν είμαι το intended audience. Από κάποιον που ενδεχομένως είναι όμως intended audience έχεις feedback. Αν όντως είναι, άσε τις ρητορικές ερωτήσεις και δες την ουσία.

 

Με πείραξε όμως η αντίδραση του ALLisCHAOS γιατί το να κοροϊδεύει "ασυστόλως" δεν είναι πρέπον.

Ποιόν ακριβώς κοροϊδεύει και μάλιστα ασυστόλως; Όποιος έχει τη μύγα...

 

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

 

Γιατί να προτείνω κώδικα από αλλού αν τον έχω γράψει με απλό τρόπο σε Μ2000

1. Γιατί ενδεχομένως το από αλλού είναι με ακόμα απλούστερο τρόπο.

2. Γιατί κανένας δεν ξέρει Μ2000 οπότε αυτομάτως αυτό είναι μειονέκτημα.

 

και σημαντικότερο

 

3. Γιατί όπως είδες de facto αυτό έπρεπε να κάνεις (στο μέλλον) εφόοσον αυτό που έκανες δεν είχε το επιθυμητό αποτέλεσμα (να μάθει κάποιος τον Ερατοσθένη). Εκτός αν για σένα το επιθυμητό αποτέλεσμα ήταν άλλο.

 

με BASIC εντολές

Ναι και; Οι BASIC εντολές (που δεν είναι BASIC, είναι κάτι που μοιάζει με BASIC και αυτό κάνει μεγάλη διαφορά) είναι καλύτερες από τις άλλες;

 

(Η Μ2000 έχει πολλές εντολές της BASIC, διαφοροποιείται στο πώς καλούνται τμήματα-συναρτήσεις-ρουτίνες, τμήματα και ρουτίνες δεν είναι το ίδιο πράγμα στη Μ2000).

Χεστήκαμε τι κάνει η M2000, εδώ μιλάμε για C#, πρώτους και Ερατοσθένη.

 

Φιλικά. :)

  • Like 3
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Καμία φορά σε πιάνει..μια μανία..κουοτερίτιδα λέγεται. Μην αντιγράφεις post, μπορείς να γίνεις αντιληπτός! Feedback έχω πολλά, εδώ απλά είναι μια παραξενιά, μια αδυναμία του τελικού αποδέκτη, όχι της Μ2000. Basic εντολές είναι αυτές των παραδειγμάτων απλά έχει το { } για μπλοκ (και αυτή η ταύτιση() είναι οπωσδήποτε κάτι άλλο, αλλά δεν παίζει ρόλο για τον αλγόριθμο).

Αφού μιλάμε για τον Ερατοσθένη...άντε βάλτε κανένα άλλο κώδικα να δούμε πόση διαφορά έχει..από την Μ2000...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

 

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

 

[...]

 

Και που ξέρω εγώ αν χρησιμοποιείς τη λέξη "Πίνακας" ως keyword για να δηλώσεις πίνακα, ή ως ονομασία μεταβλητής / αντικειμένου / συναρτήσεως, ή εννοείς κάποιο στοιχείο GUI το οποίο έχεις ονομάσει έτσι ?

 

Αφού το είπα και το ξανά είπα: Δε ξέρω το συντακτικό και τις keywords της Μ2000. Αντιλαμβάνομαι οι ελληνικές λέξεις σε ποιες αγγλικές αντιστοιχούν μιας και δόξα τον Κύριο γνωρίζω αγγλικά, αλλά ο τρόπος με τον οποίο υλοποιούνται στη Μ2000, οι τύποι τους, μου είναι άγνωστοι.

 

Κάποιος όμως ο οποίος δεν ασχολήθηκε ποτέ με τη Μ2000 ή τη VB6 στην οποία λες ότι βασίζεται, και έχει ασχοληθεί με μια γλώσσα όπως η C#, θα δυσκολευτεί να διαβάσει τη Μ2000. Θα μπορεί να διαβάσει ως ένα σημείο C και Java μιας και η C# και η Java κληρονομούν από τη C και έτσι έχουν κάποιες ομοιότητες, αλλά όχι Μ2000.

 

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

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Έχουμε ανοίξει άλλο θέμα, μικρής σχέσης με casting...έχουμε πάει στο casting...αλγορίθμων.

Αυτό με το Keyword...ατυχέστατο..τα keywords είναι σε μπλέ χρώμα..ξεχωρίζουν!

 

Αντί να αντιληφθείς λοιπόν την έλλειψη γνώσης απλών γλωσσών όπως η Basic,  ή να βάλεις το μυαλό σου να σκεφτεί..έστω ότι είναι πίνακας, έστω ότι χ είναι 10 τι θα κάνει το πρόγραμμα..και να καταλάβεις τι θα κάνει..καταπιάνεσαι με τη διαδικασία..και "πώς είναι" και "αυτά δεν τα  ξέρει αυτός που σκέφτεται σε C, java, C#...και ό,τι άλλο"...

Οκ.

Αλλά κοίτα τι παίζει. Θα μάθεις τα βασικά με java, C, C# και μολις σου "πασσάρουν" ένα framework που είναι σαν να έχεις μια  νέα γλώσσα, τότε τι θα λες.."δεν το έγραψαν όπως θα το έγραφα εγώ, ο Alithinos;". Δεν θα κάνεις κανένα παράπονο και ή θα το αφήσεις γιατί δεν πρόκειται να το καταλάβεις, ή με κόπο θα το μάθεις. Και μετά από δυο χρόνια θα το ξεχάσεις και πρέπει να πιάσεις το άλλο, και θα αρχίσεις τις συγκρίσεις, "αυτό το παλιό το είχε έτσι ενώ εδώ είναι αλλιώς..". Αυτά λοιπόν που στα χαζά αντιμετωπίζεις εδώ..θα είναι μόνιμα αύριο! Άρα μην γίνεσαι αρνητικός και άνοιξε το μυαλό σου και προσπάθησε!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...