Σε ένα σεμινάριο διάρκειας 6 μηνών, τηρούνται απουσίες ανά μήνα για κάθε
συμμετέχοντα. Στο σεμινάριο συμμετέχουν 50 επιμορφούμενοι και ο καθένας
έχει ένα μοναδικό αλφαριθμητικό κωδικό, που αποθηκεύεται στον πίνακα
ΚΩΔ[50]. Οι απουσίες κάθε συμμετέχοντα ανά μήνα σεμιναρίου αποθηκεύονται
σε δισδιάστατο πίνακα απουσιών ΑΠ[50,6]. Η γραμματεία τηρεί το σύνολο των
απουσιών για τα δύο τρίμηνα του εξαμήνου σε πίνακα ΑΠΤΡ[50,2], όπου η
πρώτη στήλη προσδιορίζει το πρώτο τρίμηνο και η δεύτερη το δεύτερο τρίμηνο
για κάθε συμμετέχοντα.
Να κατασκευάσετε πρόγραμμα σε ΓΛΩΣΣΑ αποτελούμενο από
υποπρογράμματα ως εξής:
Δ1. Διαδικασία ΕΙΣ, που διαβάζει τον κωδικό του κάθε επιμορφούμενου, τις
απουσίες του ανά μήνα σεμιναρίου και ενημερώνει τον πίνακα ΚΩΔ και
τον πίνακα ΑΠ κατάλληλα (θεωρείστε ότι τα δεδομένα εισάγονται
σωστά).

Μονάδες 2
Δ2. Συνάρτηση ΑΝΑΖ, που δέχεται τον κωδικό ενός επιμορφούμενου και τον
πίνακα των κωδικών ΚΩΔ και επιστρέφει τον αριθμό της γραμμής που
βρίσκεται ο κωδικός που αναζητείται. Αν ο κωδικός δεν βρεθεί,
επιστρέφει 0.

Μονάδες 4

Δ3. Συνάρτηση ΣΥΝΑΠ, που υπολογίζει το σύνολο απουσιών για έναν
επιμορφούμενο σε ένα τρίμηνο. Η συνάρτηση δέχεται τον αριθμό της
γραμμής που προσδιορίζει τον επιμορφούμενο στον πίνακα ΑΠ, τον
πίνακα των απουσιών και τον αριθμό του πρώτου μήνα του τριμήνου
(για παράδειγμα, 1 για το πρώτο τρίμηνο, 4 για το δεύτερο τρίμηνο) και
επιστρέφει το σύνολο των απουσιών του τριμήνου.

Μονάδες 3

Δ4. Κύριο πρόγραμμα το οποίο:
α) περιέχει τμήμα δηλώσεων. (μονάδα 1)
β) καλεί τη διαδικασία ΕΙΣ για είσοδο δεδομένων. (μονάδα 1)
γ) για κάθε επιμορφούμενο υπολογίζει το σύνολο των απουσιών των δύο
τριμήνων καλώντας τη συνάρτηση ΣΥΝΑΠ και ενημερώνει τον πίνακα
ΑΠΤΡ. (μονάδες 3)
δ) διαβάζει επαναληπτικά έναν κωδικό. Για τον συγκεκριμένο κωδικό
καλείται η συνάρτηση ΑΝΑΖ. Αν ο κωδικός αντιστοιχεί σε
επιμορφούμενο, να εμφανίζει κατάλληλο μήνυμα δυνατότητας ή μη
συμμετοχής του στις εξετάσεις. Στις εξετάσεις δικαιούνται συμμετοχής οι
επιμορφούμενοι που έχουν λιγότερες από 10 απουσίες σε καθένα από
τα δύο τρίμηνα. Αν ο κωδικός δεν βρεθεί, εμφανίζει μήνυμα «ΔΕΝ
ΒΡΕΘΗΚΕ Ο ΚΩΔΙΚΟΣ». Η διαδικασία επαναλαμβάνεται μέχρι να δοθεί
ως κωδικός η λέξη ΤΕΛΟΣ. (μονάδες 6)
Μονάδες 11

!ΘΕΜΑ Δ 2017
ΠΡΟΓΡΑΜΜΑ Δ2017
ΜΕΤΑΒΛΗΤΕΣ

ΑΡΧΗ
   
!Δ4Β
   
ΚΑΛΕΣΕ ΕΙΣ(ΚΩΔ,ΑΠ)
   
!Δ4Γ
   
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 50
      Ψ1
<-ΣΥΝΑΠ(Ι,ΑΠ,1)
      Ψ2
<-ΣΥΝΑΠ(Ι,ΑΠ,4)
      ΑΠΤΡ
[Ι,1]<-Ψ1
      ΑΠΤΡ
[Ι,2]<-Ψ2
   
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
   
!Δ4Δ
   
