Προσθήκη 2-12-2021
Στην Έκδοση 10, υπάρχει στο info αρχείο το τμήμα ΓΛΩΣΣΑ με πιο προχωρημένο κώδικα, με διάφανο τίτλο και μενού (combobox), με χρωματισμό της γραμμής που έχει το δρομέα, με χρώμα επιλεγμένο για την κάθετη μπάρα ολίσθησης (η οποία κρύβεται αυτόματα). Επίσης με μενού αναδυόμενο (popup) στη θέση του δρομέα με δυνατότητα να γράψουμε τον αριθμό γραμμής και να μεταφέρουμε το δρομέα εκεί! Επίσης υπάρχει και ένα Button που λειτουργεί μόνο ως ένδειξη μηνυμάτων δεξιά από το μενού, και δείχνει τη γραμμή και θέση του δρομέα με αριθμούς. Στο μενού επεξεργασία υπάρχει και το άνοιγμα στον διερμηνευτή της γλώσσας (αν είναι εγκατεστημένος, ανοίγει το πρόγραμμα εκεί για εκτέλεση). Στη βοήθεια αλλάζουμε τη προβολή, Μεγάλα ή Μικρά. Επίσης στο παράδειγμα αυτό δείχνω πως αλλάζουμε το μέγεθος γραμμάτων και γραμματοσειρά στον τίτλο της φόρμας! Δείτε επίσης πάνω αριστερά πως έχει μπει εικονίδιο και ότι υπάρχει ένα κουμπί με τρεις γραμμές από όπου δίνουμε εντολές για απόκρυψη (ελαχιστοποίηση) επέκταση (μεγιστοποίηση) και μετακίνηση και αλλαγή μεγέθους με τα πλήκτρα. Το έχω αφήσει επίτηδες έτσι ώστε βλέποντας άλλα προγράμματα μέσα στο Info να μπορεί κανείς να το βελτιώσει, όπως να δει πώς βάζουμε λειτουργία Hover στο μενού, όπου όταν πάμε το δείκτη του ποντικιού πάνω από τα μενού και τα ενεργοποιήσουμε μια φορά, τότε τα μενού ανοίγουν καθώς περνάμε το δείκτη πάνω τους, υπάρχει στο cs τον csharp editor. Επίσης δείτε πώς γίνεται να ορίσουμε Accelerator Keys, υπάρχουν στο mEditor (το οποίο έχει όλα εκτός από το πώς αλλάζουμε τα χρώματα στο EditBox, το οποίο το έχει το cs). Στο info υπάρχουν τέσσερις εκδοχές του NotePad, mEditor (έχει και δεύτερο EditBox για βοήθεια της M2000, κρυφό αρχικά), cs, htmleditor, ΓΛΩΣΣΑ. Το καθένα έχει κάτι διαφορετικό από τα άλλα!
Παλιό Κείμενο (Έκδοση 8, τρέχει και στην 10 - γενικά οι νέες εκδόσεις είναι συμβατές με τις παλιές):
Βελτίωσα τον χρωματιστή κώδικα στο EditBox,
Εδώ είναι το notepad με τις αλλαγές για να χρωματίζει κώδικα σε ΓΛΩΣΣΑ του λυκείου για το μάθημα ΑΕΠΠ.
Σε linux μπορεί κανείς να χρησιμοποιήσει "DejaVu Sans Mono", 14
Η τελευταία παράμετρος της "FontAttr" είναι τα bold, με true έχουμε bold γράμματα.
Εδώ η εικόνα από τη φόρμα:
Ο κώδικας μπορεί να εξαχθεί με αντιγραφή στο πρόχειρο με το χρώμα:
ΠΡΟΓΡΑΜΜΑ ΑΛΦΑ
ΣΤΑΘΕΡΕΣ
ΜΕΓΙΣΤΟ_ΠΛΗΘΟΣ_ΚΕΛΙΩΝ = 100
ΜΕΓΙΣΤΟ_ΠΛΗΘΟΣ_ΜΠΛΟΚ = 50
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: ΠΙΝ[ΜΕΓΙΣΤΟ_ΠΛΗΘΟΣ_ΚΕΛΙΩΝ], ΜΠΛΟΚ[ΜΕΓΙΣΤΟ_ΠΛΗΘΟΣ_ΜΠΛΟΚ], Ν, Μ
ΑΚΕΡΑΙΕΣ: Ι, Π, Κ, Λ, Π1
ΑΚΕΡΑΙΕΣ: ΣΠ[ΜΕΓΙΣΤΟ_ΠΛΗΘΟΣ_ΜΠΛΟΚ*2], ΣΚ[ΜΕΓΙΣΤΟ_ΠΛΗΘΟΣ_ΜΠΛΟΚ*2], ΣΤΟΙΒΑ
ΑΚΕΡΑΙΕΣ: ΜΗΚΟΣ[ΜΕΓΙΣΤΟ_ΠΛΗΘΟΣ_ΜΠΛΟΚ]
ΛΟΓΙΚΕΣ: ΣΗΜΑΙΑ
ΑΡΧΗ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ "ΔΩΣΕ ΑΡΙΘΜΟ ΚΕΛΙΩΝ:"
ΔΙΑΒΑΣΕ Ν
ΜΕΧΡΙΣ_ΟΤΟΥ Ν > 0 ΚΑΙ Ν <= ΜΕΓΙΣΤΟ_ΠΛΗΘΟΣ_ΚΕΛΙΩΝ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ "ΔΩΣΕ ΑΡΙΘΜΟ ΜΠΛΟΚ"
ΔΙΑΒΑΣΕ Μ
ΜΕΧΡΙΣ_ΟΤΟΥ Μ >= 0 ΚΑΙ Μ <= ΜΕΓΙΣΤΟ_ΠΛΗΘΟΣ_ΜΠΛΟΚ
ΜΗΚΟΣ[1] <- 0
ΑΝ Μ > 0 ΤΟΤΕ
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Μ
ΓΡΑΨΕ "ΜΕΓΕΘΟΣ ΜΠΛΟΚ:", Ι
ΔΙΑΒΑΣΕ ΜΠΛΟΚ[Ι]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΜΗΚΟΣ[Μ] <- ΜΠΛΟΚ[Μ]
ΑΝ Μ > 1 ΤΟΤΕ
ΓΙΑ Ι ΑΠΟ Μ - 1 ΜΕΧΡΙ 1 ΜΕ_ΒΗΜΑ -1
ΜΗΚΟΣ[Ι] <- ΜΠΛΟΚ[Ι] + ΜΗΚΟΣ[Ι + 1] + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΑΝ ΜΗΚΟΣ[1] > Ν ΤΟΤΕ
ΓΡΑΨΕ "ΑΔΥΝΑΤΟΝ"
ΑΛΛΙΩΣ_ΑΝ Μ = 0 ΤΟΤΕ
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Ν
ΓΡΑΨΕ 0, " "
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ
ΑΛΛΙΩΣ
ΣΤΟΙΒΑ <- 0
Π1 <- 0
Λ <- 0
ΟΣΟ Π1 <= (Ν - ΜΗΚΟΣ[1]) ΕΠΑΝΑΛΑΒΕ
Κ <- 0
Π <- Π1 + 1
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Ν
ΠΙΝ[Ι] <- 0
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΟΣΟ Κ < Μ ΕΠΑΝΑΛΑΒΕ
Κ <- Κ + 1
Λ <- 0
ΟΣΟ Λ < ΜΠΛΟΚ[Κ] ΚΑΙ Π <= Ν ΕΠΑΝΑΛΑΒΕ
Λ <- Λ + 1
ΠΙΝ[Π] <- 1
Π <- Π + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ Π < Ν ΤΟΤΕ
ΠΙΝ[Π] <- 0
Π <- Π + 1
ΑΝ Κ < Μ ΤΟΤΕ
ΑΝ (Π + ΜΗΚΟΣ[Κ + 1]) <= Ν ΤΟΤΕ
ΣΤΟΙΒΑ <- ΣΤΟΙΒΑ + 1
ΣΠ[ΣΤΟΙΒΑ] <- Π
ΣΚ[ΣΤΟΙΒΑ] <- Κ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΣΗΜΑΙΑ <- ΑΛΗΘΗΣ
ΑΝ Λ = ΜΠΛΟΚ[Κ] ΤΟΤΕ
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Ν
ΓΡΑΨΕ ΠΙΝ[Ι], " "
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ
ΑΝ ΣΤΟΙΒΑ > 0 ΤΟΤΕ
Π <- ΣΠ[ΣΤΟΙΒΑ]
Κ <- ΣΚ[ΣΤΟΙΒΑ]
ΣΤΟΙΒΑ <- ΣΤΟΙΒΑ - 1
ΓΙΑ Ι ΑΠΟ Π ΜΕΧΡΙ Ν
ΠΙΝ[Ι] <- 0
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Π <- Π + 1
ΑΝ Κ < Μ ΤΟΤΕ
ΑΝ (Π + ΜΗΚΟΣ[Κ + 1]) <= Ν ΤΟΤΕ
ΣΤΟΙΒΑ <- ΣΤΟΙΒΑ + 1
ΣΠ[ΣΤΟΙΒΑ] <- Π
! το ΣΚ[ΣΤΟΙΒΑ]<-Κ δεν το βάζουμε είναι ήδη Κ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΣΗΜΑΙΑ <- ΨΕΥΔΗΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΜΕΧΡΙΣ_ΟΤΟΥ ΣΗΜΑΙΑ = ΑΛΗΘΗΣ
Π1 <- Π1 + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Εδώ είναι το notepad με τις αλλαγές για να χρωματίζει κώδικα σε ΓΛΩΣΣΑ του λυκείου για το μάθημα ΑΕΠΠ.
Σε linux μπορεί κανείς να χρησιμοποιήσει "DejaVu Sans Mono", 14
Η τελευταία παράμετρος της "FontAttr" είναι τα bold, με true έχουμε bold γράμματα.
\\ notepad Show Clear Flush Title$="Πρόχειρο Γλώσσας" Dir User Title Title$, 0 Declare NotePad Form Declare Pad EditBox Form NotePad Declare File1 Combobox Form NotePad Declare Edit1 Combobox Form NotePad Declare Help1 Combobox Form NotePad Method Pad, "FontAttr", "COURIER NEW", 12, false With Pad, "NoWrap", True, "ColorCollection1", "|ΠΡΟΓΡΑΜΜΑ|ΜΕΤΑΒΛΗΤΕΣ|ΠΡΑΓΜΑΤΙΚΕΣ|ΑΚΕΡΑΙΕΣ|ΛΟΓΙΚΕΣ|ΧΑΡΑΚΤΗΡΕΣ|ΣΤΑΘΕΡΕΣ|ΑΡΧΗ|ΓΡΑΨΕ|ΔΙΑΒΑΣΕ|ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ|DIV|MOD|ΑΝ|ΤΟΤΕ|ΑΛΛΙΩΣ|ΑΛΛΙΩΣ_ΑΝ|ΤΕΛΟΣ_ΑΝ|ΓΙΑ|ΑΠΟ|ΜΕΧΡΙ|ΜΕ_ΒΗΜΑ|ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ|ΕΠΙΛΕΞΕ|ΠΕΡΙΠΤΩΣΗ|ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ|ΟΣΟ|ΕΠΑΝΑΛΑΒΕ|ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ|ΜΕΧΡΙΣ_ΟΤΟΥ|ΚΑΙ|Η|ΟΧΙ|ΑΛΗΘΗΣ|ΨΕΥΔΗΣ|ΚΑΛΕΣΕ|ΔΙΑΔΙΚΑΣΙΑ|ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ|Α_Μ(|Α_Τ(|Ε|ΕΦ(|ΗΜ(|ΛΟΓ(|ΣΥΝ(|Τ_Ρ(|ΣΥΝΑΡΤΗΣΗ|ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ|", "LineComment1", "!!", "OtherSymbols",",≤≥≠", "CommentSymbols", "!", "ComSymbolsWidth", 1, "WordCharRight", " ,[]+-*/)}≤≥≠"+chr$(9), "WordCharleft", " ,[]+*/({≤≥≠"+chr$(9), "LineComment2",CHR$(0), "StringSep2","'", "AssignSym","<-" With File1,"label","Αρχείο", "listtext" As list$, "list" As list$() ' With Edit1,"label","Επεξεργασία", "Mark", Color(255,100,0) With Help1,"label","Βοήθεια", "Mark", Color(255,100,0) With NotePad, "Title" As Caption$, "Visible" As Visible, "TitleHeight" As tHeight, "Sizable", True With Pad, "Text" As Pad.Text$, "NoColor", False, "ShowAlways", True, "tabwidth",2 Def TitleStr$(a$)=ucase$(left$(a$,1))+mid$(a$,2) Filename$=Dir$+"νεο.glo" Caption$=TitleStr$(File.Name$(Filename$)) +" - ΓΛΩΣΣΑ" Method NotePad,"move", 2000, 4000, 8000, 4000 Layer NotePad {Cls #FFA000} With File1,"MenuStyle", True, "MenuWidth", 3000 With Edit1,"MenuStyle", True, "MenuWidth", 3000 With Help1,"MenuStyle", True, "MenuWidth", 3000 With File1, "MenuEnabled" As mEnable() For This { mi$="MenuItem" \\ is a temporary variable only for For This Block Method File1, mi$,"Φόρτωσε",True Method File1, mi$,"Σώσε",True Method File1, mi$,"" \\ only a line here Method File1, mi$,"Κλείσε",True Method File1, mi$,"Έξοδος",True Method Edit1, mi$,"Αποκοπή",True Method Edit1, mi$,"Αντιγραφή",True Method Edit1, mi$,"Επικόληση",True Method Help1, mi$,"Περί",True } Document BackUp$="" Pad.Text$=BackUp$ Function Notepad.Unload { Keyboard "!" } Function Notepad.Resize { Layer NotePad { Cls Color(255, 160, 0) ,0} With NotePad, "Width" As NP.Width, "Height" As NP.Height, "TitleHeight" As tHeight tHeight1=theight*2 Method File1,"move", twipsX*2, tHeight, twipsX*100, tHeight Method Edit1,"move", twipsX*2+twipsX*100, tHeight, twipsX*160, tHeight Method Help1,"move", twipsX*2+twipsX*260, tHeight, twipsX*120, tHeight If NP.height>2000 Then { Method Pad,"move", twipsX*2, tHeight1, NP.Width-twipsX*5, NP.Height-tHeight1-twipsx*3 With Pad, "NoWrap" As NoWrap If Not NoWrap Then Method Pad,"Resize" } } Function Edit1.DblClick { Read Local Edit1index Select Case Edit1index Case 0 { Method Pad,"mn1sub" Method Pad,"Resize" } Case 1 Method Pad,"mn2sub" Case 2 { Method Pad, "mn3sub" Method Pad,"GetFocus" Method Pad,"Resize" } End Select } Function Pad.PopUp { Read Local X, Y Method Pad,"PopUpMenu", "",X , Y } Function File1.DblClick { Read New File1index Local cont, cont2, f$, NL$={ } File1index++ { On File1index Goto Open1, Save1, ExitNow, Save2, Unload Exitnow: Exit Open1: If Pad.Text$<>BackUp$ Then { If ask("Save Changes first?",Title$)=1 Then Goto Save1 } Layer NotePad { Open.file filename$,"c:\","Φόρτωσε Αρχείο","glo" } Method Pad,"GetFocus" Read f$ If f$<>"" Then { Filename$=f$ If exist(F$) then { Clear BackUp$ Load.Doc BackUp$, f$ Caption$=TitleStr$(File.Name$(Filename$)) +" - ΓΛΩΣΣΑ" Pad.Text$=BackUp$ } else Pad.text$="": Clear BackUp$ Method Pad, "Resize" } Exit Save1: Layer NotePad { Save.As Filename$,"c:\","Σώσε αρχείο","glo" } if not cont2 then Method Pad,"GetFocus" Read f$ If f$="" Then Exit If lcase$(file.type$(f$))<>"glo" then f$=f$+".glo" If Exist(f$) Then If Ask(NL$+"Overwrite"+NL$+f$,Title$)<>1 Then Exit Try ok { Clear BackUp$ BackUp$=Pad.Text$ Save.Doc BackUp$, f$ filename$=f$ Caption$=TitleStr$(File.Name$(Filename$)) +" - M2000 Pad" } If ok else beep If not cont then Exit Save2: cont=True If Pad.Text$<>BackUp$ Then { If ask("Να σωθούν οι αλλαγές;",Title$)=1 Then Goto Save1 } Clear BackUp$ Pad.Text$="" If Cont2 then { Method NotePad, "CloseNow" Keyboard "!" \\ to end the loop } Else { FileName$=Dir$+"νεο.glo" Caption$=TitleStr$(File.Name$(Filename$)) +" - ΓΛΩΣΣΑ" Method Pad, "Resize" } Exit Unload: Cont2=True : Goto Save2 } } Function Help1.DblClick { Local A, info$ Info$={ Πρόχειρο για συγγραφή προγραμμάτων σε ΓΛΩΣΣΑ για το μάθημα της ΑΕΠΠ } A=Ask(info$,Title$,"","") } Call Local Notepad.Resize() Method NotePad,"Show" ', 1 Every 1000 { If inkey$<>"" then exit } Declare Pad Nothing Declare NotePad Nothing Print "Τέλος"
Εδώ η εικόνα από τη φόρμα:
Ο κώδικας μπορεί να εξαχθεί με αντιγραφή στο πρόχειρο με το χρώμα:
ΠΡΟΓΡΑΜΜΑ ΑΛΦΑ
ΣΤΑΘΕΡΕΣ
ΜΕΓΙΣΤΟ_ΠΛΗΘΟΣ_ΚΕΛΙΩΝ = 100
ΜΕΓΙΣΤΟ_ΠΛΗΘΟΣ_ΜΠΛΟΚ = 50
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: ΠΙΝ[ΜΕΓΙΣΤΟ_ΠΛΗΘΟΣ_ΚΕΛΙΩΝ], ΜΠΛΟΚ[ΜΕΓΙΣΤΟ_ΠΛΗΘΟΣ_ΜΠΛΟΚ], Ν, Μ
ΑΚΕΡΑΙΕΣ: Ι, Π, Κ, Λ, Π1
ΑΚΕΡΑΙΕΣ: ΣΠ[ΜΕΓΙΣΤΟ_ΠΛΗΘΟΣ_ΜΠΛΟΚ*2], ΣΚ[ΜΕΓΙΣΤΟ_ΠΛΗΘΟΣ_ΜΠΛΟΚ*2], ΣΤΟΙΒΑ
ΑΚΕΡΑΙΕΣ: ΜΗΚΟΣ[ΜΕΓΙΣΤΟ_ΠΛΗΘΟΣ_ΜΠΛΟΚ]
ΛΟΓΙΚΕΣ: ΣΗΜΑΙΑ
ΑΡΧΗ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ "ΔΩΣΕ ΑΡΙΘΜΟ ΚΕΛΙΩΝ:"
ΔΙΑΒΑΣΕ Ν
ΜΕΧΡΙΣ_ΟΤΟΥ Ν > 0 ΚΑΙ Ν <= ΜΕΓΙΣΤΟ_ΠΛΗΘΟΣ_ΚΕΛΙΩΝ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ "ΔΩΣΕ ΑΡΙΘΜΟ ΜΠΛΟΚ"
ΔΙΑΒΑΣΕ Μ
ΜΕΧΡΙΣ_ΟΤΟΥ Μ >= 0 ΚΑΙ Μ <= ΜΕΓΙΣΤΟ_ΠΛΗΘΟΣ_ΜΠΛΟΚ
ΜΗΚΟΣ[1] <- 0
ΑΝ Μ > 0 ΤΟΤΕ
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Μ
ΓΡΑΨΕ "ΜΕΓΕΘΟΣ ΜΠΛΟΚ:", Ι
ΔΙΑΒΑΣΕ ΜΠΛΟΚ[Ι]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΜΗΚΟΣ[Μ] <- ΜΠΛΟΚ[Μ]
ΑΝ Μ > 1 ΤΟΤΕ
ΓΙΑ Ι ΑΠΟ Μ - 1 ΜΕΧΡΙ 1 ΜΕ_ΒΗΜΑ -1
ΜΗΚΟΣ[Ι] <- ΜΠΛΟΚ[Ι] + ΜΗΚΟΣ[Ι + 1] + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΑΝ ΜΗΚΟΣ[1] > Ν ΤΟΤΕ
ΓΡΑΨΕ "ΑΔΥΝΑΤΟΝ"
ΑΛΛΙΩΣ_ΑΝ Μ = 0 ΤΟΤΕ
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Ν
ΓΡΑΨΕ 0, " "
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ
ΑΛΛΙΩΣ
ΣΤΟΙΒΑ <- 0
Π1 <- 0
Λ <- 0
ΟΣΟ Π1 <= (Ν - ΜΗΚΟΣ[1]) ΕΠΑΝΑΛΑΒΕ
Κ <- 0
Π <- Π1 + 1
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Ν
ΠΙΝ[Ι] <- 0
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΟΣΟ Κ < Μ ΕΠΑΝΑΛΑΒΕ
Κ <- Κ + 1
Λ <- 0
ΟΣΟ Λ < ΜΠΛΟΚ[Κ] ΚΑΙ Π <= Ν ΕΠΑΝΑΛΑΒΕ
Λ <- Λ + 1
ΠΙΝ[Π] <- 1
Π <- Π + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ Π < Ν ΤΟΤΕ
ΠΙΝ[Π] <- 0
Π <- Π + 1
ΑΝ Κ < Μ ΤΟΤΕ
ΑΝ (Π + ΜΗΚΟΣ[Κ + 1]) <= Ν ΤΟΤΕ
ΣΤΟΙΒΑ <- ΣΤΟΙΒΑ + 1
ΣΠ[ΣΤΟΙΒΑ] <- Π
ΣΚ[ΣΤΟΙΒΑ] <- Κ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΣΗΜΑΙΑ <- ΑΛΗΘΗΣ
ΑΝ Λ = ΜΠΛΟΚ[Κ] ΤΟΤΕ
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Ν
ΓΡΑΨΕ ΠΙΝ[Ι], " "
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ
ΑΝ ΣΤΟΙΒΑ > 0 ΤΟΤΕ
Π <- ΣΠ[ΣΤΟΙΒΑ]
Κ <- ΣΚ[ΣΤΟΙΒΑ]
ΣΤΟΙΒΑ <- ΣΤΟΙΒΑ - 1
ΓΙΑ Ι ΑΠΟ Π ΜΕΧΡΙ Ν
ΠΙΝ[Ι] <- 0
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Π <- Π + 1
ΑΝ Κ < Μ ΤΟΤΕ
ΑΝ (Π + ΜΗΚΟΣ[Κ + 1]) <= Ν ΤΟΤΕ
ΣΤΟΙΒΑ <- ΣΤΟΙΒΑ + 1
ΣΠ[ΣΤΟΙΒΑ] <- Π
! το ΣΚ[ΣΤΟΙΒΑ]<-Κ δεν το βάζουμε είναι ήδη Κ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΣΗΜΑΙΑ <- ΨΕΥΔΗΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΜΕΧΡΙΣ_ΟΤΟΥ ΣΗΜΑΙΑ = ΑΛΗΘΗΣ
Π1 <- Π1 + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου
You can feel free to write any suggestion, or idea on the subject.