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

Ενημέρωση για τη Μ2000 (Γλώσσα προγραμματισμού)


M2000

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

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

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

Όταν είσαι 49 χρονών πρέπει να γνωρίζεις Ελληνικά! Τι στο καλό, περαστικοί είμαστε από την Ελλάδα;

Πραγματικά έχω δώσει ορολογία στη γλώσσα και δεν είναι φανταστική αλλά τρέχει, δουλεύει. Π.χ. η Gosub λέγεται ΔΙΑΜΕΣΟΥ...δεν είναι όντως διαμέσου η εκτέλεση ροής σε μια ρουτίνα όταν την καλούμε;

Πάντως οι προγραμματιστές οφείλουν να έχουν αυτό που λέμε εικόνα κατάστασης, η οποία δεν συνδέεται άμεσα με τη γλώσσα. Η σύνθεση προγράμματος είναι από μόνη της έκφραση, είναι επικοινωνία, είναι λόγος. Η επεξήγηση του προγράμματος δεν είναι πρόγραμμα, αλλά ένα κείμενο που θέλει την έκφραση του προγράμματος να στην κάνει έκφραση της γλώσσας, να σου δώσει το νόημά του, ή τη χρήση του. Έτσι, και το πιστεύω αυτό, το να βάλεις ένα παιδί να μπει στο χώρο έκφρασης που είναι ο προγραμματισμός είναι σαν να του δίνεις νέους ορίζοντες να κάνει πράγματα. Αν του κόψεις τα φτερά κάνοντάς τον να εκφραστεί με ότι μπορεί να εκφραστεί και με τη γλώσσα τότε θα το μισήσει! Πράγματι οι δυνατοί προγραμματιστές είναι ένας στους πενήντα (τόσο τους έβγαλα τότε στο ΤΕΙ, όπου μόνιμα βοηθούσα όλα τα τμήματα με λύσεις του δευτερολέπτου σε ασκήσεις, ναό είχαν κάνει το σπίτι μου...). Βεβαίως πρέπει να υπάρχει ταλέντο. Αλλά πως θα το βρεις αυτό; Πως θα βρεις τα παιδιά που έχουν ταλέντο, αν δεν τους παρουσιάσεις κάτι.

Και τώρα η ώρα της κακίας: Με την συχνή σχολική ενασχόληση με πίνακες και θεωρητικά περί πολυπλοκότητας, δεν παρέχουμε χώρο για έκφραση. Είναι σαν να αναζητούμε οπαδούς του Ο(n) και του QuickSort (εδώ έχω την δική μου Link.png Site: QuickSort , αν θέλει κανείς να γίνει οπαδός μου... :devil: ). Το ανάλογο σε κτίστες (το γράφω γιατί αναφέρθηκε σε προηγούμενη απάντηση) είναι να έχουμε τον μαθητευόμενο κτίστη και να επιμένουμε ότι η δουλειά είναι να κάνει ταρζανιές με το μυστρί και το πηλοφόρι, και μετά να τον ρωτάμε.. με ποια μέθοδο βάζει πέντε τούβλα στη σειρά, με ένα πέταγμα! Δηλαδή έχει μια αξία και αυτό αλλά να φας ένα χρόνο και να μην έχεις κατασκευάσει τίποτα; Οι ασκήσεις που γυροφέρνουν το ίδιο θέμα είναι κατάντια! Να μην έχεις εκφραστεί με το πώς θέλεις να φαίνεται μια εισαγωγή στοιχείου; Δηλαδή αν έκαναν όλοι έτσι ακόμα θα ήμασταν στο DOS...(και τότε δούλευαν πίνακες και ταξινόμηση)

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

Απλή χρήση γενικής μεταβλητής (γενικού σκοπού, την βέπουν συναρτήσεις)

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

Αν σε κάποιο τμήμα ορίσουμε γενική  με το όνομα μιας υπάρχουσας γενικής τότε δημιουργούμε μια νέα Γενική σκιάζοντας πρόσκαιρα την προηγούμενη!

 

