5.1. Προσδοκώμενα αποτελέσματα



Σχετικά έγγραφα
ΦΥΛΛΑΔΙΟ ΚΑΤΑΝΟΗΣΗΣ 6 ΕΠΙΔΟΣΗ ΑΛΓΟΡΙΘΜΩΝ. 3. Να υπολογιστεί για τον παρακάτω αλγόριθμο η επίδοση του με βάση τον αριθμό των πράξεων που θα

1. Η χειρότερη περίπτωση είναι όταν γίνου 10 επαναλήψεις, δηλαδή για n = 0.

Για τις λύσεις των προβλημάτων υπάρχει τρόπος εκτίμησης της επίδοσης (performance) και της αποδοτικότητας (efficiency). Ερωτήματα για την επίδοση

Κεφάλαιο 5 Ανάλυση Αλγορίθμων

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;

Κεφάλαιο 5. Ανάλυση αλγορίθμων

Αν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε;

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗΝ Α.Ε.Π.Π. Γ ΤΕΧΝΟΛΟΓΙΚΗΣ. Όνομα:.. Βαθμός: /100

ΠΕΚ ΤΡΙΠΟΛΗΣ ΕΠΙΜΟΡΦΩΣΗ ΕΚΠ/ΚΩΝ ΠΕ19,20 ΗΜ/ΝΙΑ ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ

ΑΕΠΠ 4o Επαναληπτικό Διαγώνισμα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ 2012

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

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

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η

Σε καθεμιά από τις παρακάτω περιπτώσεις, να μετατρέψετε τη δομή επανάληψης ΟΣΟ στην δομή ΑΠΑΝΤΗΣΗ ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΜΕΧΡΙΣ_ΟΤΟΥ Α<-54

Δομές Δεδομένων. Τι είναι η δομή δεδομένων; Έστω η ακολουθία αριθμών: 8, 10,17,19,22,5,12 Λογικό Επίπεδο. Φυσικό Επίπεδο RAM. Ταξινομημένος.

ΑΕΠΠ 2o Επαναληπτικό Διαγώνισμα

ΘΕΜΑ Α. Α2. Να αναφέρετε από τι εξαρτάται η επιλογή του καλύτερου αλγορίθμου ταξινόμησης. Μονάδες 4. Σελίδα 1 από 8

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

Πρόβλημα 37 / σελίδα 207

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ

μεταβλητής Χ Χ ΑΛΗΘΗΣ Χ Χ 7 > 4 Χ ΨΕΥ ΗΣ Μονάδες 10 ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ - ΕΣΠΕΡΙΝΩΝ

μεταβλητής Χ Χ ΑΛΗΘΗΣ Χ Χ 7 > 4 Χ ΨΕΥ ΗΣ Μονάδες 10

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

Θέμα 1 ο. Επαναληπτικό ΛΥΣΕΙΣ

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΪΟΥ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Γ Τάξη ΓΕ.Λ.

ΘΕΜΑΤΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΕΠΑΝΑΛΗΠΤΙΚΟ 10/4/2016

ΘΕΜΑ Α. Μονάδες 10 Α2.

8.4. Δραστηριότητες - ασκήσεις

Κεφάλαιο 10. Υποπρογράμματα

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

8. Η δημιουργία του εκτελέσιμου προγράμματος γίνεται μόνο όταν το πηγαίο πρόγραμμα δεν περιέχει συντακτικά λάθη.

σας φύλλο τον αριθμό της ερώτησης ακολουθούμενη από το γράμμα Σ (Σωστή) ή το γράμμα Λ (Λάθος).

ΠΡΟΣ: Τηλέφωνο: Ινστιτούτο Εκπαιδευτικής Πολιτικής ΚΟΙΝ.:

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

ΕΚΦΩΝΗΣΕΙΣ. β. Να γράψετε αναλυτικά τα μειονεκτήματα της χρήσης των πινάκων. γ. Να γράψετε ονομαστικά τις τυπικές επεξεργασίες των πινάκων.

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

μεταβλητής Χ Χ ΑΛΗΘΗΣ Χ Χ 7 > 4 Χ ΨΕΥ ΗΣ Μονάδες 10 EKΠΑΙΔΕΥΣΗ: Με Οράματα και Πράξεις για την Παιδεία -1-

III. Πως μετατρέπεται το πηγαίο πρόγραμμα σε εκτελέσιμο πρόγραμμα;

