Σάββατο 22 Φεβρουαρίου 2014

1ο ΣΕΤ - ΛΥΣΕΙΣ ΑΣΚΗΣΕΩΝ ΕΚΜΑΘΗΣΗΣ ΣΤΟΥΣ 2D

1.
Αλγόριθμος ασκ1σετ1_2Δ
Δεδομένα // Α, Ν //
s  0
Για i από 1 μέχρι N
     Για j από 1 μέχρι N
          Αν i = j ή i = N + 1 - j τότε
               s  s + A[i, j]
          Τέλος_αν
     Τέλος_επανάληψης
Τέλος_επανάληψης
Αποτελέσματα // s //
Τέλος ασκ1σετ1_2Δ

! θα μπορούσε κάποιος να
 γράψει χωρίς την Αν...τότε και με μια Για:
! s  s + A[i,i] + A[i,N+1-i]

2.
Αλγόριθμος ασκ2σετ1_2D
Δεδομένα // A, N, M //
πλ1  0
πλ2  0
Για i από 1 μέχρι N
     Για j από 1 μέχρι M
          Αν A[i, j]  15 τότε
              πλ1  πλ1 + 1
          Τέλος_αν
          Αν A[i, j]  9 και A[i, j] > 0 τότε
              πλ2  πλ2 + 1
          Τέλος_αν
     Τέλος_επανάληψης
Τέλος_επανάληψης
ποσ1  πλ1/(N*M)*100
ποσ2  πλ2/(N*M)*100
Εμφάνισε ποσ1, '% πάνω από 15'
Εμφάνισε ποσ2, '% θετικά και <=9'
Τέλος ασκ2σετ1_2D


3.
Αλγόριθμος ασκ3σετ1_2D
Δεδομένα // A, N, M //
Αρχή_επανάληψης
       Διάβασε αρ
Μέχρις_ότου αρ  1 και αρ  M
max  A[1, αρ]                         ! αρχικοποίηση στο 1ο στοιχείο της στήλης
θέση  1
Για i από 2 μέχρι N
     Αν A[i, αρ] > max τότε
         max  A[i, αρ]
         θέση  i
     Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε max, θέση
Αρχή_επανάληψης
       Διάβασε αρ
Μέχρις_ότου αρ  1 και αρ  N
min  A[αρ, 1]                        ! αρχικοποίηση στο 1ο στοιχείο της γραμμής
θέση  1
Για j από 2 μέχρι M
     Αν A[αρ, j] < min τότε
         min  A[αρ, j]
         θέση  j
     Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε min, θέση
Τέλος ασκ3σετ1_2D


4. 
Αλγόριθμος ασκ4σετ1_2D
Δεδομένα // Α, Ν, Μ // 
Αρχή_επανάληψης
       Διάβασε αρ
Μέχρις_ότου αρ ≥ 1 και αρ ≤ Ν
αθρ ← 0
Για j από 1 μέχρι Μ
     αθρ ← αθρ + Α[αρ, j] 
Τέλος_επανάληψης
μο ← αθρ/Μ
Εκτύπωσε αθρ, μο
Τέλος ασκ4σετ1_2D

5. 
Αλγόριθμος ασκ5σετ1_2D
Δεδομένα // Π //
!ερώτημα α
αθρ16γρ  0
Για j από 1 μέχρι 60
     αθρ16γρ  αθρ16γρ + Π[16, j]
Τέλος_επανάληψης
Εκτύπωσε αθρ16γρ
!ερώτημα β
αθρ25στ  0
Για i από 1 μέχρι 60
     αθρ25στ  αθρ25στ + Π[i, 25]
Τέλος_επανάληψης
Εκτύπωσε αθρ25στ/60
!ερώτημα γ
min  Π[1, 1]
max  Π[1, 60]
Για i από 1 μέχρι 60
     Για j από 1 μέχρι 60
          Αν i = j και Π[i, j] < min τότε
               min  Π[i, j]
          Τέλος_αν
          Αν i = 61 - j και Π[i, j] > max τότε           !  i=N+1-j
               max  Π[i, j]
          Τέλος_αν
      Τέλος_επανάληψης
Τέλος_επανάληψης
Εκτύπωσε min, max
Τέλος ασκ5σετ1_2D

! για τα min και max, 2ος τρόπος:
! min ← Π[1,1]
! Για i από 1 μέχρι 60
!     Αν Π[i,i] < min τότε
!        min ← Π[i,i]
!     Τέλος_αν
! Τέλος_επανάληψης
! max ← Π[1,60]
! Για i από 1 μέχρι 60
!     Αν Π[i,61-i] > max τότε
!        max ← Π[i,61-i]
!     Τέλος_αν
! Τέλος_επανάληψης
! Εκτύπωσε min,max

6.
Αλγόριθμος ασκ6σετ1_2D
Δεδομένα // Α, Ν // 
αθρ1 ← 0
αθρ2 ← 0
Για i από 1 μέχρι Ν
     αθρ1 ← αθρ1 + Α[i, 1] + Α[i, Ν] 
     αθρ2 ← αθρ2 + Α[1, i] + Α[Ν, i] 
Τέλος_επανάληψης
Εκτύπωσε αθρ1, 'το άθροισμα της 1ης και τελευταίας στήλης'
Εκτύπωσε αθρ2, 'το άθροισμα της 1ης και τελευταίας γραμμής'
Τέλος ασκ6σετ1_2D 

