Αλγόριθμος- Πρόγραμμα

Post on 13-Feb-2017

230 views 0 download

Transcript of Αλγόριθμος- Πρόγραμμα

Γ΄ τάξηΓ΄ τάξη

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

Αλγόριθμος

Πρόγραμμα Μετατροπή του προγράμματοςσε 0 και 1 (γλώσσα μηχανής)

Εκτέλεση του προγράμματος στον επεξεργαστή

ΑΛΓΟΡΙΘΜΟΣ- ΠΡΟΓΡΑΜΜΑ

Γ΄ τάξηΓ΄ τάξη

Τι είναι Αλγόριθμος

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

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

Αλγόριθμος

Πρόγραμμα Μετατροπή του προγράμματοςσε 0 και 1 (γλώσσα μηχανής)

Εκτέλεση του προγράμματος στον επεξεργαστή

1.1. Ευθεία 100 Ευθεία 100 βήματα2.2. ΔεξιάΔεξιά στροφή 90στροφή 90οο

3.3. Ευθεία 100 Ευθεία 100 βήματα4.4. ΔεξιάΔεξιά στροφή 90στροφή 90οο

5.5. Ευθεία 100 Ευθεία 100 βήματα6.6. ΔεξιάΔεξιά στροφή 90στροφή 90οο

7.7. Ευθεία 100 Ευθεία 100 βήματα8.8. ΔεξιάΔεξιά στροφή 90στροφή 90οο

9.9. ΤέλοςΤέλος

Παράδειγμα αλγόριθμου που κατασκευάζει τετράγωνο με πλευρά 100

Γ΄ τάξηΓ΄ τάξη

Υλοποίηση Αλγορίθμου με υπολογιστή - Προγραμματισμός Ένα πρόγραμμα είναι η αναπαράσταση ενός αλγορίθμου γραμμένη σε γλώσσα κατανοητή για έναν υπολογιστή.

Σχήμα 1.3: Στάδια για την εκτέλεση ενός αλγορίθμου από τον υπολογιστή

ΠρόγραμμαΑλγόριθμος

Μετατροπή του προγράμματοςσε 0 και 1 (γλώσσα μηχανής)

Εκτέλεση του προγράμματος στον επεξεργαστή

• Γλώσσα Μηχανής• Visual BASIC• PASCAL• FORTRAN• C• C++• Logo• Java• ADA• PROLOG

Βασικά χαρακτηριστικά:• το αλφάβητο• το λεξιλόγιο• το συντακτικό

Γ΄ τάξηΓ΄ τάξη

void DisplayBlock(SBlock Block) { if (Block.nY < 1) return; RECT rcBlock = g_rcBlock; rcBlock.left = Block.nColor * BLOCK_DIAMETER; rcBlock.right = Block.nColor * BLOCK_DIAMETER + BLOCK_DIAMETER;

g_pDisplay->Blt( (DWORD)Block.nX * BLOCK_DIAMETER - 2 , (DWORD)Block.nY * BLOCK_DIAMETER , g_pSecondarySurface, &rcBlock );

}

Εικόνα 1.2: Το γνωστό παιχνίδι ΤΕΤΡΙΣ είναι ένα πρόγραμμα το οποίο περιλαμβάνει μια σειρά εντολών (ένα μικρό υποσύνολο των εντολών του μπορείτε να δείτε στα δεξιά της εικόνας).

Μια ιστοσελίδα όπως την βλέπει ένας χρήστης του διαδικτύου

Ο κώδικας που βρίσκεται από πίσω από μια ιστοσελίδα

Γ΄ τάξηΓ΄ τάξη

000000000000000100000010000001100000000000100000

Τμήμα Προγράμματοςσε γλώσσα μηχανής

Οι μεταφραστές είναι προγράμματα που μετατρέπουν εντολές που είναι γραμμένες σε κάποια από τις γλώσσες προγραμματισμού σε γλώσσα μηχανής

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

