Πέμπτη, 5 Σεπτεμβρίου 2019

Αναθεώρηση 34, Έκδοση 9.8

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

Οι συναρτήσεις που τώρα εμφανίζονται στη βοήθεια είναι οι παρακάτω:
#ΑΘΡ(), #ΑΝΑΠ(), #ΑΝΤ(), #ΘΕΣΗ(), #ΜΕΓ(), #ΜΕΡΟΣ(), #ΜΙΚ(), #ΠΑΚ(), #ΤΙΜΗ()
#ΜΕΓ$(), #ΜΙΚ$(), #ΠΑΚ$(), #ΤΙΜΗ$()

Αυτές είναι ειδικές συναρτήσεις γιατί πρέπει να κληθούν με ένα αποτέλεσμα tuple στα αριστερά τους:

\\ #αθρ() ή #sum()
Τύπωσε (1,2,3)#αθρ()=6
Πίνακας Α(10)=1
Τύπωσε Α()#αθρ()=10
μ=(1,2,3,4)
κ=(1,2,3)
Τύπωσε μ#αθρ()=10
\\ δεν χρειάζονται παρενθέσεις αν έχουμε συνθήκη
Τύπωσε (1,2,3,4)#αθρ()>(1,2,3)#αθρ()
\\ χρειάζονται παρενθέσεις εδώ
Τύπωσε ((1,2,3,4)#αθρ())+((1,2,3,4)#αθρ())=20
\\ δεν χρειάζονται παρενθέσεις αν έχουμε μεταβλητή που δείχνει σε πίνακα
Τύπωσε μ#αθρ()>κ#αθρ()
Τύπωσε μ#αθρ()+μ#αθρ()=20
\\ #αναπ() ή #rev()
Τύπωσε (1,2,3)#αναπ()  ' δίνει 3 2 1
\\ #μέρος() ή #slice()
Τύπωσε μ     ' 1 2 3 4 
Τύπωσε μ#μέρος(1,2) ' 2,3
\\ #μεγ() ή #max() \\ #μεγ$() ή #max$() για αλφαριθμητικά αλ=("α","β","γ") Τύπωσε αλ#μεγ$()="γ" Τύπωσε μ#μέρος(1,2)#μεγ()=3 \\ #μικ() ή #min() \\ #μικ$() ή #min$() για αλφαριθμητικά Τύπωσε αλ#μικ$()="α" Τύπωσε μ#μέρος(1,2)#μικ()=2

Τύπωσε μ#μέρος(1,2)#αθρ()=5
\\ #τιμη() ή #val() \\ #τιμη$() ή #val$() για αλφαριθμητικά
Τύπωσε μ#τιμή(2)=3
μ=((1,2,3),(4,5,6)) Τύπωσε μ#τιμή(1)#αθρ()=15 Τύπωσε μ#τιμή(0)#αθρ()=6
Δες οκ { Τύπωσε μ#τιμή(2)=3 } Αν λάθος ή όχι οκ Τότε Τύπωσε Λάθος$ ' Δείκτης εκτός ορίων
\\ #θέση() ή #pos() μ=(1,1,0,1,1,1,1,0,1,1,0) Τύπωσε μ#θέση(1,0,1)=1 ' 2η θέση (1+1) Τύπωσε μ#θέση(5 -> 1,0,1)=6 ' 7η θέση Τύπωσε μ#θέση(2,3)=-1 ' δεν υπάρχει μ=(1,"α","β","γ",2,"γ","δ","ε") Τύπωσε μ#αθρ()=3 ν=μ#θέση("γ","δ") Αν ν>=0 Τότε Τύπωσε μ#μέρος(ν-1,ν+2) ' 2 γ δ ε

\\ #φίλτρο() ή #filter() \\ δουλεύει με μια λάμδα συνάρτηση α=(1,2,3,4,5,6,7,8,9)
μονός=λάμδα (χ)->χ υπόλοιπο 2=1 β=α#φίλτρο(μονός, (,)) Τύπωσε α#φίλτρο(μονός, (,)) ' 1,3,5,7,9 Τύπωσε β ' 1,3,5,7,9
\\ #αντ() ή #map() αντ1=λάμδα ->{ Βάλε ΧαρΚωδ$(αριθμός+64) } ζ=α#φίλτρο(μονός)#αντ(αντ1) Τύπωσε ζ ' A C E G I
\\ #πακ() ή #fold() \\ #πακ$() ή #fold$() για αλφαριθμητικό \\ δουλεύει με μια λάμδα συνάρτηση πακ2=λάμδα ->{ φερε 2 βάλε γραμμα$+"-"+γραμμα$ } Τύπωσε "["+α#φίλτρο(μονός)#αντ(αντ1)#πακ$(πακ2, "CODE")+"]"="[CODE-A-C-E-G-I]" συνάρτηση σειρά_γραμμάτων (αρχικό$, πόσα, φορές) { α=(,) β=χαρκωδ(αρχικό$)-1 για ι=1 εως πόσα προσθήκη α, (επαν$(χαρκωδ$(β+ι), φορές),) επόμενο =α }
\\ κλείσμο της ζ αντ1=λάμδα ζ=σειρά_γραμμάτων("D", 10, 2) ->{ Βάλε ζ#τιμή$((αριθμός-1) υπολ 10) }
Τύπωσε "["+α#φίλτρο(μονός)#αντ(αντ1)#πακ$(πακ2, "CODE")+"]"="[CODE-DD-FF-HH-JJ-LL]"

\\ φτιάχνουμε ένα γεγονός που είναι μια λίστα συναρτήσεων \\ μπορούμε να δώσουμε συνάρτηση από υπάρχον αντικείμενο τύπου ομάδα \\ με αυτόν τον τρόπο μαζεύουμε τα αποτελέσματα στο έγγραφο κωδικοί$ \\ η ομάδα έχει δυο ονόματα, το αποτέλεσμα και το αποτέλεσμα$ \\ το πρώτο το χρησιμοποιούμε για τις ιδιότητες, το δεύτερο για το αποτέλεσμα \\ επειδή εδώ είναι αλφαριθμητικό. Γεγονός Αλφα { Διάβασε Κ, &Τ$ } Ομάδα αποτέλεσμα$ { Ιδιωτικό: Ζ=("1ΑΒ","2ΓΥ","ΚΜΝ","832","5ΝΜ","ΚΖΛ","Μ13","ΤΚΛ","1Α5","234") Λ=(5,8,1,2,0,3,4,7,9,6) Μ=0 Τελική Τ$={#Τέλος Κωδικών } Έγγραφο Κωδικοί$={#Κωδικοί: } Δημόσιο: Αξία { =.Κωδικοί$+.Τ$ } Συνάρτηση Τελική κοίτα (που ως ακεραιος, &α$) { που=απολ(που) υπολ 10 α$=#τιμη$(#τιμη(που)) .Κωδικοί$<=Αν$(=0 ->"","-")+α$ ++ Αν =5 Τότε .Κωδικοί$<={ } <=0 Τέλος ΑΝ } }
\\ οι συναρτήσεις που δίνουμε πρέπει να έχουν την ίδια υπογραφή (αυτό θα φανεί στην εκτέλεση) Γεγονος Αλφα Νέο &αποτέλεσμα.κοίτα() αντ1=λάμδα Αλφα, αυτό$="" ->{ Κάλεσε Γεγονός Αλφα, αριθμός-1, &αυτό$ Βάλε αυτό$ } Τύπωσε "["+α#φίλτρο(μονός)#αντ(αντ1)#πακ$(πακ2, "CODE")+"]"="[CODE-ΚΖΛ-2ΓΥ-1ΑΒ-5ΝΜ-234]"
\\ τυπώνει με αναλογική γραφή κείμενο. Περιμένει στα 3/4 τη σελίδας για να προχωρήσει \\ να δώσουμε διάστημα ή πάτημα αριστερού πλήκτρου ποντικιού Αναφορά αποτέλεσμα$ Τύπωσε "["+α#μέρος(4,8)#αντ(αντ1)#πακ$(πακ2, "CODE")+"]"="[CODE-1ΑΒ-832-5ΝΜ-ΤΚΛ-234]" \\ τυπώνει στην κονσόλα σαν έξοδος σε αρχείο με το κανάλι -2 με μη αναλογική γραφή Τύπωσε #-2, αποτέλεσμα$ Σημ { #Κωδικοί: ΚΖΛ-2ΓΥ-1ΑΒ-5ΝΜ-234 1ΑΒ-832-5ΝΜ-ΤΚΛ-234 #Τέλος Κωδικών }


Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου