242 -ΕισαγωγήστουςΗ/Υ



Σχετικά έγγραφα
Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

ΠΛΗΡΟΦΟΡΙΚΗ ΣΤΟ ΕΝΙΑΙΟ ΛΥΚΕΙΟ

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

Άξονας ανάπτυξης του µαθήµατος 3. Γενικός σκοπός του µαθήµατος. Το µάθηµα της Πληροφορικής στο Γυµνάσιο

Α. Ερωτήσεις Ανάπτυξης

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 5

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

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

ιαφάνειες παρουσίασης #1

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Εισαγωγή στον Προγραμματισμό

Επιµέλεια Θοδωρής Πιερράτος

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

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

Προγραµµατισµός Η/Υ. Μέρος2

1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το

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

επιµέλεια Θοδωρής Πιερράτος

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

ΜΕΡΙΚΑ ΣΤΟΙΧΕΙΑ ΓΙΑ ΤΙΣ ΓΛΩΣΣEΣ ΠPOΓPAMMATIΣMOY

Πληροφορική 2. Γλώσσες Προγραμματισμού

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 9

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ΕΝΙΑΙΟ ΠΛΑΙΣΙΟ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

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

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

Ενότητα 13. Εισαγωγή στην Πληροφορική. Κεφάλαιο 13Α. Αρχεία. Χειµερινό Εξάµηνο ρ. Παναγιώτης Χατζηδούκας (Π..407/80) προγραµµατισµός

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Επανάληψη

Εισαγωγή στην πληροφορική

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) a= b= c= 3 read(d,e)

Ορισµοί κεφαλαίου. Σηµαντικά σηµεία κεφαλαίου

Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων. 1. Εισαγωγή. Ιωάννης Κατάκης. ΕΠΛ 032: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων

Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

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

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

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

Πληροφορική 2. Αλγόριθμοι

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα.

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

Pascal, απλοί τύποι, τελεστές και εκφράσεις

Τεχνολογία Λογισµικού Ι Κεφάλαιο 5

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 9

Τεχνικές Αναπαράστασης αλγορίθµων Ψευδοκώδικας Διάγραµµα Ροής Αλγοριθµικές δοµές (Ακολουθία Επιλογή Επανάληψη)

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ

ΕΠΛ 032 Προγραµµατισµός Μεθόδων Επίλυσης Προβληµάτων

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

6. Εισαγωγή στον προγραµµατισµό

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΤΑΞΗ

Β Εξάµηνο Τίτλος Μαθήµατος Θ Φ Α.Π Ε Φ.E. Π.Μ Προαπαιτούµενα

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΤΑΞΗ

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΝΕΟ ΚΑΙ ΠΑΛΑΙΟ ΣΥΣΤΗΜΑ

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

2. β. Συνθήκη ή επιλογή. 4. δ. Υποπρόγραμμα. 5. ε. ιαδικασία εισόδου ή εξόδου

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Α 5. β) Να αναφέρετε από ένα παράδειγµα προβλήµατος για κάθε µια από τις παραπάνω κατηγορίες.

A3. Μονάδες 5 Α4. Μονάδες 10 ΘΕΜΑ B. Β1. writeln Περιεχόμενα Εντολή Αποτελέσματα Παραμέτρων Μονάδες 20 ΘΕΜΑ Γ.

ΛΟΓΙΣΜΙΚΟ (software)

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

Λογισµικό (Software SW) Γλώσσες

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού.

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Μονάδες 12 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

Τύποι δεδομένων, τελεστές, μεταβλητές

Κεφάλαιο 5ο: Εντολές Επανάληψης

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό

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

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Περιγραφή Μαθήματος. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

ιαφάνειες παρουσίασης #4

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία Διάλεξη 9

Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ

2. Αλγόριθμοι, δομές δεδομένων και πολυπλοκότητα

Δομή Επανάληψης. Κεφάλαιο 7 Mike Trimos

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

ΜΑΘΗΜΑΤΑ ΤΜΗΜΑΤΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ ΠΑΡΑ ΟΣΕΙΣ ΑΣΚΗΣΕΙΣ ΚΑΘΗΓΗΤΕΣ/ΤΡΙΕΣ

Ο αλγόριθμος πρέπει να τηρεί κάποια κριτήρια

Εισαγωγή στην πληροφορική

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

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

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 9: Ειδικά θέματα γλώσσας C/C++. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Transcript:

1 242 -ΕισαγωγήστουςΗ/Υ ΤµήµαΜαθηµατικών, Πανεπιστήµιο Ιωαννίνων Ακαδηµαϊκό Έτος 2014-2015 Άρτια Α.Μ. (0-2-4-6-8) Νικόλαος Γλυνός 207α, B όροφος Τηλ: 8251 e-mail: nglinos@uoi.gr

2 ιδασκαλίακαιτρόποςεξέτασης Κάθε εβδοµάδα 3ωρη διάλεξη: Θεωρία + κατανόηση εννοιών 2ωρο εργαστήριο: πρακτική εξάσκηση µέσα από συγκεκριµένα προβλήµατα Εργαστήρια: 7~ περίπου εβδοµαδιαία εργαστήρια (εξέταση εργαστηριακών ασκήσεων) Σκοπός των εργαστηρίων είναι η εµπέδωση της ύλης, η εξάσκηση και η λύση αποριών Η παρακολούθηση είναι υποχρεωτική και είναι το διαβατήριο για να λάβετε µέρος στις τελικές εξετάσεις Μπορείτε να λείψετε σε 2 το πολύ εργαστήρια για σοβαρό λόγο

