Παρασκευή 19 Ιουνίου 2015

ΥΛΗ Α.Ε.Π.Π 2015-2016

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ (ΑΕΠΠ)
Ομάδας Προσανατολισμού Σπουδών Οικονομίας & Πληροφορικής
Από το βιβλίο «Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον» της Γ΄ τάξης Γενικού
Λυκείου των Α. Βακάλη, Η. Γιαννόπουλου, Ν. Ιωαννίδη, Χ. Κοίλια, Κ. Μάλαμα, Ι. Μανωλόπουλου, Π.
Πολίτη, έκδοση (Ι.Τ.Υ.Ε.) "Διόφαντος".
2. Βασικές Έννοιες Αλγορίθμων
2.1 Τι είναι αλγόριθμος.
2.3 Περιγραφή και αναπαράσταση αλγορίθμων.
2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου.
2.4.1 Δομή ακολουθίας.
2.4.2 Δομή Επιλογής.
2.4.3 Διαδικασίες πολλαπλών επιλογών (αφαιρείται η εντολή πολλαπλής επιλογής "Επίλεξε")
2.4.4 Εμφωλευμένες Διαδικασίες.
2.4.5 Δομή Επανάληψης.
3. Δομές Δεδομένων και Αλγόριθμοι
3.2 Αλγόριθμοι+Δομές Δεδομένων=Προγράμματα
3.3 Πίνακες
3.4 Στοίβα
3.5 Ουρά
3.6 Αναζήτηση
3.7 Ταξινόμηση
3.9 Άλλες δομές δεδομένων
5. Ανάλυση Αλγορίθμων
5.1 Επίδοση αλγορίθμων
5.1.1 Χειρότερη περίπτωση ενός αλγορίθμου
5.1.2 Μέγεθος εισόδου ενός αλγορίθμου
5.1.3 Χρόνος εκτέλεσης προγράμματος ενός αλγορίθμου
5.1.4 Αποδοτικότητα αλγορίθμων
5.3 Πολυπλοκότητα αλγορίθμων
6. Εισαγωγή στον προγραμματισμό
6.3 Φυσικές και τεχνητές γλώσσες.
6.4 Τεχνικές σχεδίασης προγραμμάτων.
6.4.1 Ιεραρχική σχεδίαση προγράμματος.
6.4.2 Τμηματικός προγραμματισμός.
6.4.3 Δομημένος προγραμματισμός.
6.7 Προγραμματιστικά περιβάλλοντα.
7. Βασικά στοιχεία προγραμματισμού.
7.1 Το αλφάβητο της ΓΛΩΣΣΑΣ.
7.2 Τύποι δεδομένων.
7.3 Σταθερές.
7.4 Μεταβλητές.
7.5 Αριθμητικοί τελεστές.
7.6 Συναρτήσεις.
7.7 Αριθμητικές εκφράσεις.
7.8 Εντολή εκχώρησης.
7.9 Εντολές εισόδου-εξόδου.
7.10 Δομή προγράμματος.
8. Επιλογή και επανάληψη
8.1 Εντολές Επιλογής
8.1.1 Εντολή ΑΝ
8.2 Εντολές επανάληψης
8.2.1 Εντολή ΟΣΟ...ΕΠΑΝΑΛΑΒΕ
8.2.2 Εντολή ΜΕΧΡΙΣ_ΟΤΟΥ
8.2.3 Εντολή ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ
9. Πίνακες
9.1 Μονοδιάστατοι πίνακες.
9.2 Πότε πρέπει να χρησιμοποιούνται πίνακες.
9.3 Πολυδιάστατοι πίνακες.
9.4 Τυπικές επεξεργασίες πινάκων.
10. Υποπρογράμματα
10.1 Τμηματικός προγραμματισμός.
10.2 Χαρακτηριστικά των υποπρογραμμάτων.
10.3 Πλεονεκτήματα του τμηματικού προγραμματισμού.
10.4 Παράμετροι.
10.5 Διαδικασίες και συναρτήσεις.
10.5.1 Ορισμός και κλήση συναρτήσεων.
10.5.2 Ορισμός και κλήση διαδικασιών.
10.5.3 Πραγματικές και τυπικές παράμετροι.
10.6 Εμβέλεια μεταβλητών– σταθερών
ΠΑΡΑΤΗΡΗΣΕΙΣ
● Οι Αλγόριθμοι να υλοποιούνται σε αμιγώς προγραμματιστικό περιβάλλον και συγκεκριμένα αυτό της ΓΛΩΣΣΑΣ.
● Επισκόπηση της έννοιας του αλγορίθμου, των χαρακτηριστικών του και των τρόπων αναπαράστασής του και εισαγωγή στα χαρακτηριστικά των γλωσσών προγραμματισμού και ειδικά της ΓΛΩΣΣΑΣ.
● Οι βασικές αλγοριθμικές δομές του κεφαλαίου 2 (ακολουθίας, επιλογής και επανάληψης) να διδαχθούν συνοπτικά και παράλληλα με το κεφάλαιο 7 και 8 στην κατεύθυνση της κάλυψης τυχόν γνωσιακών κενών από την προηγούμενη τάξη, με τις ασκήσεις να υλοποιούνται απ’ ευθείας σε ΓΛΩΣΣΑ.
● Στο κεφάλαιο 3:
○ Να προστεθούν ασκήσεις στη στοίβα και ουρά που επίσης θα υλοποιηθούν απ’ ευθείας σε ΓΛΩΣΣΑ. και με την πρόσθεση της ενότητας 3.9 που θα διδαχθεί.
○ Οι δυναμικές δομές της ενότητας 3.9 (λίστες,δένδρα, γράφοι) να διδαχθούν αποκλειστικά ως θεωρία.
○ Οι πίνακες να διδαχθούν παράλληλα με το κεφάλαιο 9 με τις ασκήσεις να υλοποιούνται απ’ ευθείας σε ΓΛΩΣΣΑ.
○ Εισάγονται νέοι αλγόριθμοι αναζήτησης και ταξινόμησης σε πίνακες.
● Στο κεφάλαιο 5 να διδαχθούν οι ενότητες 5.1(επίδοση αλγορίθμων), και 5.3 (πολυπλοκότητα αλγορίθμων). Η έννοια της επίδοσης να εξεταστεί με αναφορά στους αλγορίθμους αναζήτησης και ταξινόμησης. Η πολυπλοκότητα αλγορίθμων θα διδαχθεί θεωρητικά με παραδείγματα και σε σύνδεση με την επίδοση χωρίς οι μαθητές να εμπλακούν σε ασκήσεις υπολογισμού της τάξης Ο ενός αλγορίθμου.

