Σάββατο 28 Φεβρουαρίου 2015

ΛΥΣΕΙΣ 9ης ΕΡΓΑΣΙΑΣ

Αλγόριθμος ασκ1
Για i από 1 μέχρι 250000 ! έστω 1,2,3,4,5 οι απαντήσεις
        Διάβασε ΑΠ[i]
Τέλος_επανάληψης
πλ1  0
πλ2  0
πλ3  0
πλ4  0
πλ5  0
Για i από 1 μέχρι 250000
       Αν ΑΠ[i] = 1 τότε
             πλ1  πλ1 + 1
       αλλιώς_αν ΑΠ[i] = 2 τότε
             πλ2  πλ2 + 1
       αλλιώς_αν ΑΠ[i] = 3 τότε
             πλ3  πλ3 + 1
       αλλιώς_αν ΑΠ[i] = 4 τότε
             πλ4  πλ4 + 1
       αλλιώς
             πλ5  πλ5 + 1
       Τέλος_αν
Τέλος_επανάληψης

ποσ[1]  πλ1/2500
ποσ[2]  πλ2/2500
ποσ[3]  πλ3/2500
ποσ[4]  πλ4/2500
ποσ[5]  πλ5/2500
Για i από 2 μέχρι 250000
        Για j από 250000 μέχρι i με_βήμα -1
               Αν ποσ[j-1] < ποσ[j] τότε
                     Αντιμετάθεσε ποσ[j-1], ποσ[j]
               Τέλος_αν
        Τέλος_επανάληψης
Τέλος_επανάληψης
Για
 i από 1 μέχρι 5
       Εμφάνισε ποσ[i]
Τέλος_επανάληψης
Τέλος
 ασκ1


-----------------------------------------------------------------------------------------------------------

Αλγόριθμος ασκ2
Δεδομένα // ΟΝ, ΗΜΕΡ_ΓΕΝ, ΣΩΜΑ_ΚΑΤ //
Πλ  3000
Διάβασε όν1
βρέθηκε  ψευδής
θέση  0
i  1

Όσο i <= 3000 και βρέθηκε = ψευδής  επανάλαβε
         Αν ΟΝ[i] = όν1 τότε
               βρέθηκε  αληθής
               θέση  i
         Αλλιώς
                i  i + 1
         Τέλος_αν

Τέλος_επανάληψης
Αν
 βρέθηκε = αληθής τότε
      Εκτύπωσε "Ημερομηνία γέννησης:", ΗΜΕΡ_ΓΕΝ[θέση], " και σώμα κατάταξης:", ΣΩΜΑ_ΚΑΤ[θέση]
Αλλιώς
      Εκτύπωσε "Δεν υπάρχει νέος με αυτό το όνομα"
Τέλος_αν
Για
 i από 2 μέχρι Πλ
       Για j από Πλ μέχρι i με_βήμα -1
             Αν ΟΝ[j-1] > ΟΝ[j] τότε
                   βοηθ  ΟΝ[j-1]
                   ΟΝ[j-1]  ΟΝ[j]
                   ΟΝ[j]  βοηθ
                   βοηθ1  ΗΜΕΡ_ΓΕΝ[j-1]
                   ΗΜΕΡ_ΓΕΝ[j-1]  ΗΜΕΡ_ΓΕΝ[j]
                   ΗΜΕΡ_ΓΕΝ[j]  βοηθ1
                   βοηθ2  ΣΩΜΑ_ΚΑΤ[j-1]
                   ΣΩΜΑ_ΚΑΤ[j-1]  ΣΩΜΑ_ΚΑΤ[j]
                   ΣΩΜΑ_ΚΑΤ[j]  βοηθ2
             Τέλος_αν
      Τέλος_Επανάληψης
Τέλος_Επανάληψης
Εκτύπωσε
 "Ακολουθούν όσοι επέλεξαν στρατό ξηράς"