ιδασκαλίακαιτρόποςεξέτασης Εργαστήριο Η/Υ: 1 ο όροφο δίπλα από το «Αναγνωστήριο», 3 Στα Εργαστήρια θα πρέπει: Να κατανοείτε το πρόβληµα και να προσπαθείτε να σχεδιάσετε την λύσηπρινέλθετεστοεργαστήριο. Να συµµετέχετε ενεργά και να είστε προετοιµασµένοι να απαντάτε σε ερωτήσεις σχετικά µε το µάθηµα Για να είναι επιτυχής η παρακολούθηση των εργαστηρίων θα πρέπει: 1. να µην έχετε παραπάνω από δύο απουσίες 2. να έχετε προσπαθήσει ΟΛΕΣ τις εργασίες που θα σας ζητούνται στα εργαστήρια

4 ΧρήσιµοΥλικό ιδακτικό υλικό, Βιβλία: Β1: ΜΑΘΕΤΕ ΤΗ C++ ΑΠΟ ΤΟ ΜΗ ΕΝ, HERBERT SCHILDT Β2: C Προγραµµατισµός, Deitel Harvey M.,Deitel Paul J. Β3: C++ Προγραµµατισµός 6η Εκδοση, Deitel Harvey M.,Deitel Paul J. Πλήρης C++, Savitch Walter. Β4: C++ ΓΙΑ ΜΑΘΗΜΑΤΙΚΟΥΣ: ΜΙΑ ΕΙΣΑΓΩΓΗ ΓΙΑ ΣΠΟΥ ΑΣΤΕΣ ΚΑΙ ΚΑΘΗΓΗΤΕΣ, EDWARD SCHEINERMAN ιαφάνειες και εργαστηριακές ασκήσεις: ιστότοπος µαθήµατος users.uoi.gr/nglinos

ecourse.uoi.gr 5 ΟΛΟΙ θα πρέπει να γραφτείτε και στο ecourse του Πανεπιστηµίου: ecourse.uoi.gr Πλατφόρµα Ασύγχρονης Τηλεκπαίδευσης Πανεπιστηµίου Ιωαννίνων - ecourse. Επιλέξτε «προπτυχιακό µάθηµα Εισαγωγή στους Η/Υ» και δηµιουργήστε έναν νέο χρήστη. Θα σας δοθούν περαιτέρω οδηγίες για το θέµα αυτό. Θα πρέπει όµως πριν να έχετε διεύθυνση ηλεκτρονικού ταχυδροµείου (email). Από το Κέντρο Υπολογιστών σας έχει ήδη δοθεί µια τέτοια διεύθυνση και ο κωδικός (password) για την χρήση της Υπάρχουν εργαστήρια Η/Υ στο Τµήµα που είναι καθηµερινά ανοικτά.

Testστοεργαστήριο 6 Εναλλακτικά αντί για το test του ecourse.

7 Βαθµολογία 70% έχει βάρος η τελική εξέταση 30% έχει βάρος η βαθµολογία εργαστηρίων (ecourse/εξέταση εργαστήριο) Προϋπόθεση: επιτυχή παρακολούθηση εργαστηρίων τελικόςβαθµός = 0.7 (τ.ε) + 0.3 (εργ)

ΤµήµαταΕργαστηρίων 8 Τα εργαστήρια θα αρχίσουν την ευτέρα --/--/2015 ***Μην ξεχάσετε να δηλώσετε το µάθηµα!!! Τµήµατα Εργαστηρίων (µε βάση τον Α.Μ. - άρτιοι): Α) ευτέρα 2:00 --:-- µέχρικαι Β) ευτέρα 3:15 --:-- Γ) ευτέρα 7:00 --:-- καιπάνω Αλλαγές ΕΝεπιτρέπονται. ύο το πολύ απουσίες. Παλαιότεροι φοιτητές: Πρέπει να συµµετάσχουν στην εξέταση του εργαστηρίου για να έχουν και τον αντίστοιχο βαθµό.

9 ΣτόχοςΜαθήµατος Εισαγωγή στην επιστήµη της πληροφορικής Βασικές αρχές συστηµατικού και δοµηµένου προγραµµατισµού Σχεδίαση, υλοποίηση λύσης προβληµάτων χρησιµοποιώντας δοµηµένο προγραµµατισµό Εκµάθηση δοµηµένου προγραµµατισµού από την αρχή ιαγράµµατα ροής προγράµµατος, ψευδοκώδικας Αναπαράσταση, επεξεργασία δεδοµένων

10 ΣτόχοςΜαθήµατος Το µέσο µας: Γλώσσα προγραµµατισµού C/C++ υνατή γλώσσα προγραµµατισµού Κατάλληλη για όσους αρχίζουν να µαθαίνουν προγραµµατισµό αλλά και για έµπειρους προγραµµατιστές! Γλώσσα κατάλληλη για όλες τις εφαρµογές αλλά κυρίως για υπολογιστικά απαιτητικές εφαρµογές ιαλέξεις (3 ώρες) και Εργαστήρια (2 ώρες) Η συµµετοχή στις εργαστηριακές ασκήσεις είναι υποχρεωτική

