Δυο διορθώσεις σήμερα.
Η πρώτη είναι στην εντολή Άνοιξε (Open) για αρχείο, η σήμανση Ευρία έγινε Ευρεία (ορθογραφικό λάθος, αλλά τώρα λειτουργεί και το ένα και το άλλο, για λόγους συμβατότητας). Η σήμανση αυτή δηλώνει ότι το αρχείο είναι Unicode Little Endian ή UTF16 (δυο byte το κάθε γράμμα).
τμήμα από το πρόγραμμα χρήστες
Ανοιξε .όνομα_αρχείου$ για ευρεια εισαγωγή ως κ
Γραμμή Εισαγωγής #κ, κάτι$
Γραμμή Εισαγωγής #κ, κάτι2$
Κλείσε #κ
Η δεύτερη ήταν δύσκολη στο να βρεθεί! Αλλά όλα βρίσκονται κάποια στιγμή!
global x=12345
a=0 : b=1
gosub fibonacci(10)
print x
sub fibonacci(X)
if X>1 then gosub fibonacci(X-1)
Print a, x : swap a, b :b+=a
x++
end sub
Λογικά στο παραπάνω κανείς δεν βάζει τη x ως global (δεν χρειάζεται αυτή η γραμμή) και δεν χρειάζεται και η print x. Όμως στην αναθεώρηση 59 το x βγαίνει 11...γιατί φαίνεται γενική και δεν ορίζει ο μεταφραστής τοπική (ενώ θα έπρεπε). Διορθώθηκε και τώρα δίνει το παραπάνω 12345 όπως θα έπρεπε (δηλαδή η σφαιρική x μένει ως έχει). Οι a και b είναι τοπικές στο τμήμα αλλά στις υπορουτίνες φαίνονται ως στατικές.
Το πρόγραμμα τυπώνει (όταν ο μεταφραστής φτάσει στην sub κάνει έξοδο)
0 1
1 2
1 3
2 4
3 5
5 6
8 7
13 8
21 9
34 10
Στα ελληνικά:
γενική χ=12345
α=0 : β=1
διαμέσου Ακολουθία_Φιμπονάτσι(10)
Τύπωσε χ
\\ προσοχή εδώ η εντολή Ρουτινα δεν θέλει τόνο
\\ για να βρει την Ακολουθία_Φιμπονάτσι() πρέπει να υπάρχει το
\\ αναγνωριστικό Ρουτινα πριν. Η αναζήτηση γίνεται από το τέλος
Ρουτινα Ακολουθία_Φιμπονάτσι(χ)
if χ>1 τότε διαμέσου Ακολουθία_Φιμπονάτσι(χ-1)
Τύπωσε α, χ : άλλαξε α, β :β+=α
\\ Έξοδος Ρουτίνας \\ ξεσκεπάστε αυτή την εντολή να δείτε το αποτέλεσμα
χ++
Τέλος Ρουτίνας
Η πρώτη είναι στην εντολή Άνοιξε (Open) για αρχείο, η σήμανση Ευρία έγινε Ευρεία (ορθογραφικό λάθος, αλλά τώρα λειτουργεί και το ένα και το άλλο, για λόγους συμβατότητας). Η σήμανση αυτή δηλώνει ότι το αρχείο είναι Unicode Little Endian ή UTF16 (δυο byte το κάθε γράμμα).
τμήμα από το πρόγραμμα χρήστες
Ανοιξε .όνομα_αρχείου$ για ευρεια εισαγωγή ως κ
Γραμμή Εισαγωγής #κ, κάτι$
Γραμμή Εισαγωγής #κ, κάτι2$
Κλείσε #κ
Η δεύτερη ήταν δύσκολη στο να βρεθεί! Αλλά όλα βρίσκονται κάποια στιγμή!
global x=12345
a=0 : b=1
gosub fibonacci(10)
print x
sub fibonacci(X)
if X>1 then gosub fibonacci(X-1)
Print a, x : swap a, b :b+=a
x++
end sub
Λογικά στο παραπάνω κανείς δεν βάζει τη x ως global (δεν χρειάζεται αυτή η γραμμή) και δεν χρειάζεται και η print x. Όμως στην αναθεώρηση 59 το x βγαίνει 11...γιατί φαίνεται γενική και δεν ορίζει ο μεταφραστής τοπική (ενώ θα έπρεπε). Διορθώθηκε και τώρα δίνει το παραπάνω 12345 όπως θα έπρεπε (δηλαδή η σφαιρική x μένει ως έχει). Οι a και b είναι τοπικές στο τμήμα αλλά στις υπορουτίνες φαίνονται ως στατικές.
Το πρόγραμμα τυπώνει (όταν ο μεταφραστής φτάσει στην sub κάνει έξοδο)
0 1
1 2
1 3
2 4
3 5
5 6
8 7
13 8
21 9
34 10
Στα ελληνικά:
γενική χ=12345
α=0 : β=1
διαμέσου Ακολουθία_Φιμπονάτσι(10)
Τύπωσε χ
\\ προσοχή εδώ η εντολή Ρουτινα δεν θέλει τόνο
\\ για να βρει την Ακολουθία_Φιμπονάτσι() πρέπει να υπάρχει το
\\ αναγνωριστικό Ρουτινα πριν. Η αναζήτηση γίνεται από το τέλος
Ρουτινα Ακολουθία_Φιμπονάτσι(χ)
if χ>1 τότε διαμέσου Ακολουθία_Φιμπονάτσι(χ-1)
Τύπωσε α, χ : άλλαξε α, β :β+=α
\\ Έξοδος Ρουτίνας \\ ξεσκεπάστε αυτή την εντολή να δείτε το αποτέλεσμα
χ++
Τέλος Ρουτίνας
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου
You can feel free to write any suggestion, or idea on the subject.