Καθηγητής Πληροφορικής, ΠΕ86

2.4.1, 7.8, 7.9, 7.10

Δομή ακολουθίας, Εντολή εκχώρησης, Εντολές εισόδου – εξόδου, Δομή προγράμματος
 ΣΥΖΗΤΗΣΕΙΣ ΕΝΟΤΗΤΑΣ

ΘΕΩΡΙΑ – ΠΑΡΑΔΕΙΓΜΑΤΑ

Από το σχολικό βιβλίο:

Κ7Γ ΘΕΩΡΙΑ ΒΜ

Σημειώσεις – Διαφάνειες:

ΔΙΑΦΑΝΕΙΕΣ – (82η μέχρι 99η)

MORE …

 

Βιντεομαθήματα:

ΜΟΡΦΗ ΑΛΓΟΡΙΘΜΟΥ – ΕΝΤΟΛΕΣ – ΣΠΥΡΟΣ ΓΕΩΡΓΙΟΣ ΖΥΓΟΥΡΗΣ

ΑΛΓΟΡΙΘΜΟΙ ΑΚΟΛΟΥΘΙΑΣ – ΣΠΥΡΟΣ ΓΕΩΡΓΙΟΣ ΖΥΓΟΥΡΗΣ

ΕΡΩΤΗΣΕΙΣ

Από το σχολικό βιβλίο:

 

Από άλλο υλικό:

 

ΑΣΚΗΣΕΙΣ

Από το σχολικό βιβλίο:

 

Από άλλο υλικό:

Άσκηση 1

Να γραφεί πρόγραμμα ανάγνωσης δύο πραγματικών αριθμών. Στη συνέχεια να εμφανιστεί το άθροισμά τους και το γινόμενό τους.

Λύση

ΠΡΟΓΡΑΜΜΑ ΑΣΚ_1
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: Α,Β,ΑΘΡ,ΓΙΝ
ΑΡΧΗ
ΓΡΑΨΕ ‘ΔΩΣΕ ΔΥΟ ΑΡΙΘΜΟΥΣ’
ΔΙΑΒΑΣΕ Α,Β
ΑΘΡ<–Α+Β
ΓΙΝ<–Α*Β
ΓΡΑΨΕ ‘ΤΟ ΑΘΡΟΙΣΜΑ ΕΙΝΑΙ:’,ΑΘΡ
ΓΡΑΨΕ ‘ΤΟ ΓΙΝΟΜΕΝΟ ΕΙΝΑΙ:’,ΓΙΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Άσκηση 2

Έστω ότι σε ένα δελτίο στοιχήματος μπορούν να συμπληρωθούν τρεις ακριβώς αγώνες. Ένα δελτίο κερδίζει αν προβλεφθούν ορθά και οι τρεις αγώνες. Το ποσό που κερδίζεται είναι ίσο με το ποσό που ποντάρει ο παίχτης επί τις αποδόσεις των τριών αγώνων.
Για παράδειγμα, αν ένας παίχτης παίξει τρεις αγώνες με απόδοση 1.5, 2.3 και 1.4 με 3 € το ποσό που κερδίζει εάν τους προβλέψει όλους είναι ίσο με 1.5 x 2.3 x 1.4 x 3.
Να γίνει αλγόριθμος που θα ζητάει τις τρεις αποδόσεις, το ποσό που ποντάρει ο παίχτης και θα δίνει σαν αποτέλεσμα πόσα χρήματα μπορεί να κερδίσει.

Λύση

Αλγόριθμος Στοίχημα
   Διάβασε ποσό, απόδοση1, απόδοση2, απόδοση3
   πιθανό_ποσό_νίκης <- ποσό * απόδοση1 * απόδοση2 * απόδοση3
   Εμφάνισε πιθανό_ποσό_νίκης
Τέλος Στοίχημα

Άσκηση 3

Σε έναν φιλικό ποδοσφαιρικό αγώνα ισχύει γενικό εισιτήριο αξίας 15 ευρώ. Από τις εισπράξεις του αγώνα το 20% κρατείται από την εφορία. Από αυτά που περισσεύουν, το 75% κρατάει η γηπεδούχος ομάδα, ενώ το 25% η φιλοξενούμενη. Να γίνει αλγόριθμος που θα διαβάζει τον αριθμό των εισιτηρίων που αγοράστηκαν και θα υπολογίζει και εμφανίζει, τις εισπράξεις του αγώνα, το ποσό που κρατάει η εφορία, το ποσό που προορίζεται για την γηπεδούχο ομάδα και το ποσό για την φιλοξενούμενη.

