Παρασκευή 28 Φεβρουαρίου 2014

ΑΣΚΗΣΗ ΜΕ ΠΕΡΙΤΤΟΥΣ ΠΙΝΑΚΕΣ - ΜΕ ΑΠΟΦΥΓΗ ΠΕΡΙΤΤΩΝ ΠΙΝΑΚΩΝ

Σε ένα τμήμα (Γ10) υπάρχουν 8 μαθητές που έχουν βαθμολογηθεί σε 6 μαθήματα. Να γραφεί πρόγραμμα ή αλγόριθμος που :
1. θα αποθηκεύει τα ονόματα των μαθητών σε μονοδιάστατο πίνακα ΟΝ
2. θα αποθηκεύει τις ονομασίες των 6 μαθημάτων σε μονοδιάστατο πίνακα ΜΑΘ
3. θα αποθηκεύει τις βαθμολογίες των μαθητών σε δισδιάστατο πίνακα ΒΑΘ
4. θα υπολογίζει το μέσο όρο βαθμολογίας για κάθε μαθητή
5. θα υπολογίζει το μέσο όρο του τμήματος ανά μάθημα
6. θα εμφανίζει το μαθητή με την καλύτερη βαθμολογία κατά μέσο όρο (είναι ένας/μια)
7. θα εμφανίζει το μάθημα με τον καλύτερο μέσο όρο τμήματος

Αλγόριθμος Γ_10
Για i από 1 μέχρι 8
      Διάβασε ΟΝ[i]
      Για j από 1 μέχρι 6
            Διάβασε ΒΑΘ[i,j]
      Τέλος_επανάληψης
Τέλος_επανάληψης
Για j από 1 μέχρι 6
      Διάβασε ΜΑΘ[j]
Τέλος_επανάληψης
Για i από 1 μέχρι 8
      s ← 0
      Για j από 1 μέχρι 6
            s ← s + ΒΑΘ[i,j]
      Τέλος_επανάληψης
      μο_μαθητή[i] ← s / 6
Τέλος_επανάληψης
Για j από 1 μέχρι 6
      s ← 0
      Για i από 1 μέχρι 8
            s ← s + ΒΑΘ[i,j]
      Τέλος_επανάληψης
      μο_μαθ[j] ← s / 8
Τέλος_επανάληψης
max ← μο_μαθητή[1]
posmax ← 1
Για από 2 μέχρι 8
      Αν μο_μαθητή[i] > max τότε
           max ← μο_μαθητή[i]
           posmax ← i
      Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε "Ο μαθητής με το μεγαλύτερο μέσο όρο είναι:" ,ΟΝ[posmax]
max ← μο_μαθ[1]
posmax ← 1
Για j από 2 μέχρι 6
      Αν μο_μαθ[j] > max τότε
           max ← μο_μαθ[j]
           posmax ← j
      Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε "Το μάθημα με το μεγαλύτερο μέσο όρο είναι" ,ΜΑΘ[posmax]
Τέλος Γ_10

Στην παραπάνω άσκηση δημιουργούνται 2 περιττοί πίνακες:ο μο_μαθητή[i] και ο μο_μαθ[j] τους οποίους δημιουργεί ο μαθητής για να βρει τον καλύτερο μο μαθητή και τον καλύτερο μο μαθήματος. Οι πίνακες μπορούν να αποφευχθούν αφού το μέγιστο θεωρείται ένα....πώς;
αρχικοποιώ το μέγιστο πριν τη για των μαθητών σε απίθανα μικρή τιμή και:
.
.
.
max ← -1                  ! απίθανα μικρή τιμή
Για i από 1 μέχρι 8
      s ← 0
      Για j από 1 μέχρι 6
            s ← s + ΒΑΘ[i,j]
      Τέλος_επανάληψης
      μο_μαθητή ← s / 6
      Αν μο_μαθητή > max τότε   !εδώ που έχω το μέσο όρο του μαθητή τον συγκρίνω 
           max ← μο_μαθητή         ! με το μέγιστο
           posmax ← i
      Τέλος_αν

Τέλος_επανάληψης
Εμφάνισε "Ο μαθητής με το μεγαλύτερο μέσο όρο είναι:" ,ΟΝ[posmax]


ομοίως, για τον καλύτερο μέσο όρο μαθήματος:
.
.
.
max ← -1
Για j από 1 μέχρι 6
      s ← 0
      Για i από 1 μέχρι 8
            s ← s + ΒΑΘ[i,j]
      Τέλος_επανάληψης
      μο_μαθ ← s / 8
      Αν μο_μαθ > max τότε
           max ← μο_μαθ
           posmax ← j
      Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε "Το μάθημα με το μεγαλύτερο μέσο όρο είναι" ,ΜΑΘ[posmax]

Πέμπτη 27 Φεβρουαρίου 2014

ΣΥΓΧΩΝΕΥΣΗ ΠΙΝΑΚΩΝ


Η συγχώνευση είναι μια ακόμη βασική λειτουργία των δομών δεδομένων. Η συγχώνευση δυο ταξινομημένων πινάκων έχει ως σκοπό τη δημιουργία ενός τρίτου πίνακα που θα περιέχει τα στοιχεία και των δύο αρχικών πινάκων, ταξινομημένα κατά την ίδια φορά.
Στη συνέχεια παρουσιάζεται ένα πρόγραμμα που πραγματοποιεί τη συγχώνευση δύο πινάκων Α[m] και Β[n] σε έναν πίνακα Γ[m+n]. Χρησιμοποιούνται τρεις δείκτες για τη χρήση των στοιχείων των πινάκων, πιο συγκεκριμένα ο δείκτης i για τον πίνακα Α, ο δείκτης j για τον πίνακα Β και ο δείκτης k για τον Γ.