Κυριακή 24 Μαΐου 2015

Ο ΡΩΣΟΣ FULL EDITION

Να γράψετε τον αλγόριθμο του πολλαπλασιασμού α λα ρωσσικά για οποιονδήποτε πιθανό συνδυασμό 2 αριθμών που δίνονται στην είσοδο....

Αλγόριθμος a_la_russia
Δεδομένα //α,β//
Αν α > 0 και β > 0 τότε
       γιν  0
      Όσο β > 0 επανάλαβε
               Αν β mod 2 = 1 τότε
                     γιν  γιν + α
               Τέλος_αν
               α  α * 2
               β  β div 2
       Τέλος_επανάληψης
       Εμφάνισε γιν
αλλιώς_αν α > 0 και β < 0 τότε
       β  (-1)*β
       γιν  0
      Όσο β > 0 επανάλαβε
               Αν β mod 2 = 1 τότε
                     γιν  γιν + α
               Τέλος_αν
               α  α * 2
               β  β div 2
      Τέλος_επανάληψης
      Εμφάνισε (-1)*γιν
αλλιώς_αν α < 0 και β < 0 τότε
      α  (-1)*α
      β  (-1)*β
      γιν  0
      Όσο β > 0 επανάλαβε
               Αν β mod 2 = 1 τότε
                      γιν  γιν + α
               Τέλος_αν
               α  α * 2
               β  β div 2
      Τέλος_επανάληψης
      Εμφάνισε
 γιν
αλλιώς_αν α > 0 και β > 0 τότε
       α  (-1)*α
       γιν  0
       Όσο β > 0 επανάλαβε
                 Αν β mod 2 = 1 τότε
                       γιν  γιν + α
                 Τέλος_αν
                 α  α * 2
                 β  β div 2
       Τέλος_επανάληψης
       Εμφάνισε
 (-1)*γιν
αλλιώς
       Εμφάνισε '0'
Τέλος_αν
Τέλος 
a_la_russia

EUROVISION 2015

Στο διαγωνισμό της eurovision λαμβάνουν μέρος 27 χώρες οι οποίες εμφανίζονται μια - μια και παρουσιάζουν το τραγούδι τους στο κοινό. Έπειτα ξεκινά η διαδικασία της βαθμολόγησης από κάθε μια από τις 40 χώρες (πρώτα οι 27 που συμμετέχουν στον τελικό και έπειτα οι 13 που αποκλείστηκαν από τον τελικό επειδή δεν προκρίθηκαν από τους ημιτελικούς). Κάθε χώρα πρέπει να ψηφίσει 10 άλλες με βαθμούς από 1-8, 10 και 12. Οι βαθμοί αθροίζονται και προκύπτει η τελική βαθμολογία κάθε χώρας ώστε να αναδειχθεί η νικήτρια. Εννοείται ότι μια χώρα δεν ψηφίζει τον εαυτό της. Να γραφεί αλγόριθμος ο οποίος:
α. θα διαβάζει τα ονόματα των 27 χωρών του τελικού και θα τα καταχωρεί σε πίνακα Χ[27] και σε πίνακα ΧΩΡ_ΒΑΘ[40] τα ονόματα των χωρών που ψηφίζουν με τα πρώτα 27  να είναι με τη σειρά που δόθηκαν στον Χ[27]
β. θα διαβάζει τους βαθμούς που έδωσε κάθε χώρα σε άλλες 10 ελέγχοντας την ορθότητα των βαθμών (θετικοί από 1 ως 8, 10 και 12, στον εαυτό της εισάγεται η τιμή 0). Θεωρήστε ότι στις χώρες που δεν ψηφίζει επίσης δίνεται το μηδέν ως τιμή εισόδου.
γ. θα υπολογίζει τη συνολική βαθμολογία κάθε χώρας
δ. θα ταξινομεί και θα εμφανίζει τις χώρες βάσει συνολικής βαθμολογίας καθώς και τη νικήτρια (θεωρείστε ότι δεν υπάρχουν ισόβαθμες χώρες)
ε.  θα υπολογίζει πόσα 12άρια έχει κάθε χώρα, ποια έχει τα πιο πολλά και αν τα έχει η νικήτρια να εμφανίζει σχετικό μήνυμα (θεωρείστε ότι δεν υπάρχουν χώρες με ίδιο πλήθος σε 12άρια και δεν τα έχει υποχρεωτικά η νικήτρια τα περισσότερα)
στ. θα εμφανίζει ποιες χώρες ψήφισαν την Ελλάδα και τί βαθμούς της έδωσαν (η Ελλάδα είναι στις 27 χώρες του τελικού)


Αλγόριθμος eurovision_2015_2
Για i από 1 μέχρι 27
        Διάβασε X[i]
        Για j από 1 μέχρι 40
               Αν i  j τότε
                     Αρχή_επανάληψης
                                Διάβασε βαθ[i,j]
                     Μέχρις_ότου (βαθ[i,j]  0 και βαθ[i,j]  8) ή βαθ[i,j]=10 ή βαθ[i,j]=12
               αλλιώς
                     βαθ[i,j]  0
               Τέλος_αν
         Τέλος_επανάληψης
Τέλος_επανάληψης
Για
 j από 1 μέχρι 40
        Αν j  27 τότε
             ΧΩΡ_ΒΑΘ[j]  X[i]
        αλλιώς
             Διάβασε ΧΩΡ_ΒΑΘ[j]
        Τέλος_αν
Τέλος_επανάληψης
Για
 i από 1 μέχρι 27
        ΣΒΑΘ[i]  0
        Για j από 1 μέχρι 40
              ΣΒΑΘ[i]  ΣΒΑΘ[i] + βαθ[i,j]
        Τέλος_επανάληψης
Τέλος_επανάληψης
Για i από 2 μέχρι 27
        Για j από 27 μέχρι i με_βήμα -1
               Αν ΣΒΑΘ[j-1] < ΣΒΑΘ[j] τότε
                     Αντιμετάθεσε ΣΒΑΘ[j-1], ΣΒΑΘ[j]
                     Αντιμετάθεσε X[j-1], X[j]
                     Για k από 1 μέχρι 40
                            Αντιμετάθεσε βαθ[j-1,k] , βαθ[j,k]
                     Τέλος_επανάληψης
                Τέλος_αν
        Τέλος_επανάληψης
Τέλος_επανάληψης

