Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βήματα προς τη δημιουργία εκτελέσιμου κώδικα

Σχετικά έγγραφα
Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο. Επικοινωνία:

Πρόβλημα 29 / σελίδα 28

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 1 Ο. Εισαγωγή στις έννοιες Πρόβλημα, Αλγόριθμος, Προγραμματισμός, Γλώσσες Προγραμματισμού

Αλγόριθμοι. Βασικές έννοιες ΤΕΛΟΣ

Δομημένος Προγραμματισμός

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ

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

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ

Ανάπτυξη εφαρμογών/ Βασικές γνώσεις/ πρώτο θέμα ΕΡΩΤΗΣΕΙΣ ΣΥΝΤΟΜΗΣ ΑΠΑΝΤΗΣΗΣ

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

Μάριος Αγγελίδης Ενότητες βιβλίου: 2.1, 2.3, 6.1 (εκτός ύλης αλλά χρειάζεται για την συνέχεια) Ώρες διδασκαλίας: 1

Πληροφορική ΙΙ. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Δομή Ακολουθίας

Περιεχόμενα. Ανάλυση προβλήματος. Δομή ακολουθίας. Δομή επιλογής. Δομή επανάληψης. Απαντήσεις. 1. Η έννοια πρόβλημα Επίλυση προβλημάτων...

ΑΛΓΟΡΙΘΜΟΙ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

Θέματα Προγραμματισμού Η/Υ

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

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

Βασικές Αρχές Προγραμματισμού

ΚΕΦΑΛΑΙΟ 2 ΑΛΓΟΡΙΘΜΟΙ ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ ΘΕΩΡΙΑ

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

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

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. ΚΕΦΑΛΑΙΟ 2 Βασικές Έννοιες Αλγορίθμων

Εισαγωγή - Βασικές έννοιες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

Βασικές Έννοιες Αλγορίθμων. Βασικές Εντολές Αλγορίθμων (Κεφ. 2ο Παρ. 2.4)

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:

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

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

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

ΠαράδειγµαΠρογραµµατισµού

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

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

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

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

Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή

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

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

ΕΠΛ 034: Εισαγωγήστον ΠρογραµµατισµόγιαΗΜΥ

ΛΟΓΙΚΑ ΔΙΑΓΡΑΜΜΑΤΑ. Γ Λυκείου Κατεύθυνσης Mike Trimos

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος

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

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή.

1.1 Θέματα Προς Απάντηση Να χαρακτηρίσετε καθεμία από τις ακόλουθες προτάσεις ως Σωστή (Σ) ή Λανθασμένη (Λ):

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

Υπολογιστικό Πρόβληµα

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

Εισαγωγή στις Αρχές της επιστήμης των Η/Υ. Β Λυκείου

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

Προγραμματισμός Η/Υ. Αλγόριθμοι. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

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

ΣΗΜΕΙΩΣΕΙΣ ΣΤΟ ΜΑΘΗΜΑ «ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΕ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ»

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

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

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

Δομές Δεδομένων & Αλγόριθμοι

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

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

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

Αλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με:

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1

Computing. Νοέμβριος Έκδοση 1.0

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

α=5, β=7, γ=20, δ=αληθής

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

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:

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

Γ-ΓΥΜΝΑΣΙΟΥ (1) ΣΕΛ 1 / 6

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

Περιεχόµενα του µαθήµατος 1. στον προγραµµατισµό 2. Λογικά διαγράµµατα 3. Τα βασικά της FORTRAN 4. Μεταβλητές & παράµετροι 5. οµές επανάληψης 6. οµές

Εισαγωγή στις Αρχές της επιστήμης των Η/Υ. Β Λυκείου

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ

Τάξη: Γ Λυκείου Κατεύθυνση: Τεχνολογική Μάθημα: Ανάπτυξη Εφαρμογών σε Προγ/κό Περιβάλλον Είδος Εξέτασης: Διαγώνισμα Ημερομηνία Εξέτασης:

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

ΓΕ0170 -Αλγόριθμοι και Προηγμένες Προγραμματικές Τεχνικές. Εισαγωγή. Νίκος Αθανάσης.

Δομές Δεδομένων (Data Structures)

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Λύσεις Θεμάτων Εξετάσεων Ενιαίου Λυκείου 2004

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

Επαναληπτικό Διαγώνισμα

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

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Κεφάλαια 2,7,8

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

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

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

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

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

Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής.

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 1 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

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

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙΔΕΣ

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

εισαγωγικές έννοιες Παύλος Εφραιμίδης Δομές Δεδομένων και

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

Επικοινωνία:

Transcript:

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

Βήματα προς τη δημιουργία εκτελέσιμου κώδικα Ανάλυση προβλήματος Επίλυση συγκεκριμένων περιπτώσεων «στο χέρι» Εύρεση κατάλληλου αλγορίθμου Αναπαράσταση αλγορίθμου (Λογικό Διάγραμμα Ψευδοκώδικας) Συγγραφή πηγαίου κώδικα (Kωδικοποίηση αλγορίθμου) Διόρθωση συντακτικών λαθών Εκτέλεση προγράμματος Αποσφαλμάτωση και Έλεγχος αποτελεσμάτων (Προσοχή σε «ειδικές περιπτώσεις») Βελτίωση πηγαίου κώδικα