A
1
4
6
8
11
12
17

Β
2
3
5
20
24

Γ
1
2
3
4
5
6
8
11
12
17
20
24

Η μέθοδος προχωρά ως εξής: Το μικρότερο στοιχείο από τους πίνακες Α και Β τοποθετείται στον πίνακα Γ με ταυτόχρονη αύξηση του αντίστοιχου δείκτη. Η διαδικασία αυτή επαναλαμβάνεται μέχρις ότου τελειώσουν τα στοιχεία του ενός πίνακα. Ύστερα τα υπόλοιπα στοιχεία του άλλου πίνακα μεταφέρονται στον πίνακα Γ.

ΠΡΟΓΡΑΜΜΑ Συγχώνευση_Πινάκων
ΣΤΑΘΕΡΕΣ
n = 7
m = 5
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Α[n], B[m], Γ[n+m], ί, j, k, t
ΑΡΧΗ
!Εισαγωγή στοιχείων στους πίνακες Α και Β
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ n
         ΔΙΑΒΑΣΕ Α[i]            
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ m
         ΔΙΑΒΑΣΕ B[j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
!Συγχώνευση Πινάκων
i ←1
j <- 1
k <- 1
ΟΣΟ i ≤ n ΚΑΙ j ≤ m ΕΠΑΝΕΛΑΒΕ
         ΑΝ Α[i] < Β[j] ΤΟΤΕ
                    Γ[k] ← Α[i]
                    i ← i+1
         ΑΛΛΙΩΣ
                    Γ[k] ← B[j]
                     j ← j+1
         ΤΕΛΟΣ_ΑΝ
          k ← k+1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ i > n ΤΟΤΕ
         ΓΙΑ t ΑΠΟ k ΜΕΧΡΙ n+m
                   Γ[t] ← B[j]
                   j ← j+1
         ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΛΛΙΩΣ
         ΓΙΑ t ΑΠΟ k ΜΕΧΡΙ n+m
                   Γ[t] ← Α[i]
                   i ← i+1
         ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Συγχώνευση_Πινάκων

ΑΝΑΖΗΤΗΣΗ ΣΕ 1D

Αναζήτηση

Η λειτουργία της αναζήτησης σε πίνακα είναι η εύρεση της θέσης στην οποία υπάρχει μια συγκεκριμένη τιμή η οποία ενδιαφέρει το χρήστη. Οι πιο γνωστές μέθοδοι αναζήτησης είναι η σειριακή και η δυαδική. Η σειριακή μέθοδος αναζήτησης είναι αρκετά απλή στην υλοποίηση, αλλά όχι τόσο αποδοτική, ενώ η δυαδική είναι πιο αποδοτική, αλλά απαιτεί ο πίνακας να είναι ταξινομημένος. Η μέθοδος της σειριακής αναζήτησης μπορεί να χωριστεί σε τρεις περιπτώσεις:

1.Εμφάνιση όλων των θέσεων που βρίσκεται το στοιχείο που αναζητούμε

Αλγόριθμος Σειριακή_Αναζήτηση_Εμφάνιση_Όλων
Δεδομένα // ntablekey //
done ← Ψευδής
Για i από 1 μέχρι n
         Αν table[i] = key τότε
                   Εμφάνισε "Η τιμή βρέθηκε στη θέση" ,i
                   done ← Αληθής
         Τέλος_αν
Τέλος_επανάληψης
Αν done = Ψευδής τότε
         Εμφάνισε "Η τιμή δεν βρέθηκε στον πίνακα"
Τέλος_αν
Τέλος Σειριακή_Αναζήτηση_Εμφάνιση_Όλων

2. Εμφάνιση της πρώτης θέσης που βρίσκεται το στοιχείο που αναζητούμε (η περίπτωση του σχολικού βιβλίου)

Αλγόριθμος Σειριακή_Αναζήτηση_Πρώτη_Εμφάνιση
Δεδομένα // ntablekey //
done ← Ψευδής
i ← 1
Όσο i ≤ n και done = Ψευδής επανάλαβε
         Αν table[i] = key τότε
                   Εμφάνισε "Η τιμή βρέθηκε στη θέση" ,i
                   done ← Αληθής
         Τέλος_αν
         i ← i + 1
Τέλος_επανάληψης
Αν done = Ψευδής τότε
         Εμφάνισε "Η τιμή δεν βρέθηκε στον πίνακα"
Τέλος_αν
Τέλος Σειριακή_Αναζήτηση_Πρώτη_Εμφάνιση

3. Εμφάνιση της τελευταίας θέσης που βρίσκεται το στοιχείο που αναζητούμε

Αλγόριθμος Σειριακή_Αναζήτηση_Τελευταία_Εμφάνιση
Δεδομένα // ntablekey //
done ← Ψευδής
position ← 0
Για i από 1 μέχρι n
         Αν table[i] = key τότε
                   position ← i
                   done ← Αληθής
         Τέλος_αν
Τέλος_επανάληψης
Αν done = Ψευδής τότε
         Εμφάνισε "Η τιμή δεν βρέθηκε στον πίνακα"
Αλλιώς
Εμφάνισε "Η τιμή βρέθηκε στη θέση" ,position
Τέλος_αν
Τέλος Σειριακή_Αναζήτηση_Τελευταία_Εμφάνιση

Τετάρτη 26 Φεβρουαρίου 2014

2ο ΣΕΤ ΑΣΚΗΣΕΩΝ ΣΤΟΥΣ ΠΙΝΑΚΕΣ

Άσκηση 1
Ένα ηλεκτρονικό σύστημα καταγράφει τους πελάτες που επισκέπτονται τα καταστήματα μιας τράπεζας κάθε ώρα. Καταχωρεί λοιπόν, στον πίνακα ΕΠ[6] την προσέλευση των πελατών για κάθε ένα από τα χρονικά διαστήματα: 8:31-9:30, 9:31-10:30, 10:31-11:30, 11:31-12:30, 12:31-13:30, 13:31-14:30.
Να γραφεί αλγόριθμος που με δεδομένο των παραπάνω πίνακα θα υπολογίζει και θα εμφανίζει:
1) το χρονικό διάστημα με την μεγαλύτερη επισκεψιμότητα,
2) το χρονικό διάστημα με την μικρότερη επισκεψιμότητα,
3) την ποσοστιαία διαφορά (%) μεταξύ της μεγαλύτερης και της μικρότερης επισκεψιμότητας (απόκλιση).
Άσκηση 2
Ένα περιοδικό αυτοκινήτου θέλει να κατασκευάσει μια εφαρμογή για τους αναγνώστες του, η οποία θα τους προτείνει το αυτοκίνητο που τους ταιριάζει, ανάλογα με τις ανάγκες τους. Έτσι σε έναν πίνακα ΑUΤΟ[50] βρίσκονται καταχωρημένα τα ονόματα (μάρκα και μοντέλο) 50 αυτοκινήτων. Επίσης σε έναν πίνακα ΑΞΙΟΛ[8, 50] καταχωρούνται οι βαθμολογίες των αυτοκινήτων αυτών ως προς οκτώ βασικούς τομείς (Οδική Συμπεριφορά, Άνεση, Εξοπλισμός, Ασφάλεια, Επιδόσεις, Κατανάλωση καυσίμου, Χώροι αποσκευών, Κόστος χρήσης).
Να γίνει αλγόριθμος που με δεδομένους τους παραπάνω πίνακες, θα διαβάζει διαδοχικά (όχι μαζί) τρεις αριθμούς από το 1 έως το 8 ελέγχοντας κάθε φορά την αξιόπιστη καταχώρισή τους. Κάθε αριθμός αντιστοιχεί σε έναν από τους τομείς που ενδιαφέρουν τον αναγνώστη ως προς τα χαρακτηριστικά του αυτοκινήτου. Στη συνέχεια θα εμφανίζει την καλύτερη επιλογή κάθε χαρακτηριστικού.
Άσκηση 3
Στον τελικό των 4000 μέτρων στιπλ του στίβου συμμετέχουν 8 αθλητές. Κάθε αθλητής, προκειμένου να τερματίσει πραγματοποιεί 10 γύρους των 400 μέτρων. Να γίνει αλγόριθμος
1) που θα διαβάζει τα ονόματα των αθλητών και τους χρόνους που χρειάστηκε ο καθένας, σε κάθε γύρω και θα τα καταχωρεί στους πίνακες ΟΝ[8] και ΧΡ[8,10] (ο χρόνος θα καταχωρείται σε δευτερόλεπτα).
2) θα εντοπίζει και εμφανίζει το όνομα του νικητή.
3) θα εντοπίζει και εμφανίζει το όνομα του τελευταίου.
Υποθέστε πως δεν υπάρχουν αθλητές με ίδιο συνολικό χρόνο.
Άσκη­ση 4
Σε μια πόλη υπάρχουνε συνολικά 22 χώροι στάθμευσης (πάρκινγκ). Να κάνετε πρόγραμμα που θα διαβάζει την απόσταση του κάθε πάρκιγνκ από το κέντρο και την τιμή που χρεώνει ανά ώρα. Στη συνέχεια να βρίσκετε το πάρκινγκ εκείνο που απέχει από το κέντρο από 600 μέτρα έως 1400 μέτρα. Αν υπάρχουνε περισσότερα από ένα να εμφανίζεται το πιο φθηνό.
Άσκηση 5
Μια ποδοσφαιρική ομάδα διαθέτει 22 ποδοσφαιριστές για κάθε έναν από τους οποίους αποθηκεύουμε το ονοματεπώνυμό τους, τα λεπτά συμμετοχής τους και τη θέση στην οποία παίζουν (“Ε” για επίθεση, “Α” για άμυνα, “Κ” για κέντρο και “Τ” όταν ο παίκτης είναι τερματοφύλακας). Να γίνει αλγόριθμος που θα διαβάζει τα παραπάνω δεδομένα και θα εντοπίζει και θα εμφανίζει τον ή τους παίκτες που έχουν τα περισσότερα λεπτά συμμετοχής για κάθε θέση.
Άσκηση 6
Στις βουλευτικές εκλογές μιας χώρας συμμετέχουν 25 κόμματα από 36 εκλογικά διαμερίσματα. Να γίνει πρόγραμμα που:
  1. Θα καταχωρεί τα ονόματα των κομμάτων που συμμετέχουν στις εκλογές
  2. Θα καταχωρεί τις ψήφους που έλαβαν όλα τα κόμματα από όλα τα εκλογικά διαμερίσματα
  3. Θα εντοπίζει το νικητήριο κόμμα των εκλογών (το κόμμα δηλαδή που συγκέντρωσε τις περισσότερες ψήφους)
  4. Θα εντοπίζει τα κόμματα που συγκέντρωσαν περισσότερο από το 3% των ψήφων επί της επικράτειας
  5. Θα εντοπίζει ποιες εκλογικές περιφέρειες έχει κερδίσει το κάθε κόμμα.
