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

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

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

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

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

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

Διαδικασιακός Προγραμματισμός

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Αντικειµενοστρεφής Προγραµµατισµός

Προγραμματισμός Η/Υ (ΤΛ2007 )

a = 10; a = k; int a,b,c; a = b = c = 10;

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

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

Ανάπτυξη και Σχεδίαση Λογισμικού

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

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

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8)

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

8. Συνθήκες ελέγχου, λογικοί τελεστές

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός

Δομημένος Προγραμματισμός (ΤΛ1006)

ΕΡΓΑΣΤΗΡΙΟ 2 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Εργαστήριο 2. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

Προγραμματισμός Ι (HY120)

Προγραμματισμός Ι. Θεματική ενότητα 3: Tελεστές. εκφράσεις

Εισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ

Ανάπτυξη και Σχεδίαση Λογισμικού

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

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

Βασικά στοιχεία της Java

Προγραμματισμός Ι (HY120)

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

2.1. Εντολές Σχόλια Τύποι Δεδομένων

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός. (Διάλεξη 14) Παράδειγμα: Αλλαγή τιμής μεταβλητής μόνο τοπικά

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

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

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός I (Θ)

Επανάληψη για τις Τελικές εξετάσεις

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

Προγραμματισμός Ι. Εγγραφές. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

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

Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

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

for for for for( . */

Προγραμματισμός Ι (ΗΥ120)

Λογικό "και" (AND) μας επιστρέφει 1 αν και οι δύο operands είναι όχι μηδέν, διαφορετικά 0)

Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός. Δείκτες (Διάλεξη 14)

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 3-2

Η γλώσσα προγραμματισμού C

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

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

Προγραμματισμός Ι (HY120)

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

ΑΣΚΗΣΗ 3: ΠΡΟΤΑΣΕΙΣ, ΕΚΦΡΑΣΕΙΣ ΚΑΙ ΤΕΛΕΣΤΕΣ

Εισαγωγή στη γλώσσα προγραμματισμού C++

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

Οικονόμου Βαγγέλησ Διάλεξη Νο 2. Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2

ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2)

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

Η γλώσσα προγραμματισμού C

Προγραμματισμός Ι (ΗΥ120)

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

Υπολογισμός - Εντολές Ελέγχου

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 2 η

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

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

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

Προγραμματισμός Ι (ΗΥ120)

Κεφάλαιο 3.1, : Συναρτήσεις I. ( ιάλεξη 11) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Βασικά της γλώσσας JAVA

Προγραμματισμός Ι (ΗΥ120)

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

Η γλώσσα προγραμματισμού EEL

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Κεφάλαιο 2.5: Τύποι εδοµένων, Τελεστές και Αριθµητικές Εκφράσεις. ( ιαλέξεις 5-6) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Δομημένος Προγραμματισμός (ΤΛ1006)

Ενώσεις δεδομένων Απαριθμητές Ψηφιακοί τελεστές Αναδρομικές συναρτήσεις

Η γλώσσα προγραμματισμού C

Προγραµµατισµός. Αναδροµή (1/2)

Λογικός τύπος Τελεστές σύγκρισης Λογικοί τελεστές Εντολές επιλογής Εμβέλεια Μαθηματικές συναρτήσεις Μιγαδικός τύπος ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ

Συναρτήσεις. Κατασκευαστικά Τεµάχια για τη ηµιουργία Αρθρωτών Προγραµµάτων

Η γλώσσα προγραμματισμού Strange

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης

Η εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;..

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 2 Εντολές Εισόδου/Εξόδου Τελεστές. Δρ. Γιώργος Λαμπρινίδης 23/10/2015 Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1

Εισαγωγή στην γλώσσα προγραμματισμού C

Transcript:

Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη Προτάσεις, Εκφράσεις & Τελεστές είδη προτάσεων, προτάσεις δοµής συνθήκης (if, switch-case case) προτάσεις επαναληπτικής δοµής ελέγχου (for, while, do while) µαθηµατικούς τελεστές & η σειρά προτεραιότητας αυτών 2 1