Λύση

Αλγόριθμος Φιλικό
   Διάβασε εισιτήρια
   εισπράξεις <- εισιτήρια * 15
   εφορία <- εισπράξεις * 20/100
   υπόλοιπο <- εισπράξεις - εφορία
   ποσό_γηπεδούχου <- υπόλοιπο * 75/100
   ποσό_φιλοξενούμενου <- υπόλοιπο * 25/100
   Εμφάνισε "Οι εισπράξεις του αγώνα ανέρχονται σε ", εισπράξεις, " ευρώ"
   Εμφάνισε "Το ποσό που κρατάει η εφορία είναι ", εφορία, " ευρώ"
   Εμφάνισε "Το ποσό που κερδίζει η γηπεδούχος ομάδα είναι ", ποσό_γηπεδούχου, " ευρώ"
   Εμφάνισε "Το ποσό που κερδίζει η φιλοξενούμενη ομάδα είναι ", ποσό_φιλοξενούμενου, " ευρώ"
Τέλος Φιλικό

Άσκηση 4

Ένα super market, προσφέρει στους πελάτες του την δυνατότητα συλλογής πόντων στις αγορές που πραγματοποιούν. Έτσι για κάθε 30 ευρώ αγοράς κερδίζουν 1 πόντο. Για κάθε 10 πόντους που έχουν στην συλλογή τους, έχουν το δικαίωμα να τους εξαργυρώσουν με μια δωροεπιταγή των 3 ευρώ. Να γίνει αλγόριθμος, που θα διαβάζει το συνολικό ποσό αγορών που ένας πελάτης πραγματοποίησε στο super market και να εμφανίζει το ποσό της δωροεπιταγής βάσει των πόντων που συνέλεξε.

Λύση

Αλγόριθμος Δωροεπιταγή
   Διάβασε ύψος_αγορών
   πόντοι <- ύψος_αγορών div 30
   ποσό_δωροεπιταγής <- πόντοι div 10 * 3
   Εμφάνισε ποσό_δωροεπιταγής
Τέλος Δωροεπιταγή

Άσκηση 5

Ένας αυτόματος πωλητής αναψυκτικών λειτουργεί δεχόμενος μόνο κέρματα των 50, 20 και 10 λεπτών του ευρώ. Επίσης μπορεί να δώσει ρέστα του ίδιου ακριβώς τύπου (50, 20 και 10 λεπτών). Να γίνει αλγόριθμος που θα προσομοιώνει την λειτουργία του αυτόματου πωλητή: Αρχικά θα διαβάζει το αριθμό των αναψυκτικών που κάποιος επιθυμεί να αγοράσει. Στην συνέχεια θα διαβάζει τρεις τιμές, που αντιστοιχούν στον αριθμό των κερμάτων που το μηχάνημα μπορεί να δεχτεί. Στο τέλος, θα εμφανίζει τα ρέστα που πρέπει να επιστρέψει το μηχάνημα, αναλυτικά σε αριθμό 50λεπτων, 20λεπτων και 10λεπτων. Να σημειωθεί πως κάθε αναψυκτικό κοστίζει 60 λεπτά.

Λύση

Αλγόριθμος Αυτόματος_Πωλητής
   ! Διάβασε τον αριθμό των αναψυκτικών και τον αριθμό των κερμάτων
   Διάβασε ποσότητα
   Διάβασε κ50, κ20, κ10
 
   ! Υπολόγισε το κόστος των αναψυκτικών και το ποσό που ο πελάτης εισήγαγε
   χρέωση <- ποσότητα * 60
   χρήματα <- κ50 * 50 + κ20 * 20 + κ10 * 10
 
   ! Βρες τα ρέστα που αναλογούν
   ρέστα <- χρήματα - χρέωση
 
   ! Βρες την αντιστοίχηση από τα ρέστα στα κέρματα του ευρώ
   ρ50 <- ρέστα div 50
   υ <- ρέστα mod 50
   ρ20 <- υ div 20
   υ <- υ mod 20
   ρ10 <- υ div 10
 
   Εμφάνισε ρ50, ρ20, ρ10
Τέλος Αυτόματος_Πωλητής

Άσκηση 6