ΔΙΑΒΑΣΕ ΚΩΔΙΚΟΣ
   
ΟΣΟ ΚΩΔΙΚΟΣ<>‘ΤΕΛΟΣ’ ΕΠΑΝΑΛΑΒΕ
       Ψ
<-ΑΝΑΖ(ΚΩΔΙΚΟΣ,ΚΩΔ)
       
ΑΝ Ψ<>0 ΤΟΤΕ
         
ΑΝ ΑΠΤΡ[Ψ,1]<10 ΚΑΙ ΑΠΤΡ[Ψ,2]<10 ΤΟΤΕ
             
ΓΡΑΨΕ ‘ΔΥΝΑΤΑΙ ΝΑ ΣΥΜΜΕΤΕΧΕΙ ΣΤΙΣ ΕΞΕΤΑΣΕΙΣ’
         
ΑΛΛΙΩΣ
             
ΓΡΑΨΕ ‘ΔΕΝ ΔΥΝΑΤΑΙ ΝΑ ΣΥΜΜΕΤΕΣΕΙ ΣΤΙΣ ΕΞΕΤΑΣΕΙΣ’
         
ΤΕΛΟΣ_ΑΝ
       
ΑΛΛΙΩΣ
         
ΓΡΑΨΕ ‘ΔΕΝ ΒΡΕΘΗΚΕ Ο ΚΩΔΙΚΟΣ’
       
ΤΕΛΟΣ_ΑΝ
       
ΔΙΑΒΑΣΕ ΚΩΔΙΚΟΣ
   
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
!Δ1
ΔΙΑΔΙΚΑΣΙΑ ΕΙΣ(ΚΩΔ,ΑΠ)
ΜΕΤΑΒΛΗΤΕΣ

ΑΡΧΗ
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 50
   
ΔΙΑΒΑΣΕ ΚΩΔ[Ι]
   
ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 6
       
ΔΙΑΒΑΣΕ ΑΠ[Ι,J]
   
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
!Δ2
ΣΥΝΑΡΤΗΣΗ ΑΝΑΖ(ΚΩΔΙΚΟΣ,ΚΩΔ):ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ

ΑΡΧΗ
   Ι
<-1
   
ΟΣΟ ΚΩΔ[Ι]<>ΚΩΔΙΚΟΣ ΚΑΙ Ι<50 ΕΠΑΝΑΛΑΒΕ
      Ι
<-Ι+1
   
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
   
ΑΝ ΚΩΔ[Ι]=ΚΩΔΙΚΟΣ ΤΟΤΕ
      ΑΝΑΖ
<-Ι
   
ΑΛΛΙΩΣ
      ΑΝΑΖ
<-0
   
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
!Δ3
ΣΥΝΑΡΤΗΣΗ ΣΥΝΑΠ(ΓΡΑΜΜΗ,ΑΠ,ΜΗΝΑΣ):ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ

ΑΡΧΗ
   
!1ος ΤΡΟΠΟΣ
   ΑΘΡ
<-0
   
ΓΙΑ J ΑΠΟ ΜΗΝΑΣ ΜΕΧΡΙ ΜΗΝΑΣ+2
      ΑΘΡ
<-ΑΘΡ+ΑΠ[ΓΡΑΜΜΗ,J]
   
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
   ΣΥΝΑΠ
<-ΑΘΡ
   
!2ος ΤΡΟΠΟΣ
   
ΑΝ ΜΗΝΑΣ=1 ΤΟΤΕ
     ΑΘΡ
<-0
     
ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 3
        ΑΘΡ
<-ΑΘΡ+ΑΠ[ΓΡΑΜΜΗ,J]
     
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
   
ΑΛΛΙΩΣ
     ΑΘΡ
<-0
     
ΓΙΑ J ΑΠΟ 4 ΜΕΧΡΙ 6
        ΑΘΡ
<-ΑΘΡ+ΑΠ[ΓΡΑΜΜΗ,J]
     
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
   
ΤΕΛΟΣ_ΑΝ
   ΣΥΝΑΠ
<-ΑΘΡ
   
!3ος τρόπος
   
ΑΝ ΜΗΝΑΣ=1 ΤΟΤΕ
      ΣΥΝΑΠ
<-ΑΠ[ΓΡΑΜΜΗ,1]+ΑΠ[ΓΡΑΜΜΗ,2]+ΑΠ[ΓΡΑΜΜΗ,3]
   
ΑΛΛΙΩΣ
      ΣΥΝΑΠ
<-ΑΠ[ΓΡΑΜΜΗ,4]+ΑΠ[ΓΡΑΜΜΗ,5]+ΑΠ[ΓΡΑΜΜΗ,6]
   
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

You cannot copy content of this page

Ασκήσεις ΑΕΠΠ με Λύσεις – Θέματα Γ & Δ για Πανελλήνιες | infoclass.gr