Ανάπτυξη Εφαρμογών - Παράγραφοι μαθήματος

Κεφ 3/9 : Μονοδιάστατοι πίνακες - Ανάπτυξη αλγορίθμων

Ασκήσεις

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

Αλγόριθμος Εκλογές
   !Αποθήκευση των δεδομένων σε πίνακες
   Για Ι από 1 μέχρι 12
      Διάβασε Κ[Ι], Ψ[Ι]

  Τέλος_επανάληψης
  !Εύρεση συνολικών ψήφων

  Σ ? 0
  Για Ι από 1 μέχρι 12
     Σ ? Σ + Ψ[Ι]
  Τέλος_επανάληψης
  !Υπολογισμός ποσοστών - εμφάνιση & αποθήκευση σε πίνακα 
  Για Ι από 1 μέχρι 12
    Π[Ι] ?
Ψ[Ι] / Σ * 100
    Εμφάνισε Κ[Ι], Π[Ι]
  
  Τέλος_επανάληψης
  !Εύρεση κόμματος με το μεγαλύτερο ποσοστό
  Μεγ ? Π[1]
  ΘΜεγ <- 1         
  Για Ι από 1 μέχρι 12
    Αν Π[Ι] > Μεγ τότε
       Μεγ ? Π[Ι]  
       ΘΜεγ <- Ι

    Τέλος_Αν
  Τέλος_επανάληψης
  Εμφάνισε
"Κόμμα με μεγαλύτερο ποσοστό:", Κ[ΘΜεγ]
Τέλος Εκλογές

2.  Σε μια επιχείρηση λειτουργούν 5 διαφορετικά τμήματα με 350 υπαλλήλους συνολικά. Να γράψετε αλγόριθμο ο οποίος :
α) εκχωρεί σε πίνακες το ονοματεπώνυμο, το τμήμα (1 ως 5) και το μισθό κάθε υπαλλήλου,
β) βρίσκει και εμφανίζει το ονοματεπώνυμο του υπαλλήλου με το μεγαλύτερο μισθό σε κάθε τμήμα ξεχωριστά και
γ) βρίσκει το ποσοστό των «χαμηλόμισθων» υπαλλήλων (μισθός < 900 ?) σε κάθε τμήμα και εμφανίζει τον αριθμό του τμήματος και το ποσοστό.

Αλγόριθμος Τμήματα
  !Εισαγωγή δεδομένων σε πίνακες
  Για Ι από 1 μέχρι 350
     Διάβασε ΟΝ[Ι], Τ[Ι], Μ[Ι]

  Τέλος_επανάληψης
  !Εύρεση μέγιστου σε κάθε τμήμα. Επομένως βρίσκουμε 5 μέγιστα.
  Για ΤΜΗΜΑ από 1 μέχρι 5
     Max ? 0
     ΘMax ? 0
     Για Ι από 1 μέχρι 350
         Αν T[Ι] = TMHMA τότε
             Αν M[Ι] > Max τότε
                 Max ? M[I]
                 ΘMax ? I
            Τέλος_Αν
        Τέλος_Αν

     Τέλος_επανάληψης
     Εμφάνισε "Τμήμα:", Τμήμα, "Υπάλληλος:", ΟΝ[ΘMax]    
  Τέλος_επανάληψης
  !Εύρεση ποσοστού σε κάθε τμήμα.
  Για ΤΜΗΜΑ από 1 μέχρι 5
     !Πλήθος υπαλλήλων του τμήματος
     Ν ? 0
    !Πλήθος χαμηλόμισθων υπαλλήλων του τμήματος
    ΝΧΑΜ ? 0
    Για Ι από 1 μέχρι 350
       Αν T[Ι] = TMHMA τότε
           Ν ? Ν + 1
           Αν M[Ι] < 900 Max τότε
               ΝΧΑΜ ? ΝΧΑΜ + 1
           Τέλος_Αν
       Τέλος_Αν

    Τέλος_επανάληψης
    ΠΟΣΟΣΤΟ ? ΝΧΑΜ / Ν * 100
    Εμφάνισε "Τμήμα:", Τμήμα, "Ποσοστό χαμηλόμισθων:", ΠΟΣΟΣΤΟ, "%"    
  Τέλος_επανάληψης
Τέλος Τμήματα

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

Αλγόριθμος Μετοχές
  Για Ι από 1 μέχρι 25
     Εμφάνισε "Δώσε τιμή κλεισίματος:"
     Διάβασε ΤΚ[Ι]
  Τέλος_επανάληψης
  !Εκχώρηση στον πίνακα 24 μεταβολών
  Για Ι από 2 μέχρι 25
     Δ[Ι] ? (ΤΚ[Ι]-ΤΚ[Ι-1])/ΤΚ[Ι-1]*100
  Τέλος_επανάληψης
  !Εύρεση μέγιστου - ελάχιστου
  Max ? Δ [2]
  Θmax ? 2
  Min ? Δ[2]
  Θmin ? 2
  Για Ι από 3 μέχρι 25
     Αν Δ[Ι] > Max τότε
        Max ? Δ[Ι]
        Θmax ? Ι 
     Τέλος_αν
     Αν
Δ[Ι] < Min τότε
        Min ? Δ[Ι]
       Θmin ? Ι
     Τέλος_αν
  Τέλος_επανάληψης
  Εμφάνισε
"Μεγαλύτερη άνοδος:", Θmax
  Εμφάνισε "Μεγαλύτερη πτώση :", Θmin
Τέλος Μετοχές

4.  Μία πολυκατοικία αποτελείται από 12 ορόφους. Η τιμή του τετραγωνικού στον 1ο όροφο είναι 1,000 Ευρώ και σε κάθε όροφο αυξάνεται κατά 30 Ευρώ. Να γράψετε αλγόριθμο ο οποίος :
α) αποθηκεύει σε πίνακα την τιμή του τετραγωνικού κάθε ορόφου,
β) διαβάζει τα τετραγωνικά ενός διαμερίσματος και τον όροφο και υπολογίζει και εμφανίζει την αξία του,
γ) αν οι τιμές αυξηθούν κατά 10%, υπολογίζει τις νέες τιμές, για κάθε όροφο και
δ) διαβάζει το ποσό Π που διαθέτει ένας υποψήφιος αγοραστής για ένα διαμέρισμα 110 τετραγωνικών και εμφανίζει τον υψηλότερο όροφο στον οποίο μπορεί ν' αγοράσει διαμέρισμα.

Αλγόριθμος Πολυκατοικία
  !Εισαγωγή τιμών στον πίνακα
  Τ[1] ? 1000
  Για Ι από 2 μέχρι 12
    Τ[Ι] ? Τ[Ι-1] + 30
  Τέλος_επανάληψης
  Εμφάνισε "Δώσε τετραγωνικά και όροφο :"    
  
Διάβασε ΤΕΤΡ, ΟΡΟΦΟΣ
  ΑΞΙΑ ? ΤΕΤΡ * Τ[ΟΡΟΦΟΣ]
  Εμφάνισε "Η αξία του διαμερίσματος είναι :", ΑΞΙΑ     
  !Αυξάνουμε τα στοιχεία του πίνακα κατά 10%.
  Για Ι από 1 μέχρι 12
    Τ[Ι] ? Τ[Ι] + Τ[Ι] * 10 / 100
  Τέλος_επανάληψης
  Εμφάνισε "Δώσε ποσό :"
  Διάβασε Π
  !Βρίσκουμε το ποσό για ένα τετραγωνικό.
  Π1 ? Π / 110
  !Ελέγχουμε για πόσους ορόφους το Π1 είναι μεγαλύτερο ή ίσο της τιμής ορόφου.
  Ι ? 1
  ΜεγΌροφος ? 0
  Όσο (Ι <= 12) ΚΑΙ (Π1 >= Τ[Ι]) επανάλαβε
    ΜεγΌροφος ? Ι
    Ι ? Ι + 1
  Τέλος_επανάληψης
  Αν ΜεγΌροφος = 0 τότε
    Εμφάνισε "Δυστυχώς, δεν αγοράζετε διαμέρισμα σε κανένα όροφο."    
  Αλλιώς
    Εμφάνισε "Αγοράζετε διαμέρισμα μέχρι τον ", ΜεγΌροφος," όροφο."    
  Τέλος_αν
Τέλος Πολυκατοικία

5.  Μία εταιρεία έχει δώσει σε κάθε υπάλληλό της ένα 6ψήφιο κωδικό για να μπαίνει στο Internet από τον υπολογιστή του γραφείου του. Ο κωδικός είναι έγκυρος όταν ικανοποιεί την παρακάτω συνθήκη :
Αν τα ψηφία του κωδικού είναι : Ψ1 Ψ2 Ψ3 Ψ4 Ψ5 Ψ6 , υπολογίζεται το Σ από τη σχέση :
Σ = Ψ1*16+Ψ2*8+Ψ3*4+Ψ4*2+Ψ5*1
Το 6ο ψηφίο που έχει εισαχθεί πρέπει να ικανοποιεί τη σχέση :
Ψ6 = Σ υπόλοιπο 11, αν Υπόλοιπο = 10, τότε Υπόλοιπο = 0

Να γράψετε αλγόριθμο ο οποίος :
α) διαβάζει τα 6 ψηφία του κωδικού και τ' αποθηκεύει σε μονοδιάστατο πίνακα,
β) υπολογίζει το άθροισμα Σ και το υπόλοιπο της διαίρεσης του Σ δια 11,
γ) Εμφανίζει το μήνυμα «ΣΩΣΤΟΣ ΚΩΔΙΚΟΣ» αν το υπόλοιπο είναι ίσο με το Ψ6, διαφορετικά το μήνυμα «ΛΑΘΟΣ ΚΩΔΙΚΟΣ».

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

7.  Στην αρχή της χρονιάς οι 80 μαθητές της Γ? Λυκείου καλούνται ν? αποφασίσουν ποια κατεύθυνση θ? ακολουθήσουν (1=Θετική, 2=Θεωρητική,  3=Τεχνολογική). Να αναπτύξετε αλγόριθμο ο οποίος :
α) διαβάζει το όνομα καθενός μαθητή, την κατεύθυνση που θ? ακολουθήσει και το βαθμό προαγωγής από τη Β? Λυκείου και αποθηκεύει τα στοιχεία σε πίνακες,
β) υπολογίζει και εμφανίζει τη μέση βαθμολογία των μαθητών της Θετικής κατεύθυνσης,  
γ) βρίσκει και εμφανίζει το μαθητή της Θεωρητικής κατεύθυνσης με το μεγαλύτερο βαθμό και
δ) υπολογίζει και εμφανίζει για κάθε κατεύθυνση το ποσοστό των αριστούχων μαθητών που την επέλεξαν (μ.ο ? 18).

8.  Σε ένα μάθημα μιας πανεπιστημιακής σχολής εξετάστηκαν 100 φοιτητές. Να γράψετε αλγόριθμο που : α) διαβάζει τους βαθμούς των 100 φοιτητών ελέγχοντας την ορθή εισαγωγή τους (από 1 ως 10), β) αποθηκεύει σε ένα μονοδιάστατο πίνακα τη συχνότητα ?ε την οποία εμφανίζονται οι βαθμοί (δηλ. πόσοι φοιτητές βαθμολογήθηκαν με 1, 2, ?. , 10), γ) βρίσκει και εμφανίζει το βαθμό με τη μεγαλύτερη συχνότητα, δ) υπολογίζει και εμφανίζει τον αριθμό των φοιτητών που έχουν εξεταστεί επιτυχώς στο μάθημα (δηλ. έχουν βαθμό ? 5).

9.  Ένας πίνακας Α[ν] λέγεται «συμμετρικός» όταν το 1ο στοιχείο (Α[1]) είναι ίσο με το τελευταίο (Α[ν]), το 2ο (Α[2]) με το προτελευταίο (Α[ν-1]) κ.ο.κ. Να γράψετε αλγόριθμο οποίος να ελέγχει αν ένας πίνακας Α[ν] είναι συμμετρικός ή όχι.

 ! 1η λύση : μετράμε το πλήθος των ίσων στοιχείων

Αλγόριθμος Συμμετρικός_πίνακας
   Ίσα_στοιχεία ? 0
   ! Ελέγχουμε τον πίνακα μέχρι τη μέση
   Για Ι από 1 μέχρι (ν DIV 2)
     Αν Α[Ι] = A[ν+1-Ι] τότε
 
      Ίσα_στοιχεία ?  Ίσα_στοιχεία + 1
     Τέλος_αν
 
  Τέλος_επανάληψης
 
  Αν Ίσα_στοιχεία = (ν DIV 2) τότε
 
    Εμφάνισε "Ο πίνακας είναι συμμετρικός."
   Αλλιώς
 
    Εμφάνισε "Ο πίνακας δεν είναι συμμετρικός."
   Τέλος_αν
Τέλος  

! 2η λύση : με τη βοήθεια λογικής μεταβλητής

  ! Αρχικά θεωρούμε ότι ο πίνακας είναι συμμετρικός
   Συμμετρικός ? Αληθής
   Για Ι από 1 μέχρι (ν DIV 2)
     Αν Α[Ι] <> A[ν+1-Ι] τότε
 
        Συμμετρικός ? Ψευδής
     Τέλος_αν
 
  Τέλος_επανάληψης
 
  Αν  Συμμετρικός = Αληθής τότε
 
  ... ...

| Εκτύπωση | Ηλεκτρονικό ταχυδρομείο

white_locked.png

On line

Αυτήν τη στιγμή επισκέπτονται τον ιστότοπό μας 3 επισκέπτες και κανένα μέλος

white_user.png

Επισκέπτες

2.png7.png7.png4.png7.png
Σήμερα25
Χθες45
Εβδομάδα143
Μήνας404
Συνολικά27747