Εγγραφή: Πέμ 22 Απρ 2004 11:16 am Δημοσιεύσεις: 60 Τοποθεσία: Θεσσαλονίκη
|
Τα επόμενα προγράμματα απαρτίζουν μια σειρά προβλήματων ανακατασκευής διδιάστατων πινάκων των οποίων η λύση συνίσταται κυρίως στην εξοικίωση μας με τους δείκτες i,j.
! =================== 21 ===============================
! Να αναπτύξετε πρόγραμμα το οποίο κατασκευάζει και εμφανίζει
! τον επόμενο διδιαστατο τετραγωνικό πίνακα Α[N,N] με N=5.
!
! 1 0 0 0 5
! 0 4 0 8 0
! 0 0 9 0 0
! 0 8 0 16 0
! 5 0 0 0 25
!
! και στη συνεχεία τον μετατρέπει στον πίνακα
!
! 5 0 0 0 1
! 0 8 0 4 0
! 0 0 9 0 0
! 0 16 0 8 0
! 25 0 0 0 5
!
! μονο με αντιμετάθεση των στοιχείων του.
! Δηλαδή να αντιμετατίθενται τα στιχεία Xn
! με τα αντίστοιχα Yn,όπως παρουσιάζει
! το επόμενο σχήμα.
!
! Α. Αν Ν περιττός.
!
! x1 0 0 0 y1
! 0 x2 0 y2 0
! 0 0 x3 0 0
! 0 x4 0 y4 0
! x5 0 0 0 y5
!
! Β. Αν Ν άρτιος.
!
! x1 0 0 0 0 y1
! 0 x2 0 0 y2 0
! 0 0 x3 y3 0 0
! 0 0 x4 y4 0 0
! 0 x5 0 0 y5 0
! x6 0 0 0 0 y6
! ===========================================================
ΠΡΟΓΡΑΜΜΑ Sguare_Table_21
ΣΤΑΘΕΡΕΣ
N=5 ! Η λύση ισχύει και για Ν άρτιο.
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ:i,j,K,A[N,N],temp
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ N
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ N
ΑΝ (i=j) Ή (i+j=N+1) ΤΟΤΕ
A[i,j] <-- i*j
ΑΛΛΙΩΣ
A[i,j] <-- 0
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ N
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ N
ΓΡΑΨΕ_ A[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ
K <-- N
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ N
temp <-- A[i,i]
A[i,i] <-- A[i,K]
A[i,K] <-- temp
K <-- K-1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ N
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ N
ΓΡΑΨΕ_ A[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
! =================== 22 ===============================
! Να αναπτύξετε πρόγραμμα το οποίο κατασκευάζει και εμφανίζει
! τον επόμενο μονοδιάστατο πίνακα Α[M] με M=18
! (ή γενικότερα Μ=3*Ν με Ν ακέραιο).
!
! 11 2 13 4 15 6 17 8 19 10 21 12 23 14 25 16 27 18
!
! και στη συνεχεία τον μετατρέπει στον πίνακα Β[Μ/3,3].
!
! 11 17 23
! 2 8 14
! 13 19 25
! 4 10 16
! 15 21 27
! 6 12 18
!
! ===========================================================
ΠΡΟΓΡΑΜΜΑ Table_22
ΣΤΑΘΕΡΕΣ
N=6
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ:i,j,K,A[3*N],B[N,3]
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 3*N
ΑΝ i MOD 2 =1 ΤΟΤΕ
A[i] <-- i+10
ΑΛΛΙΩΣ
A[i] <-- i
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ_ A[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
K <-- 1
ΓΡΑΨΕ
ΓΡΑΨΕ
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ N
B[i,j] <-- A[K]
K <-- K+1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ N
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3
ΓΡΑΨΕ_ B[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
2ος Τροπος
ΠΡΟΓΡΑΜΜΑ Table_22_B
ΣΤΑΘΕΡΕΣ
N=6
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ:i,j,A[3*N],B[N,3]
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 3*N
ΑΝ i MOD 2 =1 ΤΟΤΕ
A[i] <-- i+10
ΑΛΛΙΩΣ
A[i] <-- i
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ_ A[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ
ΓΡΑΨΕ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ N
B[i,1] <-- A[i]
B[i,2] <-- A[i+N]
B[i,3] <-- A[i+2*N]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ N
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3
ΓΡΑΨΕ_ B[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
3ος Τροπος
ΠΡΟΓΡΑΜΜΑ Table_22_C
ΣΤΑΘΕΡΕΣ
N=6
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ:i,j,A[3*N],B[N,3]
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 3*N
ΑΝ i MOD 2 =1 ΤΟΤΕ
A[i] <-- i+10
ΑΛΛΙΩΣ
A[i] <-- i
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ_ A[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ
ΓΡΑΨΕ
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ N
B[i,j] <-- A[i+(j-1)*N]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ N
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3
ΓΡΑΨΕ_ B[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
! ====================== 23 ===============================
! Να αναπτύξετε πρόγραμμα το οποίο κατασκευάζει και εμφανίζει
! τους επόμενους 2 διδιάστατους τετραγωνικούς πίνακες
! Α[N,N] και Β[N,N] με Ν=5.
!
! Α
! 0 1 0 0 0
! 2 0 1 0 0
! 0 2 0 1 0
! 0 0 2 0 1
! 0 0 0 2 0
!
! Β
! 0 0 0 3 0
! 0 0 3 0 5
! 0 3 0 5 0
! 3 0 5 0 0
! 0 5 0 0 0
!
! και τους συνενώνει στον διδιάστατο πίνακα Γ[Ν,2*Ν]
! όπως παρακάτω:
!
! Γ
! 0 1 0 0 0 0 0 0 3 0
! 2 0 1 0 0 0 0 3 0 5
! 0 2 0 1 0 0 3 0 5 0
! 0 0 2 0 1 3 0 5 0 0
! 0 0 0 2 0 0 5 0 0 0
!
! ===========================================================
ΠΡΟΓΡΑΜΜΑ Table_23
ΣΤΑΘΕΡΕΣ
Ν=5
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ:i,j, A[Ν,Ν],B[Ν,Ν],Γ[Ν,2*Ν]
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ Ν
ΑΝ i=j-1 ΤΟΤΕ
A[i,j] <-- 1
ΑΛΛΙΩΣ_ΑΝ i=j+1 ΤΟΤΕ
A[i,j] <-- 2
ΑΛΛΙΩΣ
A[i,j] <-- 0
ΤΕΛΟΣ_ΑΝ
ΑΝ i+j=ν ΤΟΤΕ
B[i,j] <-- 3
ΑΛΛΙΩΣ_ΑΝ i+j=Ν+2 ΤΟΤΕ
B[i,j] <-- 5
ΑΛΛΙΩΣ
B[i,j] <-- 0
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 2*Ν
ΑΝ j<=Ν ΤΟΤΕ
Γ[i,j] <-- A[i,j]
ΑΛΛΙΩΣ
Γ[i,j] <-- B[i,j-Ν]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ Ν
ΓΡΑΨΕ_ A[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ_ ' '
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ Ν
ΓΡΑΨΕ_ B[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 2*Ν
ΓΡΑΨΕ_ Γ[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
_________________ Φρειδερίκος Κώστας
FreiderikosK@hotmail.com
|
|