Προτεινόμενα Θέματα ΑΕΠΠ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΥΠΗΡΕΣΙΩΝ 2005

ΠΕΡΙΕΧΟΜΕΝΑ. Μονοδιάστατοι πίνακες Πότε πρέπει να χρησιμοποιούνται πίνακες Πολυδιάστατοι πίνακες Τυπικές επεξεργασίες πινάκων

I. ΑΛΓΟΡΙΘΜΟΣ II. ΠΡΑΞΕΙΣ - ΣΥΝΑΡΤΗΣΕΙΣ III. ΕΠΑΝΑΛΗΨΕΙΣ. 1. Τα πιο συνηθισμένα σενάρια παραβίασης αλγοριθμικών κριτηρίων είναι:

ΘΕΜΑΤΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΕΞΕΤΑΣΕΩΝ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

μεταβλητής Χ Χ ΑΛΗΘΗΣ Χ Χ 7 > 4 Χ ΨΕΥ ΗΣ Μονάδες 10

Α2. Να γράψετε στο τετράδιο σας τον αριθμό 1-4 κάθε πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.

α. Να συμπληρώσετε τις επόμενες εντολές εκχώρησης, ώστε τα κενά κελιά του πίνακα να αποκτήσουν τις επιθυμητές τιμές.

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

Παλλατίδειο ΓΕΛ Σιδηροκάστρου

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

παραπάνω αλληλουχία εντολών ικανοποιεί όλα τα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

α.1. Προσδοκώμενα αποτελέσματα

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΡΤΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 6 (ΕΞΙ)

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός...

Περιεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης

Προγραµµατιστικές Τεχνικές

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η

ΑΕΠΠ 6o Επαναληπτικό Διαγώνισμα

Ενδεικτικές Απαντήσεις στο μάθημα Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

ΑΣΚΗΣΕΙΣ ΘΕΩΡΙΑΣ. ΘΕΜΑ 1 Δίνεται το παρακάτω τμήμα δηλώσεων ενός προγράμματος σε «ΓΛΩΣΣΑ»: ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: Π[10] ΛΟΓΙΚΕΣ: ΒΡΕΘΗΚΕ ΑΚΕΡΑΙΕΣ: i

ΑΕΠΠ Ερωτήσεις θεωρίας

Αναδρομή Ανάλυση Αλγορίθμων

Στοιχεία Αλγορίθµων και Πολυπλοκότητας

2. Μια (1) μονάδες για την ορθή παρουσίαση της ουράς Μια (1) μονάδα για τις ορθές τιμές των δεικτών ( για κάθε δείκτη).

ΔΟΚΙΜΑΣΤΙΚΟ ΤΕΣΤ Γ' ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΤΑΡΤΗ 26 ΑΠΡΙΛΙΟΥ 2017 ΑΕΠΠ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΤΕΣΣΕΡΕΙΣ (4)

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΟΝΟΜΑΤΕΠΩΝΥΜΟ:

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

Διαγώνισμα Ανάπτυξης Εφαρμογών Σε Προγραμματιστικό Περιβάλλον

ΑΡΧΗ 2ΗΣ ΣΕΛΙΔΑΣ Γ Α... Β

Θέματα ΑΕΠΠ Πανελλήνιες Εξετάσεις 2008

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ 29 ΜΑΪΟΥ 2013 ΕΚΦΩΝΗΣΕΙΣ

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Τελευταίο Μάθημα

ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΣΑΒΒΑΤΟ 4 ΙΟΥΝΙΟΥ 2005

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΕΧΝ/ΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ - Γ ΛΥΚΕΙΟΥ

ΘΕΜΑΤΑ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΕΞΕΤΑΣΕΩΝ 2013 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ

ÑÏÕËÁ ÌÁÊÑÇ. Β. Να αναφέρετε τις κυριότερες τυποποιηµένες τεχνικές σχεδίασης αλγορίθµων. ΜΟΝΑ ΕΣ 3

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

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Διαδικασίες και συναρτήσεις. 22 Νοε 2008 Ανάπτυξη εφαρμογών/ Υποπρογράμματα 1

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. Για i από 1 μέχρι Μ Εμφάνισε A[4,i] Τέλος_επανάληψης. (μονάδες 6) ΤΕΛΟΣ 1ης ΑΠΟ 7 ΣΕΛΙΔΕΣ

