Κυριακή 16 Μαρτίου 2014

ΛΥΣΕΙΣ 3ο ΣΕΤ ΑΣΚΗΣΕΩΝ

Αλγόριθμος ασκ1σετ3
Για i από 1 μέχρι 85
     Διάβασε κωδ[i]
Τέλος_επανάληψης
Εμφάνισε 'δώστε τον κωδικό σας'
Διάβασε κωδικός
βρέθηκε  Ψευδής
i  1
Όσο i  85 και βρέθηκε = Ψευδής επανάλαβε
       Αν κωδικός = κωδ[i] τότε
           βρέθηκε  Αληθής
           pos  i
       Τέλος_αν
       i  i + 1
Τέλος_επανάληψης
Αν βρέθηκε = Ψευδής τότε
     Εμφάνισε 'Ανύπαρκτος κωδικός, δεν επιτρέπεται η πρόσβαση'
αλλιώς
     Εμφάνισε 'Καλώς ήρθατε στο Εργαστήριο Πληροφορικής'
Τέλος_αν
Τέλος ασκ1σετ3



Αλγόριθμος ασκ2σετ3
Δεδομένα //κατ,N//
Διάβασε επωνυμία
υπάρχει  Ψευδής
i  1
Όσο i  N και υπάρχει = Ψευδής επανάλαβε
       Αν επωνυμία = κατ[i] τότε
            υπάρχει   Αληθής
       Τέλος_αν
       i  i + 1
Τέλος_επανάληψης
Αν υπάρχει = Ψευδής τότε
     Εμφάνισε 'μπορείτε να το ονομάσετε: ', επωνυμία
αλλιώς
     Εμφάνισε 'δε μπορείτε να το ονομάσετε έτσι'
Τέλος_αν
Τέλος ασκ2σετ3



Αλγόριθμος ασκ3σετ3
Για i από 1 μέχρι 24
     Διάβασε ον[i],χωρ[i],επιδ[i]
Τέλος_επανάληψης
Για i από 2 μέχρι 4    ! 3 περάσματα για τους 3 πρώτους
     Για j από 24 μέχρι i με_βήμα -1
          Αν επιδ[j-1] < επιδ[j] τότε
              Αντιμετάθεσε επιδ[j-1],επιδ[j]
              Αντιμετάθεσε ον[j-1],ον[j]
              Αντιμετάθεσε χωρ[j-1],χωρ[j]
          Τέλος_αν
     Τέλος_επανάληψης
Τέλος_επανάληψης
Για i από 1 μέχρι 3
     Εμφάνισε ον[i],χωρ[i],επιδ[i]
Τέλος_επανάληψης
Τέλος ασκ3σετ3 



Αλγόριθμος ασκ4σετ3
Δεδομένα //γκολ//
ολαγκολ  0                      !όλα τα γκολ στο πρωτάθλημα -> ερ.ΣΤ
λιγ_γκολ  10^6                  !min των γκολ μιας ομάδας -> ερ.Δ
Για i από 1 μέχρι 18
      αθρ  0                      !ερ.Α
      Για j από 1 μέχρι 34
           αθρ  αθρ + γκολ[i,j]
      Τέλος_επανάληψης
      Εμφάνισε αθρ                 !ερ.Α
      ολαγκολ  ολαγκολ + αθρ
      Αν αθρ < λιγ_γκολ τότε
          λιγ_γκολ  αθρ
          ομάδα  i
      Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε 'τα λιγότερα σε όλο το πρωτάθλημα: ', ομάδα
Εμφάνισε 'σε όλο το πρωτάθλημα: ', ολαγκολ  !ερ.ΣΤ
περγκολ  -1                                !ερ.Γ
Για j από 1 μέχρι 34
      αθρ  0                                 ! ερ.Β
      Για i από 1 μέχρι 18
           αθρ  αθρ + γκολ[i,j]
      Τέλος_επανάληψης
      Εμφάνισε αθρ                             !ερ.Β
      ολαγκολ  ολαγκολ + αθρ
      Αν αθρ > περγκολ τότε
          περγκολ  αθρ
          αγωνιστική  j
      Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε αγωνιστική                         !ερ.Γ
λιγ_γκολ  γκολ [1,1]
ομάδα  1
αγωνιστική  1
Για i από 1 μέχρι 18
     Για j από 1 μέχρι 34
          Αν γκολ[i,j] < λιγ_γκολ τότε
               λιγ_γκολ  γκολ[i,j]
               ομάδα  i
               αγωνιστική  j
          Τέλος_αν
     Τέλος_επανάληψης