11 Υπολογιστής Τι είναι ο υπολογιστής; Συσκευή για εκτέλεση υπολογισµών και λογικών αποφάσεων Επεξεργασία δεδοµένων χρησιµοποιώντας οµάδες εντολών που ονοµάζονται προγράµµατα. Hardware Υλικό Συσκευές που αποτελούν τον υπολογιστή Πληκτρολόγιο, οθόνη, ποντίκι, δίσκοι, µνήµη,cd-rom και µονάδες επεξεργασίας Software Λογισµικό Προγράµµατα που τρέχουν στον υπολογιστή.

Οργάνωση του υπολογιστή 12 Υπάρχουν έξι λογικές µονάδες σε κάθε υπολογιστή: Μονάδα εισόδου Παίρνει πληροφορίες από συσκευές εισόδου (πληκτρολόγιο, ποντίκι) Μονάδα εξόδου Στέλνει πληροφορίες (στην οθόνη, στον εκτυπωτή, για έλεγχο άλλων συσκευών) Μονάδα µνήµης Άµεση πρόσβαση, χαµηλή χωρητικότητα, αποθηκεύει πληροφορίες εισόδου Αριθµητική και λογική µονάδα (ALU) Αριθµητικοί υπολογισµοί και λογικές αποφάσεις Κεντρική Μονάδα επεξεργασίας (CPU) Επιβλέπει και συντονίζει τα τµήµατα του υπολογιστή Μονάδα δευτερεύουσας αποθήκευσης Φτηνή, µακροχρόνια, υψηλής χωρητικότητας, αποθηκεύειανενεργά προγράµµατα και δεδοµένα

Εξέλιξη των λειτουργικών συστηµάτων 13 Μαζική επεξεργασία (Batch processing) Εκτέλεσε µια εργασία την φορά Λειτουργικά συστήµατα ιαχείριση µετάβασης ανάµεσα σε εργασίες Αυξηµένη απόδοση ποσότητα εργασιών που επεξεργάζεται ο υπολογιστής Πολυπρογραµµατισµός (Multiprogramming) Πολλές εργασίες µοιράζονται τους πόρους του συστήµατος Μοίρασµα χρόνου (Timesharing) Εκτέλεση µικρού τµήµατος από την διεργασία ενός χρήστη, µετάβαση στον επόµενο χρήστη Τα προγράµµατα φαίνεται να εκτελούνται ταυτόχρονα

Προσωπικός υπολογιστής, κατανεµηµένοι υπολογιστές και εφαρµογές πελάτη/εξυπηρετητή (client/server) 14 Προσωπικός υπολογιστής: ιαδόθηκε στις πλατιές µάζες από την Apple Computer το 1977 Η IBM ακολούθησε το 1981 µε τον IBM Personal Computer (το γνωστό «PC») Μικρό κόστος Αυτόνοµες και φορητές µονάδες Κατανεµηµένος υπολογισµός Ένα πανεπιστήµιο που έχειένα τοπικό δίκτυο (Local Area Network LAN) Υπολογιστές που συνδέονται µε αυτό Ο υπολογισµός διαµοιράζεται στους υπολογιστές του LAN

Προσωπικός υπολογιστής, κατανεµηµένοι υπολογιστές και εφαρµογές πελάτη/εξυπηρετητή (client/server) 15 Το µοντέλο client/server Οι εξυπηρετητές (servers) προσφέρουν αρχεία που χρειάζονται συχνότερα οι πελάτες (clients) C και C++ αρκετά δηµοφιλείς για τη δηµιουργία λειτουργικών συστηµάτων, δικτυακών εφαρµογών και εφαρµογών πελάτη/εξυπηρετητή Μία άλλη γλώσσα είναι η Java η οποία χρησιµοποιείται συχνά για εφαρµογές στο Internet

Γλώσσες µηχανής, Γλώσσες Assembly και Γλώσσες Υψηλού Επιπέδου Κατηγορίες γλωσσών προγραµµατισµού 1. Γλώσσες µηχανής Ακολουθίες αριθµών που δίνουν στον υπολογιστή συγκεκριµένες οδηγίες Παράδειγµα: 1010011100011100101010 0100101001110001100110 1001010101001100110101 2. Γλώσσες Assembly Συντοµογραφίες που αναπαριστούν βασικές πράξεις του υπολογιστή (οι οποίες µεταφράζονται σε ακολουθίες αριθµών γλώσσα µηχανής από τους assemblers) Παράδειγµα: LOAD BASEPAY ADD OVERPAY STORE GROSSPAY 16

Γλώσσες µηχανής, Γλώσσες Assembly και Γλώσσες Υψηλού Επιπέδου 17 Κατηγορίες γλωσσών προγραµµατισµού 3. Γλώσσες υψηλού επιπέδου Μοιάζειµε φυσική γλώσσα (έχει επικρατήσει η αγγλική γλώσσα) και χρησιµοποιεί µαθηµατικές αναπαραστάσεις (οι οποίες µεταφράζονται σε γλώσσα µηχανής από τους compilers) Παράδειγµα: grosspay = basepay + overtimepay