7. 
Αλγόριθμος ασκ7σετ1_2D
Δεδομένα // A, M, N //
Για i από 1 μέχρι M
     s  0
     Για j από 1 μέχρι N
          s  s + A[i, j]
     Τέλος_επανάληψης
     SUM[i]  s          !δεν αποφεύγεται ο πίνακας,δε μπορώ να αρχικοποιήσω minsum
Τέλος_επανάληψης
minsum  SUM[1]
line  1
Για i από 2 μέχρι M
     Αν SUM[i] < minsum τότε
          minsum  SUM[i]
          line  i
     Τέλος_αν
Τέλος_επανάληψης
Εκτύπωσε line
Τέλος ασκ7σετ1_2D


8. 
Αλγόριθμος ασκ8σετ1_2D
Δεδομένα // Α, Ν, Μ //
max  Α[1, 1]
Για i από 1 μέχρι Ν
     Για j από 1 μέχρι Μ
          Αν Α[i, j] > max τότε
              max  Α[i, j]
          Τέλος_αν
     Τέλος_επανάληψης
Τέλος_επανάληψης
found  Ψευδής
i  1
Όσο i  Ν και found = Ψευδής επανάλαβε
       j  1
       Όσο j  Μ και found = Ψευδής επανάλαβε
              Αν Α[i, j] = max τότε
                   found  Αληθής
                   row i
                   column  j
                   Εκτύπωσε '1η εμφάνιση στη γραμμή:', row, 'και στη στήλη:', column
               Τέλος_αν
               j  j + 1
        Τέλος_επανάληψης
        i  i + 1
Τέλος_επανάληψης
found  Ψευδής
i  Ν
Όσο i  1 και found = Ψευδής επανάλαβε
       j  Μ
       Όσο j  1 και found = Ψευδής επανάλαβε
              Αν Α[i, j] = max τότε
                   found  Αληθής
                   row  i
                   column  j
                   Εκτύπωσε 'τελευταία στη γραμμή:', row, 'και στη στήλη:', column
              Τέλος_αν
              j  j - 1
        Τέλος_επανάληψης
        i  i - 1
Τέλος_επανάληψης
Για i από 1 μέχρι Ν
     Για j από 1 μέχρι Μ
          Αν Α[i, j] = max τότε
              Εκτύπωσε 'μέγιστο στη γραμμή:', i, 'και στήλη:', j
          Τέλος_αν
     Τέλος_επανάληψης
Τέλος_επανάληψης
Τέλος ασκ8σετ1_2D


9.
Αλγόριθμος ασκ9σετ1_2D
Δεδομένα // A //
Εκτύπωσε 'μέγιστα ανά στήλη:'
Για j από 1 μέχρι 80
     max  A[1, j]
     Για i από 2 μέχρι 40
          Αν A[i, j] > max τότε
              max  A[i, j]
          Τέλος_αν
     Τέλος_επανάληψης
     Εκτύπωσε max
Τέλος_επανάληψης
sum_all  0                               ! άθροισμα όλων των γραμμών του πίνακα
Εκτύπωσε 'άθροισμα ανά γραμμή:'
Για i από 1 μέχρι 40
     sum  0
     Για j από 1 μέχρι 80
          sum  sum + A[i, j]
     Τέλος_επανάληψης
     Εκτύπωσε sum
     sum_all  sum_all + sum
Τέλος_επανάληψης
γεν_μο  sum_all/3200
πλ  0
Για i από 1 μέχρι 40
     Για j από 1 μέχρι 80
          Αν A[i, j] < γεν_μο τότε
              Εκτύπωσε A[i, j]
              πλ  πλ + 1
          Τέλος_αν
      Τέλος_επανάληψης
Τέλος_επανάληψης
Εκτύπωσε πλ
Τέλος ασκ9σετ1_2D


10.
Αλγόριθμος ασκ10σετ1_2D
Δεδομένα // Π, Ν, Μ //
Για i από 1 μέχρι Ν
     min  Π[1, j]

     pos ← 1
     Για j από 2 μέχρι Μ
          Αν Π[i, j] < min τότε

               min ← Π[i, j]  
               pos  j
          Τέλος_αν
     Τέλος_επανάληψης
     Για j από 1 μέχρι pos - 1
          Π[i, j]  min
     Τέλος_επανάληψης
Τέλος_επανάληψης
Αποτελέσματα // Π, Ν, Μ //
Τέλος ασκ10σετ1_2D


11.
Αλγόριθμος ασκ11σετ1_2D
Για i από 1 μέχρι 20
     Διάβασε π[i]
     Για j από 1 μέχρι 30
          Διάβασε θ[i, j]
     Τέλος_επανάληψης
Τέλος_επανάληψης
sum  0
Για i από 1 μέχρι 20
     Για j από 1 μέχρι 30
          sum  sum + θ[i, j]
     Τέλος_επανάληψης
Τέλος_επανάληψης
μεση  sum/600
Εκτύπωσε μεση
Για i από 1 μέχρι 20
     πλ  0
     Για j από 1 μέχρι 30
          Αν θ[i, j] > μεση τότε
              πλ  πλ + 1
          Τέλος_αν
     Τέλος_επανάληψης
     Εκτύπωσε πλ
Τέλος_επανάληψης
Τέλος ασκ11σετ1_2D


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

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