Για i από 1 μέχρι Πλ
       Αν ΣΩΜΑ_ΚΑΤ[i] = "στρατός ξηράς" τότε
              Εκτύπωσε ΟΝ[i], ΗΜΕΡ_ΓΕΝ[i]
       Τέλος_αν
Τέλος_Επανάληψης

Εκτύπωσε "Ακολουθούν όσοι επέλεξαν ναυτικό"
Για i από 1 μέχρι Πλ
       Αν  ΣΩΜΑ_ΚΑΤ[i] = "ναυτικό"  τότε
             Εκτύπωσε ΟΝ[i], ΗΜΕΡ_ΓΕΝ[i]
       Τέλος_αν
Τέλος_Επανάληψης
Εκτύπωσε
 "Ακολουθούν όσοι επέλεξαν αεροπορία"
Για i από 1 μέχρι Πλ
      Αν  ΣΩΜΑ_ΚΑΤ[i] = "αεροπορία"  τότε
            Εκτύπωσε ΟΝ[i], ΗΜΕΡ_ΓΕΝ[i]
      Τέλος_αν
Τέλος_Επανάληψης
Τέλος
 ασκ2


-----------------------------------------------------------------------------------------------------------

Αλγόριθμος ασκ3
Δεδομένα //ΟΝΟΜΑ, ΠΟΛΗ, ΧΩΡΗΤΙΚΟΤΗΤΑ, Ν//
συνχωρ  0
Για i από 1 μέχρι Ν
        συνχωρ  συνχωρ + ΧΩΡΗΤΙΚΟΤΗΤΑ[i]
Τέλος_επανάληψης
Εκτύπωσε
 συνχωρ

Διάβασε oν1
 Για i από 1 μέχρι Ν
        Αν ΟΝΟΜΑ[i] = ον1 τότε
               Εκτύπωσε ΠΟΛΗ[i]
        Τέλος_αν
Τέλος_επανάληψης
Για
 i από 2 μέχρι Ν
        Για j από Ν μέχρι i με_βήμα -1
               Αν ΟΝΟΜΑ[j-1] > ΟΝΟΜΑ[j] τότε
                      Αντιμετάθεσε ΟΝΟΜΑ[j-1], ΟΝΟΜΑ[j]
                      Αντιμετάθεσε ΠΟΛΗ[j-1], ΠΟΛΗ[j]
                      Αντιμετάθεσε ΧΩΡΗΤΙΚΟΤΗΤΑ[j-1], ΧΩΡΗΤΙΚΟΤΗΤΑ[j]
               αλλιώς
                      Αν ΟΝΟΜΑ[j-1] = ΟΝΟΜΑ[j] τότε
                            Αν ΠΟΛΗ[j-1] > ΠΟΛΗ[j] τότε
                                  Αντιμετάθεσε ΠΟΛΗ[j-1], ΠΟΛΗ[j]
                                  Αντιμετάθεσε ΧΩΡΗΤΙΚΟΤΗΤΑ[j-1], ΧΩΡΗΤΙΚΟΤΗΤΑ[j]
                            Τέλος_αν
                      Τέλος_αν
               Τέλος_αν
         Τέλος_επανάληψης
Τέλος_επανάληψης
Για i από 1 μέχρι Ν
        Εκτύπωσε ΟΝΟΜΑ[i]
Τέλος_επανάληψης
Τέλος
 ασκ3


-----------------------------------------------------------------------------------------------------------

Αλγόριθμος ασκ4
Δεδομένα // N //
Για i από 1 μέχρι N
       Διάβασε ΧΩΡΙΟ[i], ΝΟΜΟΣ[i]
