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

13
Γ΄ Γ΄ τάξη τάξη Στάδια για την εκτέλεση ενός αλγορίθμου από τον υπολογιστή Αλγόριθμ ος Πρόγραμμα Μετατροπή του προγράμματος σε 0 και 1 (γλώσσα μηχανής) Εκτέλεση του προγράμματος στον επεξεργαστή ΑΛΓΟΡΙΘΜΟΣ- ΠΡΟΓΡΑΜΜΑ

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

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

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

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

Αλγόριθμος

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

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

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

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

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

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

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

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

Αλγόριθμος

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

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

Page 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. ΤέλοςΤέλος

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

000000000000000100000010000001100000000000100000

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

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

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

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

Αλγόριθμος

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

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

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

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

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

Αλγόριθμος

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Περίπτωση 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. ΤέλοςΤέλος

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

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

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

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 θα έχουμε ένα συντακτικό λάθος

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