Επιλογή Σελίδας

Παράδειγμα 1, Κεφάλαιο 8, Βιβλίο, Κλίμακα υπολογισμού τιμής Υπολογιστών

Στο πρόγραμμα του προηγούμενου κεφαλαίου (πωλήσεις υπολογιστών) υποθέτουμε ότι η τιμή των υπολογιστών εξαρτάται από την ποσότητα παραγγελίας. Συγκεκριμένα ισχύουν οι παρακάτω τιμές αγοράς υπολογιστών.

Ο υπολογισμός με χρήση εμφωλευμένων εντολών ΑΝ είναι:

ΑΝ Ποσότητα<=50 ΤΟΤΕ 
   Κόστος <-- Ποσότητα*580 
ΑΛΛΙΩΣ
  ΑΝ Ποσότητα<=100 ΤΟΤΕ 
     Κόστος <-- Ποσότητα*520 
  ΑΛΛΙΩΣ
     ΑΝ Ποσότητα<=200 ΤΟΤΕ 
        Κόστος <-- Ποσότητα*470 
     ΑΛΛΙΩΣ 
        Κόστος <-- Ποσότητα*440 
     ΤΕΛΟΣ_ΑΝ 
  ΤΕΛΟΣ_ΑΝ 
ΤΕΛΟΣ_ΑΝ

Το ίδιο πρόγραμμα με τη χρήση της εντολής ΑΝ…ΤΟΤΕ…ΑΛΛΙΩΣ_ΑΝ έχει ως εξής:

ΑΝ Ποσότητα <= 50 ΤΟΤΕ 
   Κόστος <-- Ποσότητα*580 
ΑΛΛΙΩΣ_ΑΝ Ποσότητα<=100 ΤΟΤΕ 
Κόστος <-- Ποσότητα*520 
ΑΛΛΙΩΣ_ΑΝ Ποσότητα<=200 ΤΟΤΕ 
Κόστος <-- Ποσότητα*470 
ΑΛΛΙΩΣ 
Κόστος <-- Ποσότητα*440 
ΤΕΛΟΣ_ΑΝ 

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

ΑΝ Ποσότητα<=50 ΤΟΤΕ 
   Κόστος <-- Ποσότητα*580 
ΑΛΛΙΩΣ_ΑΝ Ποσότητα > 50 ΚΑΙ Ποσότητα <=100 ΤΟΤΕ 
Κόστος <-- Ποσότητα*520 
ΑΛΛΙΩΣ_ΑΝ Ποσότητα>100 ΚΑΙ Ποσότητα <=200 ΤΟΤΕ
      Κόστος <-- Ποσότητα*470 
ΑΛΛΙΩΣ 
      Κόστος <-- Ποσότητα*440 
ΤΕΛΟΣ_ΑΝ

Βλέπε επίσης: ΔΕ1, Κεφαλαίου 8

Παράδειγμα 2, Κεφάλαιο 8, Τετράδιο Εργασιών, Κλίμακα χρέωσης κατανάλωσης νερού (λογαριασμός νερού)

Ο λογαριασμός του νερού είναι τριμηνιαίος και υπολογίζεται με βάση την κατανάλωση νερού. Η αξία του νερού υπολογίζεται από τον παρακάτω πίνακα.

Στην αξία του νερού προστίθεται το πάγιο (έστω 1,47€), η αποχέτευση 40% της αξίας του νερού, άλλες επιβαρύνσεις 1% καθώς και το ΦΠΑ που είναι 18% στο σύνολο του λογαριασμού. Να γραφεί πρόγραμμα που διαβάζει το ονοματεπώνυμο του καταναλωτή, τον αριθμό του μετρητή νερού, την κατανάλωση (ανά τρίμηνο) και να υπολογίζει και να τυπώνει τα ποσά του λογαριασμού. Η διαδικασία επαναλαμβάνεται συνεχώς για διάφορους καταναλωτές και τερματίζεται με την είσοδο του 0 ως αριθμού μετρητή.