Τέλος_επανάληψης
Εμφάνισε λιγ_γκολ,ομάδα,αγωνιστική
Για i από 1 μέχρι 18                         !ερ.Ζ
      flag  Ψευδής
      j  1
      Όσο j  5 και flag = Ψευδής επανάλαβε
             Αν γκολ[i,j] > ολαγκολ/(34*18) τότε
                  flag  Αληθής
                 Εμφάνισε 'η ομάδα ', i , 'είχε τέτοιο ματς'
             αλλιώς
                 j  j + 1
            Τέλος_αν
       Τέλος_επανάληψης
Τέλος_επανάληψης
Τέλος ασκ4σετ3


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


Αλγόριθμος ασκ5σετ3
Για i από 1 μέχρι 8000
    Διάβασε ΟΝΟΜΑ[i]
    Εμφάνισε 'δώσε με τη σειρά έτη, μήνες και μέρες προϋπηρεσίας'
    Διάβασε έτη , μήνες , μέρες
    ΠΡΟΫΠ[i,1]  έτη
    ΠΡΟΫΠ[i,2]  μήνες
    ΠΡΟΫΠ[i,3]  μέρες
    ΣΥΝ_ΗΜΕΡΕΣ[i]  ΠΡΟΫΠ[i,1]*365 + ΠΡΟΫΠ[i,2]*30 + ΠΡΟΫΠ[i,3]
Τέλος_επανάληψης
max  ΣΥΝ_ΗΜΕΡΕΣ[1]
onmax  ΟΝΟΜΑ[1]
min  ΣΥΝ_ΗΜΕΡΕΣ[1]
Για i από 2 μέχρι 8000
      Αν ΣΥΝ_ΗΜΕΡΕΣ[i] > max τότε
           max  ΣΥΝ_ΗΜΕΡΕΣ[i]
           onmax  ΟΝΟΜΑ[i]
      Τέλος_αν
      Αν ΣΥΝ_ΗΜΕΡΕΣ[i] < min τότε
           min  ΣΥΝ_ΗΜΕΡΕΣ[i]
      Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε onmax
Για i από 1 μέχρι 8000
     Αν ΣΥΝ_ΗΜΕΡΕΣ[i] = min τότε
         Εμφάνισε ΟΝΟΜΑ[i]
     Τέλος_αν
Τέλος_επανάληψης
Διάβασε name
found  Ψευδής
i  1
Όσο i  8000 και found = Ψευδής επανάλαβε
       Αν name = ΟΝΟΜΑ[i] τότε
           found  Αληθής
           pos  i
       αλλιώς
           i  i + 1
       Τέλος_αν
Τέλος_επανάληψης
Αν found = Αληθής τότε
     Εμφάνισε ΠΡΟΫΠ[pos,1], ΠΡΟΫΠ[pos,2], ΠΡΟΫΠ[pos,3]
αλλιώς
     Εμφάνισε 'λάθος όνομα εκπαιδευτικού'
Τέλος_αν
Για i από 2 μέχρι 8000
     Για j από 8000 μέχρι i με_βήμα -1
          Αν ΣΥΝ_ΗΜΕΡΕΣ[j-1] > ΣΥΝ_ΗΜΕΡΕΣ[j] τότε
               Αντιμετάθεσε ΣΥΝ_ΗΜΕΡΕΣ[j-1], ΣΥΝ_ΗΜΕΡΕΣ[j]
               Αντιμετάθεσε ΟΝΟΜΑ[j-1], ΟΝΟΜΑ[j]
               Για k από 1 μέχρι 3
                    Αντιμετάθεσε ΠΡΟΫΠ[k,j-1], ΠΡΟΫΠ[k,j]
               Τέλος_επανάληψης
          αλλιώς
               Αν ΣΥΝ_ΗΜΕΡΕΣ[j-1] = ΣΥΝ_ΗΜΕΡΕΣ[j] τότε
                   Αν ΟΝΟΜΑ[j-1] > ΟΝΟΜΑ[j] τότε
                        Αντιμετάθεσε ΟΝΟΜΑ[j-1], ΟΝΟΜΑ[j]
                        Για k από 1 μέχρι 3
                             Αντιμετάθεσε ΠΡΟΫΠ[k,j-1], ΠΡΟΫΠ[k,j]
                        Τέλος_επανάληψης
                   Τέλος_αν
               Τέλος_αν
           Τέλος_αν
      Τέλος_επανάληψης
Τέλος_επανάληψης
Για i από 1 μέχρι 8000
     Εμφάνισε ΣΥΝ_ΗΜΕΡΕΣ[i], ΟΝΟΜΑ[i]
Τέλος_επανάληψης
Τέλος ασκ5σετ3

! η ταξινόμηση του 2D δεν χρειάζεται και γίνεται καθαρά για να τη δουν οι μαθητές
 