Ανάλυση Προβλήματος Τι ξέρουμε; Τι ΔΕΝ ξέρουμε; (Δεδομένα εισόδου) (Δεδομένα εξόδου) Τι είδους είναι; (λέξεις, αριθμοί,...) Σταθερές ή μεταβλητές; Τι μονάδες έχουν; Ποια είναι η επιθυμητή ακρίβεια; Ποια είναι τα πεδία ορισμού; Ποιες οι σχέσεις αλληλεξάρτησής τους; (φυσική έννοια)

Παράδειγμα Ένας κύλινδρος όγκου 100lt περιέχει ιδανικό αέριο θερμοκρασίας 20 ο C και πίεσης 15 atm. Ποιά θα είναι η πίεση αν μειώσουμε σταδιακά τον όγκο στα 80, 60, 40, 20lt υπό σταθερή θερμοκρασία; Παράμετρος Είδος Όνομα Μονάδες Ακρίβεια Τιμές Σχέσεις Θερμοκρασία Σταθερά T K 0.1 298 Πίεση Μεταβλητή P atm 0.1 Πίνακας τιμών Όγκος Μεταβλητή V lt 1 Πίνακας τιμών R Σταθερά R atm/(mol.k) 10-8 0.0820556 PV=nRT

Αλγόριθμος Ως αλγόριθμος ορίζεται μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. Η ονομασία «αλγόριθμος» προέρχεται από το όνομα του Πέρση μαθηματικού Abu Ja'far Mohammed ibn Musa Αl-Khowarismi Κριτήρια που πρέπει να ικανοποιεί ένας Αλγόριθμος Είσοδος Έξοδος Περατότητα Καθοριστικότητα Αποτελεσματικότητα

Πολυπλοκότητα Αλγορίθμων Αποτελεί αντικείμενο της λεγόμενης «Ανάλυσης Αλγορίθμων» Παρέχει εκτίμηση των απαιτήσεων του Αλγορίθμου σε υπολογιστικούς πόρους Συνήθως ως υπολογιστικούς πόρους θεωρούμε τις απαιτήσεις σε υπολογιστική ισχύ (έννοια που συνδέεται άμεσα με τον χρόνο εκτέλεσης) και τις απαιτήσεις σε μνήμη RAM Χρησιμοποιείται κυρίως ο συμβολισμός O() (καλείται «όμικρον κεφαλαίο») που δίνει μία εκτίμηση της τάξης μεγέθους για σύγκριση των αλγορίθμων π.χ. Ένας αλγόριθμος της τάξης Ο(logΝ) είναι προτιμότερος από έναν αλγόριθμο που επιλύει το ίδιο πρόβλημα αλλά είναι της τάξης Ο(Ν) Η απόδοση ενός ηλεκτρονικού υπολογιστή μετριέται συνήθως σε MIPS δηλ, πόσα εκατομμύρια εντολών το δευτερόλεπτο μπορεί να εκτελέσει. Πολλές φορές σε επιστημονικούς υπολογισμούς χρησιμοποιείται μία άλλη μονάδα μέτρησης, τα FLOPS. Δηλ, πόσες πράξεις μεταξύ αριθμών κινητής υποδιαστολής μπορεί να εκτελέσει το δευτερόλεπτο. π.χ. Ο εξαπύρηνος i7-980 φτάνει τα 109 GigaFLOPS

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

Συμβολισμοί Διαγραμμάτων Ροής Είσοδος/Έξοδος Επεξεργασία Απόφαση Προετοιμασία Αρχή/Τέλος Σύνδεση Διαδικασία Γραμμή ροής Εισαγωγή και εξαγωγή δεδομένων Εκφράσεις που εκτελούνται διαδοχικά Κατεύθυνση της ροής εκτέλεσης με βάση την τιμή μιας συνθήκης Επικεφαλίδα επανάληψης Επικεφαλίδα αρχής και τέλους Σύνδεση πολλών γραμμών ροής Προκαθορισμένη διαδικασία με στοιχειώδη βήματα εκτέλεσης

Αναπαράσταση Αλγορίθμου με Λογικό Διάγραμμα

Καλές Πρακτικές Προγραμματισμού Γράφουμε κώδικα με αρχικό στόχο περισσότερο την σαφήνεια και έπειτα την βελτιστοποίηση της απόδοσης (σε σύγχρονους Η/Υ) Ο κώδικάς μας πρέπει να είναι όσο πιο γενικός γίνεται Τεκμηριώνουμε επαρκώς τον κώδικά μας Βελτιώνουμε την εμφάνιση του κώδικά μας χρησιμοποιώντας κατάλληλα εσοχές, κενές γραμμές κτλ Χρησιμοποιούμε αρθρωτό προγραμματισμό χωρίζοντας το πρόγραμμά μας σε υποπρογράμματα Προγραμματίζουμε «αμυντικά» ελέγχοντας την εγκυρότητα όλων των δεδομένων εισόδου από τον χρήστη Χρησιμοποιούμε κατάλληλους αλγορίθμους