Προγραμματισμός Η/Υ Προτεινόμενα θέματα εξετάσεων Εργαστήριο Μέρος 1 ό ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Ιανουάριος 2011 Καλογιάννης Γρηγόριος Επιστημονικός/ Εργαστηριακός Συνεργάτης
Περιεχόμενα ερωτήσεων 1. Δώστε με κατάλληλο διάγραμμα την λογική αρχιτεκτονική του ηλεκτρονικού υπολογιστή... 3 2. Δώστε με κατάλληλο διάγραμμα την λογική του προγραμματισμού σε έναν ηλεκτρονικό υπολογιστή... 3 3. Σε τί χρειάζεται ο προγραμματισμός Η/Υ στους Μηχανικούς;... 4 4. Τι ονομάζουμε αλγόριθμο;... 4 5. Τι ονομάζουμε πρόγραμμα σε έναν υπολογιστή;... 4 6. Τι ονομάζεται προγραμματισμός σε έναν υπολογιστή;... 4 7. Τι ονομάζεται γλώσσα προγραμματισμού σε έναν υπολογιστή;... 5 8. Τι ονομάζεται κύκλος ανάπτυξης προγράμματος;... 5 9. Σε πόσα και ποια βασικά βήματα αναλύεται ο κύκλος ανάπτυξης ενός προγράμματος (αναφορικά);... 5 10. Σε πόσα και ποια υπό-βήματα αναλύεται το στάδιο της σχεδίασης της λύσης ενός προβλήματος κατά τον κύκλο ανάπτυξης ενός προγράμματος (αναφορικά);... 5 11. Τι γνωρίζεται για τη Περιγραφή του προβλήματος και το καθορισμό των απαιτήσεων κατά τον κύκλο ανάπτυξης ενός προγράμματος; Δώστε ανάλογο παράδειγμα. 6 12. Ποια στάδια ακολουθούμε κατά την ανάλυση προβλήματος και προσδιορισμόυ της λύσης του, στον κύκλο ανάπτυξης ενός προγράμματος;... 6 13. Ποια στάδια ακολουθούμε κατά την σχεδίαση της λύσης του προβλήματος στον κύκλο ανάπτυξης ενός προγράμματος;... 7 14. Τι πραγματοποιείται κατά την κωδικοποίηση σε γλώσσα προγραμματισμού στον κύκλο ανάπτυξης ενός προγράμματος;... 7 15. Τι πραγματοποιείται κατά τον έλεγχο των λαθών στον κύκλο ανάπτυξης ενός προγράμματος;... 7 16. Τι πραγματοποιείται κατά την συντήρηση στον κύκλο ανάπτυξης ενός προγράμματος ;... 8 17. Τι γνωρίζεται για τη Γλώσσα Μηχανής (Machine Language);... 8 18. Τι γνωρίζεται για τη Συμβολική γλώσσα (Assembly Language);... 9 19. Τι γνωρίζεται για τις Γλώσσες υψηλού επιπέδου (High level Languages);... 9 20. Τι γνωρίζεται για τις Γλώσσες τέταρτης γενιάς (4th Generation Languages);... 9 21. Τι γνωρίζεται για τις Γλώσσες Πέμπτης γενιάς (5th Generation Languages);... 10 22. Τι γνωρίζεται για τον δομημένο προγραμματισμό;... 10
1. Δώστε με κατάλληλο διάγραμμα την λογική αρχιτεκτονική του ηλεκτρονικού υπολογιστή Απάντηση : Προγραμματισμός ΗΥ_Εργαστήριο_Διάλεξη 1_Εισαγωγικό Μάθημα (13/16) 2. Δώστε με κατάλληλο διάγραμμα την λογική του προγραμματισμού σε έναν ηλεκτρονικό υπολογιστή Απάντηση : Προγραμματισμός ΗΥ_Εργαστήριο_Διάλεξη 1_Εισαγωγικό Μάθημα (14/16)
3. Σε τί χρειάζεται ο προγραμματισμός Η/Υ στους Μηχανικούς; Να κάνει πολύπλοκους υπολογισμούς Να οργανώσει τα δεδομένα και την παρουσίασή τους Να εκθέσει πειστικά τις απόψεις του Να οργανώσει και να ελέγξει παραγωγικές διαδικασίες Να αυτοματοποιήσει τον έλεγχο μηχανημάτων και την καταγραφή δεδομένων σε πραγματικό χρόνο Απάντηση : Προγραμματισμός ΗΥ_Εργαστήριο_Διάλεξη 1_Εισαγωγικό Μάθημα (15/16) 4. Τι ονομάζουμε αλγόριθμο; Αλγόριθμο ονομάζουμε μια ταξινομημένη ακολουθία μη διφορούμενων βημάτων που οδηγούν στη λύση ενός προβλήματος. Απάντηση : Προγραμματισμός ΗΥ_Εργαστήριο_Διάλεξη 2_Βασικές αρχές προγραμματισμού (3/22) 5. Τι ονομάζουμε πρόγραμμα σε έναν υπολογιστή; Πρόγραμμα ονομάζουμε την αναπαράσταση ενός ή πολλών αλγορίθμων σε μορφή κατανοητή από τον υπολογιστή. Απάντηση : Προγραμματισμός ΗΥ_Εργαστήριο_Διάλεξη 2_Βασικές αρχές προγραμματισμού (3/22) 6. Τι ονομάζεται προγραμματισμός σε έναν υπολογιστή; Η διαδικασία της ανάπτυξης ενός αλγορίθμου σε συνδυασμό με τη συγγραφή ενός προγράμματος καλείται προγραμματισμός. Απάντηση : Προγραμματισμός ΗΥ_Εργαστήριο_Διάλεξη 2_Βασικές αρχές προγραμματισμού (3/22)
7. Τι ονομάζεται γλώσσα προγραμματισμού σε έναν υπολογιστή; Το σύνολο των γραμματικών και συντακτικών κανόνων που μας επιτρέπει να δίνουμε εντολές στον Η/Υ μέσω ενός προγράμματος καλείται γλώσσα προγραμματισμού. Απάντηση : Προγραμματισμός ΗΥ_Εργαστήριο_Διάλεξη 2_Βασικές αρχές προγραμματισμού (3/22) 8. Τι ονομάζεται κύκλος ανάπτυξης προγράμματος; Η διαδικασία που ακολουθούμε για την ανάπτυξη ενός προγράμματος καλείται κύκλος ανάπτυξης προγράμματος Απάντηση : Προγραμματισμός ΗΥ_Εργαστήριο_Διάλεξη 2_Βασικές αρχές προγραμματισμού (3/22) 9. Σε πόσα και ποια βασικά βήματα αναλύεται ο κύκλος ανάπτυξης ενός προγράμματος (αναφορικά); Ο κύκλος ανάπτυξης προγράμματος αναλύεται σε έξι βασικά βήματα: Περιγραφή του προβλήματος, καθορισμός απαιτήσεων Ανάλυση προβλήματος, προσδιορισμός της λύσης Σχεδίαση της λύσης του προβλήματος Κωδικοποίηση σε γλώσσα προγραμματισμού Έλεγχος, διόρθωση λαθών Συντήρηση προγράμματος Απάντηση : Προγραμματισμός ΗΥ_Εργαστήριο_Διάλεξη 2_Βασικές αρχές προγραμματισμού (4/22) 10. Σε πόσα και ποια υπό-βήματα αναλύεται το στάδιο της σχεδίασης της λύσης ενός προβλήματος κατά τον κύκλο ανάπτυξης ενός προγράμματος (αναφορικά); Ανάπτυξη αλγορίθμου Σχεδιασμός διαγράμματος ροής
Δημιουργία ψευδοκώδικα Απάντηση : Προγραμματισμός ΗΥ_Εργαστήριο_Διάλεξη 2_Βασικές αρχές προγραμματισμού (4/22) 11. Τι γνωρίζεται για τη Περιγραφή του προβλήματος και το καθορισμό των απαιτήσεων κατά τον κύκλο ανάπτυξης ενός προγράμματος; Δώστε ανάλογο παράδειγμα. Προσπαθούμε με απλά βήματα να απομονώσουμε και να καταγράψουμε τις πραγματικές συνιστώσες ενός προβλήματος, τοποθετώντας τις σε λογική σειρά μεταξύ τους. Ποια είναι τα δεδομένα εισόδου; Ποιο είναι το απτό αποτέλεσμα που πρέπει να προκύψει από την επίλυση του προβλήματος; Αποσαφηνίζουμε τους στόχους που επιδιώκουμε να υλοποιήσουμε με αναλυτικό τρόπο προκειμένου να καταγραφεί το πλαίσιο απαιτήσεων της όλης προσπάθειας. Μήπως οι απαιτήσεις για την επίλυση του προβλήματος καθιστούν την αυτοματοποίηση της διαδικασίας μη συμφέρουσα Απάντηση : Προγραμματισμός ΗΥ_Εργαστήριο_Διάλεξη 2_Βασικές αρχές προγραμματισμού (5/22) 12. Ποια στάδια ακολουθούμε κατά την ανάλυση προβλήματος και προσδιορισμόυ της λύσης του, στον κύκλο ανάπτυξης ενός προγράμματος; Ολοκληρωμένη απεικόνιση του πλαισίου επίλυσης του προβλήματος Σκιαγραφούμε ένα προσχέδιο της επίλυσης του προβλήματος Ελέγχουμε αν η λύση καλύπτει τους στόχους που έχουν τεθεί και αν παράγει τα επιθυμητά δεδομένα εξόδου Διερευνούμε την πιθανότητα ύπαρξης περισσοτέρων λύσεων Επιλέγουμε τη βέλτιστη λύση με βάση τις προδιαγραφές που έχουν τεθεί Απάντηση : Προγραμματισμός ΗΥ_Εργαστήριο_Διάλεξη 2_Βασικές αρχές προγραμματισμού (7/22)
13. Ποια στάδια ακολουθούμε κατά την σχεδίαση της λύσης του προβλήματος στον κύκλο ανάπτυξης ενός προγράμματος; Ανάπτυξη του αλγορίθμου επίλυσης του προβλήματος Δημιουργία μιας ταξινομημένης ακολουθίας μη διφορούμενων βημάτων που οδηγούν στη λύση Σχεδιασμός διαγράμματος ροής Σχηματικός τρόπος αναπαράστασης του αλγορίθμου Απάντηση : Προγραμματισμός ΗΥ_Εργαστήριο_Διάλεξη 2_Βασικές αρχές προγραμματισμού (9/22) 14. Τι πραγματοποιείται κατά την κωδικοποίηση σε γλώσσα προγραμματισμού στον κύκλο ανάπτυξης ενός προγράμματος; Αξιοποιείται η διαδικασία του σχεδιασμού Πραγματοποιείται η συγγραφή του προγράμματος σε μια γλώσσα προγραμματισμού (π.χ. C, Java, VisualBasic, κλπ). Μέσω μεταγλωττιστή (compiler) ή μεταφραστή (interpreter) το πρόγραμμα μετατρέπεται σε γλώσσα η οποία είναι αναγνωρίσιμη από τη μηχανή. Στο στάδιο αυτό γίνεται ο έλεγχος συντακτικών λαθών (λάθη που οφείλονται σε λανθασμένη χρήση των κανόνων της γλώσσας προγραμματισμού) Απάντηση : Προγραμματισμός ΗΥ_Εργαστήριο_Διάλεξη 2_Βασικές αρχές προγραμματισμού (12/22) 15. Τι πραγματοποιείται κατά τον έλεγχο των λαθών στον κύκλο ανάπτυξης ενός προγράμματος;
Πραγματοποιούνται συνεχείς δοκιμές προκειμένου να βεβαιωθούμε ότι το πρόγραμμα δουλεύει σωστά. Διορθώνονται πιθανά λογικά σφάλματα (σφάλματα που σχετίζονται με το σχεδιασμό της λύσης). Απάντηση : Προγραμματισμός ΗΥ_Εργαστήριο_Διάλεξη 2_Βασικές αρχές προγραμματισμού (14/22) 16. Τι πραγματοποιείται κατά την συντήρηση στον κύκλο ανάπτυξης ενός προγράμματος ; Συγγραφή τεκμηρίωσης Το λογισμικό εγκαθίσταται και ξεκινά η λειτουργία του. Οι ανάγκες των χρηστών και η συνεχής προσαρμογή των προγραμμάτων στις νέες απαιτήσεις καθιστούν αναγκαία τη συνεχή παρακολούθηση του προγράμματος και την τροποποίηση του. Απάντηση : Προγραμματισμός ΗΥ_Εργαστήριο_Διάλεξη 2_Βασικές αρχές προγραμματισμού (14/22) 17. Τι γνωρίζεται για τη Γλώσσα Μηχανής (Machine Language); Γλώσσα πρώτης γενιάς- 1940 Είναι η φυσική γλώσσα των Η/Υ. Είναι κώδικας σε δυαδική μορφή (0,1). Διακρίνεται για την ταχύτητα εκτέλεσης των εντολών της και τη βέλτιστη χρήση της κύριας μνήμης. Είναι δύσκολη στη χρήση της, στον εντοπισμό και διόρθωση τυχόν λαθών. Απάντηση : Προγραμματισμός ΗΥ_Εργαστήριο_Διάλεξη 2_Βασικές αρχές προγραμματισμού (16/22)
18. Τι γνωρίζεται για τη Συμβολική γλώσσα (Assembly Language); Γλώσσα δεύτερης Γενιάς - 1950-60 Μνημονική αναπαράσταση των χαρακτήρων. Είναι πιο εύκολη στη γραφή και στην κατανόηση. Η εκτέλεσή της απαιτεί τη μετάφρασή της σε γλώσσα μηχανής μέσω των συμβολομεταφραστών (Assembler). Απάντηση : Προγραμματισμός ΗΥ_Εργαστήριο_Διάλεξη 2_Βασικές αρχές προγραμματισμού (16/22) 19. Τι γνωρίζεται για τις Γλώσσες υψηλού επιπέδου (High level Languages); Γλώσσες τρίτης Γενιάς (1960-σήμερα) Εννοιολογικά εμφανίζονται να βρίσκονται πιο κοντά στις ανθρώπινες γλώσσες. Χρησιμοποιούν ένα μικρό σύνολο από αγγλικές λέξεις. Για να εκτελεστεί ένα τέτοιο πρόγραμμα γίνεται χρήση μεταγλωττιστών (Compilers) και των μεταφραστών ή διερμηνευτών (Interpreters). Παραδείγματα: Cobol, Fortran, Basic, Logo, Pascal, Ada, C Απάντηση : Προγραμματισμός ΗΥ_Εργαστήριο_Διάλεξη 2_Βασικές αρχές προγραμματισμού (17/22) 20. Τι γνωρίζεται για τις Γλώσσες τέταρτης γενιάς (4th Generation Languages);
Ο προγραμματιστής δεν περιγράφει αλγορίθμους. Απλά καθορίζει τα δεδομένα και τις ενέργειες που πρέπει να γίνουν και το ίδιο το εργαλείο δημιουργεί τον κώδικα σε κάποια γλώσσα προγραμματισμού. Αντικειμενοστρεφείς γλώσσες προγραμματισμού (Object oriented Language). Παραδείγματα: C++, Java, Visual basic. Γλώσσες ανάπτυξης εφαρμογών τεχνητής νοημοσύνης, Π.χ LISP, PROLOG. Γλώσσες ερωταποκρίσεων. Γεννήτριες προγραμμάτων. Συστήματα διαχείρισης βάσεων δεδομένων. Απάντηση : Προγραμματισμός ΗΥ_Εργαστήριο_Διάλεξη 2_Βασικές αρχές προγραμματισμού (18/22) 21. Τι γνωρίζεται για τις Γλώσσες Πέμπτης γενιάς (5th Generation Languages); Η επικοινωνία μεταξύ ανθρώπου και μηχανής γίνεται με τη βοήθεια φυσικής γλώσσας. Χρησιμοποιούν λέξεις και συντακτικούς κανόνες της φυσικής γλώσσας. Αναπτύσσονται τεχνικές αναγνώρισης φωνής. Έχουν μεγάλες υπολογιστικές απαιτήσεις. Δεν έχουν ακόμη αναπτυχθεί πρότυπα με ευρεία αποδοχή. Απάντηση : Προγραμματισμός ΗΥ_Εργαστήριο_Διάλεξη 2_Βασικές αρχές προγραμματισμού (19/22) 22. Τι γνωρίζεται για τον δομημένο προγραμματισμό; Στην επιστήμη υπολογιστών δομημένος προγραμματισμός (structured programming) ή διαδικαστικός προγραμματισμός (procedural programming) είναι μία προσέγγιση στον προγραμματισμό, η οποία βασίζεται στην έννοια της κλήσης διαδικασίας. Η διαδικασία, γνωστή επίσης και ως ρουτίνα, υπορουτίνα, μέθοδος ή συνάρτηση (δεν σχετίζεται άμεσα με
τη μαθηματική έννοια της συνάρτησης), είναι απλά ένα αυτοτελές σύνολο εντολών προς εκτέλεση. Ο δομημένος προγραμματισμός βασίζεται στην αρχή του διαίρει και βασίλευε, καθώς διασπά το βασικό πρόβλημα σε μικρότερα υποπροβλήματα (γνωστά επίσης και ως εργασίες). Κάθε εργασία με πολύπλοκη περιγραφή διαιρείται σε μικρότερες, έως ότου οι εργασίες να είναι αρκετά μικρές, περιεκτικές και εύκολες προς κατανόηση. Απάντηση : Προγραμματισμός ΗΥ_Εργαστήριο_Διάλεξη 2_Βασικές αρχές προγραμματισμού (21/22)