18 Ιστορία της C++ Η C++ εξελίχθηκε από την C C εξελίχθηκε από 2 προηγούµενες γλώσσες προγραµµατισµού, τις BCPL and B ANSI C καθιέρωσε παγκόσµια standards για προγραµµατισµό σε C C++ αναβαθµίζει C ίνει δυνατότητες για αντικειµενοστραφή προγραµµατισµό Αντικείµενα επαναχρησιµοποιούµενα συστατικά λογισµικού που µοντελοποιούν κοµµάτια του πραγµατικού κόσµου Τα αντικειµενοστραφή προγράµµατα είναι εύκολα στην κατανόηση, διόρθωση και µεταφορά τους σε άλλο υπολογιστικό περιβάλλον

19 Java Ιστορία της Java Βασίστηκε στην C και στην C++ Αναπτύχθηκε το 1991 για «έξυπνες» ηλεκτρονικές συσκευές Επειδή δεν αναπτύχθηκε η αγορά, το project κινδύνευσε να ακυρωθεί Με την έκρηξη του Internet το 1993,το project σώθηκε Η Java χρησιµοποιήθηκε για την δηµιουργία σελίδων µε δυναµικό περιεχόµενο Η Java ανακοινώθηκε επίσηµα το 1995 Πλέον χρησιµοποιείται για δηµιουργία σελίδων µε διαδραστικό περιεχόµενο, για αναβάθµιση ιστοτόπων web, για εφαρµογές σε διάφορες συσκευές (tablets, κινητά)...

20 Άλλες γλώσσες υψηλού προγραµµατισµού Κάποιες άλλες γλώσσες που έχουν γίνει ευρύτερα αποδεκτές είναι οι εξής: FORTRAN (FORmula TRANslator) Για επιστηµονικές εφαρµογές και εφαρµογές για µηχανικούς COBOL (COmmon Business Oriented Language) Για διαχείριση µεγάλου όγκου δεδοµένων σε τραπεζικές και εµπορικές εφαρµογές Pascal Κυρίως για ακαδηµαϊκή χρήση και εκµάθηση δοµηµένου προγραµµατισµού BASIC Αναπτύχθηκε το 1965 Απλή γλώσσα που µπορεί να βοηθήσει τους αρχάριους να κατανοήσουν βασικές προγραµµατιστικές αρχές

οµηµένος προγραµµατισµός 21 οµηµένος προγραµµατισµός Πειθαρχηµένη προσέγγιση στην συγγραφή προγραµµάτων Ξεκάθαρο πρόγραµµα, εύκολο στον έλεγχο και την αποσφαλµάτωση (debugging) Η Pascal σχεδιάστηκε µε σκοπό να διδάξει τον δοµηµένο προγραµµατισµό εν χρησιµοποιείται σε βιοµηχανικές ή εµπορικές εφαρµογές Multitasking (πολυεπεξερασία) Πολλές διεργασίες εκτελούνται παράλληλα Η standard C δεν έχει threads (νήµατα) αλλά κάποιες βιβλιοθηκες για αυτό υπάρχουν Η C++ και η Java επιτρέπουν multithreading (πολυνηµατικές) ιεργασίες µπορούν να εκτελούνται παράλληλα

Το Internet και το World Wide Web (Παγκόσµιος Ιστός) 22 Το Internet Αναπτύχθηκε πριν από 30 χρόνια, από το Αµερικάνικο Υπουργείο Άµυνας Αρχικά σχεδιάστηκε για να συνδέσει πανεπιστήµια Πλέον προσβάσιµο από δεκάδες εκατοµµύρια υπολογιστών World Wide Web ιαχείριση εγγράφων µε multimedia (πολυµέσα) Έκρηξη του Internet Ανάµιξη υπολογιστών και επικοινωνιών Αλλαγή στον τρόπο λειτουργίας των επιχειρήσεων Οι πληροφορίες είναι άµεσα διαθέσιµες Θα ασχοληθούµε µε εφαρµογές Java που χρησιµοποιούν το Internet

23 Πληροφορική Πληροφορική Ηλεκτρονικοί Υπολογιστές Μαθηµατικά Σχεδίαση και Κατασκευή Θεωρία και Αναλυτική Μέθοδος Κεντρική έννοια: υπολογισµός (computation) Η επιστήµη της επεξεργασίας πληροφοριών, δηλαδή των µεθόδων καταγραφής, χειρισµού και ανάκτησης πληροφοριών

Επιστήµη της Πληροφορικής 24 Πληροφορική: Επίλυσηπροβλήµατος Απαιτήσεις, περιορισµοί προβλήµατος Κατανόηση ζητούµενων Οργάνωση δεδοµένων Σχεδίαση αποδοτικού αλγορίθµου για την επίλυση του προβλήµατος Υλοποίηση λύσης ιεξοδικός έλεγχος σωστής λειτουργίας Υπολογισµός πολυπλοκότητας και θεωρητική απόδειξη ορθότητας Βελτιστοποίηση Ανάλυση πολυπλοκότητας Τεκµηρίωση -Συντήρηση