Σήµερα Μαθηµατικοί Τελεστές Είδη τελεστών & προτεραιότητα Έννοια της συνάρτησης Ορισµός, σύνταξη & λειτουργία 3 Μαθηµατικοί Τελεστές Προτεραιότητα µαθηµατικών τελεστών & παρενθέσεων Μαθηµατικοί Τελεστές Μοναδιαίους ++ τελεστής αύξησης, -- τελεστής µείωσης, Μαθηµατικοί Τελεστές υαδικούς + πρόσθεση, _ αφαίρεση, / διαίρεση, % υπόλοιπο διαίρεσης * πολλαπλασιασµός 4 2

Μαθηµατικοί Τελεστές Οι Μοναδιαίοι Μαθηµατικοί Τελεστές ονοµάζονται έτσι διότι δέχονται µόνο ένα τελεστέο (µεταβλητή). Χρησιµοποιούνται µόνο µε µεταβλητές και όχι µε σταθερές Σύµβολο Ενέργεια Τελεστής Παράδειγµα ++ Αυξάνει τον τελεστέο κατά ένα αύξησης ++x, x++ -- Μειώνει τον τελεστέο κατά ένα µείωσης --x, x-- ++x --y x=x+1; y=y+1; x=10; y=11 y=x++ x=10 x=10; y=11 y=++x x=11 5 Μαθηµατικοί Τελεστές Οι υαδικοί Μαθηµατικοί Τελεστές ονοµάζονται έτσι διότι δέχονται δύο τελεστέους (µεταβλητές). Προτεραιότητα µαθηµατικών τελεστών & παρενθέσεων Προτεραιότητα µαθηµατικών τελεστών Τελεστές Σχετική προτεραιότητα ++ -- 1 * / % 2 + - 3 6 3

Μαθηµατικοί Τελεστές Προτεραιότητα µαθηµατικών τελεστών & παρενθέσεων Παράδειγµα 1ο 12%5*2 4 γιατί? 12%5 είναι 2 2*2 είναι 4 Παράδειγµα 2ο x=4 + 5*3 19 ή 27 Τι τιµή? if x=(4+5)*3 είναι 27 if x=4+5*3 είναι 19 7 Μοναδιαίοι τελεστές Μοναδιαίους Τελεστές ++ τελεστής αύξησης, -- τελεστής µείωσης, sizeof() δίνει το µέγεθος σε bytes & δίνει την διεύθυνση της µεταβλητής στην µνήµη του υπολογιστή πίνακες Τελεστές µνήµης & * []. -> δοµές 8 4

Λογικοί τελεστές Οι Λογικοί τελεστές επιτρέπουν να συνδυάζονται δύο ή περισσότερες σχεσιακές εκφράσεις σε µία έκφραση που εκτιµάται σε αληθή ή ψευδής Τελεστής AND OR NOT Σύµβολο &&! Παράδειγµα expr1 && expr2 expr1 expr2 expr1! expr2 Προτεραιότητα λογικών τελεστών Τελεστές! Σχετική προτεραιότητα 1 2 && 3 9 Λογικοί τελεστές Προτεραιότητα λογικών τελεστών & παρενθέσεων Παράδειγµα 1 ο (5==5) && (6!=2) true (5 >1) (6 <1) true (2==1) && (5==5) false!(5==4) true Παράδειγµα 2 ο (x>1) && (x<5) X µεταξύ 1 & 5 (x>=2) && (x <=4) x µεταξύ 2 & 4 (x==2) (x==3) (x==4) x ίσον ή του 2 ή του 3 ή του 4 10 5

Συνδυαστικοί τελεστές Οι συνδυαστικοί τελεστές εκχώρησης παρέχουν συντοµευµένη µέθοδο για τον συνδυασµό µιας δυαδικής µαθηµατικής πράξης & της πράξης εκχώρησης Έστω ότι x=x+5; x+=5; γενική σύνταξη exp1 op=exp2; 11 Συνδυαστικοί τελεστές Παραδείγµατα συνδυαστικών τελεστών x *= y x = x*y y -= z+1 y = y-z+1 a /= b a = a/b y %= 3 y = y%3 x += y/8 x = x + y/8 12 6