Φροντιστήρια Επίγνωση Προτεινόμενα Θέματα Πανελλαδικών ΑΕΠΠ 2015

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ

ττιαογή και επανάληψη

Γ.Κονδύλη 1 & Όθωνος-Μαρούσι Τηλ. Κέντρο: ,

ΘΕΜΑ Α. Μονάδες 10 Α2.

μεταβλητής Χ Χ ΑΛΗΘΗΣ Χ Χ 7 > 4 Χ ΨΕΥ ΗΣ Μονάδες 10

ΚΟΡΥΦΑΙΟ ΦΡΟΝΤΙΣΤΗΡΙΟ korifeo.gr

Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες)

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Ονοματεπώνυμο: Βαθμός:

A. Να γράψετε τον αριθμό της κάθε μιας από τις παρακάτω προτάσεις και δίπλα. το γράμμα Σ, εάν είναι σωστή, ή το γράμμα Λ, εάν είναι λανθασμένη.

Transcript:

5.1. Προσδοκώμενα αποτελέσματα Όταν θα έχεις ολοκληρώσει τη μελέτη αυτού του κεφαλαίου θα έχεις κατανοήσει τις τεχνικές ανάλυσης των αλγορίθμων, θα μπορείς να μετράς την επίδοση των αλγορίθμων με βάση την αποδοτικότητα τους. θα είσαι σε θέση χρησιμοποιώντας τις κατάλληλες μεθόδους να ελέγχεις τη ορθότητα τους. Ή ακόμα λαμβάνοντας υπόψη σου κάποια κριτήρια, να επιλέγεις τον προτιμότερο αλγόριθμο για το πρόβλημα που καλείσαι να αντιμετωπίσεις. Τέλος, θα έχεις κατανοήσει την έννοια της πολυπλοκότητας των αλγορίθμων. 5.2. Επιπλέον παραδείγματα Παράδειγμα 1 Έστω ότι έχουμε το παρακάτω πρόγραμμα υλοποίησης ενός αλγορίθμου : Αλγόριθμος Ελεγχος_εκτέλεσης a < 1 b < 2 Για i από 1 μέχρι 100 a < i b < a * ί Εκτύπωσε a

Εκτύπωσε b Τέλος Ελεγχος_εκτέλεσης Να υπολογισθεί η επίδοση του με βάση τον αριθμό των πράξεων που θα εκτελεσθούν. Εντολή 1 αλγορίθμου r r ' ανάθεση τιμών στα a και b Βρόχος επανάληψης αρχική τιμή i έλεγχος i αύξηση i ανάθεση τιμών στο a ανάθεση τιμών στο b (2X100) Εκτύπωση a,b ΣΥΝΟΛΟ Αριθμός πράξεων 2 1 101 100 100 200 2 506 Με δεδομένο ότι ο βρόχος του προγράμματος θα εκτελεσθεί 100 φορές προκύπτει η παραπάνω ανάλυση, η οποία αποτελεί εκτίμηση και του χρόνου εκτέλεσης του προγράμματος αλγορίθμου. Είναι χρήσιμο εδώ να καταγραφεί το μέγεθος του προβλήματος και να εκφρασθεί το σύνολο των κριτηρίων επίδοσης σε σχέση με αυτό. Έστω ότι έχουμε τον παρακάτω αλγόριθμο ανάγνωσης και άμεσης εκτύπωσης των στοιχείων ενός δισδιάστατου πίνακα Α : Αλγόριθμος Ανάγνωση_Εκτύπωση_Πίνακα. Δεδομένα // n // Για i από 1 μέχρι n Για j από 1 μέχρι n Διάβασε A[i, j] Εκτύπωσε A[i, j] Τέλος Ανάγνωση_Εκτύπωση_Πίνακα Να υπολογισθεί ο χρόνος εκτέλεσης του αλγορίθμου αυτού και να σχολιασθεί η βαρύτητα των πράξεων επανάληψης σε σχέση με την απόφαση για την πολυπλοκότητα των αλγορίθμων.