Η χωρητικότητα των σκληρών δίσκων (τουλάχιστον μέχρι πριν μερικά χρόνια) μετριέται συνήθως σε Gigabytes (GB). Ένα Gigabyte, αποτελείται από 1024 Megabytes (ΜΒ). Ομοίως, ένα Megabyte αποτελείται από 1024 Kilobytes (ΚΒ) και ένα Kilobyte από 1024 Bytes. Να γίνει αλγόριθμος ο οποίος θα διαβάζει τη χωρητικότητα ενός σκληρού δίσκου σε GB και θα εκτυπώνει τον αριθμό των MB, KB και Bytes που είναι ισοδύναμο.

Λύση

Αλγόριθμος Σκληρός_Δίσκος
   Εμφάνισε "Πόσα GB χωρητικότητα έχει ο σκληρός δίσκος;"
   Διάβασε χωρ_GB
 
   χωρ_MB <- 1024 * χωρ_GB ! η χωρητικότητα σε MB θα είναι όση των GB επί 1024
   χωρ_KB <- 1024 * χωρ_MB ! η χωρητικότητα σε KB θα είναι όση των MB επί 1024
   χωρ_B <- 1024 * χωρ_KB ! ομοίως
 
   Εμφάνισε "Η χωρητικότητα του δίσκου σε MB είναι: ", χωρ_MB
   Εμφάνισε "Η χωρητικότητα του δίσκου σε KB είναι: ", χωρ_KB
   Εμφάνισε "Η χωρητικότητα του δίσκου σε Bytes είναι: ", χωρ_B
Τέλος Σκληρός_Δίσκος

Άσκηση 7

Να φτιάξετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο θα διαβάζει ένα ποσό (ΑΚΕΡΑΙΟΣ) σε Ευρώ και θα μας το αναλύει σε χαρτονομίσματα των 50, 20, και 10 ευρώ. Το υπόλοιπο ποσό να εμφανίζεται και αυτό.

Λύση

ΠΡΟΓΡΑΜΜΑ Α1
ΜΕΤΑΒΛΗΤΕΣ
      ΑΚΕΡΑΙΕΣ : ποσό, α, β,γ, υ, υ1, υ2
ΑΡΧΗΔΙΑΒΑΣΕ ποσό
α <- ποσό DIV 50        !υπολογισμός 50ευρων
υ <- ποσό MOD 50
β <- υ DIV 20   ! 20ευρα
υ1 <- υ MOD 20
​γ <- υ1 DIV 10  ! 10ευρα
υ2 <- υ1 MOD 10  !υπόλοιπο ποσό
ΓΡΑΨΕ α,β,γ,υ2
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Άσκηση 8

Να μετατρέψετε τον παρακάτω αλγόριθμο απο ψευδογλώσσα σε ΓΛΩΣΣΑ:
Αλγόριθμος Α2
Διάβασε χ
υ <- χ ^ 2
Εμφάνισε υ, χ
Τέλος Α2

Λύση

ΠΡΟΓΡΑΜΜΑ Α2
ΜΕΤΑΒΛΗΤΕΣ 
ΠΡΑΓΜΑΤΙΚΕΣ: υ, χ
ΑΡΧΗ
    ΔΙΑΒΑΣΕ χ
​    υ <- χ ^ 2
    ΓΡΑΨΕ υ, χ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΠΑΡΑΤΗΡΗΣΗ: Στην ψευδογλώσσα υπάρχουν οι εντολές εξόδου Εμφάνισε, Εκτύπωσε και Γράψε, ενώ στην ΓΛΩΣΣΑ χρησιμοποιούμε μόνο την εντολή ΓΡΑΨΕ. 

Άσκηση 9

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

Λύση

ΠΡΟΓΡΑΜΜΑ Α3
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ : εκατοντάδες, δεκάδες, μονάδες, αθροισμα, γινομενο
ΑΡΧΗ
 ΓΡΑΨΕ 'ΔΩΣΕ ΕΝΑΝ ΤΡΙΨΗΦΙΟ ΑΡΙΘΜΟ'
 ΔΙΑΒΑΣΕ Αριθμός
 εκατοντάδες <- Αριθμός DIV 100
 μονάδες <- Αριθμός MOD 10
 δεκάδες <- (Αριθμός MOD 100) DIV 10
 ΓΡΑΨΕ εκατοντάδες, δεκάδες, μονάδες
 αθροισμα <- εκατοντάδες+δεκάδες+μονάδες
 ΓΡΑΨΕ 'το άθροισμα των ψηφίων είναι : ', αθροισμα
 γινομενο <- εκατοντάδες*δεκάδες*μονάδες
 ΓΡΑΨΕ 'το γινόμενο των ψηφίων είναι : ', γινομενο
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Άσκηση 10

