Παρασκευή 28 Μαρτίου 2014

ΑΣΚ 59-61Φ

Άσκηση 59.


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

                      i.   θα διαβάζει για κάθε αθλητή το όνομα και την επίδοση του.
                    ii.   θα ταξινομεί τους αθλητές ως προς την επίδοση τους.
                  iii.   θα εμφανίζει τα ονόματα και τις επιδό­σεις των τριών πρώτων αθλητών, αρχίζο­ντας από εκείνον με την καλύτερη επίδοση.
                   iv.   θα εμφανίζει τα ονόματα και τις επιδό­σεις των πέντε τελευταίων αθλητών, αρχίζο­ντας από εκείνον με την καλύτερη επίδοση.
Σημείωση: Να θεωρήσετε ότι δεν υπάρ­χουν αθλητές με την ίδια ακριβώς επίδοση.
(Εξετάσεις 2004)
Άσκηση 60.
Κατά τη διάρκεια πρωταθλήματος Basket μια ομάδα που αποτελείται από δώδεκα (12) παίκτες έδωσε είκοσι έξι (26) αγώ­νες, στους οποίους συμμετείχαν όλοι οι παί­κτες. Να αναπτύξετε αλγόριθμο ο οποίος:
                      i.   θα διαβάζει τα ονόματα των παικτών και θα τα αποθηκεύει σε μονοδιάστατο πίνακα.
                    ii.   θα διαβάζει τους πόντους που σημείωσε κάθε παίκτης σε κάθε αγώνα και θα τους αποθηκεύει σε πίνακα δύο διαστάσεων.
                  iii.   θα υπολογίζει για κάθε παίκτη τον συνο­λικό αριθμό πόντων του σε όλους τους αγώ­νες και τον μέσο όρο πόντων ανά αγώνα.
                   iv.   θα εκτυπώνει τα ονόματα των παικτών της ομάδας και τον μέσο όρο πόντων του κάθε παίκτη, ταξινομημένα με βάση τον μέ­σο όρο τους κατά φθίνουσα σειρά.
Παρατήρηση: Σε περίπτωση ισοβαθμίας, δεν μας ενδιαφέρει η σχετική σειρά των παι­κτών.                             
(Εξετάσεις 2003)
Άσκηση 61.
Σε ένα εσπερινό γυμνάσιο φοιτούν 80 μαθητές. Να γράψετε αλγόριθμο ο οποίος:
                      i.   διαβάζει για κάθε μαθητή το ονοματε­πώνυμο του, την τάξη του και τον τελικό βαθμό του και τα καταχωρεί σε μονοδιά­στατους πίνακες, ελέγχοντας την ορθότητα εισαγωγής των δεδομένων σύμφωνα με τα παρακάτω:
a.    Οι τάξεις είναι Α ή Β ή Γ.
b.    Ο τελικός βαθμός είναι από 1 μέχρι και 20.
                    ii.   εμφανίζει τα ονόματα των μαθητών της Β' τάξης που έχουν τελικό βαθμό μεγαλύτε­ρο ή ίσο του 18,5.
                  iii.   υπολογίζει και εμφανίζει το πλήθος των μαθητών κάθε τάξης.
                   iv.   υπολογίζει και εμφανίζει τον μέσο όρο των τελικών βαθμών των μαθητών της Γ' Τάξης.
                     v.   εμφανίζει ταξινομημένα κατά αλφαβητική σειρά τα ονοματεπώνυμα και τους αντίστοιχους τελικούς βαθμούς των μαθητών της Α' Τάξης.                    
(Εξετάσεις 2006)

Αλγόριθμος ασκ59
Για i από 1 μέχρι 
20
     Διάβασε Ο[i], ΕΠ[i
]
Τέλος_επανάληψης
Για i από 2 μέχρι 20
      Για j από 20 μέχρι i με_βήμα -
1
            Αν ΕΠ[j-1] < [j] 
τότε                 
                 Αντιμετάθεσε (ΕΠ[J-1], ΕΠ[J])                 
                 Αντιμετάθεσε (O[J-1], O[J])            
            Τέλος_αν       
      Τέλος_επανάληψης
Τέλος_επανάληψης
Για i από 1 μέχρι 3
      Εμφάνισε Ο[i], ΕΠ[i
]
Τέλος_επανάληψης
Για i από 20 μέχρι 16 με_βήμα -1
      Εμφάνισε Ο[i], ΕΠ[i
]
Τέλος_επανάληψης
Τέλος ασκ59



Αλγόριθμος ασκ60
Για i από 1 μέχρι 
12
     Διάβασε όνομα[i
]      
     Για j από 1 μέχρι 26
          Διάβασε πόντοι[i,j
]      
     Τέλος_επανάληψης
Τέλος_επανάληψης
Για i από 1 μέχρι 12
     sum  
0
     Για j από 1 μέχρι 
26
           sum  sum + πόντοι[i,j
]     
     Τέλος_επανάληψης      
     ΜΟ[i]  sum/26
Τέλος_επανάληψης
Για i από 2 μέχρι 12
      Για j από 12 μέχρι i με_βήμα -
1
            Αν ΜΟ[j-1] < ΜΟ[j] 
τότε                 
                 Αντιμετάθεσε (ΜΟ[j], ΜΟ[j-1])                
                 Αντιμετάθεσε (όνομα[j], όνομα[j-1])            
            Τέλος_αν      
       Τέλος_επανάληψης
Τέλος_επανάληψης
Για i από 1 μέχρι 12
      Eκτύπωσε όνομα[i], ΜΟ[i
]
Τέλος_επανάληψης
Τέλος ασκ60


Αλγόριθμος ασκ61
Για i από 1 μέχρι 
80
     Διάβασε Ο[i
]     
     Αρχή_επανάληψης             
             Διάβασε Τ[i]     
     Μέχρις_ότου Τ[i] = 'Α' ή Τ[i] = 'Β' Ή Τ[i] = 'Γ'
    
Αρχή_επανάληψης             
             Διάβασε Β[i]     
     Μέχρις_ότου Β[i] >= 1 ΚΑΙ Β[i] <=20
Τέλος_επανάληψης   0
  
0
 
0
Σ  
0
Για i από 1 μέχρι 
80
     Αν Τ[i] = 'Β' 
τότε          
          Αν Β[i] >= 18.5 τότε                
               Εμφάνισε Ο[i]          
          Τέλος_αν          
          MΒ ← MΒ +1
     Αλλιώς_αν Τ[i] = 'Α' 
τότε           
          MΑ ← MΑ +1
    
Αλλιώς           
          MΓ ← MΓ + 1
          Σ ← Σ+ Β[i
]     
     Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε MΑ, MΒ, MΓ
Αν MΓ<>0 
τότε     
     ΜΟ_Γ ← Σ/MΓ
     Εμφάνισε ΜΟ, 
'Γ τάξης'
αλλιώς     
     Εμφάνισε 'ΚΑΝΕΙΣ ΣΤΗ Γ'
Τέλος_αν
Για i από 2 μέχρι 80
      Για j από 80 μέχρι i με_βήμα -
1
            Αν Ο[j-1] > Ο[j] 
τότε                 
                 temp1 ← Τ[j-1]                 
                 Τ[j-1] ← Τ[j]                 
                 Τ[j] ← temp1
                 temp2 ← Ο[j-1
]                 
                 Ο[j-1] ← Ο[j]                  
                 Ο[j] ← temp2
                 temp3 ← Β[j-1
]                  
                 Β[j-1] ← Β[j]                 
                 Β[j] ← temp3
             
Τέλος_αν        
        Τέλος_επανάληψης
Τέλος_επανάληψης
Για j από 1 μέχρι 80
      Αν Τ[i] = 'A' 
τότε           
           Εμφάνισε Ο[i], Β[i]      
      Τέλος_αν
Τέλος_επανάληψης
Τέλος ασκ61

 

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου