Δευτέρα 24 Μαρτίου 2014

ΛΥΜΕΝΑ ΠΑΡΑΔΕΙΓΜΑΤΑ ΣΥΝΑΡΤΗΣΕΩΝ & ΔΙΑΔΙΚΑΣΙΩΝ

1. Να γραφεί διαδικασία η οποία θα ζητά και θα διαβάζει έναν αριθμό από το πληκτρολόγιο. Η διαδικασία της ανάγνωσης θα γίνεται επαναληπτικά μέχρι να δοθεί σαν είσοδος θετική τιμή.

ΔΙΑΔΙΚΑΣΙΑ Είσοδος_Δεδομένων(χ)
  ΜΕΤΑΒΛΗΤΕΣ
    ΠΡΑΓΜΑΤΙΚΕΣ: x
ΑΡΧΗ
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
          ΓΡΑΨΕ'Δώσε έναν αριθμό'
          ΔΙΑΒΑΣΕ χ
  ΜΕΧΡΙΣ_ΟΤΟΥ χ > 0
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

2. Να γραφεί πρόγραμμα που θα διαβάζει έναν πίνακα 50 θέσεων και θα υπολογίζει το μέσο όρο των στοιχείων του. Η ανάγνωση των στοιχείων του πίνακα και ο υπολογισμός του μέσου όρου να γίνεται με τη βοήθεια διαδικασίας και συνάρτησης αντίστοιχα.

ΠΡΟΓΡΑΜΜΑ Μέσος_όρος_πίνακα
  ΜΕΤΑΒΛΗΤΕΣ
    ΑΚΕΡΑΙΕΣ: Π[50]
ΑΡΧΗ
  ΚΑΛΕΣΕ Εισαγωγή_Στοιχείων(Π)
  ΓΡΑΨΕ 'Ο μέσος όρος των στοιχείων του πίνακα είναι' ,Μέσος_όρος(Π)
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΔΙΑΔΙΚΑΣΙΑ Εισαγωγή_Στοιχείων(table)
  ΜΕΤΑΒΛΗΤΕΣ
    ΑΚΕΡΑΙΕΣ: table[50], i
ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 50
       ΓΡΑΨΕ'Δώσε το στοιχείο' ,i
       ΔΙΑΒΑΣΕ table[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΣΥΝΑΡΤΗΣΗ Μέσος_όρος(table): ΠΡΑΓΜΑΤΙΚΗ
  ΜΕΤΑΒΛΗΤΕΣ
    ΑΚΕΡΑΙΕΣ: table[50], i, sum
ΑΡΧΗ
  sum ← 0
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 50
       sum ← sum + 1
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  Μέσος_όρος ← sum / 50
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

3. Να γραφεί πρόγραμμα που θα διαβάζει δυο πίνακες 100 ακεραίων και θα βρίσκει και θα τυπώνει τα μέγιστα στοιχεία τους. Να γίνει χρήση συναρτήσεων και διαδικασιών.

ΠΡΟΓΡΑΜΜΑ Μέγιστο_Στοιχείο
  ΜΕΤΑΒΛΗΤΕΣ
    ΑΚΕΡΑΙΕΣ: Α[100], Β[100]
ΑΡΧΗ
  ΚΑΛΕΣΕ Εισαγωγή_Στοιχείων(Α)
  ΓΡΑΨΕ'Το μέγιστο στοιχείο του πρώτου πίνακα:' , Μέγιστο(Α)
  ΚΑΛΕΣΕ Εισαγωγή_Στοιχείων(Β)
  ΓΡΑΨΕ'Το μέγιστο στοιχείο του πρώτου πίνακα:' , Μέγιστο(Β)
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΔΙΑΔΙΚΑΣΙΑ Εισαγωγή_Στοιχείων(Π)
  ΜΕΤΑΒΛΗΤΕΣ
    ΑΚΕΡΑΙΕΣ: Π[100], i
ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
       ΓΡΑΨΕ 'Δώσε το στοιχείο' ,i
       ΔΙΑΒΑΣΕ Π[I]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΣΥΝΑΡΤΗΣΗ Μέγιστο(Π): ΑΚΕΡΑΙΑ
  ΜΕΤΑΒΛΗΤΕΣ
    ΑΚΕΡΑΙΕΣ: Π[100], i, max
ΑΡΧΗ
  max ← Π[1]
  ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 100
       ΑΝ Π[i] > max ΤΟΤΕ
            maxΠ[i]
       ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  Μέγιστο ← max
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

4. α) Να γραφεί συνάρτηση που θα υπολογίζει το πλήθος εμφάνισης της λέξης
"Αλγόριθμος". Η συνάρτηση θα δέχεται ως είσοδο έναν πίνακα 200 λέξεων.
β) Να γραφεί διαδικασία που θα διαβάζει έναν πίνακα 200 θέσεων που περιέχει λέξεις.
γ) Να γραφεί πρόγραμμα που με χρήση των υποπρογραμμάτων των προηγούμενων
υποερωτημάτων θα εμφανίζει το πλήθος και το ποσοστό της εμφάνισης της λέξης
"Αλγόριθμος" σε ένα πίνακα 200 θέσεων.

α)

ΣΥΝΑΡΤΗΣΗ Συχνότητα(Π): ΑΚΕΡΑΙΑ
  ΜΕΤΑΒΛΗΤΕΣ
    ΑΚΕΡΑΙΕΣ: i, Μ
    ΧΑΡΑΚΤΗΡΕΣ: Π[200]
ΑΡΧΗ
  Μ← Ο
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 200
       ΑΝ Π[i] = "Αλγόριθμος" ΤΟΤΕ
            Μ ← Μ+ 1
       ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  Συχνότητα ← Μ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

β)

ΔΙΑΔΙΚΑΣΙΑ Εισαγωγή_Στοιχείων(Π)
  ΜΕΤΑΒΛΗΤΕΣ
    ΑΚΕΡΑΙΕΣ: i
    ΧΑΡΑΚΤΗΡΕΣ: Π[200]
ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 200
       ΔΙΑΒΑΣΕ Π[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

γ)

ΠΡΟΓΡΑΜΜΑ Υπολογισμός
  ΜΕΤΑΒΛΗΤΕΣ
    ΑΚΕΡΑΙΕΣ: πλήθος
    ΠΡΑΓΜΑΤΙΚΕΣ: π
    ΧΑΡΑΚΤΗΡΕΣ: Π[200]
ΑΡΧΗ
  ΚΑΛΕΣΕ Εισαγωγή_Στοιχείων(Π)
  πλήθος ← Συχνότητα(Π)
  ποσοστό ← πλήθος *100/200
  ΓΡΑΨΕ πλήθος, ποσοστό
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

5. Χρησιμοποιώντας την κατάλληλη μορφή υποπρογράμματος, να γραφεί ως υποπρόγραμμα ο αλγόριθμος αλά ρωσικά με είσοδο ακεραίους Μ1, Μ2.

ΣΥΝΑΡΤΗΣΗ Γινόμενο(Μ1, Μ2): ΑΚΕΡΑΙΑ
  ΜΕΤΑΒΛΗΤΕΣ
    ΑΚΕΡΑΙΕΣ: ΜΙ, Μ2, άθροισμα
ΑΡΧΗ
  άθροισμα ← Ο
  ΟΣΟ Μ2 > Ο ΕΠΑΝΑΛΑΒΕ
         ΑΝ Μ2 MOD 2 = 1 ΤΟΤΕ
              άθροισμα ← άθροισμα + Μ1
         ΤΕΛΟΣ_ΑΝ
         Μ1Μ1*2
         Μ2 ← Μ2 DIV 2
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  Γινόμενο ← άθροισμα

ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

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

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