Επιστήµη της Πληροφορικής 25 Σκοπός: να µάθεις να σκέφτεσαι Η Μαθηµατική επιστήµη είναι βασικό εργαλείο. Λογική, διακριτά µαθηµατικά, στατιστική, πιθανότητες, θεωρία γράφων, και άλλες περιοχές συνεισφέρουν στην θεωρητική θεµελίωση της Πληροφορικής Σκοπός είναι η ανάπτυξη της ικανότητας µαθηµατικής επίλυσης απλών αλλά και σύνθετων πρωτότυπων προβληµάτων χωρίς να βασιζόµαστε σε αποστήθιση κανόνων

Επιστήµη της Πληροφορικής 26 Τριτοβάθµια εκπαίδευση: Η τεχνολογία αλλάζει αέναα και γρήγορα τα θεµέλια όµως µένουν Αυτά τα θεµέλια είναι η ραχοκοκαλιά στην τριτοβάθµια εκπαίδευση: έµφαση στην αλγοριθµική σκέψη σε αντιδιαστολή µε τις τεχνολογικές δεξιότητες Dijkstra: η Επιστήµη των Υπολογιστών έχει τόση σχέση µε τους υπολογιστές όση και η Αστρονοµία µε τα τηλεσκόπια

Επιστήµη της Πληροφορικής Κλάδοι της Πληροφορικής: Γλώσσες Προγραµµατισµού Σχεδίαση και Ανάλυση Αλγορίθµων οµές δεδοµένων Θεωρία Γραφηµάτων Θεωρία Πολυπλοκότητας Επεξεργασία Φυσικής Γλώσσας Αρχιτεκτονική υπολογιστών και δικτύων Αριθµητικοί και συµβολικοί υπολογισµοί Λειτουργικά συστήµατα Μεθοδολογία τεχνολογία λογισµικού Βάσεις δεδοµένων και διαχείριση πληροφοριών Τεχνητή νοηµοσύνη και ροµποτική Επικοινωνία ανθρώπου υπολογιστή (γραφικά) 27

Η µηχανή Turing: το µαθηµατικό µοντέλο του Η/Υ! 28 K # 0 1 0 1 (q 1,0) (q 2,1, ) K q 0 q 1 M q n Μία άπειρα εκτεινόµενη ταινία χωρισµένη σε κελιά Κάθε κελί αποθηκεύει ένα σύµβολο, συνήθως δυαδικό ψηφίο (0 ή 1) ή το κενό (#) Μία κεφαλή που διαβάζει το περιεχόµενο ενός κελιού κίνηση δεξιά/αριστερά Μηχανισµός «λήψης αποφάσεων» A L A N T U R I N G