Ένας παντρεμένος υπάλληλος έχει έναν βασικό μισθό. Παίρνει επιπλέον 35€ επίδομα γάμου και 20€ επίδομα για κάθε παιδί. Επί του βασικού μισθού έχει κρατήσεις 20% προς το ασφαλιστικό του ταμείο. Στο ποσό που απομένει μετά την αφαίρεση των ασφαλιστικών εισφορών γίνεται παρακράτηση 11% για προκαταβολή φόρου.

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

Λύση

Αλγόριθμος Αποδοχές 
Δεδομένα // μισθός, παιδιά //  

! έσοδα 
επίδομα <- 35 + παιδιά*20 
ακαθάριστα <- μισθός + επίδομα  

! έξοδα 
ασφάλεια <- μισθός* 0.2 
αποδοχέςΠροΦόρου <- ακαθάριστα - ασφάλεια 
φόρος <- αποδοχέςΠροΦόρου* 0.11 

! εκκαθάριση 
καθαρά <- ακαθάριστα - ασφάλεια - φόρος

Εμφάνισε "Ακαθάριστος Μισθός : ", ακαθάριστα 
Εμφάνισε "Κρατήσεις : ", ασφάλεια + φόρος 
Εμφάνισε "Καθαρός μισθός : ", καθαρά 
Τέλος

Άσκηση 11

Να διαβαστούν δύο πραγματικοί αριθμοί, οι οποίοι να εκχωρηθούν σε δύο μεταβλητές α και β. Στη συνέχεια να γίνει ανταλλαγή των τιμών τους. Να μην χρησιμοποιηθεί η ενσωματωμένη εντολή της ψευδογλώσσας.

Λύση

Αλγόριθμος Αντιμετάθεση
Εκτύπωσε "Δώστε τον 1ο αριθμό (α) "
Διάβασε α
Εκτύπωσε "Δώστε τον 2ο αριθμό (β) "
Διάβασε β
προσ <- α  ! ο α κρατιέται σε προσωρινή θέση μνήμης
α <-  β    ! τώρα μπορούμε να αλλάξουμε την τιμή του α
β <- προσ  ! το β πρέπει να πάρει την παλιά τιμή του α
Εκτύπωσε "α = ", α
Εκτύπωσε "β = ", β
Τέλος

Άσκηση 12

Κάποιος καταθέτης θέλει να υπολογίσει το ποσό που θα έχει στο μέλλον με βάση το ποσό που τώρα έχει αποταμιεύσει στην τράπεζα. Δίνεται ο παρακάτω τύπος υπολογισμού

Εάν το ετήσιο επιτόκιο που δίνει η τράπεζα είναι 3,5%, να γράφει αλγόριθμος που :
α) θα διαβάζει το ποσό που έχει αποταμιεύσει στην τράπεζα ο καταθέτης,
β) θα διαβάζει μετά από πόσα χρόνια θέλει να υπολογίσει το τελικό του ποσό,
γ) θα υπολογίζει το ποσό που θα έχει και θα το εμφανίζει ως εξής: «Το ποσό θα είναι….ευρώ»,
δ) θα υπολογίζει πόσα χρήματα θα κερδίσει και θα τα εμφανίζει με την μορφή : «Το κέρδος θα είναι …. ευρώ»

Λύση

Για την λύση της άσκησης θα διαβαστεί το ποσό κατάθεσης που έχει στην τράπεζα ο καταθέτης και τα χρόνια που θέλει να υπολογίσει το τελικό του ποσό. Στην συνέχεια με μια εντολή εκχώρησης θα υπολογιστεί με βάση τον τύπο που δίνεται το τελικό ποσό.

Αλγόριθμος Ευρεση_Ποσού
Επιτόκιο ← 0.035
Διάβασε ποσό, χρόνια        ! α και β ερώτημα μαζί
τελικό_ποσό ← ποσό(1 +( (επιτόκιο / 100) / 2 ) ) ^ 2 * χρόνια
κέρδος ← τελικό_ποσό – ποσό
Εμφάνισε “Το ποσό θα είναι”, τελικό_ποσό, “ευρώ”
Εμφάνισε “Το κέρδος θα είναι”, κέρδος, “ευρώ”
Τέλος Ευρεση_Ποσού

 

 

ΓΙΑ ΤΟ ΣΠΙΤΙ…

ΣΤΕΙΛΕ ΜΟΥ ΤΙΣ ΑΠΑΝΤΗΣΕΙΣ: ΕΔΩ

ΘΕΜΑΤΑ ΠΑΝΕΛΛΗΝΙΩΝ