Εμφάνισε 'νικήτρια η:', X[1]
Για i από 2 μέχρι 27
    Εμφάνισε X[i]
Τέλος_επανάληψης
max  -1
Για i από 1 μέχρι 27
        πλ12[i]  0
        j  1
        Όσο j  40 και βαθ[i,j] =12 επανάλαβε
                  j  j + 1
         Τέλος_επανάληψης
         πλ12[i]  j - 1
         Αν πλ12[i] > max τότε
                max  πλ12[i]
                pos  i
         Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε X[pos]
Αν pos = 1 τότε
       Εμφάνισε 'η νικήτρια έχει τα πιο πολλά 12άρια'
Τέλος_αν
i  1
flag  Ψευδής
Όσο i  27 και flag = Ψευδής επανάλαβε
          Αν X[i] = 'ΕΛΛΑΔΑ' τότε
                flag  Αληθής
                pos  i
                Για j από 1 μέχρι 40
                      Αν βαθ[pos,j]  0 τότε
                            Εμφάνισε ΧΩΡ_ΒΑΘ[j]
                      Τέλος_αν
                Τέλος_επανάληψης

            αλλιώς
                 i  i + 1

            Τέλος_αν
Τέλος_επανάληψης
Τέλος eurovision_2015_2

ΠΕΡΙ ΣΥΓΧΩΝΕΥΣΗΣ ΜΕ ΕΠΙΚΑΙΡΟ ΘΕΜΑ (EUROVISION)

Στο χθεσινό διαγωνισμό της EUROVISION διαγωνίστηκαν 27 χώρες οι οποίες ήταν οι 'μεγάλοι 5' (ΑΓΓΛΙΑ, ΙΤΑΛΙΑ, ΓΑΛΛΙΑ, ΓΕΡΜΑΝΙΑ, ΙΣΠΑΝΙΑ), η ΑΥΣΤΡΙΑ ως περσινή νικήτρια, η ΑΥΣΤΡΑΛΙΑ ως guest και 20 ακόμη χώρες που προέκυψαν από 2 ημιτελικούς (10 καλύτερες βάσει συνολικής βαθμολογίας από κάθε ημιτελικό) . Σε κάθε ημιτελικό διαγωνίζονταν 16 ή 17 χώρες (16 στον πρώτο και 17 στο δεύτερο). Να γραφεί αλγόριθμος ο οποίος:
α) θα διαβάζει σε 2 πίνακες 16 και 17 θέσεων τα ονόματα των χωρών κάθε ημιτελικού
β) θα διαβάζει σε 2 πίνακες 16 και 17 θέσεων  τις συνολικές βαθμολογίες κάθε χώρας κάθε ημιτελικού
γ) θα ταξινομεί τις χώρες των 2 ημιτελικών βάσει συνολικής βαθμολογίας
γ) θα δημιουργεί και θα εμφανίζει τον πίνακα με τα ονόματα των χωρών που θα διαγωνιστούν στον τελικό τοποθετώντας τους 'big 5' πρώτα και έπειτα ΑΥΣΤΡΙΑ, ΑΥΣΤΡΑΛΙΑ και τις 20 χώρες από τους δύο ημιτελικούς που προκρίθηκαν στον τελικό. Όσον αφορά τις τελευταίες θα εισάγονται βάσει της συνολικής τους βαθμολογίας από την καλύτερη προς τη χειρότερη.

Αλγόριθμος eurovision_2015_1
Για i από 1 μέχρι 16
       Διάβασε ημιτ1[i], συν1[i]
Τέλος_επανάληψης
Για
 i από 1 μέχρι 17
       Διάβασε ημιτ2[i], συν2[i]
Τέλος_επανάληψης
Για
 i από 2 μέχρι 16
        Για j από 16 μέχρι i με_βήμα -1
               Αν συν1[j-1] > συν1[j] τότε
                     Αντιμετάθεσε συν1[j-1], συν1[j]
                     Αντιμετάθεσε ημιτ1[j-1], ημιτ1[j]
               Τέλος_αν
       Τέλος_επανάληψης
Τέλος_επανάληψης
Για
 i από 2 μέχρι 17
        Για j από 17 μέχρι i με_βήμα -1
               Αν συν2[j-1] > συν2[j] τότε
                     Αντιμετάθεσε συν2[j-1], συν2[j]
                     Αντιμετάθεσε ημιτ2[j-1], ημιτ2[j]
              Τέλος_αν
        Τέλος_επανάληψης
