Τετάρτη, 11 Οκτωβρίου 2017

Αναθεώρηση 37, έκδ. 8.9 - Revision 37, ver 8.9


1) Σε αυτήν την αναθεώρηση διόρθωσα τον τελεστή Not. Λειτουργούσε με παρενθέσεις, ενώ χωρίς είχε θέμα με συγκρίσεις.

Τώρα όταν εκτελείται το Not (Όχι, Δεν) τότε εκτελείται πρώτα δεξιά μέχρι το πρώτο And, Or, Xor που θα συνατήσει.Ενώ παλιά έκανε απλά αυτό...το Not -1 γίνοταν -1--1 το οποίο γίνεται -1+1=0. ή στο Not 0 γίνονταν -1-0 το οποίο δίνει το -1. Λειτουργούσε σωστά, αλλά αν δίναμε συγκρίσεις θα έπρεπε να ήταν σε παρενθέσεις, και επίσης ότι υπήρχε μετά το Not εκτελούνταν ως μια παράσταση.
Αν έμπαιναν παρενθέσεις δεν υπήρχε κανένα πρόβλημα. Όμως επειδή θέλω να λειτουργεί και χωρίς παρενθέσεις το έφτιαξα καλύτερα:

το παρακάτω τώρα λειτουργεί σωστά:

\\ all return -1
print not 10>50 and not 10>50
print true and not 10>50
print not 10>50 and true
\\ all return 0
print not 10>5 and not 10>5
print true and not 10>5
print not 10>5 and true

print not not true \\ return -1


Print (false or not 10+5>30 and true)=True
Print (false or not 10+45>30 and true)=False






2) Διορθώθηκε στην εντολή Ταξινόμηση η περίπτωση Φθίνουσα, σε αντικείμενο Κατάσταση (είχε ένα bug ο κώδικας από "απροσεξία"). λειτουργούσε στη μορφή Ταξινόμηση Όνομα_Κατάστασης, 0  η οποία είναι ίδια με την Ταξινόμηση Φθίνουσα Όνομα_Κατάστασης. (αλλά όχι ίδιος κώδικας, οπότε στην πρώτη περίπτωση είχε λάθος και διορθώθηκε).