Άσκηση 7
Ένα μεσιτικό γραφείο διατηρεί τα ακόλουθα δεδομένα για κάθε διαμέρισμα που διαθέτει προς πώληση:
  1. Όροφος (1, 2, 3, …)
  2. Εμβαδό σε τετραγωνικά μέτρα (τ.μ)
  3. Αριθμός δωματίων (1, 2, 3, …)
  4. Πυλωτή (ναι/όχι)
Να γίνει πρόγραμμα που:
  1. Θα ζητάει τα παραπάνω δεδομένα για την εισαγωγή 450 διαμερισμάτων.
  2. Θα ζητάει από έναν υποψήφιο αγοραστή τις προτιμήσεις του σε τ.μ., δωμάτια και σε ποιο όροφο επιθυμεί να βρίσκεται το διαμέρισμά του. Ο υπολογιστής θα πρέπει να αναζητεί όλα τα διαμερίσματα που έχει καταχωρημένα και να επιστρέφει ακόμα και εκείνα που έχουν μια μικρή απόκλιση ως προς τα κριτήρια (+/- 30 τ.μ για το εμβαδό, +/- 1 όροφο και +/- 1 υπνοδωμάτιο)
  3. Τα αποτελέσματα θα πρέπει να επιστρέφονται ταξινομημένα ως προς την ακρίβεια. Δηλαδή ένα διαμέρισμα το οποίο ικανοποιεί πλήρως τα κριτήρια του χρήστη, προηγείται έναντι εκείνου που το εμβαδό του θα αποκλίνει μερικά τ.μ. από το επιθυμητό. Επιπρόσθετα το δεύτερο αυτό διαμέρισμα προηγείται ενός του οποίου γίνεται αναπροσαρμογή και στο εμβαδό και στον όροφο κ.ο.κ.