Τέλος_επανάληψης
Για i από 1 μέχρι 10
        προκρ1[i]  ημιτ1[i]
        προκρ2[i]  ημιτ2[i]
Τέλος_επανάληψης
final[1]  'ΑΓΓΛΙΑ'
final[2]  'ΙΤΑΛΙΑ'
final[3]  'ΓΑΛΛΙΑ'
final[4]  'ΓΕΡΜΑΝΙΑ'
final[5]  'ΙΣΠΑΝΙΑ'
final[6]  'ΑΥΣΤΡΙΑ'
final[7]  'ΑΥΣΤΡΑΛΙΑ'
i  1
j  1
k  8
Όσο i  10 και j  10 επανάλαβε
         Αν προκρ1[i] > προκρ2[j] τότε
               final[k]  προκρ1[i]
               i  i + 1
         αλλιώς
               final[k]  προκρ2[j]
               j  j + 1
         Τέλος_αν
          k  k + 1
Τέλος_επανάληψης
Αν i > 10 τότε
      Για m από k μέχρι 27
              final[m]  προκρ2[j]
              j  j + 1
       Τέλος_επανάληψης
αλλιώς
       Για m από k μέχρι 27
            final[m]  προκρ1[i]
            i  i + 1
       Τέλος_επανάληψης
Τέλος_αν
Για i από 1 μέχρι 27
        Εμφάνισε final[i]
Τέλος_επανάληψης
Τέλος
 eurovision_2015_1

ΠΕΡΙ ΣΥΓΧΩΝΕΥΣΗΣ

1. Δύο εταιρίες πρόκειται να συγχωνευτούν οπότε πρέπει να συγχωνεύσουν το μητρώο υπαλλήλων τους. Η πρώτη εταιρία διατηρεί σε έναν πίνακα 50x5 το μητρώο υπαλλήλων της ως εξής: στην 1η στήλη επώνυμο, στη 2η όνομα, στην τρίτη διεύθυνση κατοικίας, στην τέταρτη αριθμό δελτίου ταυτότητας και στην πέμπτη τηλέφωνο ενώ η δεύτερη εταιρία διατηρεί σε έναν πίνακα 30x5 το μητρώο υπαλλήλων της ως εξής: στην 1η στήλη επώνυμο, στη 2η όνομα, στην τρίτη διεύθυνση κατοικίας, στην τέταρτη τηλέφωνο και στην πέμπτη αριθμό δελτίου ταυτότητας.
Να αναπτύξετε πρόγραμμα το οποίο:
Α) να εισάγει σε δυο πίνακες το μητρώο κάθε εταιρίας
Β) να δημιουργήσει πίνακα 80x5 με το ενιαίο μητρώο της νέας εταιρίας.
            Γ) να εμφανίζει τα στοιχεία του νέου ενιαίου μητρώου αλφαβητικά ως προς τα επώνυμα. Να χρησιμοποιήσετε δυο διαδικασίες, μια για την αντιμετάθεση δυο στοιχείων (να κληθεί 2 φορές από το πρόγραμμα) και μια για συγχώνευση πινάκων.