Αλγόριθμος ασκ6σετ3
Για i από 1 μέχρι 16
     Διάβασε models[i]
     smod[i]  0
     Για j από 1 μέχρι 8
          σ  0
          Για k από 1 μέχρι 6
               Διάβασε βαθ
               σ  σ + βαθ
          Τέλος_επανάληψης
          ΒΑΘΜ[i,j]  σ/6
          smod[i]  smod[i] + ΒΑΘΜ[i,j]
          Εμφάνισε smod[i]
      Τέλος_επανάληψης
Τέλος_επανάληψης
Για i από 2 μέχρι 16
     Για j από 16 μέχρι i με_βήμα -1
          Αν smod[j-1] < smod[j] τότε
              Αντιμετάθεσε smod[j-1] , smod[j]
              Αντιμετάθεσε models[j-1] , models[j]
              Για k από 1 μέχρι 8
                   Αντιμετάθεσε ΒΑΘΜ[j-1,k] , ΒΑΘΜ[j,k]
             Τέλος_επανάληψης
          αλλιώς
             Αν smod[j-1] = smod[j] και ΒΑΘΜ[j-1,8] < ΒΑΘΜ[j,8] τότε
                 Αντιμετάθεσε models[j-1] , models[j]
                 Για k από 1 μέχρι 8
                      Αντιμετάθεσε ΒΑΘΜ[j-1,k] , ΒΑΘΜ[j,k]
                 Τέλος_επανάληψης
             Τέλος_αν
          Τέλος_αν
      Τέλος_επανάληψης
Τέλος_επανάληψης
Εμφάνισε 'νικήτρια: ' , models[1]
Διάβασε υποψ
βρέθηκε  Ψευδής
i  1
Όσο i  16 και βρέθηκε = Ψευδής επανάλαβε
       Αν υποψ = models[i] τότε
           βρέθηκε  Αληθής
           pos   i
      αλλιώς
           i  i + 1
      Τέλος_αν
Τέλος_επανάληψης
Αν βρέθηκε = Αληθής τότε
    max  ΒΑΘΜ[pos,1]
    roundmax  1
    min  ΒΑΘΜ[pos,1]
    roundmin  1
    Για j από 2 μέχρι 8
         Αν ΒΑΘΜ[pos,j] > max τότε
             max  ΒΑΘΜ[pos,j]
             roundmax  j
         Τέλος_αν
         Αν ΒΑΘΜ[pos,j] < min τότε
             min  ΒΑΘΜ[pos,j]
             roundmin  j
         Τέλος_αν
    Τέλος_επανάληψης
    Εμφάνισε roundmax , roundmin
αλλιώς
    Εμφάνισε 'δεν υπάρχει τέτοιο όνομα'
Τέλος_αν
max  -1                                  !για να βρω απ' όλες
Για i από 1 μέχρι 16
     max_αυξ  ΒΑΘΜ[i,2] - ΒΑΘΜ[i,1]       !ψάχνω κάθε κοπέλας αύξηση
     Για j από 3 μέχρι 8
          Αν ΒΑΘΜ[i,j] - ΒΑΘΜ[i,j-1] > max_αυξ τότε
              max_αυξ  ΒΑΘΜ[i,j] - ΒΑΘΜ[i,j-1]
          Τέλος_αν
     Τέλος_επανάληψης
     Αν max_αυξ > max τότε
          max  max_αυξ
          pos  i
    Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε model[pos]
Τέλος ασκ6σετ3
 



Αλγόριθμος ασκ7σετ3
Δεδομένα //Α,Β//
Πλ  0
x  0
Για i από 1 μέχρι 50
     found  Ψευδής
     Για j από 1 μέχρι 2000
          Αν Α[i] = Β[j] τότε
              Εκτύπωσε 'Βρέθηκε στη θέση', j
              found  Αληθής
          Τέλος_αν
     Τέλος_επανάληψης
     Αν found = Αληθής τότε
         Πλ  Πλ + 1
     αλλιώς                                          ! Δημιουργία νέου πίνακα
         x  x + 1
        ΠΙΝ[x]  A[i]
     Τέλος_αν
Τέλος_επανάληψης
Εκτύπωσε 'Ποσοστό βρεθέντων στοιχείων', Πλ/50*100 , '%'
Αν x  0 τότε
    Εκτύπωσε 'οι παρακάτω τιμές δεν υπάρχουν στον Β:'
    Για i από 1 μέχρι x
         Εκτύπωσε ΠΙΝ[i]
    Τέλος_επανάληψης
αλλιώς
    Εκτύπωσε 'όλα τα στοιχεία του Α υπάρχουν στον Β'

Τέλος_αν
Τέλος ασκ7σετ3

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

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