Follow along with the video below to see how to install our site as a web app on your home screen.
Σημείωση: This feature may not be available in some browsers.
Εδώ, η συνάρτηση με το όνομα "zoro1" (FNzoro1), εκτελεί τον μαθηματικό τύπο του πολλαπλασιασμού των δύο προσθαφαιρέσεων μεταξύ των μεταβλητών a και b, παίρνοντας αντίστοιχα τις τιμές τους από τους βρόγχους (FOR-NEXT)των γραμμών 30-70 και 40-60.10 CLS20 DEF FNzoro1=((a+b)*(b-a))
30 FOR a=1 TO 3
40 FOR b=1 TO 5 STEP 2
50 PRINT FNzoro1;"=";a+b;"*";b-a;"(a=";a;"b=";b;")"
60 NEXT b
70 NEXT a
Με αυτό το παράδειγμα, ήθελα να δείξω πως μπορούμε να τοποθετήσουμε μία συνάρτηση (FNzoro2) μέσα στον μαθηματικό τύπο μίας άλλης συνάρτησης (της FNzoro3).10 CLS
20 DEF FNzoro2=(10*x)
30 DEF FNzoro3=(FNzoro2-x)
40 FOR x=1 TO 5
50 PRINT FNzoro2;"and";FNzoro3
60 NEXT x
Μπορεί κανείς πιό προχωρημένος από μας, να μας αναφέρει αναλυτικά (και με μικρές ρουτίνες ως παραδείγματα) την χρήση των DEFINT, DEFREAL, DEFSTR; Βλέπω πως παίρνουν και διάφορες παραμέτρους (αυτό είναι πολύ σημαντικό).AA+ είπε:Χωρίς να είχα φτάσει σ'αυτό το επίπεδο στον Amstrad νομίζω ότι DEF INT = Integer (ακεραιως) και DEF REAL = Πραγματικός, δεκαδικός. Αρα έχει να κάνει με το μέγεθος που μπορεί να αποθυκεύσει. Shock ?
To Quiz είναι: Ποιά προσθήκη βάζουμε στην σειρά 40 για να κάνει κεντρική στοίχιση;10 MODE 1
20 FOR x=1 to 6
30 READ a$
40 LOCATE 20-LEN(a$),X+10
50 PRINT a$
60 NEXT x
70 DATA Locomotive,Basic,for,Amstrad,CPC,6128
Όχι,Shock είπε:Ζορό αυτό που προσπαθείς να μας πεις είναι να σε βοηθήσεουμε να σχεδιάσεις έναν αλγόρυθμο που θα υλοποιεί κάτι. Εδώ είναι και το πιο ενδιαφέρον κομμάτι του προγραμματισμού! O σχεδιασμός των αλγοριθμων είναι puzzles με πολλές λύσεις και είναι ανεξάρτητοι της γλώσσας που γράφουμε το πρόγραμμα
Για να σε βοηθήσω στη σκέψη σου θα σου πω κάποια στοιχεία που πρέπει να έχεις στο μυαλό σου για αυτό που ρώτησες.
- Μήκος String (Len). Είναι προφανές ότι το "6128" θα πρέπει να μπει πιο δεξιά από το "Locomotive Basic".
- Αριθμός χαρακτήρων κάθε γραμμής της οθόνης στο mode που δουλεύεις
- Στρογγυλοποίηση (rounding)
10 z$="123456"
20 MODE 1
30 LOCATE 16,12
40 PRINT "Drop Dice?"
50 WHILE INKEY$="":WEND
60 zz1=CINT(RND*LEN(z$)):zz2=CINT(RND*LEN(Z$))
70 IF zz1*zz2=0 THEN GOTO 60
80 LOCATE 16,14
90 PRINT zz1;"and";zz2
100 GOTO 30
Εγώ παραμένω στην Locomotive Basic for Amstrad.Shock είπε:Μου περνάει από το μυαλό το εξής:Αφού φτάσαμε ως εδώ το επέμενο βήμα είναι να πάμε σε μια καλύτερη γλώσσα πιο δομημένη και να συνεχίσουμε εκεί
Τα goto είναι retro αλλά μου φέρνει και μια αναγούλα![]()
Αν θέλουμε να κάνουμε κάτι καλύτερο θα πρέπει να πάμε σε μια σύγχρονη γλώσσα υψηλού επιπέδου που μας παρέχει πιο ορθολογική σχεδίαση των προγραμμάτων μας.
Για μένα η ιδανική είναι η C αλλά θα μπλέξουμε άσχημα με τους compilers.
Τη Java την ψιλοαποφεύγω αν και δε θα έπρεπε.
Υπάρχει και η Python σαν διδακτικη γλώσσα και είναι και ελεύθερη.
Η τελευταία έχει και παρόμοια σύνταξη οπότε ίσως είναι καλή λύση.
O.K. Wally,Wally είπε:Ο Marcus ειναι μαλλον σε διακοπες και δε εμφανιζεται στο MSN.Μην ανησυχεις ομως,εχουμε στησει ξωβεργες![]()