Τελεστές Τελεστής συνθηκών = τριαδικός τελεστής? ιαχειρίζεται τρεις τελεστέους (µεταβλητές) Η σύνταξη του expr1? exp2 : expr3 Παραδείγµατα x = y? 1 : 100 if (x>y) z=x; else z=y; z = (x >y )? x : y 13 τελεστές Τελεστής κόµµα, διαχωρίζει τις µεταβλητές, τα ορίσµατα διαχωρίζει δευτερεύουσες προτάσεις (for) Οι δύο εκφράσεις υπολογίζονται µε το να προηγείται η αριστερή έκφραση Ολόκληρη η έκφραση εκτιµάται στην τιµή της δεξιάς 14 7

τελεστές Παράδειγµα x=(a++, b++); εκχωρεί στην µεταβλητή x την τιµή της b αυξάνει την µεταβλητή a αυξάνει την µεταβλητή b 15 Γενική παρουσίαση προτεραιότητας τελεστών επίπεδο 1 2 3 4 τελεστές (), [], - >.!, ~, ++, -- *, /, % +, - επίπεδο 10 11 12 13 τελεστές &&?, : 5 6 << >> <, <=, >, >= 14 =,+=, -=, *=, /=,%=, &=, ^=, =,<<=, >>= 7 8 9 ==,!= & ^ 15 () [] ==,!= τελεστής συνάρτησης τελεστής πίνακα 16 8

Έννοια της συνάρτησης Ορισµός συνάρτησης Πως λειτουργεί µία συνάρτηση Συναρτήσεις & δοµηµένος προγραµµατισµός ήλωση συνάρτησης Σώµα συνάρτησης Αρχέτυπη συνάρτηση ιοχέτευση ορισµάτων σε συνάρτηση Κλήση συναρτήσεων Αναδροµή Θέση συναρτήσεων 17 Έννοια της συνάρτησης Η συνάρτηση είναι το βασικό δοµικό στοιχείο της C που µας επιτρέπει να εφαρµόσουµε την αφαιρετικότητα στον προγραµµατισµό Η αφαιρετικότητα είναι µία από τις βασικότερες τεχνικές που ο άνθρωπος εισήγαγε για να διαχειριστεί πολύπλοκες διαδικασίες 18 9

Έννοια της συνάρτησης Αφαιρετικότητα είναι διεργασία γενίκευσης µιας έννοιας ή ενός φαινόµενου µέσα από την απλοποίηση της περιγραφής τους µε τελικό στόχο να αναδειχθεί µόνο η απαραίτητη πληροφορία για τον συγκεκριµένο σκοπό. 19 Έννοια της συνάρτησης 2 µορφές αφαιρετικότητας Αφαιρετικότητα στις διαδικασίες Αφαιρετικότητα στα δεδοµένα (procedural abstraction) (data abstraction) Αφαιρετικότητα στις διαδικασίες Συναρτήσεις Αφαιρετικότητα στα δεδοµένα οµές 20 10

Ορισµός συνάρτησης Μία συνάρτηση είναι: µια ονοµαστική ανεξάρτητη ενότητα κώδικα C που εκτελεί µία συγκεκριµένη εργασία και προαιρετικά επιστρέφει µία τιµή στο πρόγραµµα την κάλεσε 21 Ορισµός συνάρτησης Μία συνάρτηση είναι ονοµαστική Έχει ένα µοναδικό όνοµα που της επιτρέπει την επικοινωνία µε το πρόγραµµα που είναι συνδεδεµένη Μία συνάρτηση είναι ανεξάρτητη Εκτελεί την εργασία της χωρίς παρεµβολή από ή µε άλλα τµήµατα του προγράµµατος 22 11