Μετατροπή του προγράμματοςσε 0 και 1 (γλώσσα μηχανής)

Αλγόριθμος

ΠρόγραμμαΕκτέλεση του προγράμματος στον επεξεργαστή

Γ΄ τάξηΓ΄ τάξη

Εκτέλεση του προγράμματος στον επεξεργαστή

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

Αλγόριθμος

Πρόγραμμα Μετατροπή του προγράμματοςσε 0 και 1 (γλώσσα μηχανής)

Βλέπουμε το αποτέλεσμα του προγράμματος στην οθόνη ή τον εκτυπωτή

Οι προγραμματιστές κάνουν 2 ειδών λάθη:

• λογικά.: Τα λάθη που αφορούν τον αλγόριθμο κατασκευής . Τέτοιου είδους λάθη δεν αναγνωρίζονται από τους μεταφραστές

• Συντακτικά . Λάθη που υπάρχουν στη σύνταξη, στο αλφάβητο ή στο λεξιλόγιο μιας εντολής.

Γ΄ τάξηΓ΄ τάξη

Ιδιότητες ενός Αλγορίθμου

• Ο αλγόριθμος που κατασκευάζουμε πρέπει να πληρεί κάποιες προϋποθέσεις όπως:

• Ότι κάποτε θα τελειώσει • Να έχει ακρίβεια

• Να έχει σαφήνεια

• Οι εντολές του να είναι εκφρασμένες με απλά λόγια

Περίπτωση 1Περίπτωση 11.1. Ευθεία 100 Ευθεία 100 βήματα2.2. ΔεξιάΔεξιά στροφήστροφή3.3. Ευθεία 100 Ευθεία 100 βήματα4.4. ΔεξιάΔεξιά στροφήστροφή5.5. Ευθεία 100 Ευθεία 100 βήματα6.6. ΔεξιάΔεξιά στροφήστροφή7.7. Ευθεία 100 Ευθεία 100 βήματα8.8. τέλοςτέλος

Περίπτωση 2Περίπτωση 21.1. Ευθεία 100 Ευθεία 100 βήματα2.2. ΔεξιάΔεξιά στροφή 90στροφή 90οο

3.3. Ευθεία 100 Ευθεία 100 βήματα4.4. ΔεξιάΔεξιά στροφή 90στροφή 90οο

5.5. Ευθεία 100 Ευθεία 100 βήματα6.6. ΔεξιάΔεξιά στροφή 90στροφή 90οο

7.7. Ευθεία 100 Ευθεία 100 βήματα8.8. ΔεξιάΔεξιά στροφή 90στροφή 90οο

9.9. Επανάλαβε τα βήματα 1-8Επανάλαβε τα βήματα 1-810.10. ΤέλοςΤέλος

Περίπτωση 3 (το σωστό)Περίπτωση 3 (το σωστό)1.1. Ευθεία 100 Ευθεία 100 βήματα2.2. ΔεξιάΔεξιά στροφή 90στροφή 90οο

3.3. Ευθεία 100 Ευθεία 100 βήματα4.4. ΔεξιάΔεξιά στροφή 90στροφή 90οο

5.5. Ευθεία 100 Ευθεία 100 βήματα6.6. ΔεξιάΔεξιά στροφή 90στροφή 90οο

7.7. Ευθεία 100 Ευθεία 100 βήματα8.8. ΔεξιάΔεξιά στροφή 90στροφή 90οο

9.9. ΤέλοςΤέλος

Παραδείγμα λογικού λάθους

Παραδείγμα συντακτικού λάθους

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent intent = getIntent(); setContentView(R.layout.activity_maps); SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map); mapFragment.getMapAsync(this); }

Αν για παράδειγμαΑντί για public γράψουμε publik θα έχουμε ένα συντακτικό λάθος

το παραπάνω πρόγραμμα εμφανίζει ένα χάρτη σε κινητό τηλέφωνο