Τέλος_επανάληψης
Για 
i από 2 μέχρι Ν
        Για j από Ν μέχρι i με_βήμα -1
               Αν ΧΩΡΙΟ[j-1] > ΧΩΡΙΟ[j] τότε
                      Αντιμετάθεσε ΧΩΡΙΟ[j-1], ΧΩΡΙΟ[j]
                      Αντιμετάθεσε ΝΟΜΟΣ[j-1], ΝΟΜΟΣ[j]
               αλλιώς
                      Αν ΧΩΡΙΟ[j-1] = ΧΩΡΙΟ[j] τότε
                            Αν ΝΟΜΟΣ[j-1] > ΝΟΜΟΣ[j] τότε
                                   Αντιμετάθεσε ΝΟΜΟΣ[j-1], ΝΟΜΟΣ[j]
                            Τέλος_αν
                      Τέλος_αν
               Τέλος_αν
         Τέλος_επανάληψης
Τέλος_επανάληψης
Για
 i από 1 μέχρι N
        Εκτύπωσε ΧΩΡΙΟ[i], ΝΟΜΟΣ[i]
Τέλος_επανάληψης
Διάβασε
 village
M  0
Για i από 1 μέχρι N
        Αν ΧΩΡΙΟ[i] = village τότε
               M  M + 1
        Τέλος_αν
Τέλος_επανάληψης
Εκτύπωσε
 'το χωριό', village, 'υπάρχει', M, 'φορές'
Τέλος ασκ4


-----------------------------------------------------------------------------------------------------------

Αλγόριθμος ασκ5
Για i από 1 μέχρι 30
       Αρχή_επανάληψης
                  Διάβασε ρυπ[i]
       Μέχρις_ότου ρυπ[i]  0 και ρυπ[i]  10
Τέλος_επανάληψης
πλ  0
Για i από 2 μέχρι 29
        Αν ρυπ[i] > ρυπ[i-1] και ρυπ[i] > ρυπ[i+1] τότε
              πλ  πλ + 1
              Εκτύπωσε i
        Τέλος_αν
Τέλος_επανάληψης
Εκτύπωσε πλ
Για i από 1 μέχρι 29
        Αν (ρυπ[i+1] - ρυπ[i])/ρυπ[i]*100 > 15 τότε
              Εκτύπωσε i
        Τέλος_αν
Τέλος_επανάληψης

μεγ_ρυθμός  (ρυπ[2]-ρυπ[1])/ρυπ[1]*100
μέρα  2
Για i από 2 μέχρι 29
        Αν (ρυπ[i+1] - ρυπ[i])/ρυπ[i]*100 > μεγ_ρυθμός τότε
              μεγ_ρυθμός  (ρυπ[i+1] - ρυπ[i])/ρυπ[i]*100
              μέρα  i+1
        Τέλος_αν
Τέλος_επανάληψης
Εκτύπωσε
 μεγ_ρυθμός, μέρα
Τέλος ασκ5


-----------------------------------------------------------------------------------------------------------

Αλγόριθμος ασκ6
Αρχή_επανάληψης
           Διάβασε Ν
Μέχρις_ότου Ν > 0
πλ_λαθ  0
αθρ  0
Για i από 1 μέχρι Ν
        Διάβασε ΟΝ[i]
        Αρχή_επανάληψης
                   Διάβασε ΒΑΘ[i]
                   Αν ΒΑΘ[i] < 0 ή  ΒΑΘ[i] > 20 τότε
                          πλ_λαθ  πλ_λαθ + 1
                   Τέλος_αν
        Μέχρις_ότου ΒΑΘ[i]  0 και ΒΑΘ[i]  20
        αθρ  αθρ + ΒΑΘ[i]
Τέλος_επανάληψης
Εκτύπωσε πλ_λαθ, αθρ/Ν
πιο_κοντά  Α_Τ(ΒΑΘ[1]-αθρ/Ν)
Για i από 2 μέχρι Ν
        Αν Α_Τ(ΒΑΘ[i]-αθρ/Ν) < πιο_κοντά τότε
              πιο_κοντά  Α_Τ(ΒΑΘ[i]-αθρ/Ν)
        Τέλος_αν
