Professional Documents
Culture Documents
2.39
Κεφάλαιο 2ο
Ποια είναι η μορφή της σύνθετης επιλογής και που χρησιμοποιείται;
Η συνθέτη επιλογή είναι: Η Συνθήκη είναι
• παράσταση ή
Αν Συνθήκη τότε
•μια λογική μεταβλητή.
Ομάδα Εντολών 1 Και μόνο όταν είναι αληθής μπορούν να
εκτελεστούν
Αλλιώς Ομάδα Εντολών 1 που βρίσκονται στο σώμα
Ομάδα Εντολών 2 της.
Τέλος_αν Διαφορετικά αν δηλ είναι ψευδής η συνθήκη
Θα εκτελεστεί η Ομάδα Εντολών 2
Τέλος_αν
Εμφάνισε “Το α*β ισούται με”, α*β
Τέλος Παράδειγμα_Ψ
1) Η εντολή Διάβασε α,β εκχωρεί στη μεταβλητή α την τιμή 15 και στη β την τιμή -15.
Η επόμενη εντολή είναι Σύνθετη επιλογή.
Ελέγχει αν η α έχει τιμή μεγαλύτερη από την τιμή 0 και αν β+50-10≠0 ισχύει.
Η συνθήκη είναι αληθής οπότε οι εντολές που βρίσκονται μεταξύ του
Αν … τότε και Αλλιώς θα εκτελεστούν.
Κατόπιν θα συνεχιστεί η εκτέλεση του αλγορίθμου μετά το Τέλος_άν
Στο τέλος θα τερματίζεται ο αλγόριθμος.
31 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
2.42 Κεφάλαιο 2ο
Να γραφεί η ακόλουθη γενική μορφή της σύνθετης επιλογής , κάνοντας χρήση
της δομής απλής επιλογής.
Η γενική μορφή της σύνθετης επιλογής είναι:
Αν Συνθήκη τότε Στη σύνθετη δομή επιλογής για να εκτελεστούν οι εντολές στο Αλλιώς,
Θα πρέπει η Συνθήκη στο Αν…τότε να είναι ψευδής.
Ομάδα εντολών1
Δηλ. στο Αλλιώς οδηγείται η εκτέλεση όταν ισχύει το όχι Συνθήκη,
Αλλιώς Η άρνηση δηλαδή της αρχικής συνθήκης.
Ομάδα εντολών 2
Τέλος_αν
Άρα η ισοδύναμη γενική μορφή της Σύνθετης επιλογής με χρήση της απλής επιλογής είναι:
Αν Συνθήκη τότε
Ομάδα εντολών1 Προσοχή έγραψα Αν όχι Συνθήκη
Για να δηλώσω το Αλλιώς(=2 επιλογές).
Τέλος_αν
Τέλος_αν
α β
Τέλος Παράδειγμα_Ω
Τέλος
Διάβασε α,β
α≥β τότε
Ναι Όχι Αν α≠β
β ← α-2
Εμφάνισε α Εμφάνισε β Τέλος_αν
Αν α≥β τότε
Εμφάνισε α
Τέλος Αλλιώς
Εμφάνισε β
Τέλος_αν
Τέλος Παράδειγμα_Δ
35 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
2.46
Κεφάλαιο 2ο
Ποιος από τους δύο παρακάτω αλγόριθμους είναι πιο αποτελεσματικός,δηλ
εκτελεί λιγότερες ενέργειες ;
Αλγόριθμος Παράδειγμα_Α Αλγόριθμος Παράδειγμα_Α
Διάβασε α,β Διάβασε α,β
Αν α >β και α+β>20 τότε Αν α >β και α+β>20 τότε
Εμφάνισε α,β Εμφάνισε α,β
Αλλιώς Τέλος_αν
Εμφάνισε β,α Αν όχι α >β και α+β>20 τότε
Τέλος_αν Εμφάνισε β,α
Τέλος_αν
Τέλος Παράδειγμα_Α
Τέλος Παράδειγμα_Α
Στο1ο αλγόριθμο γίνεται έλεγχος μία φορά μόνο. Στο 2ο αλγόριθμο αρχικά θα ελεγχθεί η
Αν ισχύει η συνθήκη θα εκτελεστούν οι εντολές πρώτη συνθήκη. Αν ισχύει θα
μεταξύ του Αν …. τότε και Αλλιώς . εκτελεστούν αλλιώς όχι.
Διαφορετικά θα εκτελεστούν οι εντολές μεταξύ του Σε κάθε περίπτωση η εκτέλεση του
Αλλιώς και Τέλος_αν αλγορίθμου θα συνεχίσει στη
δεύτερη επιλογή και θα γίνει πάλι
έλεγχος.
Αρα θα έχουμε 2 ελέγχους.
Συνεπώς ο 1ος αλγόριθμος θα είναι πιο αποτελεσματικός
36 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
2.47 Κεφάλαιο 2ο
Να γραφεί ένας αλγόριθμος που θα διαβάζει τρεις αριθμούς, θα τους συγκρίνει και θα εμφανίζει τον
μέγιστο.
Λύση
Η περίπτωση να συγκρίνουμε περισσότερους από
Αλγόριθμος Μέγιστος
2 αριθμούς είναι πιο δύσκολη.
Πρέπει να χωρίσουμε τη διαδικασία σε
βήματα,συγκρίνοντας τους αριθμούς ανά δύο. Εμφάνισε “Δώσε τρεις αριθμούς”
πάνε πακέτο.
Διάβασε α,β,γ
1ο Βήμα: Αρχικά θεωρούμε ότι ο μεγαλύτερος
αριθμός είναι ο πρώτος. max ← α
Τον εκχωρούμε σε μια μεταβλητή την οποία την
ονομάζουμε max.
Αν β > max τότε
2ο Βήμα: Συγκρίνουμε τον δεύτερο αριθμό με τον
max← β ….
μέχρι τώρα μεγαλύτερο, δηλ την τιμή του max.
Και βρίσκουμε τον μεγαλύτερο. Τέλος_αν
Τον μεγαλύτερο των δύο αριθμών τον εκχωρούμε
στη μεταβλητή max.
Τέλος Φθηνότερο_Γάλα
38 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
2.49 Κεφάλαιο 2ο
Να γραφεί αλγόριθμος ο οποίος θα υπολογίζει την συνάρτηση:
x4+1 Λύση
f(x)=
x Αλγόριθμος Συνάρτηση_f
Λογικά θα ισχύει x≠0
Εμφάνισε “Δώσε ένα αριθμό”
Το αποτέλεσμα της συνάρτησης εξαρτάται από τη τιμή του x. πάνε πακέτο.
Διάβασε χ
Ο αλγόριθμος θα διαβάζει μια τυχαία τιμή για το x
και θα υπολογίζει τη συνάρτηση. !Το f(x) δεν είναι αποδεκτό
! όνομα αποδεκτό είναι το fx
Αν όμως η τιμή εισόδου είναι ίση με μηδέν,
η συνάρτηση δεν ορίζεται. Αν χ≠ 0 τότε
Διότι δεν μπορεί να γίνει διαίρεση με το μηδέν. fx← (x^4+1)/χ x≠0
Τέλος Συνάρτηση_f
39 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
2.50 Κεφάλαιο 2ο
Να γραφεί αλγόριθμος ο οποίος θα δέχεται ως είσοδο ένα αριθμό και
θα εμφανίζει το μήνυμα :”Άρτιος”, αν ο αριθμός είναι άρτιος ή
το μήνυμα :”Περιττός ” , αν ο αριθμός είναι περιττός.
Τέλος_αν
Τέλος Άρτιος_Περιττός
40 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
2.51 Κεφάλαιο 2ο
Να γραφεί αλγόριθμος που θα δέχεται ως είσοδο τρεις τιμές.
Οι δύο πρώτες θα είναι αριθμητικές , ενώ η τρίτη τιμή θα είναι αλφαριθμητική.
Ο αλγόριθμος θα εμφανίζει το άθροισμα των δύο πρώτων τιμών όταν η τρίτη μεταβλητή ισούται με
ΠΡΟΣΘΕΣΗ
και τη διαφορά των δύο πρώτων σε οποιαδήποτε άλλη περίπτωση. ….
Λύση
Ο αλγόριθμος θα διαβάζει 3 τιμές, οι οποίες θα Αλγόριθμος ΑΡΙΘ_ΠΡΑΞΗ
εισάγονται σε 3 μεταβλητές.
Εμφάνισε “Δώσε τρεις τιμές”
…. πάνε πακέτο.
Διάβασε α, β, γ
Ο έλεγχος αφορά την τιμή της τρίτης μεταβλητής.
Αν γ = “ΠΡΟΣΘΕΣΗ” τότε ΠΡΟΣΘΕΣΗ
Τέλος ΑΡΙΘ_ΠΡΑΞΗ
Άρα ο αλγόριθμος είναι :
41 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
2.52 Κεφάλαιο 2ο
Να γραφεί αλγόριθμος που θα διαβάζει τις ετήσιες αποδοχές ενός υπαλλήλου.
Στη συνέχεια θα υπολογίζει την κράτηση φόρου που παρακρατείται ως εξής:
Αν οι αποδοχές του υπαλλήλου ξεπερνούν ένα συγκεκριμένο όριο χρημάτων τότε θα παρακρατείται ως
φόρος 30% των αποδοχών του, διαφορετικά θα παρακρατείται το 20% .
Να εμφανίζεται η παρακράτηση του φόρου και το καθαρό ποσό που τελικά θα αποδοθεί.
Λύση Υπολογισμός_κρατήσεων
Αρχικά θα πρέπει να διαβάσουμε τις ετήσιες Αλγόριθμος
αποδοχές του υπαλλήλου.
Εμφάνισε “Δώσε αποδοχές υπαλλήλου”
πάνε πακέτο.
Διάβασε αποδοχές
Θα πρέπει να διαβάσουμε και το όριο των
χρημάτων πάνω από το οποίο θα παρακρατείται Εμφάνισε “Δώσε όριο χρημάτων για αλλάγή κλίμακας φόρου:
το 30%. Διάβασε όριο_χρημάτων
Μετά θα κάνουμε την σύγκριση.
> Αν αποδοχές > όριο_χρημάτων τότε >
φόρος← αποδοχές*30/100
Αλλιώς ! Δύο περιπτώσεις
Άρα ο αλγόριθμος είναι :
φόρος← αποδοχές*20/100
Τέλος_αν
Εμφάνισε “Φόρος που παρακρατήθηκε:” ,Φόρος
Τέλος Υπολογισμός_κρατήσεων
42 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ
2.54 Κεφάλαιο 2ο
Σε ένα διαγωνισμό για την Πυροσβεστική Υπηρεσία οι άντρες υποψήφιοι θα πρέπει να συγκεντρώσουν
τουλάχιστον 80 βαθμούς και να έχουν ύψος τουλάχιστον 175cm. Οι γυναίκες υποψήφιοι θα πρέπει να
συγκεντρώσουν τουλάχιστον 70 βαθμούς και να έχουν ύψος τουλάχιστον 165cm. Να γραφεί αλγόριθμος
που θα ελέγχει αν ένας υποψήφιος πέτυχε στο διαγωνισμό.
Τέλος_αν
Τέλος Πυροσβεστική
Άρα ο αλγόριθμος είναι :