ΛΥΣΗ

Παραθέτουμε τη λύση του, μέ τη χρήση ΑΛΛΙΩΣ ΑΝ (αντί της ΕΠΙΛΕΞΕ)

ΠΡΟΓΡΑΜΜΑ ΛΟΓΑΡΙΑΣΜΟΣ_ΝΕΡΟΥ 
ΣΤΑΘΕΡΕΣ 
ΦΠΑ=0.18 
ΤΙΜΗ1=0,34 
ΤΙΜΗ2=0,52 
ΤΙΜΗ3=1,51 
ΤΙΜΗ4=2,11 
ΤΙΜΗ5=2,64 
ΠΑΓΙΟ=1,47 
ΜΕΤΑΒΛΗΤΕΣ 
ΑΚΕΡΑΙΕΣ: Μετρητής 
ΠΡΑΓΜΑΤΙΚΕΣ: Κατανάλωση, Τιμή, Αποχέτευση, Άλλα, Αξία_ΦΠΑ, Αξία, & Τελική_Τιμή 
ΧΑΡΑΚΤΗΡΕΣ: Όνομα, Επώνυμο 
ΑΡΧΗ 
ΓΡΑΨΕ 'Δώσε Αριθμό του μετρητή (0 για τέλος)' 
ΔΙΑΒΑΣΕ Μετρητής 
ΟΣΟ Μετρητής <> 0 ΕΠΑΝΑΛΑΒΕ 
    ΓΡΑΨΕ 'Δώσε το Ονοματεπώνυμο'
    ΔΙΑΒΑΣΕ Επώνυμο, Όνομα 
    ΓΡΑΨΕ 'Δώσε την Κατανάλωση' 
    ΔΙΑΒΑΣΕ Κατανάλωση 
    ΑΝ Κατανάλωση <= 15 ΤΟΤΕ
       Αξία <- Κατανάλωση*ΤΙΜΗ1 
    ΑΛΛΙΩΣ_ΑΝ Κατανάλωση <= 60 ΤΟΤΕ 
          Αξία <- 15*ΤΙΜΗ1 + (Κατανάλωση-15)*ΤΙΜΗ2 
    ΑΛΛΙΩΣ_ΑΝ Κατανάλωση <= 81 ΤΟΤΕ 
          Αξία <- 15*ΤΙΜΗ1 + 45*ΤΙΜΗ2 + (Κατανάλωση-60)*ΤΙΜΗ3 
    ΑΛΛΙΩΣ_ΑΝ Κατανάλωση <= 105 ΤΟΤΕ 
          Αξία <- 15*ΤΙΜΗ1 + 45*ΤΙΜΗ2 + 21*ΤΙΜΗ3 + (Κατανάλωση-81)*ΤΙΜΗ4 
    ΑΛΛΙΩΣ 
       Αξία <- 15*ΤΙΜΗ1+45*ΤΙΜΗ2+21*ΤΙΜΗ3+24*ΤΙΜΗ4+(Κατανάλωση-105)*ΤΙΜΗ5 
    ΤΕΛΟΣ_ΑΝ 
    Αποχέτευση <- Αξία*0.4 
    Άλλα <- Αξία*0.01 Τιμή <- Αξία+ Αποχέτευση+ Άλλα+ ΠΑΓΙΟ 
    Αξία_ΦΠΑ <- Τιμή* ΦΠΑ Τελική_τιμή <- Τιμή + Αξία_ΦΠΑ 
    ΓΡΑΨΕ 'Ο λογαριασμός του', Επώνυμο,' είναι ', Τελική_τιμή 
    ΓΡΑΨΕ 'Αξία νερού:', Αξία ΓΡΑΨΕ 'άλλα:', Αποχέτευση+ Άλλα, 'ΦΠΑ:', Αξία_ΦΠΑ 
    ΓΡΑΨΕ 'Δώσε Αριθμό του επόμενου μετρητή (0 για τέλος)' 
    ΔΙΑΒΑΣΕ Μετρητής 
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Θέμα Α, Eρώτημα 5, 2015, Ημερήσια