Τρίτη 25 Φεβρουαρίου 2014

6ο ΚΕΦΑΛΑΙΟ

Ερωτήσεις Πολλαπλής Επιλογής

1. Ο προγραμματισμός αφορά την διατύπωση ενός αλγορίθμου σε κατανοητή από τον υπολογιστή μορφή
2. Βασικό στοιχείο του προγράμματος είναι τα δεδομένα οι δομές δεδομένων πέραν της κωδικοποίησης
3. Οι γλώσσες προγραμματισμού αναπτύχθηκαν με σκοπό την επικοινωνία ανθρώπου - μηχανής
4. Ένα πρόγραμμα γραμμένο σε γλώσσα μηχανής είναι εντολές προς τον επεξεργαστή για στοιχειώδεις λειτουργίες
5. Ένα πρόγραμμα σε γλώσσα μηχανής χρειάζεται μετατροπή σε ακολουθία δυαδικών ψηφίων ώστε να εκτελεστεί από τον υπολογιστή
6. Μια ακολουθία εντολών 0, 1 είναι κατανοητή από τον επεξεργαστή και μπορεί να εκτελεστεί χωρίς μετατροπή
7. Ο προγραμματισμός σε γλώσσα μηχανής ήταν μια εξαιρετικά δύσκολη δουλειά που ελάχιστοι μπορούσαν να πραγματοποιήσουν
8. Ένα πρόγραμμα σε συμβολική γλώσσα ή γλώσσα χαμηλού επιπέδου τελικά μετατρέπεται σε γλώσσα μηχανής
9. Η συμβολική γλώσσα είναι μια ακολουθία 0 και 1
10. Μια εντολή ενός προγράμματος γλώσσας χαμηλού επιπέδου μεταφράζεται σε γλώσσα μηχανής
11. Με τις γλώσσες χαμηλού επιπέδου το κέντρο βάρους μετακινήθηκε από τον υπολογιστή προς τον άνθρωπο
12. Οι εντολές σε συμβολική γλώσσα αποτελούνται από συμβολικά ονόματα που αντιστοιχούν σε εντολές της γλώσσας μηχανής
13. Οι συμβολικές γλώσσες έφεραν την ανεξαρτησία από την αρχιτεκτονική κάθε υπολογιστή
14. Τα προγράμματα σε γλώσσες χαμηλού επιπέδου είναι εύκολο να γραφτούν και να συντηρηθούν
15. Τα προγράμματα σε γλώσσες υψηλού επιπέδου είναι ανεξάρτητα του υπολογιστή που αναπτύχθηκαν
16. Οι γλώσσες υψηλού επιπέδου ήρθαν να επιλύσουν τις αδυναμίες των συμβολικών γλωσσών για καλύτερη επικοινωνία ανθρώπου - μηχανής
17. Η Fortran είναι γλώσσα χαμηλού επιπέδου
18. Η γλώσσα προγραμματισμού Fortran είναι κατάλληλη για την επίλυση όλων των ειδικών προβλημάτων
19. Η Fortran είναι κατάλληλη για την επίλυση μαθηματικών και επιστημονικών προβλημάτων
20. Ένα πρόγραμμα γλώσσας υψηλού επιπέδου μπορεί να εκτελεστεί σε οποιονδήποτε υπολογιστή ανεξάρτητα της αρχιτεκτονικής
21. Δεν έχει αναπτυχθεί γλώσσα υψηλού επιπέδου που να επιλύει όλα τα είδη προβλημάτων
22. H COBOL είναι γλώσσα προσανατολισμένη στην ανάπτυξη εμπορικών εφαρμογών
23. H COBOL δεν μπορεί να επιλύσει μαθηματικά προβλήματα
24. Η Algol είναι μια γλώσσα γενικού σκοπού αλλά με ελάχιστη πρακτική εφαρμογή
25. Η Algol αναπτύχθηκε για την επίλυση μαθηματικών προβλημάτων
26. Η PL/1 είναι γλώσσα υψηλού επιπέδου γενικής χρήσης με ελάχιστη επιτυχία
27. Η PL/1 προσπάθησε να συνθέσει Fortran και COBOL
28. Η Lisp και η Prolog είναι γλώσσες προγραμματισμού που χρησιμοποιούνται στον τομέα της Τεχνητής Νοημοσύνης
29. Η Basic είναι γλώσσα γενικού σκοπού με έμφαση στην εκπαίδευση αρχαρίων στον προγραμματισμό
30. Η Basic κατόρθωσε με συνεχείς ανανεώσεις να καταστεί από τις πλέον δημοφιλείς γλώσσες προγραμματισμού
31. Η γλώσσα Pascal είναι γλώσσα γενικού σκοπού και κατάλληλη τόσο για την εκπαίδευση όσο και για τη δημιουργία ισχυρών προγραμμάτων
32. Η Pascal αποτέλεσε τη βάση για την παρουσίαση γλωσσών όπως η ADA και η Modula-2
33. Η C χρησιμοποιήθηκε για την ανάπτυξη συστημάτων και έχει πολλές δυνατότητες χαμηλού επιπέδου
34. Η C++ είναι γλώσσα τέταρτης γενιάς
35. Η C++ και οι Java είναι αντικειμενοστραφείς γλώσσες
36. Η Java είναι κατάλληλη για την ανάπτυξη εφαρμογών που εκτελούνται δικτυακά
37. Ο οδηγούμενος από τα γεγονότα προγραμματισμός και οι γλώσσες οπτικού προγραμματισμού αξιοποιούν τα γραφικά χαρακτηριστικά του υπολογιστή (ποντίκι, μενού κ.λ.π.)
38. Στον οπτικό προγραμματισμό ο προγραμματιστής δεν γράφει κώδικα αλλά σχεδιάζει τα οπτικά αντικείμενα της εφαρμογής του
39. Οι πιο διαδεδομένες οπτικές γλώσσες είναι η Visual Basic, η Visual C++ και η Java
40. Ο δομημένος προγραμματισμός επιτρέπει την άμεση μεταφορά των αλγορίθμων σε πρόγραμμα
41. Χάρη στο δομημένο προγραμματισμό δημιουργούνται προγράμματα απλούστερα, κατανοήσιμα και εύκολα στη διόρθωση
42. Στο δομημένο προγραμματισμό ακολουθούνται οι αρχές του ιεραρχικού και του τμηματικού προγραμματισμού
43. Στην ιεραρχική σχεδίαση, η ανάλυση του αλγορίθμου πραγματοποιείται με την τεχνική «από πάνω προς τα κάτω»
44. Ένα πλεονέκτημα των γλωσσών προγραμματισμού χαμηλού επιπέδου είναι η μεταφερσιμότητα των προγραμμάτων
45. Παρά τη μεταφερσιμότητά τους, τα προγράμματα υψηλού επιπέδου είναι δυσκολότερο να διορθωθούν και να συντηρηθούν
46. Στα πλεονεκτήματα των γλωσσών προγραμματισμού υψηλού επιπέδου σε σχέση με τις συμβολικές γλώσσες είναι η ανεξαρτησία από τον τύπο του υπολογιστή
47. Οι γλώσσες υψηλού επιπέδου προτιμούνται για τον κοντύτερα στον άνθρωπο τρόπο έκφρασης
48. Είναι ευκολότερη η εκμάθηση μιας γλώσσας χαμηλού επιπέδου
49. Ο παράλληλος προγραμματισμός προϋποθέτει την ύπαρξη περισσοτέρων από έναν επεξεργαστών
50. Οι γλώσσες 4ης γενιάς χρησιμοποιούνται σε εφαρμογές που χρησιμοποιούν βάσεις δεδομένων
51. Η καλύτερη γλώσσα προγραμματισμού είναι η Pascal
52. Η επιλογή της καλύτερης γλώσσας προγραμματισμού εξαρτάται από το είδος της εφαρμογής
53. Μια γλώσσα προγραμματισμού προσδιορίζεται από: το αλφάβητό της, το λεξιλόγιό της, τη γραμματική της και τη σημασιολογία της
54. Λεξιλόγιο μιας γλώσσας είναι όλες οι ακολουθίες που δημιουργούνται από τα στοιχεία του αλφαβήτου της γλώσσας, τις λέξεις
55. Η γραμματική είναι το συντακτικό μιας γλώσσας
56. Δεν υπάρχουν διαφορές μεταξύ φυσικών και τεχνητών γλωσσών
57. Η ιεραρχική σχεδίαση διασπά ένα πρόβλημα σε υποπροβλήματα και τα επιλύει, λύνοντας το αρχικό πρόβλημα
58. Ο τμηματικός προγραμματισμός υλοποιεί την φιλοσοφία της ιεραρχικής σχεδίασης
59. Κάθε υποπρόβλημα της ιεραρχικής σχεδίασης αποτελεί μια ανεξάρτητη ενότητα στον τμηματικό προγραμματισμό
60. Ο δομημένος προγραμματισμός περιέχει την ιεραρχική σχεδίαση και τον τμηματικό προγραμματισμό
61. Ο δομημένος προγραμματισμός προϋποθέτει τη χρήση εξειδικευμένων αλγοριθμικών δομών
62. Η αντικειμενοστραφής προσέγγιση εκλαμβάνει ως πρωτεύοντα δομικά στοιχεία ενός προγράμματος τις τρεις αλγοριθμικές δομές: δομή ακολουθίας, δομή επιλογής και δομή επανάληψης
63. Για την ανάπτυξη προγραμμάτων με τη φιλοσοφία του παράλληλου προγραμματισμού απαιτείται η χρήση εξειδικευμένων γλωσσών προγραμματισμού
64. Ο διερμηνευτής (interpreter) μετατρέπει το εκτελέσιμο πρόγραμμα (executable) σε πρόγραμμα αντικείμενο (object)
65. Ο μεταγλωττιστής μας επιτρέπει να συντάσσουμε ένα πρόγραμμα
66. Ο μεταγλωττιστής αναλαμβάνει το ρόλο της μετάφρασης από το πηγαίο πρόγραμμα στο εκτελέσιμο πρόγραμμα
67. Ο διερμηνευτής ελέγχει και μετατρέπει μια-μια τις εντολές του πηγαίου προγράμματος σε γλώσσα μηχανής
68. Ο συνδέτης μετατρέπει το πηγαίο πρόγραμμα σε βιβλιοθήκη
69. Το αντικείμενο πρόγραμμα είναι ουσιαστικά γλώσσα μηχανής
70. Ο συνδέτης είναι ένα πρόγραμμα ελέγχου των συντακτικών λαθών του πηγαίου προγράμματος
71. Τα λογικά λάθη εντοπίζονται από έναν μεταγλωττιστή αλλά όχι από έναν διερμηνευτή
72. Τα συντακτικά λάθη επιδιορθώνονται γρήγορα και εύκολα αλλά για τα λογικά λάθη η επιδιόρθωση είναι μια επίπονη διαδικασία
73. Ο μεταγλωττιστής έχει το μειονέκτημα ότι ελέγχει όλο το πρόγραμμα και πραγματοποιεί και την διαδικασία της σύνδεσης πολλές φορές μέχρι να επιδιορθωθούν όλα τα λάθη
74. Ο διερμηνευτής έχει το πλεονέκτημα ότι το πρόγραμμα εκτελείται γρηγορότερα
75. Τα σύγχρονα προγραμματιστικά περιβάλλοντα χρησιμοποιούν μικτές υλοποιήσεις διερμηνευτή και μεταγλωττιστή
76. Σ' ένα σύγχρονο προγραμματιστικό περιβάλλον απαιτείται η παρουσία συντάκτη για την συγγραφή του κειμένου των εντολών
77. Για την επιδιόρθωση των λογικών λαθών πολλές φορές ο προγραμματιστής καλείται να εκτελέσει το πρόγραμμά του επανειλημμένα
78. Ο μεταγλωττιστής σ' ένα σύγχρονο προγραμματιστικό περιβάλλον καθιστά την ύπαρξη του συνδέτη προαιρετική
79. Ο μεταγλωττιστής διορθώνει όλα τα συντακτικά λάθη με τη χρήση βιβλιοθηκών
80. Η παράλειψη μιας εντολής Τέλος_αν είναι λογικό λάθος
81. Η χρήση της εντολής ΜΟ α + β + γ / 3 αντί της ΜΟ (α + β + γ) / 3 είναι λογικό λάθος
82. Τα λογικά λάθη ενός προγράμματος εμφανίζονται κατά τη μεταγλώττιση
83. Ο εντοπισμός των συντακτικών λαθών σε ένα πρόγραμμα γίνεται από τον μεταγλωττιστή (compiler)
84. Το έργο της μετάφρασης εντολών γλώσσας χαμηλού επιπέδου σε ακολουθία 0, 1 αναλαμβάνει ο ____________
85. Η δυσκολία προγραμματισμού σε γλώσσα μηχανής οδήγησε στην δημιουργία ________________ γλωσσών ή γλωσσών ___________ επιπέδου
86. Βασική τεχνική σχεδίασης προγραμμάτων είναι η τεχνική του _______________ προγραμματισμού
87. Κάθε πρόγραμμα γλώσσας υψηλού επιπέδου μεταφράζεται σε γλώσσα μηχανής από ένα ειδικό πρόγραμμα που ονομάζεται ___________
88. Η ανεξαρτησία των γλωσσών προγραμματισμού από την αρχιτεκτονική των υπολογιστών ονομάζεται _______________
89. Ο δομημένος προγραμματισμός στηρίζεται στη χρήση τριών στοιχειωδών δομών: της __________, της __________ και της __________
90. ____________ είναι το σύνολο των κανόνων που ορίζει τις μορφές που μια λέξη είναι αποδεκτή
91. ____________ είναι το σύνολο των κανόνων που καθορίζει τη διάταξη και τη σύνδεση των λέξεων
92. Η λανθασμένη γραφή των δεσμευμένων λέξεων της γλώσσας προγραμματισμού είναι ______________ λάθος
93. ____________ είναι το σύνολο των κανόνων που καθορίζει το νόημα των λέξεων και κατ' επέκταση των εκφράσεων και προτάσεων που χρησιμοποιούνται σε μια γλώσσα
94. Κάθε προγραμματιστικό περιβάλλον διαθέτει τον μεταγλωττιστή του
95. Ο μεταγλωττιστής δέχεται στην είσοδό του έναν πρόγραμμα σε γλώσσα ___________ ____________ δημιουργώντας ισοδύναμο σε γλώσσα _______________
96. Η μεταγλώττιση ενός προγράμματος γίνεται από τους __________ ή τους __________
97. Οι εντολές ενός προγράμματος μετατρέπονται σε ακολουθίες που αποτελούνται από 0 και 1, δηλαδή σε ____________ _________________
98. Τα ____________ λάθη δεν είναι δυνατόν να εντοπίζονται από το προγραμματιστικό περιβάλλον
99. Στον δομημένο προγραμματισμό χρησιμοποιούμε:
α) την εντολή goto                      
β) μόνο τις βασικές αλγοριθμικές δομές
γ) τις δομές δεδομένων              
δ) τις βασικές αλγοριθμικές δομές και σπανίως την εντολή goto
100. Κατά την ανάλυση, ο κατακερματισμός ενός αλγορίθμου σε απλούστερους αποτελεί χαρακτηριστικό:
α) του τμηματικού προγραμματισμού       
β) του ιεραρχικού προγραμματισμού
γ) της κλασσικής ανάπτυξης                     
δ) της υλοποίησης με την μέθοδο «από κάτω προς τα πάνω»
101. Χαρακτηριστικό του οπτικού προγραμματισμού είναι:
Α Επιτρέπει τη γραφική δημιουργία του περιβάλλοντος     
Β. Επιτρέπει την ανάπτυξη του προγράμματος σε τμήματα
Γ. Είναι ταχύτερος στην εκτέλεση των προγραμμάτων       
Δ. Επιτρέπει την διαγραμματική παράσταση της σχεδίασης
102. Η Basic είναι
Α. Κατάλληλη για εφαρμογές τεχνητής νοημοσύνης   
Β. Υποστηρίζει την ανάπτυξη παράλληλου προγραμματισμού
Γ. Μία γλώσσα γενικής χρήσης                                
Δ. Κατάλληλη μόνο για εκπαίδευση
103. Από τον συντάκτη παράγεται:
α) Τα αντικείμενα  
β) ο εκτελέσιμος κώδικας  
γ) ο πηγαίος κώδικας   
δ) τίποτα από τα παραπάνω
104. Να συνδέσετε τα στοιχεία της στήλης Α με τα στοιχεία των στηλών Β και Γ
ΟΝΟΜΑ ΓΛΩΣΣΑΣ
ΤΟΜΕΑΣ ΕΦΑΡΜΟΓΩΝ
ΕΙΔΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
1.  Fortran
2.  Cobol
3.  Algol
4.  Prolog
5.  Lisp
6.  Pascal
7.  Basic
8.  C
9.  C++
10.  Java
11.  PL/1
Ι.    Επιστημονικός
II.   Εμπορικός
III.  Επιστημονικός και Εμπορικός
IV.  Προγραμματισμός συστημάτων
V.   Προγραμματισμός στο διαδίκτυο     
VI.  Γενικής χρήσης
VII. Τεχνητής νοημοσύνης 
A. Συναρτησιακός
B. Αντικειμενοστραφής
C. Μη διαδικασιακός
D. Διαδικασιακός
105. Να αντιστοιχίσετε τα στοιχεία της στήλης Α µε τα στοιχεία της στήλης Β:
Στήλη Α
Στήλη Β
Σκοπιές που μελετά η πληροφορική
1. τους αλγορίθµους
2. τα δεδοµένα
I. Υλικού
II. Γλωσσών προγραµµατισµού 
III. Δοµών δεδοµένων
IV. Θεωρητική
V. Ανάλυσης δεδοµένων
VI. Αναλυτική
106. Να αντιστοιχίσετε τα στοιχεία της στήλης Α µε τα στοιχεία της στήλης Β
Στήλη Α
Στήλη Β
1. Δοµηµένος προγραµµατισµός
2. Τµηµατικός προγραµµατισµός
3. Αντικειµενοστραφής προγραµµατισµός
 