Υπολογίζοντας µε µία µηχανή Turing! 29 Το παρακάτω «πρόγραµµα» (είναι ένας πίνακας µεταβάσεων) υπολογίζει τη διαφορά µεταξύ δύο θετικών ακεραίων m και n (µόνο εάν m > n, αλλιώς επιστρέφει το 0) που δίνονταιστηνµορφή 0 m 10 n στην ταινίατηςµηχανής Turing: q 0 q 1 q 2 q 3 q 4 q 5 q 6 0 (q 1,#, ) (q 1,0, ) (q 3,1,Α) (q 3,0,Α) (q 4,0,Α) (q 5,#, ) - (σταµατά) 1 (q 5,#, ) (q 2,1, ) (q 2,1, ) (q 3,1,Α) (q 4,#,Α) (q 5,#, ) - (σταµατά) # - (q 4,#,Α) (q 0,#, ) (q 6,0, ) (q 6,#, ) - (κρεµά) (σταµατά)

30 Τιείναιο«αλγόριθµος»; Μία «λογική» για το πώςθα λυθεί ένα πρόβληµα. Σκέφτοµαι συγκεκριµένα βήµατα που έχουν αρχή και τέλος και µε οδηγούν σε λύση (ή στον εντοπισµό ότι δεν υπάρχει λύση). Μπορώ να τον περιγράψω µε πολλούς τρόπους π.χ. Καθοµιλουµένη γλώσσα!

Πώςπεριγράφωτοναλγόριθµο; 31 Η φυσική (καθοµιλουµένη γλώσσα) είναι µία λύση, αλλά όχι πάντα πρακτική. Χρειάζοµαι κάτι πιο δοµηµένο όπως θα δούµε αργότερα και ο ίδιοςοκώδικας (C++). Ψευδοκώδικας: Είναι µία «σύµβαση». Μία δοµηµένη γλώσσα µε συγκεκριµένους κανόνες και σύνταξη.

Ουσία! 32 Ηουσία είναι να µπορώ να σκεφτώ ένα σωστό αλγόριθµο. Ο ψευδοκώδικας είναι µία συµβατική µορφή αναπαράστασης του αλγορίθµου. Η φυσική γλώσσα έκφρασης του ψευδοκώδικα µπορεί να είναι η Αγγλική αλλά και η Ελληνική (ΕΑΓ: Ελληνική Αλγοριθµική Γλώσσα). Μία γλώσσα προγραµµατισµού (π.χ. C, C++) είναι ένα εργαλείο για να υλοποιηθεί ο αλγόριθµος στονυπολογιστή. Θα πρέπει να µπορώ να χρησιµοποιώ πολλά εργαλεία (πολλές γλώσσες)

Ένα παράδειγµα ιαγράµµατος Ροής ( ΡΠ) 33

Ποια η λειτουργία του παρακάτω διαγράµµατος ροής προγράµµατος; 34 AVERAGE SUM=0 COUNTER=0 AGE AGE<>0 F SUM=SUM+AGE T COUNTER =COUNTER+1 AGE AVERAGE=SUM/COUNTER AVERAGE END

Ποιαηλειτουργίατου; 35 AVERAGE SUM=0 COUNTER=0 INITIALISES SUM AND COUNTER GET AGE DOWHILE AGE<>0 SUM=SUM+AGE F READ (ENTER ) AGE VALUE AGE = 0 STOPS LOOP KEEP AGE TOTAL T COUNTER =COUNTER+1 GET NEXT AGE COUNT THE NUMBER OF AGES GET NEXT AGE AVERAGE=SUM/COUNTER DISPLAY AVERAGE CALCULATES AVERAGE DISPLAY AVERAGE TO SCREEN END

36 ΠΑΡΟΥΣΙΑΣΗ ΨΕΥ ΟΚΩ ΙΚΑ Ο ψευδοκώδικας είναι µία άτυπη υψηλού επιπέδου περιγραφή των λειτουργιών/βηµάτων ενός αλγορίθµου. Είναι λιγότερο αυστηρή από µια γλώσσα προγραµµατισµού. Κάνει πιο ελεύθερη περιγραφή ενός αλγορίθµου ώστε αυτός να γίνειάµεσα κατανοητός από τον άνθρωποαλλά όχι από µια µηχανή. Παραλείπει τις λεπτοµέρειες µια γλώσσας προγραµµατισµού και κρατάει εκείνα τα στοιχεία που είναι απαραίτητα για την περιγραφή των βηµάτων ενός αλγόριθµου. Η γλώσσα του ψευδοκώδικας µπορεί να είναι η αγγλική (πιο γνωστός είναι εκείνος που προέρχεται από την PASCAL) και χρησιµοποιεί όρους και λέξεις από τις γλώσσες προγραµµατισµού. ΕΑΓ- Ελληνική Αλγοριθµική Γλώσσα: είναι µια γλώσσα περιγραφής αλγορίθµων στην Ελληνική που κατά βάση προήλθε από την γλώσσα PASCAL. Κατά την διάρκεια του µαθήµατος θα δούµε αρκετά παραδείγµατα. Παρακάτω περιγράφεται γρήγορα ένας ψευδοκώδικας µε αγγλικούς όρους που όπως θα δείτε µοιάζει πολύ µε αυτούς της γλώσσας προγραµµατισµού που θα χρησιµοποιήσουµε για την υλοποίηση των προγραµµάτων µας.

37 ΠΑΡΟΥΣΙΑΣΗ ΨΕΥ ΟΚΩ ΙΚΑ Μεταβλητή Κάθε µέγεθος (έννοια) του προβλήµατος που εµπλέκεται στη λύση του πρέπεινααντιπροσωπεύεται από µιαµεταβλητή στον αλγόριθµο. Κάθε µεταβλητή µπορεί να µην έχει σταθερή τιµή, αλλά να παίρνει διάφορες τιµές, κατά τη διάρκεια εκτέλεσης ενός αλγορίθµου (προγράµµατος). Το όνοµα µιας µεταβλητής περιέχει γράµµατα, αριθµούς και την παύλα ( - ), αλλά αρχίζει πάντα από γράµµα. Π.χ. X, MAX2, MAX-2.

38 ΠΑΡΟΥΣΙΑΣΗ ΨΕΥ ΟΚΩ ΙΚΑΤύπος Τα µεγέθη διαφέρουν ως προς τις ιδιότητες και το είδος των τιµών που παίρνουν. Υπάρχουν τέσσερις βασικοί (ή πρωτογενείς) τύποι µεταβλητών: INTEGER π.χ. 5, 18 REAL π.χ. 3.1, 24.6 Μεταβλητής CHAR π.χ. A, 7, DEKA BOOLEAN : TRUE ή FALSE

ΠΑΡΟΥΣΙΑΣΗ ΨΕΥ ΟΚΩ ΙΚΑ Σταθερές Είναι υπολογιστικές οντότητες που έχουν µια σταθερή τιµή, η οποία δεν αλλάζει κατά τη διάρκεια εκτέλεσης ενός αλγορίθµου. 39 Τα ονόµατά τους σχηµατίζονται µε τους ίδιους κανόνες όπως και των µεταβλητών. εν χρειάζεται να δηλώσουµε τον τύπο µιας σταθεράς, διότι αυτός προκύπτει από την τιµή της.

40 ΠΑΡΟΥΣΙΑΣΗ ΨΕΥ ΟΚΩ ΙΚΑ Τελεστές Είναι σύµβολα που παριστάνουν κάποια στοιχειώδη λειτουργία/επεξεργασία. Αριθµητικοί τελεστές: +, -, *, /, DIV, MOD Τελεστέςσύγκρισης ή Συσχετιστικοί τελεστές: = >, >=, <, <=, <> Λογικοί τελεστές: NOT, OR, AND

41 ΠΑΡΟΥΣΙΑΣΗ ΨΕΥ ΟΚΩ ΙΚΑ Εκφράσεις Οι εκφράσεις είναι στοιχεία του ψευδοκώδικα που παράγονται από τον συνδυασµό τελεστών και µεταβλητών ή τιµών: Αριθµητικές: Π.χ. (5 * X + Y), ((K + 3)/4) * L, K DIV 3. Σύγκρισης: Π.χ. X >= Y, A = B, K < L και X <> Y είναι εκφράσεις σύγκρισης. Η τιµή που επιστρέφει µια έκφραση σύγκρισης είναι τύπου BOOLEAN. Λογικές: Π.χ. (X > Y ) AND (X < 10), (A <> B) OR (A >= 5), NOT (X < Y) είναι λογικές εκφράσεις. Η τιµή που επιστρέφει µια λογική έκφραση είναι επίσης τύπου BOOLEAN

42 ΠΑΡΟΥΣΙΑΣΗ ΨΕΥ ΟΚΩ ΙΚΑ Η δήλωση µιας µεταβλητής γίνεται ως εξής: <λίστα µεταβλητών> : <τύπος> ; Π.χ. I, J : INTEGER; X, Y, Z : REAL; C : CHAR; TELOS : BOOLEAN; ηλώσειςµεταβλητών

ΠΑΡΟΥΣΙΑΣΗ ΨΕΥ ΟΚΩ ΙΚΑ Τύποςπίνακα Ο τύπος πίνακα είναι ένας σύνθετος τύπος που αντιπροσωπεύει σύνολα τιµών. Ο τύπος πίνακα χρησιµοποιείται όταν πρέπει να χρησιµοποιήσουµε µεταβλητές για να παραστήσουµε σχετικά µεγάλο αριθµό από οµοειδή µεγέθη. Π.χ. BATHMOS : ARRAY [1..20] OF INTEGER; Η πρόσβαση στις τιµές (ή στοιχεία) ενός πίνακα γίνεται µέσω του ονόµατος του πίνακα και ενός δείκτη που δείχνει τη θέση της τιµής στον πίνακα. Οι BATHMOS[3], BATHMOS[Ι] ονοµάζονταιµεταβλητέςµεδείκτη. 43

ΠΑΡΟΥΣΙΑΣΗ ΨΕΥ ΟΚΩ ΙΚΑ Βασικέςεντολέςψευδοκώδικα 44 Εντολή καταχώρησης Με την εντολή αυτή καταχωρούµε τιµές σε µεταβλητές. Π.χ. X := 12, X := Y, X := (Y + 10)/4 είναι εντολές καταχώρησης. Εντολή για είσοδο δεδοµένων Για να εισάγονται δεδοµένα στον αλγόριθµο (πρόγραµµα) από το πληκτρολόγιο χρησιµοποιείται µια εντολή εισόδου. Π.χ. READ (Χ), READ (Χ, Υ) Εντολή για έξοδο αποτελεσµάτων Για να εκτυπώνονται αποτελέσµατα στην οθόνη χρησιµοποιείται µια εντολή εξόδου. Π.χ. WRITE («ΤΟ ΕΜΒΑ ΟΝ ΕΙΝΑΙ:», Ε), WRITE («Χ =», Υ*(Ζ+2)), WRITE («ΤΟ ΕΜΒΑ ΟΝ ΕΙΝΑΙ:», Ε, «ΚΑΙ Ο ΟΓΚΟΣ:», V) Εντολέςελέγχουροήςπρογράµµατος παρακάτω if, for, while, do while ΕΜΕΙΣ ΘΑ ΧΡΗΣΙΜΟΠΟΙΗΣΟΥΜΕ ΤΗΝ C/C++ ΓΙΑ ΝΑ ΥΛΟΠΟΙΗΣΟΥΜΕ ΑΛΓΟΡΙΘΜΟΥΣ.

45 οµήελέγχουροής (if) Η εντολή IF χρησιµοποιείται όταν θέλουµε να ελέγξουµε την ισχύ µίας συνθήκης και ανάλογα να πράξουµε Ι = Χ Όχι Ναι Οµάδα-Α if(ι==χ) { Οµάδα-Α; }

46 οµήελέγχουροής (IF) Η εντολή IF χρησιµοποιείται όταν θέλουµε να ελέγξουµε την ισχύ µίας συνθήκης και ανάλογα να πράξουµε Ι = Χ Ναι ΕΑΝ (Ι = Χ) ΤΟΤΕ Οµάδα-Α; ΕΑΝ-ΤΕΛΟΣ; Όχι Οµάδα-Α

47 οµήελέγχουροής (if - else) Η εντολή IF - ELSE χρησιµοποιείται µε παρόµοιο τρόπο µε την εντολή IF, µε τη διαφορά ότι εκτελούµε µία (διαφορετική) οµάδα εντολών και στην περίπτωση που δεν ισχύει η συνθήκη Όχι Οµάδα-Β Ι = Χ Ναι Οµάδα-Α if(i==x) { Οµάδα-Α; } else { Οµάδα-B; }

48 οµήελέγχουροής (IF - ELSE) Η εντολή IF - ELSE χρησιµοποιείται µε παρόµοιο τρόπο µε την εντολή IF, µε τη διαφορά ότι εκτελούµε µία (διαφορετική) οµάδα εντολών και στην περίπτωση που δεν ισχύει η συνθήκη ΕΑΝ (Ι = Χ) ΤΟΤΕ Οµάδα-Α; Όχι Ι = Χ Ναι ΑΛΛΙΩΣ Οµάδα-Β; Οµάδα-Β Οµάδα-Α ΕΑΝ-ΤΕΛΟΣ;

49 Επαναληπτική οµή (for) Χρησιµοποιείται όταν θέλουµε να εκτελέσουµε µία οµάδα εντολών περισσότερες από µία φορές. Στη FOR ο αριθµός των επαναλήψεων είναι σταθερός. I 1 I I+1 Οµάδα-Α for(i=1;i<=n;i++) { Οµάδα-Α; } I N Ναι Όχι

50 Επαναληπτική οµή (FOR) Χρησιµοποιείται όταν θέλουµε να εκτελέσουµε µία οµάδα εντολών περισσότερες από µία φορές. Στη FOR ο αριθµός των επαναλήψεων είναι σταθερός. I 1 ΓΙΑ Ι:= 1 ΕΩΣ N ΕΠΑΝΑΛΑΒΕ Οµάδα-Α; ΓΙΑ-ΤΕΛΟΣ; I I+1 Οµάδα-Α I N Ναι Όχι

51 Επαναληπτική οµή (while) Χρησιµοποιείται όταν θέλουµε να εκτελέσουµε µία οµάδα εντολών περισσότερες από µία φορές. Στη WHILE ο αριθµός των επαναλήψεων εξαρτάται από κάποια συνθήκη. I = 1; I 1 while(i<=n) { Όχι I N Ναι I I+1 Οµάδα-Α; I = I + 1; Οµάδα-Α }

52 Επαναληπτική οµή (WHILE) Χρησιµοποιείται όταν θέλουµε να εκτελέσουµε µία οµάδα εντολών περισσότερες από µία φορές. Στη WHILE ο αριθµός των επαναλήψεων εξαρτάται από κάποια συνθήκη. I 1 I:=1; ΕΝΟΣΩ ( Ι <= N ) ΕΠΑΝΕΛΑΒΕ Οµάδα-Α; Ι := Ι + 1; ΕΝΟΣΩ-ΤΕΛΟΣ; Όχι I N Ναι I I+1 Οµάδα-Α

53 Επαναληπτική οµή (do-while) Χρησιµοποιείται όταν θέλουµε να εκτελέσουµε µία οµάδα εντολών περισσότερες από µία φορές. H επισυναπτόµενη οµάδα εντολών εκτελείται πάντοτε µία τουλάχιστον φορά. I 0 I I+1 Οµάδα-Α I < N Όχι Ναι I = 0; do { I = I + 1; Οµάδα-Α; } while(i<=n); Όχι Ναι

54 Επαναληπτική οµή (do-while) Χρησιµοποιείται όταν θέλουµε να εκτελέσουµε µία οµάδα εντολών περισσότερες από µία φορές. H επισυναπτόµενη οµάδα εντολών εκτελείται πάντοτε µία τουλάχιστον φορά. I 0 I I+1 I:=0; ΕΠΑΝΕΛΑΒΕ Ι:= Ι + 1; Οµάδα-Α; ΕΝΟΣΩ ( Ι < N ); Όχι Οµάδα-Α I < N Ναι

55 Επαναληπτική οµή (REPEAT UNTIL) Χρησιµοποιείται όταν θέλουµε να εκτελέσουµε µία οµάδα εντολών περισσότερες από µία φορές. Στη REPEAT UNTIL ο αριθµός των επαναλήψεων εξαρτάται από κάποια συνθήκη, αλλά η επισυναπτόµενη οµάδα εντολών εκτελείται πάντοτε µία τουλάχιστον φορά. I 0 I I+1 Όχι I:=0; ΕΠΑΝΕΛΑΒΕ Ι:= Ι + 1; Οµάδα-Α; ΜΕΧΡΙ ( Ι < N ); Οµάδα-Α I < N Ναι

56 Αλγόριθµος εύρεσης Μέγιστου N αριθµών Όχι MAX πολύ µικρή τιµή I 1 I N Ναι ιάβασε Α A> MAX Ναι MAX A Όχι I I+1 MAX = -1000000; I = 1; while(i<=n) { cin >> A; if(a > MAX) { MAX = A; } I = I + 1; }

57 Αλγόριθµος εύρεσης Μέγιστου N αριθµών Όχι MAX πολύ µικρή τιµή I 1 I N Ναι ιάβασε Α A> MAX Όχι I I+1 MAX := -1000000000; I := 1; ΕΝΟΣΩ ( Ι <= Ν ) ΕΠΑΝΕΛΑΒΕ ΙΑΒΑΣΕ (Α); ΕΑΝ (Α > MAX) ΤΟΤΕ MAX := Α; ΕΑΝ-ΤΕΛΟΣ; Ι:= Ι + 1; ΕΝΟΣΩ-ΤΕΛΟΣ; Ναι MAX A