α. Δίνονται οι παρακάτω προτάσεις σε φυσική γλώσσα:

  1. Αύξησε το Χ κατά 2.
  2. Εκχώρησε στο Υ τον μέσο όρο των Κ, Λ, Μ.
  3. Το τελευταίο ψηφίο του Α είναι
  4. Ο Β είναι διψήφιος.

Να θεωρήσετε ότι οι Α και Β είναι θετικοί ακέραιοι. Να γράψετε στο τετράδιό σας τον αριθμό της κάθε πρότασης και δίπλα την κωδικοποίησή της σε ΓΛΩΣΣΑ. (μονάδες 4)
β. Δίνεται το παρακάτω τμήμα αλγορίθμου:

 Διάβασε Χ 
 Αν Χ > 15 τότε
     Γράψε 1 
 αλλιώς_αν Χ > 23 τότε
     Γράψε 2 
 αλλιώς
     Γράψε 3 
 Τέλος_αν

Μια εντολή εξόδου στο παραπάνω τμήμα δεν πρόκειται να εκτελεστεί, όποια και αν είναι η τιμή του Χ.

  1. Ποια είναι η εντολή αυτή; (μονάδες 2)
  2. Να γράψετε τις εντολές εξόδου που είναι δυνατόν να εκτελεστούν και, δίπλα σε καθεμία από αυτές, το διάστημα τιμών του Χ για το οποίο θα εκτελεστεί η εντολή. (μονάδες 4)

Μονάδες 10

Τα θέματα σε pdf, 2015, Μαΐου-Ιουνίου, Ημερήσια

ΛΥΣΗ

Α.5.α.

  1. Χ ← Χ + 2

  2. Υ ← ( Κ + Λ + Μ ) /3

  3. Α mod 10 = 5

  4. B >= 10 KAI B < 100

A.5.β

  1. Η εντολή Γράψε 2

  2. Γράψε 1 για x > 15

Γράψε 3 για x <= 15

Θέμα Β, 2015, Επαναληπτικές, Ημερήσια

Δίνεται το παρακάτω τμήμα αλγορίθμου ΤΑ_1:

Αν x>10 τότε
   Αν x<30 τότε 
      Κ <-- 3*x
   Αλλιώς
      Κ <-- 5*x
   Τέλος_αν
Κ<-- Κ/2
Αλλιώς
   Κ <-- x
   Αν x<5 τότε 
      Κ <-- 2*Κ
   Τέλος_αν 
 Τέλος_αν

Β1. Να σχεδιάσετε στο τετράδιό σας το αντίστοιχο διάγραμμα ροής.
Μονάδες 8

Β2. Χρησιμοποιώντας μόνο μία εντολή πολλαπλής επιλογής και μόνο απλές συνθήκες, να γράψετε στο τετράδιό σας τμήμα αλγορίθμου το οποίο θα παράγει το ίδιο αποτέλεσμα με το ΤΑ_1.
Μονάδες 12

Τα θέματα σε pdf, 2015, Επαναληπτικές, Ημερήσια

ΛΥΣΗ

(περισσότερα…)

Θέμα Γ, 2013, Μαΐου-Ιουνίου, Ημερήσια

Η χρήση των κινητών τηλεφώνων, των φορητών υπολογιστών, των tablet υπολογιστών από τους νέους αυξάνεται ραγδαία. Ένας από τους στόχους των ερευνητών είναι να διερευνήσουν αν υπάρχουν επιπτώσεις στην υγεία των ανθρώπων από την αυξημένη έκθεση στα ηλεκτρομαγνητικά πεδία. Για τον σκοπό αυτό γίνονται μετρήσεις του ειδικού ρυθμού απορρόφησης (SAR) της ηλεκτρομαγνητικής ακτινοβολίας, πάνω στο ανθρώπινο σώμα. Ο δείκτης SAR μετράται σε Watt/Kgr και ο παγκόσμιος οργανισμός υγείας έχει θεσμοθετήσει ότι τα επιτρεπτά όρια για το κεφάλι και τον κορμό είναι μέχρι και 2 Watt/Kgr, ενώ για τα άκρα μέχρι και 4 Watt/Kgr. Θέλοντας να προσομοιάσουμε την έρευνα, θεωρούμε ότι σε 30 μαθητές έχουν τοποθετηθεί στον καθένα δυο μετρητές του δείκτη SAR, ο ένας στο κεφάλι και ο άλλος σε ένα από τα άνω άκρα, οι οποίοι καταγράφουν τις τιμές του αντίστοιχου δείκτη SAR κάθε 6 λεπτά.

Να αναπτύξετε αλγόριθμο σε ψευδογλώσσα, ο οποίος:

Γ1. Να διαβάζει τους πίνακες: ΚΩΔ[30], ο οποίος θα περιέχει τους κωδικούς των 30 μαθητών, τον πίνακα ΚΕΦ[30,10], του οποίου κάθε γραμμή θα αντιστοιχεί σε έναν μαθητή και θα έχει 10 τιμές που αντιστοιχούν στο SAR της κεφαλής για μια ώρα, καθώς και τον πίνακα ΑΚΡ[30,10] που κάθε γραμμή θα αντιστοιχεί σε έναν μαθητή και θα έχει 10 τιμές που αντιστοιχούν στο SAR του άκρου για μια ώρα.

Μονάδες 2

Γ2.     Για κάθε μαθητή να καταχωρεί σε δισδιάστατο πίνακα ΜΟ[30,2] τις μέσες τιμές του SAR για το κεφάλι στην 1η στήλη και για το άκρο στη 2η στήλη.

Μονάδες 4

Γ3.     Να εμφανίζει για κάθε μαθητή τον κωδικό του και ένα από τα μηνύματα, «Χαμηλός SAR», «Κοντά στα όρια», «Εκτός ορίων», όταν η μέση τιμή του SAR της κεφαλής, καθώς και η μέση τιμή του SAR ενός εκ των άκρων του κυμαίνονται στις παρακάτω περιοχές:

Μ.Ο. SAR κεφαλής <=1,8 >1,8 και <=2 >2
Μ.Ο. SAR άκρου <=3,6 >3,6   και <=4 >4
Μήνυμα «Χαμηλός SAR» «Κοντά στα όρια» «Εκτός ορίων»

Το μήνυμα που θα εμφανίζεται θα πρέπει να είναι ένα μόνο για κάθε μαθητή και θα εξάγεται από τον συνδυασμό των τιμών των μέσων όρων των δυο SAR, όπου βαρύτητα θα έχει ο μέσος όρος, ο οποίος θα βρίσκεται σε μεγαλύτερη περιοχή τιμών. Για παράδειγμα, αν ο μέσος όρος SAR του άκρου έχει τιμή 3,8 και της κεφαλής έχει τιμή 1,5 τότε πρέπει να εμφανίζεται το μήνυμα «Κοντά στα όρια» και κανένα άλλο.

Μονάδες 7

Γ4. Θεωρώντας ότι όλες οι τιμές του πίνακα ΜΟ[30,2] είναι διαφορετικές, να εμφανίζει τις τρεις μεγαλύτερες τιμές για τον μέσο όρο SAR της κεφαλής και τους κωδικούς των μαθητών που αντιστοιχούν σε αυτές. Μετά να εμφανίζει τις τρεις μεγαλύτερες τιμές για τον μέσο όρο SAR του άκρου και τους κωδικούς των μαθητών που αντιστοιχούν σε αυτές.

