Prg->Nέο πρόγραμμα
του μενού Prg
.
Οι εντολές που βρίσκονατι στα υπομενού του μενού Prg
μας επιτρέπουν να εισάγουμε με ευκολία τις δομές του προγραμματισμού.
Μπορούμε μετά να αποθηκεύσουμε το κείμενο του προγράμματος
για να το χρησιμοποιήσουμε στην συνέχεια σε μία άλλη συνεδρία.
Ακολουθεί ένα πρόγραμμα (που το ονομάζουμε iquorem2
για να μην το μπερδέψουμε με την αντίστοιχη συνάρτηση
iquorem
στο Xcas)
που δίνει το πηλίκο και το υπόλοιπο της ευκλείδειας
διαίρεσης δύο ακεραίων χρησιμοποιώντας τις συναρτήσεις
iquo
, που επιστρέφει το πηλίκο, και irem
,
που επιστρέφει το υπόλοιπο.
iquorem2 | |
iquorem2(a,b):={ |
|
local q,r; |
|
if (b!=0) { |
|
q:=iquo(a,b); |
|
r:=irem(a,b);} |
|
else { |
|
q:=0; |
|
r:=a; |
|
} |
|
return [q,r]; |
|
} |
OK(F9)
. Αφου βεβαιωθούμε πως δεν υπάρχουν συντακτικά
λάθη
στον μεταγλωττισμό, αποθηκεύουμε την συνάρτηση με το όνομα
iquorem2.cxx
. Μπορούμε τώρα να χρησιμοποιήσουμε την συνάρτηση
αυτή
στην συνεδρία μας
πληκτρολογώντας σε μία γραμμή εντολών
π.χ. iquorem2(25,15)
.
Θα μπορούσαμε επίσης να χρησιμοποιήσουμε την συνάρτηση αυτή και
σε μία άλλη συνεδρία
στο Xcas είτε αφού πρώτα την ενεργοποιήσουμε με την
εντολή read("iquorem2.cxx")
είτε ανοίγοντας τον
κειμενογράφο προγράμματος, φορτώνοντας την συνάρτηση με την επιλογή
Προγ->Φόρτωση->iquorem2.cxx->ΟΚ
και μεταγλωττίζοντάς την πατώντας το
κουμπί OK(F9)
.
Ακολουθούν δύο προγράμματα υπολογισμού του μέγιστου κοινού διαιρέτη δύο ακεραίων: το πρώτο είναι επαναληπτικό, ενώ το δεύτερο είναι αναδρομικό.
igcd_επαναληπτικό | |
igcd_I(a,b):={ |
|
local r; |
|
while (b!=0) { |
|
r:=irem(a,b); |
|
a:=b; |
|
b:=r; |
|
} |
|
return a; |
|
} |
igcd_αναδρομικό | |
igcd_R(a,b):={ |
|
if (b=0) return a; |
|
return igcd_R(b,irem(a,b)); |
|
} |
Πολλές φορές συμβαίνει ένα πρόγραμμα να μην λειτουργεί με την πρώτη
προσπάθεια. Σε αυτές τις περιπτώσεις, με την εντολή
debug
, είναι δυνατόν να
εκτελέσουμε μία-μία τις εντολές
του προγράμματος
για να
βρούμε το λάθος (αποσφαλμάτωση).
Παραδείγματος χάρη, στο πρόγραμμα iquorem2
,
για να ξεκινήσουμε την αποσφαλμάτωση πληκτρολογούμε
debug(iquorem2(25,15))
.
Πατώντας Enter
ανοίγει το παράθυρο αποσφαλμάτωσης όπου
εμφανίζονται αυτόματα οι μεταβλητές a,b
μαζί
με τις αρχικές τους τιμές. Κατόπιν, πατάμε το κουπί
sst F5
και οι εντολές εκτελούνται μία-μία δίνοντάς μας
την δυνατότητα να παρακολουθούμε
πως μεταβάλλονται οι τιμές των a,b
.
Αν θέλουμε να παρακολουθήσουμε τις μεταβολές και των τοπικών
μεταβλητων q,r
χρησιμοποιούμε το κουμπί watch
για να τις δηλώσουμε όλες μαζί: a,b,q,r
.