\\ Πίνακας αληθείας για την XNOR (not XOR, eXclusive Not OR)
Γενική τρόπος_εμφάνισης$=";Αληθές;Ψευδές;"
Κάνε ΌχιΑπό$(α, β)=Γραφή$((α Και β) ή (Όχι α Και Όχι β), τρόπος_εμφάνισης$)
Κάνε ΑπλήΌχιΑπό$(α,β)=Γραφή$(Όχι (α Από β), τρόπος_εμφάνισης$)
Κάνε Λογική$(α)=Γραφή$(α, τρόπος_εμφάνισης$)
Τύπωσε $(4),    '' γυρνάμε σε αναλογική γραφή στη κονσόλα
Για ι=Αληθές Έως Ψευδές {
      Για κ=Αληθές Έως Ψευδές {
            Τύπωσε μορφή$("Xnor({0},{1})={2}   [{3}]",Λογική$(ι), Λογική$(κ),ΌχιΑπό$(ι, κ),ΑπλήΌχιΑπό$(ι,κ))
      }
}

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

Όχι το κάνει αυτόματα ο διορθωτής. Απλά πρέπει να το περάσεις σαν Word εδώ!

Την ρουτίνα χρωματισμού την έχω γράψει εγώ. Όπως και τον διορθωτή, όπως και το Usercontrol κάτω από αυτό. Μάλιστα εδώ έχω εκδόσει χωριστά πώς γίνεται να γράψεις Html Format στο Clipboard των Windows.

Μπορεί να μην σπούδασα πληροφορική αλλά IQ δεν μου λείπει...βρήκα τρόπο να το περάσω UTF8 δηλαδή με ελληνικά ενώ η MIcrosoft έδινε ένα παράδειγμα που τύχαινε να είναι σωστό επειδή το UTF-8 στα αγγλικά είναι ίδιο με το ANSI.

Έχω εκδόσει Link.png Site: εδώ τη ρουτινα με το clipboard...

Αν θες να δεις πώς χρωματίζω (και αντέχεις...) μπορώ να σε κατευθύνω στο κώδικα της Μ2000, είναι σε Visual Basic 6 και χρειάζεσαι την Enterprise έκδοση (δεν το έχω δοκιμάσει αλλού αλλά νομίζω ότι σε μικρότερη έκδοση αν μεταγλωττίσεις τη Μ2000, δεν θα μπορεί να φτιάχνει βάσεις δεδομένων, αν και αυτός ο περιορισμός υπήρχε επί DAO 3.5 ενώ τώρα χρησιμοποιώ το ADO με later bound, ........ελπίζω να με καταλαβαίνεις)

 

https://www.youtube.com/watch?v=L_3ZSO7CSck&feature=youtu.be


Λίγο άσχετο με τα παραπάνω αλλά εδώ είναι το βίντεο με τα sprites στη Μ2000

https://www.youtube.com/watch?v=hlzvRnYLCks

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

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

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

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

Η Μ2000 έχει διαφορές αλλά δεν είναι ουσιαστικές για τον νεοεισερχόμενο. Είναι θέμα του χρήστη να αντιληφθεί αν αυτό που θέλει μπορεί να το κάνει με το Α ή Β εργαλείο.

 

Εδώ είναι ένα πρόγραμμα που εμφάνίζει παραγράφους από δυο γλώσσες και κάνει τις ελληνικές να αναβοσβήνουν!  Απλό και κατανοητό! Έχει και μια  Gosub - Return(Διαμέσου  ... Επιστροφή)