ΠΡΟΓΡΑΜΜΑ ΑΣΚ12
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: i, j, k
  ΧΑΡΑΚΤΗΡΕΣ: ΕΤ1[50, 5], ΕΤ2[30, 5], ΕΠΩΝ, ΟΝ, ΔΙΕΥΘ, ΑΤ, ΤΗΛ, ΕΤ[80, 5],temp
ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 50
          ΔΙΑΒΑΣΕ ΕΠΩΝ, ΟΝ, ΔΙΕΥΘ, ΑΤ, ΤΗΛ
          ΕΤ1[i, 1] 
 ΕΠΩΝ
          ΕΤ1[i, 2] 
 ΟΝ
          ΕΤ1[i, 3] 
 ΔΙΕΥΘ
          ΕΤ1[i, 4] 
 ΑΤ
          ΕΤ1[i, 5] 
 ΤΗΛ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ
 i ΑΠΟ 1 ΜΕΧΡΙ 30
          ΔΙΑΒΑΣΕ ΕΠΩΝ, ΟΝ, ΔΙΕΥΘ, ΑΤ, ΤΗΛ
          ΕΤ2[i, 1] 
 ΕΠΩΝ
          ΕΤ2[i, 2] 
 ΟΝ
          ΕΤ2[i, 3] 
 ΔΙΕΥΘ
          ΕΤ2[i, 4] 
 ΤΗΛ
          ΕΤ2[i, 5] 
 ΑΤ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 50
           ΓΙΑ j ΑΠΟ 50 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1
                   ΑΝ ΕΤ1[j - 1, 1] > ΕΤ1[j, 1] ΤΟΤΕ
                           ΓΙΑ k ΑΠΟ 1 ΜΕΧΡΙ 5
                                   ΚΑΛΕΣΕ ΔΙΑΔ1(ΕΤ1[j - 1, k], ΕΤ1[j, k])
                           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                   ΤΕΛΟΣ_ΑΝ
           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 30
           ΓΙΑ j ΑΠΟ 30 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1
                   ΑΝ ΕΤ2[j - 1, 1] > ΕΤ2[j, 1] ΤΟΤΕ
                           ΓΙΑ k ΑΠΟ 1 ΜΕΧΡΙ 5
                                    ΚΑΛΕΣΕ ΔΙΑΔ1(ΕΤ2[j - 1, k], ΕΤ2[j, k])
                           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                   ΤΕΛΟΣ_ΑΝ
           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 30
           temp 
 ΕΤ2[i, 4]
           ΕΤ2[i, 4] 
← ΕΤ2[i, 5]
           ΕΤ2[i, 5] 
 temp
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΚΑΛΕΣΕ ΔΙΑΔ2(ΕΤ1, ΕΤ2, ΕΤ)
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 80
         ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 5
                 ΓΡΑΨΕ ΕΤ[i, j]
         ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


ΔΙΑΔΙΚΑΣΙΑ ΔΙΑΔ1(a, b)
ΜΕΤΑΒΛΗΤΕΣ
  ΧΑΡΑΚΤΗΡΕΣ: a, b, temp
ΑΡΧΗ
  temp 
 a
  a 
 b
  b 
 temp
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΔΙΑΔΙΚΑΣΙΑ ΔΙΑΔ2(Ε1, Ε2, ΕΤΕΛ)
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: i, j, k, p, m, n
  ΧΑΡΑΚΤΗΡΕΣ: Ε1[50, 5], Ε2[30, 5], ΕΤΕΛ[80, 5]
ΑΡΧΗ
  k 
 1
  m 
 1
  n 
 1
  ΟΣΟ k <= 50 ΚΑΙ m <= 30 ΕΠΑΝΑΛΑΒΕ
            ΑΝ Ε1[k, 1] < Ε2[m, 1] ΤΟΤΕ
                    ΕΤΕΛ[n, 1] 
 Ε1[k, 1]
                    ΕΤΕΛ[n, 2] 
 Ε1[k, 2]
                    ΕΤΕΛ[n, 3] 
 Ε1[k, 3]
                    ΕΤΕΛ[n, 4] 
 Ε1[k, 4]
                    ΕΤΕΛ[n, 5] 
 Ε1[k, 5]
                    k 
 k + 1
            ΑΛΛΙΩΣ
                    ΕΤΕΛ[n, 1] 
 Ε2[m, 1]
                    ΕΤΕΛ[n, 2] 
 Ε2[m, 2]
                    ΕΤΕΛ[n, 3] 
 Ε2[m, 3]
                    ΕΤΕΛ[n, 4] 
 Ε2[m, 4]
                    ΕΤΕΛ[n, 5] 
 Ε2[m, 5]
                    m 
 m + 1
             ΤΕΛΟΣ_ΑΝ
              n 
 n + 1
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΑΝ k < 50 ΤΟΤΕ
          p 
← k
          ΓΙΑ i ΑΠΟ k ΜΕΧΡΙ 80
                  ΕΤΕΛ[i, 1] 
 Ε1[p, 1]
                  ΕΤΕΛ[i, 2] 
 Ε1[p, 2]
                  ΕΤΕΛ[i, 3] 
 Ε1[p, 3]
                  ΕΤΕΛ[i, 4] 
 Ε1[p, 4]
                  ΕΤΕΛ[i, 5] 
 Ε1[p, 5]
                  p 
 p + 1
          ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΑΝ

  ΑΝ m < 50 ΤΟΤΕ
          p 
 m
          ΓΙΑ i ΑΠΟ m ΜΕΧΡΙ 80
                 ΕΤΕΛ[i, 1] 
 Ε1[p, 1]
                 ΕΤΕΛ[i, 2] 
 Ε1[p, 2]
                 ΕΤΕΛ[i, 3] 
 Ε1[p, 3]
                 ΕΤΕΛ[i, 4] 
 Ε1[p, 4]
                 ΕΤΕΛ[i, 5] 
 Ε1[p, 5]
                 p 
 p + 1
          ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ 



