1. Να δημιουργήσετε τον πίνακα τιμών των μεταβλητών του προγράμματος Α1.
ΠΡΟΓΡΑΜΜΑ Α1
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Α, Β, Γ, χ, ψ
ΑΡΧΗ | Α | Β | Γ | χ | ψ | 1_ΑΝ |
---------------------------------------------------------------
χ <- 100 | | | | 100 | | |
---------------------------------------------------------------
ψ <- 200 | | | | | 200 | |
---------------------------------------------------------------
Α <- χ + 1 | 101 | | | | | |
---------------------------------------------------------------
Β <- 3* χ | 101 | 300 | | | | |
---------------------------------------------------------------
Γ <- Α + Β | | | 401 | | | |
---------------------------------------------------------------
ΑΝ Γ > 400 ΤΟΤΕ | | | | | | ΑΛΗΘΗΣ |
---------------------------------------------------------------
Α <- Β | 300 | | | | | |
---------------------------------------------------------------
Β <- χ | | 100 | | | | |
---------------------------------------------------------------
ΑΛΛΙΩΣ
ΑΝ Β > 200 ΤΟΤΕ
Β <- Α
Α <- 20
ΑΛΛΙΩΣ
Α <- Γ
Β <- Α
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Α1
2.Τι θα εμφανίσουν τα παρακάτω προγράμματα αν σαν είσοδο δοθούν οι τιμές 5 και 10, στις μεταβλητές χ και ψ αντίστοιχα;
! ΕΙΣΟΔΟΣ: Χ=5, Υ=10
ΠΡΟΓΡΑΜΜΑ Π1
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: χ, ψ
ΑΡΧΗ ! | χ | ψ | ΣΥΝΘΗΚΗ | ΟΘΟΝΗ
!-----------------------------------------------------------------------------
ΓΡΑΨΕ 'Δώσε τιμή για χ και ψ:' !| | | | Δώσε τιμή για χ και ψ: |
!-----------------------------------------------------------------------------
ΔΙΑΒΑΣΕ χ, ψ !| 5 | 10 | |
!----------------------------------------------------------------
χ <- χ div 2 !| 2 | | |
!----------------------------------------------------------------
ψ <- ψ mod 3 !| | 1 | |
!----------------------------------------------------------------
ΑΝ χ = ψ ΤΟΤΕ !| | 1 | ΨΕΥΔΗΣ |
!----------------------------------------------------------------
χ <- χ^ 2 + 1
ψ <- 2* ψ - 4^ 2
ΑΛΛΙΩΣ
!----------------------------------------------------------------
χ <- χ mod 2 !| 0 | | |
!----------------------------------------------------------------
ψ <- ψ div 3 !| | 0 | |
!----------------------------------------------------------------
ΤΕΛΟΣ_ΑΝ
!----------------------------------------------------------------
ΓΡΑΨΕ 'χ =', χ, ' ψ=', ψ !| | | | χ =0 ψ=0
!----------------------------------------------------------------
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Π1
! ΕΙΣΟΔΟΣ: Χ=5, Υ=10
ΠΡΟΓΡΑΜΜΑ Π2
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: χ, ψ
ΛΟΓΙΚΕΣ: f
ΑΡΧΗ ! | χ | ψ | f |ΣΥΝΘΗΚΗ | ΟΘΟΝΗ
!---------------------------------------------------------------------------
ΓΡΑΨΕ 'Δώσε 2 ακέραιες τιμές:' ! | | | | | Δώσε 2 ακέραιες τιμές:
!-------------------------------------------------------------------------------------------
ΔΙΑΒΑΣΕ χ, ψ ! | 5 | 10 | | |
!----------------------------------------------------------------------------------
χ <- χ^ 2 + 1 ! | 26 | | | |
!----------------------------------------------------------------------------------
ψ <- 2* ψ + χ^ 2 ! | | 696 | | |
!----------------------------------------------------------------------------------
f <- (χ mod 2 = 0) ΚΑΙ (ψ mod 2 = 0) ! | | | ΑΛΗΘΗΣ | |
!----------------------------------------------------------------------------------
ΑΝ f = ΑΛΗΘΗΣ ΤΟΤΕ ! | | | | ΑΛΗΘΗΣ |
!----------------------------------------------------------------------------------
ΓΡΑΨΕ 'Άρτιοι:', χ, ψ ! | | | | | Άρτιοι:26696
!----------------------------------------------------------------------------------
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Π2
3. Να γραφεί πρόγραμμα σε «ΓΛΩΣΣΑ», το οποίο να διαβάζει από το πληκτρολόγιο τρεις διαφορετικούς ακέραιους αριθμούς και στη συνέχεια να τυπώνει τον αριθμό που η αξία του είναι ανάμεσα στον μεγαλύτερο και στον μικρότερο από αυτούς (δηλαδή, αν δοθούν οι αριθμοί 107,53,42 τότε θα εμφανιστεί ο 53, διότι 107>53>42 ή 42>53>107).
ΠΡΟΓΡΑΜΜΑ παρ_α_2_5_επιλογη_ασκ3
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: α, β, γ
ΑΡΧΗ
ΔΙΑΒΑΣΕ α,β,γ
! υποθέτω ότι το α είναι μεγαλύτερο
αν α >= β και α >= γ τότε
αν β > γ τότε ! β στη μέση α>β>γ
γράψε β
αλλιώς
γράψε γ ! α>γ>β
τέλος_αν
τέλος_αν
! υποθέτω ότι το β είναι μεγαλύτερο
αν β >= γ και β>= α τότε
αν γ > α τότε ! γ στη μέση β>γ>α
γράψε γ
αλλιώς
γράψε α ! β>α>γ
τέλος_αν
τέλος_αν
! υποθέτω ότι το γ είναι μεγαλύτερο
αν γ >= α και γ>=β τότε
αν α > β τότε ! α στη μέση γ>α>β
γράψε α
αλλιώς
γράψε β ! γ>β>α
τέλος_αν
τέλος_αν
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
4. Να γραφεί πρόγραμμα σε «ΓΛΩΣΣΑ», το οποίο να διαβάζει το όνομα ενός υπαλλήλου, τις ώρες εργασίας και το ωρομίσθιο του.
Οι κρατήσεις που γίνονται στον υπάλληλο είναι 15%, αν ο μισθός του είναι μέχρι 1.000Ε, διαφορετικά είναι 20%. Σε περίπτωση που ο υπάλληλος έχει λιγότερες από 15 ώρες εργασίας τότε οι παραπάνω κρατήσεις μειώνονται κατά 2%.
Υπόδειξη: Ο μισθός κάθε υπαλλήλου υπολογίζεται από τον τύπο:
Ώρες x Ωρομίσθιο – Κρατήσεις
Και οι κρατήσεις από τον τύπο:
Κρατήσεις=(Ώρες x Ωρομίσθιο) x Ποσοστό/100
Οι κρατήσεις που γίνονται στον υπάλληλο είναι 15%, αν ο μισθός του είναι μέχρι 1.000Ε, διαφορετικά είναι 20%. Σε περίπτωση που ο υπάλληλος έχει λιγότερες από 15 ώρες εργασίας τότε οι παραπάνω κρατήσεις μειώνονται κατά 2%.
Υπόδειξη: Ο μισθός κάθε υπαλλήλου υπολογίζεται από τον τύπο:
Ώρες x Ωρομίσθιο – Κρατήσεις
Και οι κρατήσεις από τον τύπο:
Κρατήσεις=(Ώρες x Ωρομίσθιο) x Ποσοστό/100
ΠΡΟΓΡΑΜΜΑ par_a_2_5_epilogi_4
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: ω, ωρ, μισθός, κρατήσεις
ΧΑΡΑΚΤΗΡΕΣ: ον
ΑΡΧΗ
ΔΙΑΒΑΣΕ ον, ω, ωρ
μισθός <-- ω * ωρ
Αν ω > 15 τότε
Αν μισθός > 1000 τότε
κρατήσεις <-- μισθός * 0.20
αλλιώς
κρατήσεις <-- μισθός * 0.15
Τέλος_αν
αλλιώς
Αν μισθός > 1000 τότε
κρατήσεις <-- μισθός * 0.18
αλλιώς
κρατήσεις <-- μισθός * 0.13
Τέλος_αν
Τέλος_αν
! λύση και λογικές προτάσεις και απλές επιλογές
Αν ω > 15 και μισθός > 1000 τότε
κρατήσεις <-- μισθός * 0.20
τέλος_αν
αν ω > 15 και μισθός < 1000 τότε
κρατήσεις <-- μισθός * 0.15
τέλος_αν
αν ω < 15 και μισθός > 1000 τότε
κρατήσεις <-- μισθός * 0.18
τέλος_αν
αν ω < 15 και μισθός < 1000 τότε
κρατήσεις <-- μισθός * 0.13
τέλος_αν
μισθός <-- μίσθος - κρατήσεις
γράψε ον, μισθός
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
ΠΡΟΓΡΑΜΜΑ par_a_2_5_epilogi_4
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: ω, ωρ, μισθός, κρατήσεις
ΧΑΡΑΚΤΗΡΕΣ: ον
ΑΡΧΗ
ΔΙΑΒΑΣΕ ον, ω, ωρ
μισθός <-- ω * ωρ
Αν ω > 15 τότε
Αν μισθός > 1000 τότε
κρατήσεις <-- μισθός * 0.20
αλλιώς
κρατήσεις <-- μισθός * 0.15
Τέλος_αν
αλλιώς
Αν μισθός > 1000 τότε
κρατήσεις <-- μισθός * 0.18
αλλιώς
κρατήσεις <-- μισθός * 0.13
Τέλος_αν
Τέλος_αν
! λύση και λογικές προτάσεις και πολλαπλή επιλογή
Αν ω > 15 και μισθός > 1000 τότε
κρατήσεις <-- μισθός * 0.20
Αλλιώς_Αν ω > 15 και μισθός < 1000 τότε
κρατήσεις <-- μισθός * 0.15
Αλλιώς_Αν ω < 15 και μισθός > 1000 τότε
κρατήσεις <-- μισθός * 0.18
Αλλιώς_Αν ω < 15 και μισθός < 1000 τότε
κρατήσεις <-- μισθός * 0.13
! Τέλος_Αν
μισθός <-- μίσθος - κρατήσεις
γράψε ον, μισθός
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
5.Σε ένα σχολείο η φοίτηση ενός μαθητή χαρακτηρίζεται ως επαρκής, εάν το σύνολο όλων των απουσιών του δεν ξεπερνά τις 100, εκ των οποίων οι 60 είναι δικαιολογημένες ή το σύνολο
των απουσιών του δεν ξεπερνά τις 160 και οι 120 είναι δικαιολογημένες και ο Μέσος όρος βαθμολογίας του μαθητή μεγαλύτερος του 15. Διαφορετικά η φοίτηση χαρακτηρίζεται ως ανεπαρκής.
Να γραφεί πρόγραμμα σε «ΓΛΩΣΣΑ», το οποίο:
1) Να διαβάζει από το πληκτρολόγιο τον Μέσο Όρο του μαθητή, το σύνολο των Δικαιολογημένων και το σύνολο των Αδικαιολόγητων απουσιών του.
2) Να εμφανίζει το μήνυμα ’Φοίτηση επαρκής’ ή ’Φοίτηση ανεπαρκής’, ανάλογα με τις απουσίες του.
των απουσιών του δεν ξεπερνά τις 160 και οι 120 είναι δικαιολογημένες και ο Μέσος όρος βαθμολογίας του μαθητή μεγαλύτερος του 15. Διαφορετικά η φοίτηση χαρακτηρίζεται ως ανεπαρκής.
Να γραφεί πρόγραμμα σε «ΓΛΩΣΣΑ», το οποίο:
1) Να διαβάζει από το πληκτρολόγιο τον Μέσο Όρο του μαθητή, το σύνολο των Δικαιολογημένων και το σύνολο των Αδικαιολόγητων απουσιών του.
2) Να εμφανίζει το μήνυμα ’Φοίτηση επαρκής’ ή ’Φοίτηση ανεπαρκής’, ανάλογα με τις απουσίες του.
ΠΡΟΓΡΑΜΜΑ παρα_α_5
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: d, a, mo
ΑΡΧΗ
ΔΙΑΒΑΣΕ mo, d, a
Αν ( d + a < 100 και d <= 60 ) ή (d + a < 160 και d <= 120 και mo > 15) τότε
γράψε 'επαρκής φοίτηση'
Αλλιώς
γράψε 'μη επαρκής φοίτηση'
τέλος_αν
Τέλος_προγράμματος
1η περίπτωση – επαρκής φοίτηση
d + a < 100 και d <= 60
ή
d + a < 160 και d <= 120 και mo > 15
αλλιώς
2η περίπτωση – μη επαρκής φοίτηση
d + a < 100 και d <= 60
ή
d + a < 160 και d <= 120 και mo > 15
αλλιώς
2η περίπτωση – μη επαρκής φοίτηση
6. Το Υπουργείο Οικονομικών φορολογεί τους Ελεύθερους Επαγγελματίες
σύμφωνα με τον παρακάτω πίνακα:
σύμφωνα με τον παρακάτω πίνακα:
---------------------------------------------------------------------------------------- Από 1€ μέχρι 20.000€ | 22% ---------------------------------------------------------------------------------------- Από 20.001€ μέχρι 30.000€ | 29% (για τα επόμενα 10000€) ---------------------------------------------------------------------------------------- Από 30.001€ μέχρι 40.000€ | 37% (για τα επόμενα 10000€) ---------------------------------------------------------------------------------------- Από 40.001€ και άνω | 45% (για όλα τα επόμενα €) ----------------------------------------------------------------------------------------
Να γραφεί πρόγραμμα σε «ΓΛΩΣΣΑ»,
το οποίο να διαβάζει το εισόδημα ενός ελεύθερου επαγγελματία και στη συνέχεια να υπολογίζει και να εμφανίζει τον φόρο που του αναλογεί. Ο υπολογισμός φόρου γίνεται κλιμακωτά, σύμφωνα με τον παραπάνω πίνακα.
ΠΡΟΓΡΑΜΜΑ παρ_Α_2_5_επιλογή_άσκ_6
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: εισ, φόρος
ΑΡΧΗ
ΔΙΑΒΑΣΕ εισ
! υπολογισμός φόρου κλιμακωτά
Αν εισ <= 20000 τότε
φόρος <-- εισ * 0,22
αλλιώς_αν εισ <= 30000 τότε
φόρος <-- 20000 * 0,22 + (εισ - 20000) * 0,29
αλλιώς_αν εισ <= 40000 τότε
φόρος <-- 20000 * 0,22 + 10000 * 0,29 + (εισ - 30000) * 0,37
αλλιώς
φόρος <-- 20000 * 0,22 + 10000 * 0,29 + 10000 * 0,37 + (εισ - 40000) * 0,45
τέλος_αν
Γράψε φόρος
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Με το σύστημα πληρωμής των διοδίων, οι οδηγοί των τροχοφόρων έχουν τη δυνατότητα να πληρώνουν το αντίτιμο των διοδίων με ειδική μαγνητική κάρτα. Υποθέστε ότι υπάρχει μηχάνημα το οποίο διαθέτει είσοδο για την κάρτα και φωτοκύτταρο. Το μηχάνημα διαβάζει από την κάρτα το υπόλοιπο των χρημάτων και το αποθηκεύει σε μια μεταβλητή Υ και με το φωτοκύτταρο αναγνωρίζει τον τύπο του τροχοφόρου και το αποθηκεύει σε μια μεταβλητή Τ. Υπάρχουν τρεις τύποι τροχοφόρων: δίκυκλα (Δ), επιβατικά (Ε) και φορτηγά (Φ), με αντίτιμο διοδίων 1.20€, 2.40€ και 3.50€ αντίστοιχα.
Να γραφεί πρόγραμμα σε «ΓΛΩΣΣΑ», το οποίο:
1) Να ελέγχει τον τύπο του τροχοφόρου και να εκχωρεί στη μεταβλητή Α το αντίτιμο των διοδίων, ανάλογα με τον τύπο του τροχοφόρου.
2) Να ελέγχει την πληρωμή των διοδίων με τον παρακάτω τρόπο:
Ι) Αν το υπόλοιπο της κάρτας επαρκεί για την πληρωμή του αντιτίμου των διοδίων, αφαιρεί το ποσό αυτό από την κάρτα.
ΙΙ) Αν η κάρτα δεν έχει υπόλοιπο, το μηχάνημα ειδοποιεί με μήνυμα για το ποσό που πρέπει να πληρωθεί.
ΙΙΙ) Αν το υπόλοιπο δεν επαρκεί, μηδενίζεται η κάρτα και δίνεται με μήνυμα το ποσό που απομένει να πληρωθεί.
Να γραφεί πρόγραμμα σε «ΓΛΩΣΣΑ», το οποίο:
1) Να ελέγχει τον τύπο του τροχοφόρου και να εκχωρεί στη μεταβλητή Α το αντίτιμο των διοδίων, ανάλογα με τον τύπο του τροχοφόρου.
2) Να ελέγχει την πληρωμή των διοδίων με τον παρακάτω τρόπο:
Ι) Αν το υπόλοιπο της κάρτας επαρκεί για την πληρωμή του αντιτίμου των διοδίων, αφαιρεί το ποσό αυτό από την κάρτα.
ΙΙ) Αν η κάρτα δεν έχει υπόλοιπο, το μηχάνημα ειδοποιεί με μήνυμα για το ποσό που πρέπει να πληρωθεί.
ΙΙΙ) Αν το υπόλοιπο δεν επαρκεί, μηδενίζεται η κάρτα και δίνεται με μήνυμα το ποσό που απομένει να πληρωθεί.
ΠΡΟΓΡΑΜΜΑ parartima_a_sel_36_7
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ:Υ,Α
ΧΑΡΑΚΤΗΡΕΣ: Τ
ΑΡΧΗ
ΔΙΑΒΑΣΕ Υ,Τ
ΑΝ Τ = 'Δ' ΤΟΤΕ
Α <- 1.2
ΑΛΛΙΩΣ_ΑΝ Τ = 'Ε' ΤΟΤΕ
Α <- 2.4
ΑΛΛΙΩΣ
Α <- 3.5
ΤΕΛΟΣ_ΑΝ
ΑΝ Υ >= Α ΤΟΤΕ ! ΜΠΟΡΕΙΣ ΝΑ ΤΟ ΠΛΗΡΩΣΕΙΣ
Υ <- Υ - Α
ΑΛΛΙΩΣ_ΑΝ Υ = 0 ΤΟΤΕ
ΓΡΑΨΕ 'ΠΡΕΠΕΙ ΝΑ ΠΛΗΡΩΘΕΙ', Α
ΑΛΛΙΩΣ
Α <- Α - Υ ! ΥΠΟΛΟΓΙΖΕΙΣ ΤΙ ΑΠΟΜΕΝΕΙ ΝΑ ΠΛΗΡΩΘΕΙ
! ΑΦΟΥ ΚΡΑΤΗΣΕΙΣ ΤΟ ΥΠΟΛΟΙΠΟ ΤΗΣ ΚΑΡΤΑΣ
Υ <- 0 ! ΜΗΔΕΝΙΖΕΙΣ ΤΗΝ ΚΑΡΤΑ
ΓΡΑΨΕ 'ΠΡΕΠΕΙ ΝΑ ΠΛΗΡΩΘΕΙ', Α
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Να γραφεί πρόγραμμα σε «ΓΛΩΣΣΑ», το οποίο να δέχεται από το πληκτρολόγιο έναν ακέραιο αριθμό και να ελέγχει εάν είναι διψήφιος και θετικός. Στην περίπτωση που ισχύει, να τυπώνεται το μήνυμα «Θετικός, Διψήφιος αριθμός», ενώ διαφορετικά να τυπώνονται για κάθε περίπτωση «Μόνο θετικός» ή «Μόνο διψήφιος» ή «Ούτε θετικός, ούτε διψήφιος».
ΠΡΟΓΡΑΜΜΑ parartima_a_sel_36_8_v1
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: a
ΛΟΓΙΚΕΣ: θετικός, διψήφιος
ΑΡΧΗ
διψήφιος <- ΨΕΥΔΗΣ
θετικός <- ΨΕΥΔΗΣ
ΔΙΑΒΑΣΕ a
! a div 10 <> 0 είναι τουλάχιστον διψήφιος
! και
! a div 100 = 0 δεν είναι τριψήφιος
Αν a div 10 <> 0 και a div 100 = 0 τότε
διψήφιος <- ΑΛΗΘΗΣ
τέλος_αν
! α > 0 είναι θετικός
αν a > 0 τότε
θετικός <- ΑΛΗΘΗΣ
τέλος_αν
αν διψήφιος = ΑΛΗΘΗΣ και θετικός = ΑΛΗΘΗΣ τότε
Γράψε 'διψήφιος και θετικός'
τέλος_αν
αν διψήφιος = ΑΛΗΘΗΣ και θετικός = ΨΕΥΔΗΣ τότε
Γράψε 'διψήφιος'
Τέλος_αν
αν διψήφιος = ΨΕΥΔΗΣ και θετικός = ΑΛΗΘΗΣ τότε
Γράψε 'θετικός'
Τέλος_αν
αν διψήφιος = ΨΕΥΔΗΣ και θετικός = ΨΕΥΔΗΣ τότε
Γράψε 'Ούτε Διψήφιος, ούτε θετικός'
Τέλος_αν
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
ΠΡΟΓΡΑΜΜΑ parartima_a_sel_36_8_v2
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: a
ΑΡΧΗ
ΔΙΑΒΑΣΕ a
! αν a div 10 <> 0 τότε τουλάχιστον διψήφιος
! αν a div 100 = 0 τότε δεν είναι τριψήφιος
! αν a > 0 τότε είναι θετικός
! 1η περίπτωση (διψήφιος και θετικός)
! a div 10 <> 0 είναι τουλάχιστον διψήφιος
! και
! a div 100 = 0 δεν είναι τριψήφιος
! και
! α > 0 είναι θετικός
Αν a div 10 <> 0 και a div 100 = 0 και a > 0 τότε
Γράψε 'διψήφιος και θετικός'
! 2η περίπτωση (μόνο διψήφιος - αρνητικός ή 0)
! a div 10 <> 0 είναι τουλάχιστον διψήφιος
! και
! a div 100 = 0 δεν είναι τριψήφιος
! και
! α < 0 είναι αρνητικός
Αλλιώς_αν a div 10 <> 0 και a div 100 = 0 και a < 0 τότε
Γράψε 'διψήφιος'
! 3η περίπτωση (δεν είναι διψήφιος, μόνο θετικός)
! a div 10 = 0 είναι μονοψήφιος
! ή
! a div 100 <> 0 είναι τουλάχιστον τριψήφιος
! και
! α > 0 είναι θετικός
Αλλιώς_αν a div 10 = 0 ή a div 100 <> 0 και a > 0 τότε
Γράψε 'θετικός'
Αλλιώς_αν a div 10 = 0 ή a div 100 <> 0 και a <= 0 τότε
Γράψε 'Ούτε Διψήφιος, Ούτε Θετικός'
Τέλος_αν
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
ΠΡΟΓΡΑΜΜΑ parartima_a_sel_36_8_v3
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: a
ΑΡΧΗ
ΔΙΑΒΑΣΕ a
! 1η περίπτωση (διψήφιος και θετικός)
Αν a >=10 και a <=99 τότε
Γράψε 'διψήφιος και θετικός'
Αλλιώς_αν a> 0 τότε
Γράψε 'μόνο θετικός, όχι διψήφιος'
Αλλιώς_αν Α_Τ(a) >= 10 και Α_Τ(a) <= 99 τότε
Γράψε 'διψήφιος'
Αλλιώς
Γράψε 'ούτε θετικός ούτε διψήφιος'
Τέλος_αν
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Βοηθά αρχικά να οπτικοποιήσουμε τη λύση με πραγματικά δεδομένα:
! 53 div 10 = 5, έχει δεκάδες
! 153 div 100 = 1, έχει εκατοντάδες συνεπώς είναι τριψήφιος
! ή διαφορετικά
! 153 div 10 = 15, > 9
! 03 div 10 = 0, δεν έχει δεκάδες
! 53 div 100 = 0, δεν είναι τριψήφιος
! αν υπάρχουν δεκάδες,
! δεν πρέπει να υπάρχουν εκατοντάδες
! > 0 αν είναι θετικός
! (0 μπορεί να πάει είτε στους θετικούς είτε στους αρνητικούς)
! 53 div 10 = 5, έχει δεκάδες
! 153 div 100 = 1, έχει εκατοντάδες συνεπώς είναι τριψήφιος
! ή διαφορετικά
! 153 div 10 = 15, > 9
! 03 div 10 = 0, δεν έχει δεκάδες
! 53 div 100 = 0, δεν είναι τριψήφιος
! αν υπάρχουν δεκάδες,
! δεν πρέπει να υπάρχουν εκατοντάδες
! > 0 αν είναι θετικός
! (0 μπορεί να πάει είτε στους θετικούς είτε στους αρνητικούς)
9. Ένα μαγαζί με ηλεκτρονικά παιχνίδια χρεώνει τους πελάτες του κλιμακωτά, ανάλογα με το πόση ώρα χρησιμοποιούν τα παιχνίδια, σύμφωνα με τον παρακάτω πίνακα:
----------------------------------- Χρόνος σε λεπτά | Χρέωση ανά λεπτό ----------------------------------- 1-60 | 0,15€ ----------------------------------- 61-90 | 0,22€ ----------------------------------- 91-120 | 0,37€ ----------------------------------- 121-180 | 0,42€ ----------------------------------- >180 | 0,55€ -----------------------------------
Να γραφεί πρόγραμμα σε «ΓΛΩΣΣΑ», το οποίο να διαβάζει τον χρόνο χρήσης του ηλεκτρονικού παιχνιδιού και στη συνέχεια να υπολογίζει και να εμφανίζει το ποσό χρέωσης, σύμφωνα με τον παραπάνω πίνακα.
! Α ΤΡΟΠΟΣ
ΠΡΟΓΡΑΜΜΑ parartima_a_sel_36_9
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: ΧΡΕΩΣΗ
ΑΚΕΡΑΙΕΣ: SEC
ΑΡΧΗ
ΔΙΑΒΑΣΕ SEC
ΑΝ SEC > 0 ΤΟΤΕ
ΑΝ SEC <= 60 ΤΟΤΕ
ΧΡΕΩΣΗ <- SEC * 0.15
ΑΛΛΙΩΣ_ΑΝ SEC <= 90 ΤΟΤΕ
ΧΡΕΩΣΗ <- 60 * 0.15 + (SEC - 60) * 0.22
ΑΛΛΙΩΣ_ΑΝ SEC <= 120 ΤΟΤΕ
ΧΡΕΩΣΗ <- 60 * 0.15 + 30 * 0.22 + (SEC - 90) * 0.37
ΑΛΛΙΩΣ_ΑΝ SEC <= 180 ΤΟΤΕ
ΧΡΕΩΣΗ <- 60 * 0.15 + 30 * 0.22 + 30 * 0.37 + (SEC - 120) * 0.42
ΑΛΛΙΩΣ
ΧΡΕΩΣΗ <- 60 * 0.15 + 30 * 0.22 + 30 * 0.37 + 60 * 0.42 + (SEC - 180) * 0.55
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ 'ΧΡΕΩΣΗ:', ΧΡΕΩΣΗ
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'ΛΕΠΤΑ<= 0'
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
! Β ΤΡΟΠΟΣ
ΠΡΟΓΡΑΜΜΑ parartima_a_sel_36_9
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: ΧΡΕΩΣΗ
ΑΚΕΡΑΙΕΣ: SEC
ΑΡΧΗ
ΔΙΑΒΑΣΕ SEC
ΑΝ SEC <=1 TOTE
ΓΡΑΨΕ "ΛΑΘΟΣ ΕΙΣΟΔΟΣ"
ΑΛΛΙΩΣ_ΑΝ SEC <= 60 ΤΟΤΕ
ΧΡΕΩΣΗ <- SEC * 0.15
ΑΛΛΙΩΣ_ΑΝ SEC <= 90 ΤΟΤΕ
ΧΡΕΩΣΗ <- 60 * 0.15 + (SEC - 60) * 0.22
ΑΛΛΙΩΣ_ΑΝ SEC <= 120 ΤΟΤΕ
ΧΡΕΩΣΗ <- 60 * 0.15 + 30 * 0.22 + (SEC - 90) * 0.37
ΑΛΛΙΩΣ_ΑΝ SEC <= 180 ΤΟΤΕ
ΧΡΕΩΣΗ <- 60 * 0.15 + 30 * 0.22 + 30 * 0.37 + (SEC - 120) * 0.42
ΑΛΛΙΩΣ
ΧΡΕΩΣΗ <- 60 * 0.15 + 30 * 0.22 + 30 * 0.37 + 60 * 0.42 + (SEC - 180) * 0.55
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ 'ΧΡΕΩΣΗ:', ΧΡΕΩΣΗ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
! Β ΤΡΟΠΟΣ
ΠΡΟΓΡΑΜΜΑ parartima_a_sel_36_9
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: ΧΡΕΩΣΗ
ΑΚΕΡΑΙΕΣ: SEC
ΑΡΧΗ
ΔΙΑΒΑΣΕ SEC
ΑΝ SEC >=1 ΚΑΙ SEC <= 60 ΤΟΤΕ
ΧΡΕΩΣΗ <- SEC * 0.15
ΑΛΛΙΩΣ_ΑΝ SEC >=61 ΚΑΙ SEC <= 90 ΤΟΤΕ
ΧΡΕΩΣΗ <- 60 * 0.15 + (SEC - 60) * 0.22
ΑΛΛΙΩΣ_ΑΝ SEC >=91 ΚΑΙ SEC <= 120 ΤΟΤΕ
ΧΡΕΩΣΗ <- 60 * 0.15 + 30 * 0.22 + (SEC - 90) * 0.37
ΑΛΛΙΩΣ_ΑΝ SEC >=121 ΚΑΙ SEC <= 180 ΤΟΤΕ
ΧΡΕΩΣΗ <- 60 * 0.15 + 30 * 0.22 + 30 * 0.37 + (SEC - 120) * 0.42
ΑΛΛΙΩΣ_ΑΝ SEC >=121 ΚΑΙ SEC <= 180 ΤΟΤΕ
ΧΡΕΩΣΗ <- 60 * 0.15 + 30 * 0.22 + 30 * 0.37 + 60 * 0.42 + (SEC - 180) * 0.55
ΑΛΛΙΩΣ ! ΠΡΟΑΙΡΕΤΙΚΑ
ΓΡΑΨΕ ΄'ΛΑΘΟΣ ΕΙΣΟΔΟΣ'
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ 'ΧΡΕΩΣΗ:', ΧΡΕΩΣΗ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Πρέπει να προβλεφθεί η δυνατότητα επεξεργασίας τιμών μικρότερων ή ίσων με το Ο. Στον Α τρόπο με μια σύνθετη επιλογή αντιμετωπίζουμε ξεχωριστά το διάστημα (-άπειρο, 0] και [1, +άπειρο). Στον Β τρόπο, κλείνουμε τα διαστήματα με σύνθετες λογικές συνθήκες χωρίς έξοδο για τιμές μικρότερες του 0.
10. Ένα ταξιδιωτικό γραφείο οργανώνει 3ήμερες και 5ήμερες εκδρομές στην Κρήτη, Ρόδο και Μύκονο με αεροπλάνο ή πλοίο. Οι τιμές κατ’ άτομο για κάθε περίπτωση, βρίσκονται στον παρακάτω πίνακα.
---------------------------------------------- Αεροπλάνο | Πλοίο ---------------------------------------------- Προορισμός | 3ήμερη | 5ήμερη | 3ήμερη | 5ήμερη ---------------------------------------------- Κρήτη | 400€ | 600€ | 550€ | 750€ ---------------------------------------------- Ρόδος | 500€ | 700€ | 700€ | 900€ ---------------------------------------------- Μύκονος | 550€ | 650€ | 650€ | 850€ ----------------------------------------------
Να γραφεί πρόγραμμα σε «ΓΛΩΣΣΑ», το οποίο να διαβάζει τον προορισμό, το μέσο μεταφοράς (Π=πλοίο ή Α=Αεροπλάνο), τις ημέρες διαμονής (3 ή 5) και το πλήθος των ατόμων. Στη συνέχεια να υπολογίζει και τυπώνει το κόστος της εκδρομής.
! Α ΤΡΟΠΟΣ
ΠΡΟΓΡΑΜΜΑ parartima_a_sel_36_9a
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: ΚΟΣΤΟΣ
ΧΑΡΑΚΤΗΡΕΣ: ΠΡΟΟΡΙΣΜΟΣ, ΜΕΣΟ
ΑΚΕΡΑΙΕΣ: ΗΜΕΡΕΣ, ΠΛΗΘΟΣ
ΑΡΧΗ
ΚΟΣΤΟΣ <- 0 ! ΑΝ ΔΟΘΕΙ ΛΑΘΟΣ ΕΙΣΟΔΟΣ, ΘΑ ΕΜΦΑΝΙΣΕΙ ΚΟΣΤΟΣ=0
ΓΡΑΨΕ 'ΔΩΣΤΕ ΠΡΟΟΡΙΣΜΟ(ΚΡΗΤΗ/ΡΟΔΟΣ/ΜΥΚΟΝΟΣ):'
ΔΙΑΒΑΣΕ ΠΡΟΟΡΙΣΜΟΣ
ΓΡΑΨΕ 'ΔΩΣΤΕ ΜΕΣΟ ΜΕΤΑΦΟΡΑΣ (ΑΕΡΟΠΛΑΝΟ/ΠΛΟΙΟ):'
ΔΙΑΒΑΣΕ ΜΕΣΟ
ΓΡΑΨΕ 'ΔΩΣΤΕ ΗΜΕΡΕΣ ΔΙΑΜΟΝΗΣ (3/5):'
ΔΙΑΒΑΣΕ ΗΜΕΡΕΣ
ΓΡΑΨΕ 'ΔΩΣΤΕ ΠΛΗΘΟΣ ΑΤΟΜΩΝ:'
ΔΙΑΒΑΣΕ ΠΛΗΘΟΣ
ΑΝ ΜΕΣΟ = 'ΑΕΡΟΠΛΑΝΟ' ΤΟΤΕ
ΑΝ ΠΡΟΟΡΙΣΜΟΣ = 'ΚΡΗΤΗ' ΤΟΤΕ
ΑΝ ΗΜΕΡΕΣ=3 ΤΟΤΕ
ΚΟΣΤΟΣ <- 400 * ΠΛΗΘΟΣ
ΑΛΛΙΩΣ_ΑΝ ΗΜΕΡΕΣ=5 ΤΟΤΕ
ΚΟΣΤΟΣ <- 600 * ΠΛΗΘΟΣ
ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ_ΑΝ ΠΡΟΟΡΙΣΜΟΣ = 'ΡΟΔΟΣ' ΤΟΤΕ
ΑΝ ΗΜΕΡΕΣ=3 ΤΟΤΕ
ΚΟΣΤΟΣ <- 500 * ΠΛΗΘΟΣ
ΑΛΛΙΩΣ_ΑΝ ΗΜΕΡΕΣ=5 ΤΟΤΕ
ΚΟΣΤΟΣ <- 700 * ΠΛΗΘΟΣ
ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ_ΑΝ ΠΡΟΟΡΙΣΜΟΣ = 'ΜΥΚΟΝΟΣ' ΤΟΤΕ
ΑΝ ΗΜΕΡΕΣ=3 ΤΟΤΕ
ΚΟΣΤΟΣ <- 550 * ΠΛΗΘΟΣ
ΑΛΛΙΩΣ_ΑΝ ΗΜΕΡΕΣ=5 ΤΟΤΕ
ΚΟΣΤΟΣ <- 650 * ΠΛΗΘΟΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ_ΑΝ ΜΕΣΟ = 'ΠΛΟΙΟ' ΤΟΤΕ
ΑΝ ΠΡΟΟΡΙΣΜΟΣ = 'ΚΡΗΤΗ' ΤΟΤΕ
ΑΝ ΗΜΕΡΕΣ=3 ΤΟΤΕ
ΚΟΣΤΟΣ <- 550 * ΠΛΗΘΟΣ
ΑΛΛΙΩΣ_ΑΝ ΗΜΕΡΕΣ=5 ΤΟΤΕ
ΚΟΣΤΟΣ <- 750 * ΠΛΗΘΟΣ
ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ_ΑΝ ΠΡΟΟΡΙΣΜΟΣ = 'ΡΟΔΟΣ' ΤΟΤΕ
ΑΝ ΗΜΕΡΕΣ=3 ΤΟΤΕ
ΚΟΣΤΟΣ <- 700 * ΠΛΗΘΟΣ
ΑΛΛΙΩΣ_ΑΝ ΗΜΕΡΕΣ=5 ΤΟΤΕ
ΚΟΣΤΟΣ <- 900 * ΠΛΗΘΟΣ
ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ_ΑΝ ΠΡΟΟΡΙΣΜΟΣ = 'ΜΥΚΟΝΟΣ' ΤΟΤΕ
ΑΝ ΗΜΕΡΕΣ=3 ΤΟΤΕ
ΚΟΣΤΟΣ <- 650 * ΠΛΗΘΟΣ
ΑΛΛΙΩΣ_ΑΝ ΗΜΕΡΕΣ=5 ΤΟΤΕ
ΚΟΣΤΟΣ <- 850 * ΠΛΗΘΟΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ 'ΚΟΣΤΟΣ ΕΚΔΡΟΜΗΣ:', ΚΟΣΤΟΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
! Β ΤΡΟΠΟΣ
ΠΡΟΓΡΑΜΜΑ parartima_a_sel_36_9b
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: ΚΟΣΤΟΣ
ΧΑΡΑΚΤΗΡΕΣ: ΠΡΟΟΡΙΣΜΟΣ, ΜΕΣΟ
ΑΚΕΡΑΙΕΣ: ΗΜΕΡΕΣ, ΠΛΗΘΟΣ
ΑΡΧΗ
ΚΟΣΤΟΣ <- 0 ! ΑΝ ΔΟΘΕΙ ΛΑΘΟΣ ΕΙΣΟΔΟΣ, ΘΑ ΕΜΦΑΝΙΣΕΙ ΚΟΣΤΟΣ=0
ΓΡΑΨΕ 'ΔΩΣΤΕ ΠΡΟΟΡΙΣΜΟ(ΚΡΗΤΗ/ΡΟΔΟΣ/ΜΥΚΟΝΟΣ):'
ΔΙΑΒΑΣΕ ΠΡΟΟΡΙΣΜΟΣ
ΓΡΑΨΕ 'ΔΩΣΤΕ ΜΕΣΟ ΜΕΤΑΦΟΡΑΣ (ΑΕΡΟΠΛΑΝΟ/ΠΛΟΙΟ):'
ΔΙΑΒΑΣΕ ΜΕΣΟ
ΓΡΑΨΕ 'ΔΩΣΤΕ ΗΜΕΡΕΣ ΔΙΑΜΟΝΗΣ (3/5):'
ΔΙΑΒΑΣΕ ΗΜΕΡΕΣ
ΓΡΑΨΕ 'ΔΩΣΤΕ ΠΛΗΘΟΣ ΑΤΟΜΩΝ:'
ΔΙΑΒΑΣΕ ΠΛΗΘΟΣ
ΑΝ ΜΕΣΟ = 'ΑΕΡΟΠΛΑΝΟ' ΤΟΤΕ
ΑΝ ΠΡΟΟΡΙΣΜΟΣ = 'ΚΡΗΤΗ' ΤΟΤΕ
ΑΝ ΗΜΕΡΕΣ=3 ΤΟΤΕ
ΚΟΣΤΟΣ <- 400 * ΠΛΗΘΟΣ
ΑΛΛΙΩΣ ! 5ΗΜΕΡΗ
ΚΟΣΤΟΣ <- 600 * ΠΛΗΘΟΣ
ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ_ΑΝ ΠΡΟΟΡΙΣΜΟΣ = 'ΡΟΔΟΣ' ΤΟΤΕ
ΑΝ ΗΜΕΡΕΣ=3 ΤΟΤΕ
ΚΟΣΤΟΣ <- 500 * ΠΛΗΘΟΣ
ΑΛΛΙΩΣ ! 5ΗΜΕΡΗ
ΚΟΣΤΟΣ <- 700 * ΠΛΗΘΟΣ
ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ ! ΜΥΚΟΝΟΣ
ΑΝ ΗΜΕΡΕΣ=3 ΤΟΤΕ
ΚΟΣΤΟΣ <- 550 * ΠΛΗΘΟΣ
ΑΛΛΙΩΣ ! 5ΗΜΕΡΗ
ΚΟΣΤΟΣ <- 650 * ΠΛΗΘΟΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ ! ΠΛΟΙΟ
ΑΝ ΠΡΟΟΡΙΣΜΟΣ = 'ΚΡΗΤΗ' ΤΟΤΕ
ΑΝ ΗΜΕΡΕΣ=3 ΤΟΤΕ
ΚΟΣΤΟΣ <- 550 * ΠΛΗΘΟΣ
ΑΛΛΙΩΣ ! 5ΗΜΕΡΗ
ΚΟΣΤΟΣ <- 750 * ΠΛΗΘΟΣ
ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ_ΑΝ ΠΡΟΟΡΙΣΜΟΣ = 'ΡΟΔΟΣ' ΤΟΤΕ
ΑΝ ΗΜΕΡΕΣ=3 ΤΟΤΕ
ΚΟΣΤΟΣ <- 700 * ΠΛΗΘΟΣ
ΑΛΛΙΩΣ ! 5ΗΜΕΡΗ
ΚΟΣΤΟΣ <- 900 * ΠΛΗΘΟΣ
ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ ! ΜΥΚΟΝΟΣ
ΑΝ ΗΜΕΡΕΣ=3 ΤΟΤΕ
ΚΟΣΤΟΣ <- 650 * ΠΛΗΘΟΣ
ΑΛΛΙΩΣ ! 5ΗΜΕΡΗ
ΚΟΣΤΟΣ <- 850 * ΠΛΗΘΟΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ 'ΚΟΣΤΟΣ ΕΚΔΡΟΜΗΣ:', ΚΟΣΤΟΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Επειδή δε γίνεται έλεγχος εισόδου, είναι επισφαλής η χρήση της περίπτωσης ΑΛΛΙΩΣ, χωρίς να είναι λάθος η χρήση της. Στον α τρόπο, δεν χρησιμοποιείται η ΑΛΛΙΩΣ, στον β τρόπο, η ΑΛΛΙΩΣ αντιστοιχεί στην εναπομείνουσα επιλογή. ΕΚΣΦΑΛΜΑΤΩΣΗ: Δοκιμάστε και στους 2 τρόπους το σετ τιμών (ΑΛΛΟ,ΑΛΛΟ,7,1). Τι παρατηρείτε;