Ορισµός συνάρτησης Μία συνάρτηση εκτελεί συγκεκριµένη εργασία η ταξινόµηση ενός πίνακα, η αποστολή µηνύµατος στην οθόνη ή στον εκτυπωτή, ο υπολογισµός της κυβικής ρίζας Μία συνάρτηση επιστρέφει µια τιµή το πρόγραµµα καλεί µία συνάρτηση οι προτάσεις που περιέχονται στην συνάρτηση εκτελούνται οι προτάσεις µπορούν να διοχετεύουν ή όχι στο πρόγραµµα που τις κάλεσε 23 Ορισµός συνάρτησης - παράδειγµα #include <stdio.h> #include <stdlib.h> int cube(int x); long input, answer; int main(int argc, char *argv[]) printf("\n\t\tenter an integer value for the length of the cube side: "); scanf("%d", &input); answer=cube(input); printf("\n\t\tthe cube volume of side %d is %d\n\n",input,answer); system("pause"); return 0; ήλωση συνάρτησης κλήση συνάρτησης //function cube() Int cube(int x) int x_cubed; x_cubed=x*x*x; return x_cubed; Σώµα συνάρτησης 24 12

Ορισµός συνάρτησης - παράδειγµα #include <stdio.h> #include <stdlib.h> ήλωση αρχέτυπης συνάρτησης int main(int argc, char *argv[]) κλήση συνάρτησης system("pause"); return 0; Σώµα συνάρτησης int cube(int x); answer=cube(input); //function cube() Int cube(int x) int x_cubed; x_cubed=x*x*x; return x_cubed; 25 Λειτουργία συνάρτησης Κύριο Πρόγραµµα main() call funt1; call funt2;. call funt3;.. funct1() funct1() funct1() 26 13

Σύνταξη της συνάρτησης ήλωση αρχέτυπης (πρότυπο) συνάρτησης <τύπος> όνοµα συνάρτησης (<τύπος> όνοµα_µεταβλητής 1,.....,<τύπος> όνοµα_µεταβλητής n ); Ορισµός συνάρτησης = κώδικας της συνάρτησης <τύπος> όνοµα συνάρτησης (<τύπος> όνοµα_µεταβλητής 1,......,<τύπος> όνοµα_µεταβλητής n ) προτάσεις; 27 Παραδείγµατα συναρτήσεων Όνοµα συνάρτησης τύπος µεταβλητής δήλωση ορισµός 1 ο Παράδειγµα double squared (double number); double squared (double number) return(number*number); όνοµα µεταβλητής 28 14

Παραδείγµατα συναρτήσεων δήλωση ορισµός 2 ο Παράδειγµα int athroisma_tetr (int n); int athroisma_tetr (int n) int i, athroisma= 0; for (i=1; i <= n; ++i) athroisma += i*i; return (athroisma); athroisma = athroisma + i*i; 29 Συναρτήσεις & δοµηµένος προγραµατισµός Χρήση συναρτήσεων οµηµένος προγραµµατισµός Πλεονεκτήµατα του δοµηµένου προγραµµατισµού Εύκολο γράψιµο κώδικα Εύκολη διόρθωση ή τροποποίηση Εξοικονόµηση χρόνου 30 15

Συναρτήσεις & δοµηµένος προγραµατισµός οµηµένος προγραµµατισµός Σχεδιασµό της επίλυσης του προβλήµατος ΠΩΣ? Καταρχήν µε λεκτική περιγραφή Έστω το πρόβληµα διαχείρισης µιας λίστας ονοµάτων και διευθύνσεων 31 Συναρτήσεις & δοµηµένος προγραµατισµός Γενική ιδέα λειτουργίας του προγράµµατος να εισάγει νέα ονόµατα & διευθύνσεις να τροποποιεί υπαρκτές καταχωρήσεις να ταξινοµεί καταχωρήσεις να εκτυπώνει ετικέτες αλληλογραφίας Τέσσερες κύριες εργασίες 32 16

Συναρτήσεις & δοµηµένος προγραµατισµός Ο σχεδιασµός οδηγεί σε µια ιεραρχική ή διαστρωµατωµένη δοµή main εισαγωγή επεξεργασία ταξινόµηση εκτύπωση ανάγνωση τροποποίηση τροποποίηση 33 Συναρτήσεις & δοµηµένος προγραµατισµός Σχεδίαση του δοµηµένου προγραµµατισµού Καθοδική προσέγγιση µικρό όγκο κώδικα στο κυρίως πρόγραµµα (main) το σηµαντικότερο µέρος του προγράµµατος εκτελείται στις συναρτήσεις 34 17