Από ότι παρατηρούμε υπάρχουν δύο βρόχοι επανάληψης (ένας βρόχος για κάθε διάσταση του πίνακα). Για κάθε στιγμή επανάληψης μέσα στο εσωτερικό των δύο βρόχων γίνονται δύο απλές πράξεις (ανάγνωση και εκτύπωση) μοναδιαίου κόστους η καθεμία. Επομένως η πολυπλοκότητα του παραπάνω αλγορίθμου θα εκφράζεται με n * n * 2, δηλαδή ο αλγόριθμος είναι τετραγωνικός. Είναι φανερό ότι οι βρόχοι επανάληψης είναι εκείνοι που καθορίζουν την επιβάρυνση στο κόστος εκτέλεσης του αλγορίθμου. Παράδειγμα 3. Ανάλυση αλγορίθμου ταξινόμησης. Έστω ότι έχουμε την παρακάτω απλή μορφή για τον αλγόριθμο ταξινόμησης με ευθεία ανταλλαγή (bubblesort) : Αλγόριθμος Ευθ ε Ί α_αν τ αλλαγή Δεδομένα // Α // Για i από 1 μέχρι π 1 Για j από 1 μέχρι η 1 Αν A[j+1] < A[j] τότε Αντιμετάθεσε A[j+1], Τέλος_αν Αποτελέσματα // Α // Τέλος Ευθ ε ία_αν τ αλλαγή A[j] Έστω ότι έχουμε τον πίνακα Α με τα παρακάτω στοιχεία : 7 4 3 8 Να παρακολουθήσετε την πορεία του αλγορίθμου με καταγραφή της επίδοσης του που θα εκφράζεται από τον αριθμό των πράξεων που πρέπει να εκτελεσθούν. Επίδοση Αλγορίθμου Για να εκφρασθεί η απόδοση του αλγορίθμου χρειάζεται να μετρηθεί ο αριθμός των συγκρίσεων και ο αριθμός των ανταλλαγών που θα πραγματοποιηθούν για την ταξινόμηση. Στη συνέχεια παρουσιάζονται αναλυτικά αυτοί οι υπολογισμοί:

Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον Αριθμός Συγκρίσεων i < 1 (1ο Πέρασμα ) i < 2 (2ο Πέρασμα ) r 1 2 3 4 3 8 «L 3 4 3 Σύγκριση 1 ου και 2 ου Σύγκριση 2 ου και 3 ου Σύγκριση 3 ου και 4 ου 1 2 3 4 KB 3 3 4 7 8 Ι 8 Σύγκριση 1 0ϋ και2 ου Σύγκριση 2 ου και 3 ου Σύγκριση 3 0u και 4 0u i < 3 (3ο Πέρασμα ) 1 2 3 4 3 3 7 8 Β Σύγκριση 1 ου και 2 ου Σύγκριση 2 ου και 3 ου Σύγκριση 3 ου και 4 ου Όπως φαίνεται από την παρακολούθηση της πορείας του αλγορίθμου η εκτέλεση του περιλαμβάνει 3 συνεχόμενα «περάσματα» πάνω από τα στοιχεία του πίνακα και σε κάθε πέρασμα συγκρίνονται ζευγάρια στοιχείων. Από ότι φαίνεται και παραπάνω γίνονται συνολικά 9 πράξεις σύγκρισης, αφού σε κάθε πέρασμα γίνονται 3 συγκρίσεις και όπως αναφέρθηκε υπάρχουν 3 περάσματα. Ο πίνακας του παραδείγματος μας έ χει η=4 θέσεις. Αν γενικεύσουμε την καταγραφή των πράξεων της σύγκρισης παρατηρούμε ότι θα χρειαστούν (n 1)*(n 1) συγκρίσεις για έναν πίνακα n θέσεων. Αριθμός Ανταλλαγών Έστω τώρα θέλουμε να καταγράψουμε τον αριθμό των ανταλλαγών που γίνονται για τις ανάγκες της ταξινόμησης. Για να υπάρξει κριτήριο για την τυποποίηση της επίδοσης του αλγορίθμου θα πρέπει να μετρηθεί ο αριθμός των ανταλλαγών που γίνονται στη χειρότερη περίπτωση. Επομένως η χειρότερη περίπτωση για ένα πίνακα 4 θέσεων (που είναι και το μέγεθος του προβλήματος μας) είναι τα στοιχεία του να βρίσκονται ταξινομημένα κατά φθίνουσα τά^η έτσι ώστε όλα να πρέπει να αλλάξουν θέση. Έστω λοιπόν η πιο απλή περίπτωση αυτής της κατάστασης :

i < 1 (1o Πέρασμα ) i < 2 (2ο Πέρασμα ) 1 4 2 4 2 1 0 ανταλλαγή i < 3 (3ο Πέρασμα ) 1 ~ H ~ 2 3 _J 4 0 ανταλλαγή Ι 0 ανταλλαγή Επομένως θα γίνουν συνολικά 3+2 + 1 =6 ανταλλαγές για την ταξινόμηση 4 στοιχείων που είναι τοποθετημένα σε αντίθετη της κανονικής τάξης (χειρότερη περίπτωση). Αν γενικεύσουμε το παράδειγμα για πίνακα n θέσεων θα χρειασθούν στη χειρότερη περίπτωση (n 1)+(n 2)+...+1 ανταλλαγές στοιχείων. Η πολυπλοκότητα του παραπάνω αλγορίθμου υπολογίζεται από το άθροισμα του «κόστους» των συγκρίσεων και των ανταλλαγών που είναι ( n _ 1 ) + ( n _2) +... + l + (n 1).(n 1) = ^n 2 n + 1 Είναι φανερό ότι η τάξη της πολυπλοκότητας του αλγορίθμου υπολογίζεται από το μεγαλύτερο όρο του πολυωνύμου, ο οποίος είναι το η 2, και έτσι προκύπτει ότι ο παραπάνω αλγόριθμος έχει τετραγωνική πολυπλοκότητα Παράδειγμα 4. Εύρεση του Ί οστού αριθμού Fibonacci Στο κεφάλαιο του Βιβλίου σου περί αναδρομής συζητήσαμε τα πλεονεκτήματα και μειονεκτήματα των επαναληπτικών και των αναδρομικών συναρτήσεων. Μάλιστα καταλήξαμε στο συμπέρασμα ότι μία επαναληπτική διαδικασία πρέπει να προτιμάται έναντι μίας ισοδύναμης αναδρομικής όταν το βασικό μας κριτήριο είναι ο χρόνος ε κτέλεσης/απόκρισης. Στο σημείο αυτό επανερχόμαστε ώστε να εξηγηθεί ότι συχνά μία αναδρομική πρέπει να αποφεύγεται και για ένα άλλο σημαντικό λόγο. Οι επόμενοι δύο αλγόριθμοι υπολογίζουν τον i οστό αριθμό Fibonacci. Ο πρώτος είναι επαναληπτικός ενώ ο δεύτερος είναι αναδρομικός.

Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον Αλγόριθμος Fibonacci Δεδομένα // η // Αν η < 1 τότε Fib <r η αλλιώς j < ο k <r 1 Για i από 1 μέχρι η j «j+k k < j k Fib < j Τέλος_Αν Αποτελέσματα // Fib // Τέλος Fibonacci Αλγόριθμος Fibonacci Δεδομένα // η // Αν η < 1 τότε Fib < η αλλιώς Fib < Fibonacci(η 1) Fibonacci(η 2) Τέλος_Αν Αποτελέσματα // Fib // Τέλος Fibonacci Η επαναληπτική διαδικασία, λοιπόν, βασίζεται σε ένα και μόνο βρόχο, άρα η πολυπλοκότητα της μεθόδου είναι τάξης Ο(η). Η δεύτερη διαδικασία υπολογίζει τις ίδιες τιμές πολλές φορές. Για παράδειγμα, κατά τον υπολογισμό του F 5 γίνονται οι κλήσεις Fibonacci (4) και Fibonacci (3). Όμως κατά τον υπολογισμό του Fibonacci (4) καλείται για δεύτερη φορά η Fibonacci (3). Με το σκεπτικό αυτό η Fibonacci (2) θα κληθεί τρεις φορές, η Fibonacci (1) θα κληθεί πέντε φορές και η Fibonacci (0) θα κληθεί τρεις φορές. Έτσι συμπερασματικά προκύπτει ότι η πολυπλοκότητα της αναδρομικής μεθόδου είναι τάξης 0(F n ). Γχ. 5.1. Κλήσεις για τον υπολογισμό του F 5.