4 .
Παράλληλος προγραμματισμός    
Α. Διαίρεση του προβλήµατος σε τµήµατα που εκτελούνται παράλληλα
Β. Ένα πρόβληµα περιγράφει "ενέργειες" που εφαρµόζονται στα δεδοµένα
Γ. Κάθε υποπρόβλημα αποτελεί ξεχωριστή ενότητα
Δ. Χρήση βασικών αλγοριθμικών δομών
107. Να αντιστοιχίσετε τα στοιχεία της στήλης Α και της στήλης Β
Α
Β
1. Δομή επιλογής
Α) Επαναληπτική εκτέλεση εντολών 
2. Δομή επανάληψης
B) Χρήση εντολή GoTo
3. Μη δομημένος προγραμματισμός 
Γ) Σειριακή εκτέλεση εντολών
4. Δομή ακολουθίας
Δ) Επιλεκτική εκτέλεση εντολών
5. Δομημένος προγραμματισμός
E) Αποφυγή χρήσης Εντολής GoTo
108. Να αντιστοιχίσετε τα στοιχεία της στήλης Α µε τα στοιχεία της στήλης Β
Στήλη Α
Στήλη Β
Α. Γλώσσα μηχανής
Β. Μεταγλωττιστής
Γ. Συμβολικές γλώσσες
Δ. Συνδέτης - Φορτωτής
Ε. Γλώσσες υψηλού επιπέδου
1. Basic, Pascal, C
2. Συμβολομεταφραστής
3. Αντικείμενο πρόγραμμα
4.
Βιβλιοθήκες
5. Ακολουθίες από 0 και 1
109. Το εκτελέσιμο είναι το τελικό πρόγραμμα που εκτελείται από τον υπολογιστή
110. Στις γλώσσες υψηλού επιπέδου δεν υπάρχει η ικανότητα της μεταφερσιμότητας
111. Υπάρχουν δυο μεγάλες κατηγορίες μεταφραστικών προγραμμάτων: οι μεταφραστές και οι μεταγλωττιστές
112. Ο μεταγλωττιστής εξάγει το πηγαίο πρόγραμμα
113. Να αντιστοιχίσετε τα στοιχεία της στήλης Α µε τα στοιχεία της στήλης Β