\* http://www.internetpolyglot.com/greek/lessons-fi-el$
\\ μόνο για τη πρώτη παράγραφο βάζουμε μια εσοχή
Γενική Εσοχή_Παραγράφου$=Επαν$(" ",5) ' απλά φαίνεται ο αριθμός ενώ και αυτό "     " θα ήταν οκ
Τμήμα ΚαθάρισεΟθόνη {
      Οθόνη 5,0
      Πένα 14
      Φόρμα 50,22
      Διπλά
      Πένα 10 { Αναφορά 2, "Διάλογοι στα Φινλανδικά" }
      Κανονικά
}
Τμήμα Δείξε_Διάλογο {
      Διαβασε Ξένο$, Ελληνικό$, μαζι
      Πένα 13 {
            Αναφορά Εσοχή_Παραγράφου$+Ξένο$, ΠΛΑΤΟΣ-ΘΕΣΗ
      }
      Αν μαζι Τότε {
            Πένα #77AAFF { Διαμέσου 100 }
      } Αλλιώς {
            Πένα 5 { Διαμέσου 100 }
      }
      εξοδος
100 Αναφορά Εσοχή_Παραγράφου$+Ελληνικό$, ΠΛΑΤΟΣ-ΘΕΣΗ
       Επιστροφή
}
Περιθωριο {Οθόνη 5}
ΚαθάρισεΟθόνη
α$="On tärkeää olla hyvä ammatti nykypäivänä. Voitko olla ammattilainen ilman vieraan kielen osaamista? Tuskinpa!"
β$="Είναι πολύ σημαντικό να έχετε ένα καλό επάγγελμα σήμερα. Μπορείτε να είστε επαγγελματίας χωρίς γνώση των ξένων γλωσσών; Μετά βίας!"
\\ δίνουμε εσοχή για κάθε παράγραφο στην Αναφορά
κκ=αληθής
Ανανέωση 1000
Κάθε 25 {
      ΚαθάρισεΟθόνη
      για ν=1 εως 3
      Τύπωσε Μέρος $(7,4),μορφή$("{0})",ν),
      Δείξε_Διάλογο α$, β$, κκ
      επόμενο ν
      Ανανέωση
      κκ~
      αν δείκτης ή ενκομ$<>"" τότε έξοδος
}

 

 

Μια παραλλαγή είναι και αυτή:

Χρησιμοποιούμε Ρουτίνα με τη Διαμέσου. Δεν χρειάζεται η έξοδος, γίνεται αυτόματα αν δει ο Διερμηνευτής ότι φτάσαμε στις ρουτίνες.

 

 Τμήμα Δείξε_Διάλογο {
      Διαβασε Ξένο$, Ελληνικό$, μαζι
      Πένα 13 {
            Διαμέσου Αναφ.Παρ(Ξένο$)
      }
      Αν μαζι Τότε {
            Πένα #77AAFF { Διαμέσου Αναφ.Παρ(Ελληνικό$) }
      } Αλλιώς {
            Πένα 5 { Διαμέσου Αναφ.Παρ(Ελληνικό$) }
      }
      Ρουτίνα Αναφ.Παρ(κάτι$)
         Αναφορά Εσοχή_Παραγράφου$+Κάτι$, ΠΛΑΤΟΣ-ΘΕΣΗ
      Τέλος Ρουτίνας
}

 

Και εδώ με σύμπτυξη (βγάλαμε τη μια κλήση με μια μεταβλητή)

Τμήμα Δείξε_Διάλογο {
      Διαβασε Ξένο$, Ελληνικό$, μαζι
      Πένα 13 {Διαμέσου Αναφ.Παρ(Ξένο$)}
      Αν μαζι Τότε {Πένα1= #77AAFF }Αλλιώς {Πένα1= 5}
      Πένα Πένα1 { Διαμέσου Αναφ.Παρ(Ελληνικό$) }
      Ρουτίνα Αναφ.Παρ(κάτι$)
         Αναφορά Εσοχή_Παραγράφου$+Κάτι$, ΠΛΑΤΟΣ-ΘΕΣΗ
      Τέλος Ρουτίνας
}

 


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

Υπάρχει ένα εγχειρίδιο στα Αγγλικά αλλά δεν έχει τελειώσει ακόμα (είναι στις 241 σελίδες).

Είναι γραμμένο μέχρι Έκδοση 8 Αναθεώρηση 19 (τώρα το περιβάλλον  Μ2000 είναι στην αναθεώρηση 99, όμως λίγα πράγματα προστέθηκαν, αυτά που περιέχει ισχύουν - δεν αναφέρει μέσα το χρωματισμό εντολών)

Link.png Site: Εγχειρίδιοστα Αγγλικά

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

Δεν είναι για νήπια αλλά για παιδιά του δημοτικού κάτι γίνεται:

 

Δες το παρακάτω παράδειγμα που κάνει χρήση κλάσης δεν είναι εύκολο για παιδιά δημοτικού;

 

 

Κλάση ΜαγικόςΠίνακας {

      Πίνακας Α()

      ΜαγικόςΑριθμός

      Τμήμα ΜαγικόςΠίνακας {

            ν=μέγεθος.σωρού

            ν1=ακ(ρίζα(ν))

            αν ν1>=1 τότε {

                  Πίνακας .Α(ν1*ν1) ' τον κάνω μονοδιάστατο

                  Για ι=0 έως ν1*ν1-1 : Διάβασε .Α(ι) : Επόμενο ι

                  Πίνακας .Α(ν1,ν1) ' τον κάνω ν1Χν1

                  Κάλεσε .Έλεγχος()

            }

      }

      Συνάρτηση Άθροισμα {

            καθαρο Σούμα

            Διάβασε Θχ,Θυ, Πχ, Πυ, Επ

            Για Επ=Επ-1 εως 0

                  Σούμα+=.Α(Θχ,Θυ)

                  Θχ+=Πχ

                  Θυ+=Πυ

            Επόμενο Επ

            =Σούμα

      }

      Συνάρτηση Ν {=Διάσταση(.Α(),1)}

      Συνάρτηση Έλεγχος {

            αν Διάσταση(.Α())=0 τότε έξοδος

            ν=.Ν()

            .ΜαγικόςΑριθμός<=.Άθροισμα(ν-1,0,-1,1,ν)

            οκ=αληθές

            για ι=0 εως ν-1

                  οκ=.Άθροισμα(0,ι,1,0,ν)=.ΜαγικόςΑριθμός και οκ

                  οκ=.Άθροισμα(ι,0,0,1,ν)=.ΜαγικόςΑριθμός και οκ

            επόμενο ι

            =.Άθροισμα(0,0,1,1,ν)=.ΜαγικόςΑριθμός και οκ

      }

}

Αναφορά {Ένα τετράγωνο θεωρείται μαγικό αν το άθροισμα των αριθμών των γραμμών, των στηλών και των διαγωνίων του είναι σταθερός αριθμός.}

β=ΜαγικόςΠίνακας(4,9,2,3,5,7,8,1,6)

Τύπωσε $(4),"Μαγικός Αριθμός ";β.ΜαγικόςΑριθμός

Τύπωσε "Πίνακας τάξης ";β.Ν()

Τύπωσε β.Έλεγχος()

β.Α(2,1)++

Τύπωσε β.Έλεγχος()

β.Α(2,1)--

Τύπωσε β.Έλεγχος()

Εγώ θα σταθώ απλά στο δεν είναι εύκολο αυτό το παράδειγμα για παιδιά δημοτικού?

Τώρα σοβαρα πιστευείς πως μπορεί να διδαχθεί στο δημοτικό μάθημα προγραμματισμού με κώδικα???

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

Θυμάμαι πως στη 3η γυμνασίου που βλέπαμε κάποια στοιχεία της ΓΛΩΣΣΑΣ(?) και τα 3/4 της τάξης ήταν λες έβλεπαν πυρηνική φυσική όχι τώρα σε παιδιά δημοτικού. Τα παιδιά σε αυτή την ηλικία πρέπει να τους τα παράσεις σαν παιχνίδια τις γνώσεις, πχ η χελωνίτσα(που υπόθηκε και παραπάνω) 

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

Μα δεν θα δείξεις αυτό στην αρχή.

Το θέμα είναι να πηγαίνεις προοδευτικά!

Η αριθμητική του προγράμματος είναι πολλαπλασιασμός και πρόσθεση...αρά από μαθηματικά δεν είμαστε εκτός δημοτικού!

Η συνάρτηση ρίζα() μπορεί να είναι εκτός αλλά μπορούμε τον έλεγχο να τον παραλείψουμε, αν και θα ήταν ωραία παρένθεση για κάτι που θα βρουν μετά..(επειδή εδώ η τετραγωνική ρίζα είναι σε ακέραιο, π.χ. 9 στοιχεία δίνει πίνακα 3Χ3 η ρίζα είναι το 3)

Πόσα ονόματα χρησιμοποιούμε;

Το β που περιέχει ένα ΜαγικόςΠίνακας()

Τι έχει ο μαγικός πίνακας; έναν πίνακα και έναν αριθμό που τον γράφουμε ΜαγικόςΑριθμός.

καθώς και μια συνάρτηση Άθροισμα που μετράει τα στοιχεία σε σειρά, στήλη, διαγώνιο ανάλογα με το τι κατεύθυνση δίνουμε!

Μπορεί αυτό να παρασταθεί στο πίνακα! Και τα νούμερα που μπαίνουν στην Άθροισμα να τα βρουν οι μαθητές.

Δεν θέλει μεγάλη ευφυΐα! Όταν το βλέπεις το πρόγραμμα! Το μυστικό εδώ είναι να δουν το πρόγραμμα όταν θα έχουν εξηγηθεί τα βασικά μέρη! Αν τον δουν πριν προφανώς θα φρίξουν! 

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

 

Εδώ έχω μια πιο ελαφριά έκδοση http://www.insomnia.gr/topic/590570-%CE%B1%CF%83%CE%BA%CE%B7%CF%83%CE%B7-java/page-3?do=findComment&comment=54464778

 

όπου ο πίνακας φορτώνεται με απλό τρόπο και χρησιμοποιούμε συνάρτηση, και όχι συνάρτηση σε κλάση!

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

Ρε συ δεν είναι θέμα πράξεων. Δως τους να καταλάβουν τις κλάσεις, τους δομητές τους, τα: ΓΙΑ,ΑΝ,ΕΝΩ κλπ,  να καταλάβουν τις συναρτήσεις και πως τις καλείς και τις περνάς ορίσματα. Επαναλμβάνω πως αναφερόμαστε σε παιδιά δημοτικού!! και επειδή τα πολλά λόγια είναι φτώχια κάνε ένα τεστ μόνος σου. Βρες 2-3 παιδιά δημοτικού και προσπάθησε να τα διδάξεις, εκεί θα δεις που χάνει και που κερδίζει η τεχνική σου. Από εμένα πάντως no offense αλλά πιστεύω πως δεν υπάρχει περίπτωση να πιάσει κάτι τέτοιο σε μαθητές του δημοτικού(ούτε με τη δικιά σου ούτε με καμιά γλώσσα)

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

Νομίζω δεν έγινα κατανοητός! Πρώτον διδάσκω παιδιά! Δεύτερον δεν τους φοβίζω. Θέλω να παρατηρούν. Ο προγραμματισμός είναι μια τέχνη που απαιτεί παρατηρητικότητα. Του βάζω να χαράζουν γραμμές και μετά τους λέω δεν βαρέθηκες να γράφεις τις εντολές ΧΑΡΑΞΕ την μία μετά την άλλη...Ναι απαντάει ο μικρός. Ωραία τώρα θα γράψουμε δυο τρεις μαζί.

Με κάτι παιδιά τετάρτης σχεδιάζουμε πούλια από σκάκι με vectors, μάλιστα έμαθαν σε τι χρησιμεύει ένας "πολλαπλασιαστής" μια μεταβλητή που πολλαπλασιάζει τις διαστάσεις και έτσι βγάζουμε τη σκακιέρα σε τρία μεγέθη! Παρατήρησα πως αυτός που δήλωσε ότι θέλει να γίνει μηχανικός το έπιασε αμέσως το "κόλπο". Σχεδιάζουμε σε ένα πλαίσιο 3000Χ3000 και δοκιμάζουμε με συνεχόμενα σφάλματα και τους ρωτάω..καλά είναι, "όχι θέλει παραπάνω" λένε! Πόσο να βάλω τους ρωτάω...και τελικά τους κόβει και απαντούν. Δεν τους κάνω κάθε βδομάδα μάθημα τέτοιο μάθημα, για να κάνουν το κανονικό (Windows και εφαρμογές). Βασικά κουράζομαι περισσότερο με το συνεχή διάλογο παρά με την "εποπτεία" του εργαστηρίου! Αλλά θα το συνεχίσω. Είχα κάνει πέρυσι,  συνεχίζω και φέτος! Αλλά έχω ένα καινούργιο τώρα και θέλει να γίνει χάκερ! Άντε να τον πείσεις ότι χάκερ δεν είναι να μάθεις το κόλπο στο παιχνίδι (που το κυκλοφορούν οι ίδιες εταιρείες) για να πάρεις πλεονέκτημα,

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

Λοιπόν περιέγραψα τις εμπειρίες μου αλλά η ιδέα είναι ότι τα βασικά χρειάζονται και να τα μάθουν ως αναγκαία για κάτι άλλο που κάνουν στο περιβάλλον της γλώσσας. Αυτή είναι η μέθοδός μου! 

 

Αν πας να μάθεις π.χ. επαναλήψεις χωρίς να ξέρει ο άλλος άμεσα αυτό που κολλάει στη ζωή του...άντε να το μάθει!

Εδώ είναι το πρόγραμμα που φτιάξαμε πέρυσι...έχουμε και καλύτερο!( (http://georgekarras.blogspot.gr/2015/08/2000_24.html

τα παιδιά έφτιαξαν το τμήμα με τα κεφαλαία γράμματα!

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

Παρακάτω εξηγώ πως δουλεύει το αντικείμενο Ομάδα. (θέλει την αναθεώρηση 101)

Ας μου πει κάποιος αν μοιάζει ο τρόπος αυτός με άλλον (δεν τα ξέρω όλα, θα με ενδιέφερε)

 

\ Τίτλος: Ομάδα
\ Περιγραφή: Μια ομάδα μπορεί να περιλαμβάνει μεταβλητές, πίνακες, τμήματα, συναρτήσεις, κλάσεις και άλλες ομάδες.
\ Μια ομάδα έχει πάντα φυσική παρουσία, δεν χρειάζεται να κατασκευαστεί
\ Όμως αν θέλουμε κατασκευάζουμε με την έννοια ότι επιστρέφουμε μια ομάδα από συνάρτηση
\ Το αναγνωριστικό Κλάση δημιουργεί μια Συνάρτηση με το όνομα της κλάσης
\ Η ιδιομορφία αυτής της συνάρτησης είναι ότι αν θέλουμε μπορεί να συμπεριλαμβάνει ένα τμήμα
\ με το όνομα της κλάσης ως κατασκευαστής, δηλαδή να δέχεται τις τιμές που θα δώσουμε στη συνάρτηση
\ και να κάνει αλλαγές αφού δημιουργηθεί ότι έχουμε αλλά πριν δοθεί ως ομάδα για επιστροφή
\ Δεν χρειάζεται να μεριμνήσουμε για την καταστροφή της! Γίνεται αυτόματα!

\ Δυο είναι τα χαρακτηριστικά των ομάδων:
\ Οι συναρτήσεις και τα τμήματα βλέπουν τα αναγνωριστικά στο ίδιο επίπεδο.
\ Αν έχουμε μια ομάδα σε μια ομάδα τότε οι συναρτήσεις μέσα στη φωλιασμένη ομάδα δεν βλέπουν τα αναγνωριστικά της εξωτερικής. Το ανάποδο όμως γίνεται, μόνο για τα αναγνωριστικά της ομάδας όχι των τμημάτων/συναρτήσεων εσωτερικά.
\ Τα τμήματα και οι συναρτήσεις δημιουργούν μεταβλητές όταν τρέχουν μόνο, έτσι από μια εξωτερική ομάδα δεν έχουμε πρόσβαση σε μεταβλητές εντός τμήματος, παρά μόνο να το τρέξουμε. Παραστατικά οι ομάδες βλέπουν στο βάθος, στη λίστα των περιεχομένων τους,  ενώ τα τμήματα στην επιφάνεια, στη λίστα που περιέχονται!
\ Οι ορισμοί των τμημάτων είναι φυσικά όρια ενώ των ομάδων δεν είναι. Δηλαδή το τμήμα μπορούμε να το αλλάξουμε αλλά όλο μαζί δίνοντας με το ίδιο όνομα νέο ορισμό. Στην ομάδα ότι υπάρχει ως όνομα μένει! Μπορούμε να προσθέσουμε ότι θέλουμε, να αλλάξουμε τις διαστάσεις πινάκων αλλά δεν μπορούμε μια ομάδα στην ομάδα να την σβήσουμε αφού έχει όνομα, άρα δεν σβήνει.
\ Πότε σβήνουν οι ομάδες;
\ Οι ομάδες σβήνουν, διαγράφονται, όταν διαγράφονται αυτοί που τις κρατούν.
\ Μπορεί μια ομάδα να την κρατάνε δυο ή περισσότερα αναγνωριστικά;
\ Γίνεται με την έννοια της αναφοράς, αλλά μια αναφορά δεν μπορεί να πάρει νέα αναφορά!
\ Υπάρχουν δείκτες όμως;
\ Όχι δεν υπάρχουν δείκτες που θα "κρατούσαν" σε ζωή μια ομάδα εκτός τμήματος
\ Και πώς γίνεται να μείνει μια ομάδα εκτός τμήματος και πώς γίνεται να επιστραφεί από συνάρτηση;
\ Μια ομάδα γίνεται να αντιγραφεί, σε ένα νέο όνομα, στον επεξεργαστή εκφράσεων ως ομάδα χωρίς όνομα!
\ Επίσης μπορούμε ομάδες χωρίς όνομα να έχουμε σε στοιχεία πινάκων
\ Αντί να έχουμε δείκτες να δείχνουν αντικείμενα και να πρέπει να τους διαχειριστούμε γιατί
\ αλλιώς δεν θα διαγραφούν, έχουμε υποστηρικτές (holders) που κρατούν το αντικείμενο και
\ δεν μοιράζονται τον ιδιωτικό τους δείκτη!
\ Στη Μ2000 δεν μπορούμε να φτιάξουμε αναφορά σε στοιχείο πίνακα. Όμως μπορούμε να φτιάξουμε
\ αναφορά στον πίνακα!

' Στο παράδειγμα δημιουργούμε την ομάδα άλφα άμεσα.
' Αν βάλει κανείς την εντολή Λίστα θα δει ότι υπάρχει η άλφα.γ για παράδειγμα.
' Και αυτό γιατί "δεν υπάρχουν σύνορα" στις ομάδες.
' Στην ομάδα αυτή δημιουργούμε την ομάδα βητα από την κλάση βητα1
' Μπορούσαμε να γράψουμε απ΄ευθείας Ομάδα βήτα  { } και να καταργήσουμε τη κλάση
' Θέλουμε όμως να κάνουμε και άλλα βήτα μέσα σε έναν πίνακα.
' Στον ορισμό δεν μπορούμε να εκτελέσουμε κώδικα (απλές τιμές περνάμε)
' Οπότε έχουμε ένα τμήμα που αλλάζει την διάσταση του πίνακα Α()
' Συνάμα του δίνει τη κλάση βήτα1 για να γεμίσει τον πίνακα (σε αυτή τη περίπτωση οι συναρτήσεις και τα τμήματα ως ορισμοί γράφονται σε μια λίστα στο πίνακα, αλλά μπορούμε να έχουμε πίνακες με ανακατεμένες κλάσεις, όπως θέλουμε εμείς)
' Δείτε όμως ότι η βήτα1 έχει μια συνάρτηση παραγοντικό. Μπορούμε να το καλέσουμε και αυτό να καλέσει τον εαυτό του. Και αυτό θα γίνει με διάφορους τρόπους:
' Θα γίνει από την άλφα με κλήση της βγάλε_παραγοντικό() που έμμεσα καλεί το βήτα.βγάλε_παραγοντικό()
' Θα γίνει από το ανώνυμο στοιχείο 3 του πίνακα αλφα.α(3) με χρήση της  άλφα.α(3).παραγοντικό()
' (το ανώνυμο στοιχείο έχει όμως θέση στο πίνακα, για όσο είναι σε αυτή τη θέση, διότι οι πίνακες είναι δυναμικοί)
' Θα γίνει από έναν άλλο πίνακα Α() στο τμήμα στο οποίο βγάλαμε ένα αντίγραφο του Αλφα
' Άρα στο Α(3) του πίνακα θα είναι και το Α(3).α(3).παραγοντικό() αλλά ως αντίγραφο, όχι το ίδιο το ίδιο το άλφα!
' Τέλος δοκιμάζουμε τις αναφορές με κλήση σε τμήμα Δείξεμου1 και Δείξεμου2
' Για να περάσω στοιχείο πίνακα πρέπει να δώσω τον πίνακα χωριστά με το δείκτη στο πίνακα
' Όμως δείτε τώρα: Η Παραγοντικό τρέχει με αναδρομή μέσα σε ένα τμήμα ενώ βρίσκεται σε πίνακα που βρίσκεται ή σε μια ομάδα ή σε ένα άλλο πίνακα σε μια ομάδα!
' Δείτε και τον υπολογισμό με το γ

Ομάδα αλφα {
      κλάση βητα1 {
            γ=2
            δ=3
            Συνάρτηση Παραγοντικό {
            Διάβασε π
            .γ<=+2*
            Αν π<2 Τότε { =1 } Αλλιώς  =.Παραγοντικό(π-1)*π
            }
       }
      βητα1 βητα
      γ=100
      Πίνακας α()
      Τμήμα ΦτιάξεΠίνακα {
            Πίνακας .α(20)=.βητα1()
      }
      Πίνακας κ(5)=100
      Συνάρτηση κάποια {
            =*100
      }
      Συνάρτηση βγάλε_παραγοντικό {
             Διάβασε α
            =.βήτα.παραγοντικό(α)
      }
}
Τύπωσε αλφα.βγάλε_παραγοντικό(10)
αλφα.ΦτιάξεΠίνακα
' κάθε στοιχείο στο άλφα.α() έχει την παραγοντικό()
Τύπωσε άλφα.α(3).παραγοντικό(10) ' 3628800

Πίνακας Α(100)
Α(3)=άλφα
Τύπωσε Α(3).βγάλε_παραγοντικό(10) ' 3628800
Τύπωσε Α(3).α(3).παραγοντικό(10), Α(3).α(3).γ '3628800, 5242877

Τμήμα Δείξειμου1 {
      Διάβασε &άλλο_άλφα
      Τύπωσε άλλο_άλφα.α(3).παραγοντικό(10), άλλο_άλφα.α(3).γ ' 3628800, 5242877
}

Δείξειμου1 &άλφα
\\ προσέξτε εδώ το γ έχει άλλη τιμή γιατί την έχουμε αλλάξει με αυτό Α(3).α(3).παραγοντικό(10)
Τμήμα Δείξεμου2 {
      Διάβασε &άλλο_άλφα(), ι
      Τύπωσε άλλο_άλφα(ι).α(3).παραγοντικό(10), άλλο_άλφα(ι).α(3).γ ' 3628800, 5368709117
}

Δείξεμου2 &Α(), 3
Τύπωσε Α(3).α(3).γ ' 5368709117

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

Αυτό που θα πω είναι χωρίς καμία αρνητική προδιάθεση και θέλω να πιστεύω εκφράζει μερικούς ακόμα, δεν είναι ανάγκη κάθε δύο αναρτήσεις που ανεβάζεις να postareis snippets, έχεις δώσει το blog σου που έχει μέχρι και source της γλώσσας (ναι μπήκα). Καταλάβαμε περί τίνος πρόκειται, you are over selling it.

Όσον αφορά το προηγούμενο μου σχόλιο, ήταν πιο πολύ στο κλήμα "τα ελληνικά και ο προγραμματισμός δεν πάνε μαζί" και αναφέρθηκα στην ορολογία με το σκεπτικό πως αν μάθεις ελληνική μετά θέλει double effort για να την ξεμάθεις (προσωπικά πιστεύω πως είναι κομματάκι άχρηστη).

Kudos πάντως γιατί φαίνεται να έχεις ρήξει αρκετή δουλειά.

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

Οκ, βάζω το blog και όποιος θέλει ασχολείται!

 

http://georgekarras.blogspot.gr

 

Έχω εργαστεί πολύ! Ξεκίνησα με windows 98...και VB5 το 1999...με ένα διάστημα παύσης από 2003 έως 2013. Και πέρυσι έφτιαξα τα δικά μου controls, textbox, combobox με autocomplete, button, check, editbox, αλλά και σύνθετοι διάλογοι όπως MsgBox, Open/Save/OpenImage/Folder, color, font, settings, test 

όλα αυτά βγαίνουν το ίδιο σε οποιοδήποτε σύστημα (ακόμα και με wine στο Linux), είναι Unicode και έχουν ζουμ άμεσο! και όλα γίνονται από ένα Usercontrol και κλάσεις που του προσθέτουν λειτουργικότητα.

Ο κώδικας είναι ανοικτός...και ελεύθερος!

Open source και Freeware

 

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

 

Βασικά δεν έχω χρόνο να ασχοληθώ με το φόρουμ...απλά έκανα την ενημέρωσή μου!

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

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

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

Επισκέπτης
Αυτό το θέμα είναι πλέον κλειστό για περαιτέρω απαντήσεις.

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