Μονάδες 7

2012, Μαΐου-Ιουνίου, Ημερήσια

ΛΥΣΗ (περισσότερα…)

Θέμα A, Ερώτημα 3, 2012, Επαναληπτικές, Ημερήσια

Ο παρακάτω αλγόριθμος προτάθηκε για να ελέγχει και να εκτυπώνει, αν ένας μη αρνητικός ακέραιος αριθμός είναι μονοψήφιος, διψήφιος ή τριψήφιος.

Στην περίπτωση που δοθεί αριθμός αρνητικός ή με περισσότερα από 3 ψηφία ο αλγόριθμος πρέπει να εμφανίζει το μήνυμα «Λάθος Δεδομένα».

Αλγόριθμος Ψηφία
Διάβασε x
Αν x >= 0 και x < 10 τότε
εμφάνισε ΄Μονοψήφιος΄
Αλλιώς_αν
x < 100 τότε
εμφάνισε ΄Διψήφιος΄
Αλλιώς_αν x < 1000 τότε
εμφάνισε
΄Τριψήφιος΄
Αλλιώς
εμφάνισε ΄Λάθος Δεδομένα΄
Τέλος_αν
Τέλος Ψηφία

Ο παραπάνω αλγόριθμος έχει λάθος. Δώστε ένα παράδειγμα εισόδου που θα καταδείξει το λάθος που υπάρχει στον αλγόριθμο (Μονάδες 3).
Στη συνέχεια να γράψετε τον αλγόριθμο στο τετράδιο σας κάνοντας τις απαραίτητες διορθώσεις, έτσι ώστε να λειτουργεί σωστά (Μονάδες 7).

Μονάδες 10

Τα θέματα σε pdf, 2012, Επαναληπτικές, Ημερήσια

Παράδειγμα 4, Βιβλίο μαθητή, Ανάθεση γραμμάτων σε αριθμούς

Να διαβασθεί ένας ακέραιος και να εκτυπωθεί το αντίστοιχο γράμμα της αλφαβήτου αν ο ακέραιος έχει τιμή 1 ή 2 ή 3, διαφορετικά να εκτυπωθεί η λέξη “άγνωστος”.

Αλγόριθμος Παράδειγμα_4
Διάβασε a
Αν a = 1 τότε
εκτύπωσε «Α»
αλλιώς_αν a = 2 τότε
εκτύπωσε «Β»
αλλιώς_αν a = 3 τότε
εκτύπωσε «Γ»
αλλιώς
εκτύπωσε «άγνωστος»
Τέλος_αν
Τέλος Παράδειγμα_4

par4kef2bm

Παράδειγμα 5, Βιβλίο μαθητή, Επιλογή ορίων

Να εισαχθεί ένας ακέραιος που αντιστοιχεί σε μια ηλικία και να βρεθεί σε ποια όρια εντάσσεται η δεδομένη ηλικία εμφανίζοντας σχετικό μήνυμα.

Αλγόριθμος Παράδειγμα 5.
Εμφάνισε «Σε ποια ηλικία άρχισες να μαθαίνεις προγραμματισμό;»
Διάβασε age
Επίλεξε age
Περίπτωση < 0
Εμφάνισε «Είπαμε ηλικία …»
Περίπτωση < 5
Εμφάνισε «Μάλλον τα παραλές !!»
Περίπτωση < 60
Εμφάνισε «Μπράβο»
Περίπτωση < 100
Εμφάνισε «Ποτέ δεν είναι αργά»
Περίπτωση αλλιώς
Εμφάνισε «Κάλλιο αργά παρά ποτέ»
Τέλος_επιλογών
Τέλος Παράδειγμα_5

Ερώτημα 2, Θέμα Α, 2011, Επαναληπτικές, Ημερήσια