ΑΠΑΝΤΗΣΕΙΣ

1: Σωστό 
 2: Σωστό 
 3: Σωστό 
 4: Σωστό 
 5: Λάθος 
 6: Σωστό  
 7: Σωστό 
 8: Σωστό 
 9: Λάθος 
 10: Σωστό 
 11: Σωστό 
 12: Σωστό 
 13: Λάθος 
 14: Λάθος 
 15: Σωστό 
 16: Σωστό 
 17: Λάθος 
 18: Λάθος 
 19: Σωστό 
 20: Σωστό 
 21: Σωστό 
 22: Σωστό 
 23: Λάθος 
 24: Σωστό 
 25: Λάθος 
 26: Σωστό 
 27: Σωστό 
 28: Σωστό 
 29: Σωστό 
 30: Σωστό 
 31: Σωστό 
 32: Σωστό 
 33: Σωστό 
 34: Λάθος 
 35: Σωστό 
 36: Σωστό 
 37: Σωστό 
 38: Σωστό 
 39: Σωστό  
 40: Σωστό 
 41: Σωστό 
 42: Σωστό 
 43: Σωστό 
 44: Λάθος 
 45: Λάθος 
 46: Σωστό 
 47: Σωστό
 48: Σωστό 
 49: Σωστό 
 50: Σωστό  
 51: Λάθος  
 52: Σωστό 
 53: Σωστό 
 54: Λάθος 
 55: Λάθος 
 56: Λάθος 
 57: Σωστό 
 58: Σωστό 
 59: Σωστό 
 60: Σωστό 
 61: Λάθος 
 62: Λάθος 
 63: Σωστό 
 64: Λάθος 
 65: Λάθος 
 66: Λάθος 
 67: Σωστό 
 68: Λάθος 
 69: Σωστό 
 70: Λάθος 
 71: Λάθος 
 72: Σωστό  
 73: Λάθος 
 74: Λάθος 
 75: Σωστό 
 76: Σωστό 
 77: Σωστό 
 78: Λάθος 
 79: Λάθος 
 80: Λάθος 
 81: Σωστό  
 82: Λάθος 
 83: Σωστό 
 84: συμβολομεταφραστής 
 85: συμβολικών, χαμηλού  
 86: δομημένου 
 87: μεταγλωττιστής 
 88: μεταφερσιμότητα 
 89: ακολουθίας, επιλογής και επανάληψης  
 90: τυπικό 
 91: συντακτικό 
 92: συντακτικό 
 93: σημασιολογία 
 94: Λάθος
 95: υψηλού επιπέδου, μηχανής 
 96: μεταγλωττιστές, διερμηνευτές  
 97: γλώσσα μηχανής 
 98: λογικά 
 99: β  
 100: β 
 101: α  
 102: γ  
 103: γ  
 104:  1.I.Δ  2.II.Δ  3.VI.Δ  4.VII.Γ  5.VII.Α  6.VI.Δ 
7.VI.Δ  8.IV.Δ  9.IV.Β  10.V.Β  11.III.Δ 
 105: 1. I, II, IV, VI
2. I, II, III, V 
 106: 1Δ, 2Γ, 3Β, 4Α  
 107: 1Δ, 2Α, 3Β, 4Γ, 5Ε 
 108: Α5, Β3, Γ2, Δ4, Ε
 109: Σωστό  
 110: Λάθος  
 111: Λάθος    112: Λάθος    113: Α4, Β1, Γ2, Δ3 
 114: α, γ,  δ, στ, β, ε