5.5. Δραστηριότητες ασκήσεις Στην τάξη ΔΤ1. Να συζητηθεί η επίδοση των παρακάτω κομματιών αλγορίθμων και να καταγραφεί για κάθε περίπτωση και η αντίστοιχη πολυπλοκότητα. Για να βρείτε την πολυπλοκότητα θα πρέπει να μετρήσετε τον αριθμό των πράξεων στη χειρότερη περίπτωση : ι. Για i από 1 μέχρι n -1 με βήμα 2 a <- 2*i 2. Για i από 1 μέχρι π Για j από 1 μέχρι a <r- 2*i +j Τέλος επανάληψης n 3. Για i από 1 μέχρι n με βήμα 2 Για j από 1 μέχρι n a < 2*i +j ΔΤ2. Εστω ότι ένας πίνακας κρατά τα ποσά που έχουν δώσει οι μαθητές της τάξης σας για την ενίσχυση του παιδικού χωριού SOS της περιοχής σας. Να δώσετε έναν αλγόριθμο για τον υπολογισμό του συνολικού ποσού που θα διατεθεί και να σχολιάσετε την πολυπλοκότητα του. ΔΤ3. Να σχολιασθεί και να παρακολουθήσετε βήμα βήμα τον ακόλουθο επαναληπτικό αλγόριθμο υπολογισμού των αριθμών Fibonacci. Ποια είναι η πολυπλοκότητα του ακόλουθου αλγόριθμου ; Αλγόριθμος Fibonacci i < 1 j < 0 k <r- 0 1 <- 1 Επανάλαβε όσο n > 0 Αν n MOD 2=1 τότε m < j*l j < i*l+j*k+m i < i*k+m m < Ρίζα(1)!Ρ'ιζα είναι η συνάρτηση τετραγωνικής ρίζας' h < 2*k*l+m

Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον k <- ΡίζαΟΟ+πι η <r- η DIV 2 Fib <- j Αποτελέσματα Fib Τέλος Fibonacci ΔΤ4. Σε μία αποθήκη ταινιών κινηματογράφου υπάρχει αρχειοθέτηση των ταινιών με βάση τη χρονιά που παρουσιάσθηκε κάθε ταινία. Ενας σύλλογος ενδιαφέρεται να κάνει ένα αφιέρωμα στις ταινίες της δεκαετίας του 1960 που διαθέτει η αποθήκη. Να προτείνετε ένα αλγόριθμο αναζήτησης των ταινιών αυτών και να σχολιάσετε την επίδοση και την πολυπλοκότητα του. rτο σπίτι JfS ΣΤΟ τετράδιο σας αντψετωπίστε τα παρακάτω προβλήματα : ΔΣ1. Να βρείς την πολυπλοκότητα των παρακάτω κομματιών αλγορίθμων : 1. Οσο ί<100 επανάλαβε a <τ 2*ί 2. Για i από 1 μέχρι n 1 a < 2*i 3. Για i από 1 μέχρι n 1 με βήμα 3 a < 2*i ΔΣ2. Έστω ότι έχουμε τον παρακάτω αλγόριθμο : Αλγόριθμος Ελεγχος_επίδοσης χ <- 10 c <- 20 Για i από 100 μέχρι 10 με_βήμα -10 χ < i y <r- 2*χ + i Εκτύπωσε χ Εκτύπωσε y Τέλος Ελεγχος_ επίδοσης Να υπολογισθεί η επίδοση του με βάση τον αριθμό των πράξεων που θα εκτελεσθούν.