Τέλος_επανάληψης
Για i από 1 μέχρι Ν
        Αν Α_Τ(ΒΑΘ[i]-αθρ/Ν) = πιο_κοντά τότε
              Εκτύπωσε ΟΝ[i]
        Τέλος_αν
Τέλος_επανάληψης
Τέλος
 ασκ6


-----------------------------------------------------------------------------------------------------------

Αλγόριθμος ασκ7
Δεδομένα //ΟΝΟΜΑ, ΠΟΣΟ//
πλ0  0
Για i από 1 μέχρι 25
        Αν ΠΟΣΟ[i] = 0 τότε
              πλ0  πλ0 + 1
              Εκτύπωσε ΟΝΟΜΑ[i]
        Τέλος_αν
Τέλος_επανάληψης
Εκτύπωσε πλ0
Αρχή_επανάληψης
           Διάβασε αρ
Μέχρις_ότου αρ  1 και αρ  25
Εκτύπωσε ΠΟΣΟ[αρ]
Διάβασε ον
ένοικος  Ψευδής
i  1
Όσο i  25 και ένοικος = Ψευδής επανάλαβε
         Αν ΟΝΟΜΑ[i] = ον τότε
               ένοικος  Αληθής
               Εκτύπωσε ΠΟΣΟ[i]
         αλλιώς
                i  i + 1
         Τέλος_αν
Τέλος_επανάληψης
Αν ένοικος = Ψευδής τότε
      Εκτύπωσε 'δεν υπάρχει'
Τέλος_αν
Τέλος 
ασκ7


-----------------------------------------------------------------------------------------------------------

Αλγόριθμος ασκ8
πλθετ  0
πλαρν  0
πλ  0
Διάβασε αρ
Όσο πλ  30 και αρ  0 επανάλαβε
          Αν αρ > 0 τότε
                πλθετ  πλθετ + 1
                ΘΕΤ[πλθετ]  αρ
         αλλιώς
               πλαρν  πλαρν + 1
               ΑΡΝ[πλαρν]  αρ
        Τέλος_αν
        Διάβασε αρ
Τέλος_επανάληψης
Αν πλθετ > 0 τότε
       αθρ  0
       Για i από 1 μέχρι πλθετ
               αθρ  αθρ + ΘΕΤ[i]
       Τέλος_επανάληψης
       Εκτύπωσε αθρ/πλθετ
αλλιώς
       Εκτύπωσε 'δε δόθηκαν θετικοί'
Τέλος_αν
Αν πλαρν > 0 τότε
       αθρ  0
       Για i από 1 μέχρι πλαρν
               αθρ  αθρ + ΑΡΝ[i]
       Τέλος_επανάληψης
       Εκτύπωσε αθρ/πλαρν
αλλιώς
       Εκτύπωσε 'δε δόθηκαν αρνητικοί'
Τέλος_αν
Τέλος ασκ8


-----------------------------------------------------------------------------------------------------------

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

maxcode  κωδ[1]
mincode  κωδ[1]
maxprice  τιμη[1]
minprice  τιμη[1]
Για i από 2 μέχρι N
        Αν κωδ[i] > maxcode τότε
               maxcode  κωδ[i]
        αλλιώς
               Αν κωδ[i] < mincode τότε
                     mincode  κωδ[i]
               Τέλος_αν
        Τέλος_αν

         Αν τιμη[i] > maxprice τότε
                maxprice  τιμη[i]
         αλλιώς
                Αν τιμη[i] < minprice τότε
                       minprice  τιμη[i]
                Τέλος_αν
         Τέλος_αν
Τέλος_επανάληψης

Για i από 1 μέχρι N
        Αν κωδ[i] = maxcode τότε
              Εμφάνισε ον[i],κωδ[i],τιμη[i]
       Τέλος_αν
       Αν
 κωδ[i] = mincode τότε
              Εμφάνισε ον[i],κωδ[i],τιμη[i]
       Τέλος_αν
