Ασκήσεις

Εύρεση Κεφαλαίων ή Πεζών χαρακτηρών | 12.12.2011


Ένα πολύ ωραίο θεματάκι είναι το ακόλουθο.
Ερώτηση: Διαβάζω έναν χαρακτήρα, πως θα ξέρουμε αν είναι πεζός ή Κεφαλαίος (Λατινικό Αλφάβητο)? Να εμφανίζει ανάλογο μήνυμα:


Λύση:
Διάβασε Χ
Αν (Χ>='Α' και Χ<='Z') τότε Εμφάνισε 'Κεφαλαίο'
Αν (Χ>='a' και Χ<='z') τότε Εμφάνισε 'Πεζό'


Σημείωση: οι χαρακτηρές του λατινικού αλφάβητου είναι συνεχόμενοι, άρα αρκεί ένα πεδίο τιμών.




Όσο, Για ή Μέχρις_ότου??? | 13.11.2010


Πρόκειται για κλασσικό ερώτημα μαθητών που δεν έχουν κατανοήσει πλήρως τις εντολές επανάληψης. Τα πράγματα είναι απλά (περίπου):
1) Αν γνωρίζετε, από εκφώνηση, το πλήθος των επαναλήψεων τότε χρησιμοποιείτε την εντολή Για, γι' αυτό υπάρχει.
2) Αν δεν γνωρίζετε το πλήθος των επαναλήψεων τότε θα πρέπει η εκφώνηση να σας δίνει την συνθήκη τερματισμού. Η καλύτερη αντιμετώπιση είναι η Όσο (είναι η πιο γενική δομή επανάληψης), η χρήση της Μέχρις_ότου επιβάλλει και ένα Αν... μέσα σε αυτή για να καλύψει την περίπτωση τερματισμού της επανάληψης.
Προσοχή στην Όσο όμως διότι θέλει μια εντολή Διάβασε έξω από την επανάληψη και ένα  Διάβασε πριν το Τέλος_επανάληψης κάτι που δεν χρειάζεται στην Μέχρις_Ότου.


Ας δούμε ένα παράδειγμα και την λύση του και με τους 2 τρόπους:
να γίνει αλγόριθμος ο οποίος να διαβάζει αριθμούς μέχρι να δώσουμε το μηδέν. Να υπολογίζει το πλήθος των θετικών αριθμών.
Λύση με Όσο (να την προτιμάτε)


Λύση με Μέχρις_ότου


Γάλατα: Μετατροπή σε κοινή ποσότητα | 10.9.2010
Προσοχή σε ασκήσεις που πρέπει να συγκρίνετε προϊόντα σε διαφορετικές τιμές και ποσότητες. ΠΡΕΠΕΙ ΝΑ ΤΑ ΑΝΑΓΕΤΕ ΣΕ ΚΟΙΝΕΣ ΠΟΣΟΤΗΤΕΣ (θυμηθείτε την άσκηση με τα γιαούρτια ή την άσκηση με τα γάλατα στο τετράδιο του μαθητή). Δείτε το παράδειγμα: Να βρείτε το όνομα του γάλακτος που είναι πιο ακριβό:
Η λύση είναι:



Αν είχατε και άλλα γάλατα τότε θα γράφατε και άλλες απλές Αν, ή θα γράφατε μια Για…


Αν ρωτούσε: έχετε 35 €, πόσα γάλατα μπορείτε να πάρετε από το ακριβό γάλα;
Λύση:
Γάλατα<--A_M(35/Τιμή) ! προσοχή, με ενδιαφέρει η τιμή και όχι η Τιμή_Γάλα_ν…
Εμφάνισε Γάλατα, ‘γάλατα μπορεί να αγοράσει από το ακριβό γάλα’


Προσοχή στην χρήση του Α_Μ(). Η μεταβλητή Τιμή δεν είναι ακέραια, συνεπώς έχουμε συντακτικό σφάλμα αν χρησιμοποιήσουμε την έκφραση (35 div Τιμή). Πρέπει να κάνουμε χρήση της συνάρτησης Α_Μ().