ΔΣ3. Να παρακολουθήσεις την πορεία του αλγορίθμου της Δυαδικής αναζήτησης φ που δόθηκε στο προηγούμενο κεφάλαιο (Τετράδιο Μαθητή) για έναν πίνακα 10 θέσε W W ων. Να καταγράφεις τον αριθμό των πράξεων που γίνονται σε κάθε βήμα και να καταλήξεις σε ένα συμπέρασμα για την πολυπλοκότητα του. ΔΣ4. Έστω ότι έχεις τον παρακάτω αλγόριθμο : Αλγόριθμος Ευθ ε ί α_αν τ αλλαγή 2 Δεδομένα // Α // Για i από 1 μέχρι π 1 Για j από 1 μέχρι π 1 Αν A[j+1] < Afj] τότε Αντιμετάθεσε A[j+1], Τέλος_αν Τέλος_επανάληφης EKrteoot A[j] Αποτελέσματα // Α // Τέλος Ευθεία_Ανταλλαγή2 A[j] Να σχολιάσεις την πολυπλοκότητα του αλγορίθμου. Χρησιμοποίησε το Παράδειγμα 2 και να ελέγξεις αν ο παραπάνω αλγόριθμος είναι ίδιας ή διαφορετικής πολυπλοκότητας από τον αλγόριθμο του Παραδείγματος 2. ΔΣ5. Μπορείς να προτείνεις κάποιο διαφορετικό αλγόριθμο για την ανεύρεση των ταινιών κινηματογράφου από την αποθήκη που περιγράφηκε παραπάνω στις δραστηριότητες για την τάξη (ΔΤ4) ; Πώς θα σχολίαζες την πολυπλοκότητα των δύο διαφορετικών αλγορίθμων ; 5.4. τεστ αυτοαξιολόγησης ίνονται οι παρακάτω ομάδες προτάσεων. Σε κάθε μία από αυτές, να κάνετε απαραίτητες διορθώσεις ώστε να ισχύουν οι προτάσεις Η χειρότερη περίπτωση ενός αλγορίθμου αφορά στο ελάχιστο κόστος εκτέλεσης του αλγορίθμου, κόστος που μετράται σε υπολογιστικούς πόρους. 2. 3. Τα δεδομένα συνιστούν το μέγεθος της πολυπλοκότητας ενός αλγορίθμου. Ο απλούστερος τρόπος μέτρησης της επίδοσης ενός αλγορίθμου είναι ο εμπειρικός ή αλλιώς ο λεγόμενος εκ τουν προτέρων που υλοποιείται και εφαρμόζεται σε ένα σύνολο δεδομένων ώστε να υπολογισθεί ο απαιτούμενος χρόνος επεξεργασίας και η πολυπλοκότητα. Συμπλήρωσε τα κενά με τη σωστή λέξη που λείπει 4 Τα δεδομένα συνιστούν το μέγεθος της ενός αλγορίθμου.

5 Ο συμβολισμός 0(η 2 ) εκφράζει την πολυπλοκότητα. 6 Ο συμβολισμός O(logn) εκφράζει τη πολυπλοκότητα 7 Ως ορίζονται οι αλγόριθμοι που δε δίνουν την καλύτερη λύση, αλλά προτιμώνται για λόγους ταχύτητας. 8 Αν η πολυπλοκότητα ενός αλγορίθμου είναι f(n), τότε λέγεται ότι ο αλγόριθμος είναι τάξης 0(g(n)) αν υπάρχουν δύο θετικοί ακέραιοι c και ηο, έτσι ώστε για κάθε π> = ηθ να ισχύει: f(n)j >c g(n) 9 Ο συμβολισμός 0(π 2 ) εκφράζει την Κυβική πολυπλοκότητα και πρέπει να χρησιμοποιείται μόνο για προβλήματα μεγάλου μεγέθους. 10 Ο συμβολισμός Ο(η) εκφράζει τη γραμμική πολυπλοκότητα η οποία είναι η καλύτερη επίδοση για έναν αλγόριθμο που πρέπει να εξετάσει ή να δώσει στην έξοδο n στοιχεία. 11 Ξυριστικοί λέγονται οι αλγόριθμοι που δεν είναι τυποποιημένοι και δεν ανήκουν στις γνωστές οικογένειες αλγορίθμων. 12. Μία βασική πράξη μπορεί να είναι : Α) βρόχος επανάληψης Β) ανάθεση τιμής Γ) σύγκριση μεταξύ δύο μεταβλητών Δ) συνθήκη Αν,.αλλιώς Ε) οποιαδήποτε αριθμητική πράξη μεταξύ δύο μεταβλητών 13. Ο χρόνος εκτέλεσης κάθε αλγορίθμου εξαρτάται από ένα σύνολο παραγόντων που περιλαμβάνουν τα εξής: Α) Τύπος ηλεκτρονικού υπολογιστή που θα εκτελέσει το πρόγραμμα του αλγορίθμου Β) Χρονική στιγμή εκτέλεσης του αλγορίθμου Γ) Συνθήκες ανταγωνισμού με άλλους αλγορίθμους Δ) Γλώσσα προγραμματισμού που θα χρησιμοποιηθεί Ε) Δομή προγράμματος και δομές δεδομένων που χρησιμοποιεί Ζ) Αριθμός εντολών του αλγορίθμου Η) Χρόνος για πρόσβαση στο δίσκο και στις ενέργειες εισόδου εξόδου Θ) Είδος συστήματος, ενός χρήστη ή πολλαπλών χρηστών.