Να ξαναγράψετε στο τετράδιό σας το παρακάτω τμήμα προγράμματος, χρησιμοποιώντας αποκλειστικά μη εμφωλευμένες απλές δομές επιλογής Αν … Τότε … Τέλος_αν.

Αν Χ<> Α_Μ(Χ) Τότε
Γράψε “Λάθος”
Αλλιώς_αν Χ<=0 Τότε
Γράψε “Μη Θετικός”
Αλλιώς
Γράψε “Θετικός”
Τέλος_αν
Μονάδες 6

Τα θέματα σε pdf, 2011, Επαναληπτικές, Ημερήσια

Ερώτημα 5, Θέμα Α, 2011, Επαναληπτικές, Ημερήσια

Δίνεται ο παρακάτω ημιτελής αλγόριθμος αναζήτησης ενός αριθμού key σε έναν αριθμητικό πίνακα table N στοιχείων, στον οποίο ο key μπορεί να εμφανίζεται περισσότερες από μία φορές.
Αλγόριθμος Αναζήτηση
Δεδομένα // table, N, key //
Βρέθηκε <- Ψευδής
ΔενΒρέθηκε <- ……………………….
i <- 1
Όσο ΔενΒρέθηκε = Αληθής και i<=N επανάλαβε
Αν…………………….. τότε
Εμφάνισε “Βρέθηκε στη θέση”, i
Βρέθηκε <-   ……………………..
Αλλιώς_αν ………………………  τότε
ΔενΒρέθηκε <- ……………………….
Τέλος_αν
i <- i + 1
Τέλος_επανάληψης
Αποτελέσματα // Βρέθηκε //
Τέλος Αναζήτηση
Να ξαναγράψετε στο τετράδιό σας τον παραπάνω αλγόριθμο με τα κενά συμπληρωμένα, έτσι ώστε να εμφανίζονται όλες οι θέσεις στις οποίες βρίσκεται ο αριθμός key στον πίνακα table. Ο αλγόριθμος να σταματάει αμέσως μόλις διαπιστωθεί ότι ο αριθμός key δεν υπάρχει στον πίνακα. Εκμεταλλευτείτε το γεγονός ότι τα στοιχεία του πίνακα είναι ταξινομημένα σε αύξουσα σειρά.
Μονάδες 10

Τα θέματα σε pdf, 2011, Επαναληπτικές, Ημερήσια

Παράδειγμα 5, Κεφάλαιο 2, Τετράδιο Εργασιών, Φοίτηση στο Πανεπιστήμιο

Σε κάποια Σχολή υπάρχει ένα 3ετές Τμήμα με διαφορετικό αριθμό φοιτητών/φοιτητριών ανά έτος φοίτησης. Συνολικά το Τμήμα αυτό έχει 200 φοιτητές. Να σχεδιασθεί ένα διάγραμμα ροής και να γραφεί ένας αλγόριθμος που θα διαβάζει το έτος κάθε φοιτητή του Τμήματος και θα υπολογίζει τον αριθμό των φοιτητών για κάθε έτος φοίτησης.

Λύση: (περισσότερα…)

ΔΤ5, Κεφάλαιο 2, Τετράδιο Εργασιών

Να διαβάζονται δύο αριθμοί που αντιστοιχούν στο ποσοστό του διοξειδίου του άνθρακα και του αζώτου μίας ημέρας, όπως έχει καταγραφεί στα ειδικά μηχανήματα καταγραφής στην ατμόσφαιρα της πόλης. Να εκτυπώνεται ότι η ατμόσφαιρα είναι «καθαρή», αν το ποσοστό του διοξειδίου του άνθρακα είναι κάτω από 0.35, ή να εκτυπώνεται «μολυσμένη» στην αντίθετη περίπτωση. Επίσης να εκτυπώνεται «διαυγής», αν το άζωτο είναι κάτω από 0.17, αλλιώς να εκτυπώνεται «αδιαυγής».

Λύση: (περισσότερα…)