Τέλος_επανάληψης
Για
 i από 1 μέχρι N
       Αν τιμη[i] = maxprice τότε
              Εμφάνισε ον[i],κωδ[i],τιμη[i]
       Τέλος_αν
       Αν
 τιμη[i] = minprice τότε
              Εμφάνισε ον[i],κωδ[i],τιμη[i]
       Τέλος_αν
Τέλος_επανάληψης
Τέλος
 ασκ9


-----------------------------------------------------------------------------------------------------------

ΠΡΟΓΡΑΜΜΑ ασκ10
  ΜΕΤΑΒΛΗΤΕΣ
       ΑΚΕΡΑΙΕΣ:N, i, πλ
       ΠΡΑΓΜΑΤΙΚΕΣ:μισ[100], s , max
       ΧΑΡΑΚΤΗΡΕΣ:ον[100], τμ[100], name , ονmax
ΑΡΧΗ
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
      ΔΙΑΒΑΣΕ
 Ν
  ΜΕΧΡΙΣ_ΟΤΟΥ Ν > 0 ΚΑΙ Ν <= 100
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ N
          ΔΙΑΒΑΣΕ ον[i], τμ[i], μισ[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΔΙΑΒΑΣΕ name
  s <- 0
  πλ <- 0
  max <- -1
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ N
          ΑΝ name = τμ[i] ΤΟΤΕ
                 ΓΡΑΨΕ ον[i], μισ[i]
                 s <- s + μισ[i]
                 πλ <- πλ + 1
                ΑΝ μισ[i] > max ΤΟΤΕ
                       max <- μισ[i]
                       ονmax <- ον[i]
                ΤΕΛΟΣ_ΑΝ
          ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΑΝ
 πλ <> 0 ΤΟΤΕ
         ΓΡΑΨΕ s/πλ , ονmax
  ΑΛΛΙΩΣ
         ΓΡΑΨΕ 'λάθος τμήμα'
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


!!!! σε ένα πρόγραμμα οι πίνακες δηλώνονται με το μέγιστο των θέσεων που μπορούν να καταλάβουν στη μνήμη ώστε να δεσμευτούν και όσες περισσότερες ζητηθούν....ποτέ Π[Ν].....
-----------------------------------------------------------------------------------------------------------

ΠΡΟΓΡΑΜΜΑ ασκ11
  ΜΕΤΑΒΛΗΤΕΣ
      ΑΚΕΡΑΙΕΣi, pos
      ΠΡΑΓΜΑΤΙΚΕΣμισ[100]
      ΧΑΡΑΚΤΗΡΕΣον[100], name
      ΛΟΓΙΚΕΣexists
ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
           ΔΙΑΒΑΣΕ ον[i], μισ[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΔΙΑΒΑΣΕ
 name
  ΟΣΟ name <> 'τέλος' ΕΠΑΝΑΛΑΒΕ
             exists <- ΨΕΥΔΗΣ
             i <- 1
             ΟΣΟ i <= 100 ΚΑΙ exists = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
                      ΑΝ name = ον[i] ΤΟΤΕ
                             exists <- ΑΛΗΘΗΣ
                             pos <- i
                      ΑΛΛΙΩΣ
                             i <- i + 1
                      ΤΕΛΟΣ_ΑΝ
            ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
            ΑΝ 
exists = ΑΛΗΘΗΣ ΤΟΤΕ
                    ΓΡΑΨΕ μισ[pos]
             ΑΛΛΙΩΣ
                    ΓΡΑΨΕ  'δεν υπάρχει αυτός ο εργαζόμενος'
             ΤΕΛΟΣ_ΑΝ
            ΔΙΑΒΑΣΕ
 name
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


-----------------------------------------------------------------------------------------------------------

ΠΡΟΓΡΑΜΜΑ ασκ12
   ΜΕΤΑΒΛΗΤΕΣ
       ΑΚΕΡΑΙΕΣ: i, j
       ΠΡΑΓΜΑΤΙΚΕΣ: μο[50], temp2
       ΧΑΡΑΚΤΗΡΕΣ: ον[50], temp1
       ΛΟΓΙΚΕΣ: οκ
ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 50
          ΔΙΑΒΑΣΕ ον[i], μο[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  i <- 2
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                οκ <- ΑΛΗΘΗΣ
                ΓΙΑ j ΑΠΟ 50 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1
                       ΑΝ ον[j-1] > ον[j] ΤΟΤΕ
                              temp1 <- ον[j-1]
                              ον[j-1] <- ον[j]
                              ον[j] <- temp1
                              temp2 <- μο[j-1]
                              μο[j-1] <- μο[j]
                              μο[j] <- temp2
                              οκ <- ΨΕΥΔΗΣ
                       ΤΕΛΟΣ_ΑΝ
                ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                 i <- i + 1
  ΜΕΧΡΙΣ_ΟΤΟΥ i > 50 ή οκ = ΑΛΗΘΗΣ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 50
           ΓΡΑΨΕ  ον[i], μο[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


-----------------------------------------------------------------------------------------------------------

ΠΡΟΓΡΑΜΜΑ ασκ13
   ΜΕΤΑΒΛΗΤΕΣ
       ΑΚΕΡΑΙΕΣ: i, j , απ[30], temp2
       ΠΡΑΓΜΑΤΙΚΕΣ: βαθ[30], temp1
       ΧΑΡΑΚΤΗΡΕΣ: ον[30], temp3
ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 30
           ΔΙΑΒΑΣΕ ον[i], μο[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ
 i ΑΠΟ 2 ΜΕΧΡΙ 30
           ΓΙΑ j ΑΠΟ 30 ΜΕΧΡΙ 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] = βαθ[j] ΤΟΤΕ
                          ΑΝ απ[j-1] > απ[j] ΤΟΤΕ
                                 temp2 <- απ[j-1]
                                 απ[j-1] <- απ[j]
                                 απ[j] <- temp2
                                 temp3 <- ον[j-1]
                                 ον[j-1] <- ον[j]
                                 ον[j] <- temp3
                           ΤΕΛΟΣ_ΑΝ
                      ΑΛΛΙΩΣ
                            ΑΝ βαθ[j-1] = βαθ[j] ΚΑΙ απ[j-1] = απ[j] ΤΟΤΕ
                                    ΑΝ ον[j-1] > ον[j] ΤΟΤΕ
                                            temp3 <- ον[j-1]
                                            ον[j-1] <- ον[j]
                                            ον[j] <- temp3
                                    ΤΕΛΟΣ_ΑΝ
                            ΤΕΛΟΣ_ΑΝ
                      ΤΕΛΟΣ_ΑΝ
             ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
     ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ
 i ΑΠΟ 1 ΜΕΧΡΙ 30
           ΓΡΑΨΕ  ον[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


-----------------------------------------------------------------------------------------------------------

ΠΡΟΓΡΑΜΜΑ ασκ14
   ΜΕΤΑΒΛΗΤΕΣ
      ΑΚΕΡΑΙΕΣ: i, j
      ΠΡΑΓΜΑΤΙΚΕΣ: ΕΠΙΔΟΣΕΙΣ[20,5], best[20], temp1
      ΧΑΡΑΚΤΗΡΕΣ: ΟΝΟΜΑΤΑ[20], temp2
ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20
          ΔΙΑΒΑΣΕ ΟΝΟΜΑΤΑ[i]
          ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 5
                  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                             ΔΙΑΒΑΣΕ ΕΠΙΔΟΣΕΙΣ[i,j]
                  ΜΕΧΡΙΣ_ΟΤΟΥ ΕΠΙΔΟΣΕΙΣ[i,j] >= 0
          ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20
           best[i] <- ΕΠΙΔΟΣΕΙΣ[i,1]
           ΓΙΑ j ΑΠΟ 2 ΜΕΧΡΙ 5
                  ΑΝ ΕΠΙΔΟΣΕΙΣ[i,j] > best[i] ΤΟΤΕ
                          best[i] <- ΕΠΙΔΟΣΕΙΣ[i,j]
                  ΤΕΛΟΣ_ΑΝ
           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 20
           ΓΙΑ j ΑΠΟ 20 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1
                   ΑΝ best[j-1] < best[j] ΤΟΤΕ
                           temp1 <- best[j-1]
                           best[j-1] <- best[j]
                           best[j] <- temp1
                           temp2 <- ΟΝΟΜΑΤΑ[j-1]
                           ΟΝΟΜΑΤΑ[j-1] <- ΟΝΟΜΑΤΑ[j]
                           ΟΝΟΜΑΤΑ[j] <- temp2
                    ΤΕΛΟΣ_ΑΝ
           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 3
           ΓΡΑΨΕ ΟΝΟΜΑΤΑ[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  i <- 1
  ΟΣΟ best[i] = best[20] ΕΠΑΝΑΛΑΒΕ
      i <- i + 1
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ i
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


-----------------------------------------------------------------------------------------------------------

Αλγόριθμος ασκ15
Για i από 1 μέχρι 1000
        Διάβασε ον[i], τιμή[i], τμχ[i]
Τέλος_επανάληψης
Αρχή_επανάληψης

           Διάβασε κωδ
Μέχρις_ότου κωδ  1 και κωδ  1000
Εμφάνισε ον[κωδ], τιμή[κωδ], τμχ[κωδ]
Για i από 1 μέχρι 1000
        Αν τμχ[i] = 0 τότε
               Εμφάνισε ον[i], τιμή[i], τμχ[i], i
        Τέλος_αν
Τέλος_επανάληψης
max  τμχ[1]
Για i από 2 μέχρι 1000
        Αν τμχ[i] > max τότε
              max  τμχ[i]
        Τέλος_αν
Τέλος_επανάληψης
Για i από 1 μέχρι 1000
        Αν τμχ[i] = max τότε
              Εμφάνισε ον[i], τιμή[i], τμχ[i], i
        Τέλος_αν
Τέλος_επανάληψης
Διάβασε name
found  Ψευδής
i  1
Όσο i  1000 και found = Ψευδής επανάλαβε
         
Αν name = ον[i] τότε
               found  Αληθής
               Εμφάνισε τμχ[i]
         αλλιώς
                i  i + 1
         Τέλος_αν
Τέλος_επανάληψης
Αν found = Ψευδής τότε
       Εμφάνισε 'λάθος προιόν'
Τέλος_αν
Για i από 2 μέχρι  1000
        Για j από 1000 μέχρι 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] = τμχ[j] τότε
                             Αν ον[j-1] > ον[j] τότε
                                    temp2  ον[j-1]
                                    ον[j-1]  ον[j]
                                    ον[j]  temp2
                                    temp3  τιμή[j-1]
                                    τιμή[j-1]  τιμή[j]
                                    τιμή[j]  temp3
                              Τέλος_αν
                           Τέλος_αν
                    Τέλος_αν
             Τέλος_επανάληψης
Τέλος_επανάληψης

Για i από 1 μέχρι 1000
        Εμφάνισε ον[i], τιμή[i], τμχ[i]
Τέλος_επανάληψης

Τέλος ασκ15

-----------------------------------------------------------------------------------------------------------

Αλγόριθμος ασκ16
Για i από 1 μέχρι 100
       Διάβασε μαρ[i], κυβ[i], ττ[i]
Τέλος_επανάληψης
μεγ1  -1
μεγ2  -1
μεγ3  -1
Για i από 1 μέχρι 100
        Αν κυβ[i] = 1400 και ττ[i] > μεγ1 τότε
              μεγ1  ττ[i]
              μαρκ1  μαρ[i]
         Τέλος_αν
         Αν κυβ[i] = 1600 και ττ[i] > μεγ2 τότε
               μεγ2  ττ[i]
               μαρκ2  μαρ[i]
         Τέλος_αν
         Αν 
κυβ[i] = 2000 και ττ[i] > μεγ1 τότε
               μεγ3  ττ[i]
               μαρκ3  μαρ[i]
         Τέλος_αν
Τέλος_επανάληψης

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


-----------------------------------------------------------------------------------------------------------

Αλγόριθμος ασκ17
Δεδομένα //ον, πωλ, χρυπ//
Για i από 2 μέχρι 200
        Για j από 200 μέχρι 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] = πωλ[j] τότε
                           Αν χρυπ[j-1] < χρυπ[j] τότε
                                 temp2 
 χρυπ[j-1]
                                 χρυπ[j-1] 
← χρυπ[j]
                                 χρυπ[j] 
 temp2
                                 temp3 
 ον[j-1]
                                 ον[j-1] 
 ον[j]
                                 ον[j] 
 temp3
                            Τέλος_αν
                     Τέλος_αν                                                                                 

                Τέλος_αν
       Τέλος_επανάληψης
Τέλος_επανάληψης
Για i από 1 μέχρι 5
        μπόνους  4/100*πωλ[i]
        Εμφάνισε ον[i], μπόνους
Τέλος_επανάληψης
Τέλος
 ασκ17


-----------------------------------------------------------------------------------------------------------

Αλγόριθμος ασκ18
Δεδομένα //ΠΡΟΟΡΙΣΜΟΙ, ΕΠΙΒΑΤΕΣ, προορ, ονεπ//
Για i από 1 μέχρι 120
        Αν προορ = ΠΡΟΟΡΙΣΜΟΙ[i] τότε
              Εμφάνισε ΕΠΙΒΑΤΕΣ[i]
        Τέλος_αν
Τέλος_επανάληψης
found  Ψευδής
i  1
Όσο i  120 και found = Ψευδής επανάλαβε
          Αν ονεπ = ΕΠΙΒΑΤΕΣ[i] τότε
                found  Αληθής
                Εμφάνισε ΠΡΟΟΡΙΣΜΟΙ[i]
          αλλιώς
                 i  i + 1
          Τέλος_αν
Τέλος_επανάληψης
Αν found = Ψευδής τότε
      Εμφάνισε 'δεν υπάρχει ες επιβάτης'
Τέλος_αν
Τέλος ασκ18


-----------------------------------------------------------------------------------------------------------

Αλγόριθμος ασκ19
Για i από 1 μέχρι 150
       Διάβασε ον[i]
       Αρχή_επανάληψης
                 Διάβασε χρ[i]
       Μέχρις_ότου χρ[i]  0
Τέλος_επανάληψης
Για i από 2 μέχρι 150
       Για j από 150 μέχρι i με_βήμα -1
             Αν χρ[j-1] > χρ[j] τότε
                   βοηθ  χρ[j-1]
                   χρ[j-1]  χρ[j]
                   χρ[j]  βοηθ
                   βοηθ1  ον[j-1]
                   ον[j-1]  ον[j]
                   ον[j]  βοηθ1
             Τέλος_αν
      Τέλος_Επανάληψης
Τέλος_Επανάληψης
Για i από 1 μέχρι 150
        Αν χρ[i]  0 και χρ[i] - χρ[1]  10/100*χρ[1] τότε
              Εμφάνισε ον[i],χρ[i]
        Τέλος_αν
Τέλος_επανάληψης
Αν χρ[1] = 0 τότε
      Εμφάνισε 'υπάρχει έστω και ένας αθλητής που δεν τερμάτισε'
Τέλος_αν
Τέλος
 ασκ19

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

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