ΠΙΝΑΚΕΣ ΤΙΜΩΝ ΜΕ ΑΡΙΘΜΗΣΗ ΓΡΑΜΜΩΝ ΕΝΤΟΛΩΝ

1. Δίνονται οι παρακάτω αριθμημένες εντολές ενός αλγορίθμου

1 Διάβασε Χ
2 Διάβασε Υ
3 Όσο Χ >= Υ επανάλαβε
4           κ  1
5           Αρχή_επανάληψης
6                    Εμφάνισε κ*Χ+Υ
7                    Αν κ mod 2 = 0 τότε
8                          Εμφάνισε Χ^2
9                    Τέλος_αν
10                   κ  κ+1
11           Μέχρις_ότου κ > Χ
12           Χ  Χ-1
13 Τέλος_επανάληψης
14 Εμφάνισε κ, Χ

Στη στήλη με τίτλο  «Αριθμός γραμμής» καταγράφεται ο αριθμός γραμμής της εντολής που εκτελείται. Στις στήλες με τίτλο «Χ >= Υ», «κ > Χ» και «κ mod 2 = 0» καταγράφεται η λογική τιμή Αληθής ή Ψευδής, εφόσον η εντολή που εκτελείται περιλαμβάνει την αντίστοιχη συνθήκη. Στη στήλη με τίτλο «Έξοδος» καταγράφεται η τιμή εξόδου, εφόσον η εντολή που εκτελείται είναι εντολή εξόδου. Στη συνέχεια του πίνακα υπάρχει μια στήλη για κάθε μεταβλητή του αλγόριθμου. Να μεταφέρετε τον πίνακα στο τετράδιο σας και να τον συμπληρώσετε εκτελώντας τις εντολές του αλγορίθμου ως εξής: για κάθε εντολή που εκτελείται να γράψετε σε νέα γραμμή του πίνακα τον αριθμό της γραμμής της και το αποτέλεσμα της στην αντίστοιχη στήλη.
Σημείωση: Ήδη όπως διαπιστώνετε έχουν συμπληρωθεί δύο καταχωρήσεις (οι τιμές εισόδου για τις μεταβλητές Χ, Υ είναι 2 και 1 αντίστοιχα).

Αριθμός εντολής
Χ>=Υ
κ>Χ
Κ mod 2 = 0
έξοδος
κ
Χ
Υ
1





2

2






1
3
Αληθής






4




1


6



3



7


Ψευδής




10




2


11

Ψευδής





6



5



7


Αληθής




8



3



10




3


11

Αληθής





12





1

3
Αληθής






4




1


6



2



7

Ψευδής





10




2


11

Αληθής





12





0

3
Ψευδής






14



2, 0













2. Δίνονται οι παρακάτω αριθμημένες εντολές ενός αλγορίθμου

1.           α  6
2.          β  14
3.          Για λ από 75 μέχρι 126 με_βήμα 20
4.                 Εμφάνισε α+β
5.                  Για μ από 26 μέχρι 17 με_βήμα -6
6.                        Εμφάνισε μ mod β
7.                         β  β+5
8.                Τέλος_επανάληψης
9.                Εμφάνισε λ div α
10.             α  α+2
11.        Τέλος_επανάληψης
12.       Εμφάνισε α+β-λ+μ

με βάση το παρακάτω υπόδειγμα πίνακα που δίνεται να το συμπληρώσετε και να το παρουσιάσετε

Αριθμός εντολής
α
β
λ
μ
μ mod β
λ div α
έξοδος
1
6






2

14





3


75




4






20
5



26



6




12

12
7

19





5



20



6




1

1
7

24





5



14



9





12
12
10
8






3


95




4






25
5



26



6




2

2
7

29





5



20



6




20

20
7

34





5



14



9





11
11
10
10






3


115




4






44
5



26



6




26

26
7

39





5



20



6




20

20
7

44





5



14



9





11
11
10
12






3


135




12






205