Σάββατο, 28 Νοεμβρίου 2015

Αναθεώρηση 97 (μικρή διόρθωση+πρόγραμμα)

Μια μικρή διόρθωση,
Στην εντολή Αναφορά υπήρχε ένα όρισμα με όνομα ΓΡΑΜΜΗ που δεν το έπαιρνε με μικρά ή με τόνους. Διορθώθηκε στο κώδικα της αναθεώρησης 97.



Εδώ είναι ένα μικρό πρόγραμμα με ρώσικο κείμενο που δείχνει την χρήση της! (το ρώσικο κείμενο το πήρα από εδώ http://www.pushkin.gr/main/ru/metafrasis/

Στο πρώτο μέρος παίρνουμε το παραπάνω κείμενο, βρίσκουμε πόσες "αράδες" θα χρειαστούμε για να το τυπώσουμε σε δυο στήλες, και τυπώνουμε μια προς μια αλλάζοντας και χρώμα ταυτόχρονα.
Στο δεύτερο μέρος χωρίς να χρησιμοποιούμε κάποια δομή επανάληψης δίνουμε απευθείας νούμερα για το πόσες γραμμές θα τυπωθούν, και από ποια γραμμή. Για να το κάνει αυτό η εσωτερική ρουτίνα (πίσω από την εντολή αναφορά) τρέχει το φορμάρισμα χωρίς να τυπώνει και αρχίζει να τυπώνει από εκεί που θέλουμε). Όμως ο υπολογισμός γίνεται πολύ γρήγορα παρόλο που αν ζητάμε την τελευταία γραμμή θα πρέπει να υπολογίσουμε όλες τις προηγούμενες! Ουσιαστικά αν δουλεύουμε με μεταβλητή τύπου Έγγραφο, τότε τυπώνουμε με την αναφορά κάθε φορά μία παράγραφο, ή αν θέλουμε συσωρεύουμε όλες τις μετρήσεις σε μια εκτελώντας την αναφορά με αρνητικό αριθμό γραμμών. Οπότε σε δυο στήλες θα πέσει σε μία μόνο παράγραφο να σπάσει στα δυο (αν οι άλλες, οι πριν και οι μετά χωράνε στη πρώτη και δεύτερη στήλη ως έχουν).
Ο τρόπος στοίχισης δεν αλλάζει το πόσες γραμμές θα τυπωθούν. Αυτό που το αλλάζει είναι το πλάτος για την αναφορά. Πλάτος μπορούμε να δώσουμε με μικρά νούμερα, π.χ. 10 και λαμβάνονται ως πλάτος σε χαρακτήρες μη αναλογικούς. Αν δώσουμε μεγάλο νούμερο (πάνω από το πλάτος σε twips του μη αναλογικού χαρακτήρα τότε λαμβάνεται ως πλάτος σε twips.
Η θέση του δρομέα πριν την αναφορά δείχνει την περιθώριο που θα αφήνει αριστερά για κάθε γραμμή. Αν θέλουμε δεξί περιθώριο τότε κόβουμε από το πλάτος. Αν θέλουμε ειδική εσοχή στη πρώτη γραμμή τότε βάζουμε διαστήματα στην αρχή της παραγράφου. Αλλά αν έχουμε πολλές παραγράφους πρέπει να το επαναλάβουμε για κάθε μία).



α$={Афинский институт русского языка имени А.С. Пушкина предоставляет услуги устного и письменного перевода с греческого на русский язык и с русского на греческий язык, а также с русского на английский язык и с английского на русский язык частным лицам, фирмам, представительствам, компаниям и организациям.}

Οθόνη
Κάνε Ακέραια(Χ)=Ακ(Χ+.5)
Αναφορά 3, α$, 15, -1000
Γραμμές_για_τύπωμα = γραμμέςαναφοράς
μέσον=Ακέραια(Γραμμές_για_τύπωμα/2)


υ= Γραμμή
\\ Θα χρησιμοποιήσουμε μια ομάδα για να έχουμε μια συνάρτηση με στατική μεταβλητή
Ομάδα Χώρος_Στατικής { χ
      Συνάρτηση πένα_α { ~ : Αν Τότε { =10 } Αλλιώς =11 }
}
Για Χώρος_Στατικής {
      Τύπωσε @(10, υ),
      Για ι=1 Έως μέσον
            Πένα .πένα_α() { Αναφορά 1, α$, 15, 1 Γραμμή ι }
      Επόμενο ι
      Τύπωσε @(26, υ),
      Για ι=μέσον+1 Έως Γραμμές_για_τύπωμα
            Πένα .πένα_α() { Αναφορά 3, α$, 15, 1 Γραμμή ι }
      Επόμενο ι
}
\\ χωρίς επαναλήψεις
Τύπωσε Υπό
υ= Γραμμή
Τύπωσε @(10, υ),
Αναφορά 1, α$, 15, μέσον
Τύπωσε @(26, υ),
\\ 1000 δίνουμε ένα μεγάλο αριθμό.
Αναφορά 3, α$, 15, 1000 Γραμμή μέσον+1



Όποιος αναρωτιέται πως βγήκε στη φωτογραφία ο διορθωτής στις κάτω δέκα γραμμές:
έδωσα αυτή την εντολή
οθονη,-10
οπότε έσβησε το κάτω μέρος της οθόνης με το τωρινό χρώμα οθόνης και έκανε χωριστή οθόνη από την ( Ύψος-10) γραμμή (τα αρνητικά νούμερα αφαιρούνται...από το ύψος σε γραμμές χαρακτήρων της οθόνης).



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

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