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

Σχετικά έγγραφα
ΑΣΚΗΣΗ: ΔΙΑΧΕΙΡΙΣΗ ΚΑΤΑΛΟΓΟΥ ΑΡΧΕΙΩΝ ΕΝΟΣ DIRECTORY. Μέρος Α`

Δίκτυα Η/Υ στην Επιχείρηση

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

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. UNIX Μέρος 1

Υπηρεσία StudentsWeb ΟΔΗΓΟΣ ΣΠΟΥΔΑΣΤΩΝ ΤΟΥ ΤΜΗΜΑΤΟΣ TEXNOΛΟΓΩΝ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΓΙΑ ΤΙΣ ΗΛΕΚΤΡΟΝΙΚΕΣ ΕΓΓΡΑΦΕΣ ΚΑΙ ΔΗΛΩΣΕΙΣ ΜΑΘΗΜΑΤΩΝ

Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

Λειτουργικά Συστήματα (Λ/Σ)

Μεταβατικές διατάξεις Νέου Προγράμματος Σπουδών (ΝΠΣ) για τους φοιτητές εισαγωγής 2013 και πριν Υποχρεωτικά Μαθήματα

ΑΣΚΗΣΗ 3 ΣΥΝΔΥΑΣΤΙΚΑ ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ: ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Λειτουργικό Σύστημα: διαχείριση πόρων. Τι είναι ένα αρχείο ; Διαχείριση αρχείων. Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Διδακτική της Πληροφορικής ΙΙ

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

Εισαγωγή στον Προγραμματισμό Εργαστήριο 3: Βοηθητικά προγράμματα του Linux CLI. Οκτώβριος 2014 Χ. Αλεξανδράκη Γ. Δημητρακάκης

Λειτουργικό Σύστημα: διαχείριση πόρων. Διαχείριση αρχείων. Τι είναι ένα αρχείο ; Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

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

Ενότητα 1: «Εισαγωγή στην Αλγοριθμική και τον Προγραμματισμό. Απλές ασκήσεις με γλώσσα Pascal»

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο

Εισαγωγή στον Προγραμματισμό Εργαστήριο 3: Βοηθητικά προγράμματα του Linux CLI. Οκτώβριος 2014 Χ. Αλεξανδράκη Γ. Δημητρακάκης

ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α A1. 2-Λάθος 3-Λάθος 4-Σωστό 5-Λάθος A2. integer. real. Boolean. char. string A3.

Unix: Εντολές, οργάνωση και χειρισµός αρχείων, διεργασίες

Λειτουργικά Συστήματα (Λ/Σ)

Μονάδες 12 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

Πληροφορική & Τηλεπικοινωνίες Υλοποίηση Συστημάτων Βάσεων Δεδομένων - Χειμερινό Εξάμηνο Καθηγητής Δ. Γουνόπουλος

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΝΕΟ ΚΑΙ ΠΑΛΑΙΟ ΣΥΣΤΗΜΑ

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο

Εντολές του Λειτουργικού Συστήματος UNIX

Κεφάλαιο 9 : Βασικές εντολές

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ-ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΚΑΔΗΜΑΪΚΟ ΕΠΑΛ- ΚΑΝΙΓΓΟΣ 13- ΤΗΛ

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

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

Εισαγωγή στην πληροφορική

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 4 ο : MATLAB

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. β. Οι πληροφορίες είναι δεδομένα τα οποία δεν έχουν υποστεί επεξεργασία.

ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

2. β. Συνθήκη ή επιλογή. 4. δ. Υποπρόγραμμα. 5. ε. ιαδικασία εισόδου ή εξόδου

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

Α2. Να γράψετε στο τετράδιο σας τον αριθμό 1-4 κάθε πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.

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

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΑΣΚΗΣΗ 5 Ανάπτυξη Προγράμματος Συμπίεσης/Αποσυμπίεσης Αρχείων

Α2. Να γράψετε στο τετράδιο απαντήσεών σας το κατάλληλο τμήμα κώδικα, κάνοντας τις απαραίτητες αλλαγές σύμφωνα με την εκάστοτε εκφώνηση:

Εργαστήριο 9 Συναρτήσεις στη PASCAL. Η έννοια του κατακερματισμού. Συναρτήσεις. Σκοπός

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

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

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

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

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013

Εργαστήριο 5 ο. Α. Τεχνικές επεξεργασίας δεδομένων Α1. Ταξινόμηση Δεδομένων, Α2. Φιλτράρισμα Εγγραφών. Β. Ερωτήματα. Β1. Ερωτήματα Επιλογής

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

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Εισαγωγή στο Unix

[11] Υπολογιστικά συστήματα: Στρώματα. Περιεχόμενα. Εισαγωγή. επικοινωνία εφαρμογές λειτουργικό σύστημα προγράμματα υλικό

Σχεδίαση Εκπαιδευτικού Λογισμικού. Εργασία 2 - Α' φάση. Σενάριο/Σχέδιο μαθήματος. Σταματία Κορρέ Μ1430

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ GD2520

Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 10

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

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

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ. Εφαρμογή κατασκευής Προγράμματος εξεταστικών περιόδων. εφαρμογής

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ. Τμήμα Μηχανικών Οικονομίας και Διοίκησης ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ ΓΕ0175 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ 9

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές

Εφαρμογή Μεθοδολογίας ICONIX

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι

Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Ψηφιακά Πιστοποιητικά Ψηφιακές Υπογραφές

Τι είναι υποπρόγραμμα; Τμήμα προγράμματος το οποίο επιτελεί ένα αυτόνομο υπολογιστικό έργο (γράφεται χωριστά από το υπόλοιπο πρόγραμμα)

Τεχνικός Εφαρμογών Πληροφορικής

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

ΘΕΜΑ : «Από την ΜicroWorlds Pro στην Python. Μια Βιωματική Διδακτική Πρόταση.»

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Χειμερινό Εξάμηνο

Σύστηµα Αρχείων και Καταλόγων

ΑΝΑΚΟΙΝΩΣΗ Αφορά τους σπουδαστές του τμήματος Ηλεκτρολογίας (Λαμία)

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

Ενδιάμεσο πληροφοριακό σύστημα αξιολόγησης μαθημάτων: λειτουργία και συμπεράσματα

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

8. Η δημιουργία του εκτελέσιμου προγράμματος γίνεται μόνο όταν το πηγαίο πρόγραμμα δεν περιέχει συντακτικά λάθη.

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

Κεφάλαιο 4: Λογισμικό Συστήματος

2ο Εργαστήριο. Εισαγωγική στο Λ.Σ. LINUX Γενικές εντολές συστήματος και χρηστών

ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΔΟΚΙΜΑΣΙΑ

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

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

565 Λογιστικής ΤΕΙ Λάρισας

Η διάρκεια πραγματοποίησης της ανοιχτής εκπαιδευτικής πρακτικής ήταν 2 διδακτικές ώρες

Σκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL

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

Δομές Δεδομένων. Ενότητα 1 - Εισαγωγή. Χρήστος Γκουμόπουλος. Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων

Transcript:

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ ΕΡΓΑΣΤΗΡΙΟ ΑΠΑΙΤΗΣΕΙΣ ΚΑΙ ΔΙΑΔΙΚΑΣΙΑ ΕΞΕΤΑΣΗΣ Οι σπουδαστές που έχουν ολοκληρώσει με επιτυχία το εργαστήριο του Προγραμματισμού Ι, τυπικά είναι εξοικειωμένοι με: τη χρήση ολοκληρωμένου περιβάλλοντος προγραμματισμού, τη διαδικασία ανάπτυξης απλού προγράμματος από τον αλγόριθμο έως τον τελικό κώδικα, την αντιμετώπιση συντακτικών και λογικών σφαλμάτων, την αποτελεσματική εφαρμογή των εννοιών και μεθόδων της διάλεξης του μαθήματος. Το σκεπτικό λειτουργίας του εργαστηρίου στον Προγραμματισμό ΙΙ δεν εστιάζει μόνο στην επινόηση του αλγορίθμου και την ανάπτυξη του αντίστοιχου προγράμματος αλλά στην εισαγωγή των σπουδαστών στην προβληματική της επίλυσης ενός μεγαλύτερου προβλήματος με βάση τις απαιτήσεις μιας εφαρμογής. Κατά συνέπεια οι σπουδαστές θα πρέπει να αναπτύξουν ικανότητες ώστε να αντιμετωπίζουν μεγαλύτερα προβλήματα, να σχεδιάζουν τους κατάλληλους αλγορίθμους και να «κατασκευάζουν» προγράμματα τα οποία θα καλύπτουν τις απαιτήσεις απλών ή απλοποιημένων εφαρμογών. Κατά συνέπεια το σκεπτικό λειτουργίας του εργαστηρίου επιτρέπει στους σπουδαστές: 1) να ολοκληρώσουν ένα μικρό project δοκιμάζοντας τις δυνατότητες τους στον προγραμματισμό, 2) να αντιληφθούν τα προβλήματα που παρουσιάζονται με την υλοποίηση μιας μικρής εφαρμογής ιδιαίτερα όσον αφορά στην κατανόηση των απαιτήσεων, 3) να δουν τα προβλήματα που παρουσιάζονται στη συνεργασία με άλλους αν βέβαια θελήσουν να εργασθούν ανά δύο, 4) να προσεγγίσουν έστω και σε πρώιμο στάδιο τα ζητήματα που συνδέονται με τη μεθοδολογία ανάπτυξης ενός προγράμματος, 5) να προετοιμαστούν σε κάποιο βαθμό ώστε να είναι σε θέση να αντιληφθούν τη χρησιμότητα του μαθήματος Τεχνολογία Λογισμικού. Με βάση αυτή τη λογική έχει λειτουργήσει το εργαστήριο του μαθήματος μέχρι σήμερα για όλα ανεξαιρέτως τα εξάμηνα. Οι σπουδαστές καλούνται να αναπτύξουν, προσθέτοντας σταδιακά λειτουργικότητα, ένα μικρό project το οποίο η μέχρι τώρα εμπειρία έχει δείξει ότι καταλήγει στην κατασκευή ενός προγράμματος μεγέθους από 500 έως 800 (ή 900) γραμμές πηγαίου κώδικα σε γλώσσα Pascal ή C. Το ακριβές 1

μέγεθος και οι δυνατότητες του προγράμματος εξαρτώνται από τη διάθεση κάθε σπουδαστή να κάνει κάτι παραπάνω από τα απολύτως απαραίτητα. Μια από τις βασικότερες απαιτήσεις του εργαστηρίου είναι η προσωπική εργασία κάθε σπουδαστή. Όσοι σπουδαστές δεν θέλησαν να διαθέσουν προσωπικό χρόνο τελικά δεν παρουσίασαν εργασία. Μέχρι το προηγούμενο εξάμηνο η εξέταση του εργαστηρίου απαιτούσε από κάθε σπουδαστή να παρουσιάσει την εργασία του σε υπολογιστή και να απαντήσει σε ερωτήματα σχετικά με τον πηγαίο κώδικα του προγράμματος και τη λειτουργικότητά του. Η εξέταση αυτή τυπικά διαρκούσε 20 30 λεπτά της ώρας. Θα πρέπει να τονιστεί ότι κατά την εξέταση ελέγχεται ιδιαίτερα κατά πόσον η εργασία είναι έργο αποκλειστικά του κάθε σπουδαστή. Μέχρι το προηγούμενο εξάμηνο ο αριθμός των σπουδαστών που επέλεγαν το μάθημα ήταν όσοι είχαν επιτύχει στον Προγραμματισμό Ι. Με την έναρξη του τρέχοντος εξαμήνου το εργαστήριο του Προγραμματισμού ΙΙ δήλωσε ένας μεγάλος αριθμός σπουδαστών για τους οποίους δεν ισχύουν οι αλυσίδες και παρά το γεγονός ότι αρκετοί από αυτούς ότι δεν έχουν επιτύχει ούτε στο εργαστήριο του Προγραμματισμού Ι. Πέραν του αυτονόητου δικαιώματος, ο λόγος που προβάλλεται, από αρκετούς σπουδαστές, ότι δηλαδή δηλώνουν το εργαστήριο για να κατοχυρώσουν την παρουσία είναι χωρίς νόημα. Από τον τρόπο λειτουργίας του εργαστηρίου είναι προφανές ότι η κατοχύρωση της παρουσίας είναι για το συγκεκριμένο εργαστήριο μια καθαρά γραφειοκρατική υπόθεση επιβεβλημένη από τον κανονισμό λειτουργίας των εργαστηρίων αλλά χωρίς κάποιο ουσιαστικό αντίκρισμα. Ακόμη και αν κάποιος κατοχυρώσει την παρουσία στο εργαστήριο για να είναι στο μέλλον σε θέση να παρουσιάσει μια ολοκληρωμένη εργασία θα πρέπει να είναι σε επαφή με το μάθημα και σε συνεννόηση με τον διδάσκοντα ώστε να αντιμετωπίζονται τα προβλήματα που παρουσιάζονται. Στο εργαστήριο δίνεται ιδιαίτερη έμφαση στην προσωπική εργασία κάθε σπουδαστή. Για την αποτελεσματική λειτουργία και εξέταση στο εργαστήριο Προγραμματισμού ΙΙ, με βάση τα νέα δεδομένα εγγραφής των σπουδαστών προβλέπονται ακόλουθα: Η υλοποίηση μιας εργασίας θα συνεχίσει να είναι το αντικείμενο του έργου των σπουδαστών στο εργαστηρίου. Σε αντίθεση με προηγούμενα εξάμηνα οι εργασίες θα πρέπει να παραδίδονται όχι αργότερα από το τελευταίο μάθημα πριν από την εβδομάδα εξέτασης των εργαστηρίων. Η εξέταση της εργασίας διαφοροποιείται σε σχέση με το παρελθόν. Συγκεκριμένα η εργασία δεν θα παρουσιάζεται από κάθε σπουδαστή αλλά θα ελέγχεται από τον διδάσκοντα χωρίς την παρουσία του σπουδαστή. Κατά συνέπεια οι εργασίες θα πρέπει να περιλαμβάνουν όλες τις απαραίτητες εξηγήσεις και σχόλια ώστε να 2

γίνονται κατανοητές από κάποιον ο οποίος δεν έχει σχέση με την υλοποίησή τους. Ο βαθμός της εργασίας θα αποτελεί το 70% του τελικού βαθμού του εργαστηρίου υπό την προϋπόθεση ότι ο σπουδαστής, θα επιτύχει σε εξέταση στο εργαστήριο η οποία θα συμπληρώνει με 30% τον τελικό βαθμό του εργαστηρίου. Κατά την εξέταση στο εργαστήριο ο κάθε σπουδαστής θα πρέπει στο χρονικό διάστημα της εξέτασης (1 έως 1.5 ώρα) να ετοιμάσει και να επιδείξει ένα τμήμα προγράμματος που θα του ζητηθεί από τον διδάσκοντα. Το θέμα θα καθορίζεται από τον διδάσκοντα και θα αποσκοπεί στο να επιβεβαιώσει τις γνώσεις του σπουδαστή όπως προκύπτουν από την εργασία που έχει παραδώσει. Καμία εργασία δεν θα γίνεται τελικά δεκτή αν ο σπουδαστής δεν απαντήσει με επιτυχία στην εξέταση εργαστηρίου. Σε όσες περιπτώσεις κρίνεται απαραίτητο και για την αποφυγή προβλημάτων ή/και αδικιών ο διδάσκων θα μπορεί να ζητήσει προφορική εξέταση επί της εργασίας του σπουδαστή. Περισσότερες διευκρινίσεις θα δοθούν στα τμήματα των εργαστηρίων του μαθήματος. Για ενημέρωση των σπουδαστών στη συνέχεια δίνεται ως παράδειγμα η εργασία που δόθηκε στο εργαστήριο του Εαρινού Εξαμήνου 2008-2009. 3

Τ.Ε.Ι. ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ - ΕΡΓΑΣΤΗΡΙΟ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2008-2009 ΑΣΚΗΣΗ 1 η : ΔΗΜΙΟΥΡΓΙΑ ΠΡΟΒΟΛΗ ΤΟΥ ΚΑΤΑΛΟΓΟΥ ΑΡΧΕΙΩΝ ΕΝΟΣ DIRECTORY Περιγραφή: Για τη διαχείριση του συστήματος αρχείων (file system) ένα λειτουργικό σύστημα χρησιμοποιεί τη δενδροειδή οργάνωση των αρχείων με χρήση directories και subdirectories του συστήματος UNIX, που είναι αντίστοιχο της οργάνωσης των folders και subfolders που χρησιμοποιούν τα Windows. Σύμφωνα με την οργάνωση αυτή σε κάθε directory το σύστημα διατηρεί πάντα ενημερωμένο «ένα κατάλογο» των αρχείων και των directories (subdirectories) που υπάρχουν στο directory. Ο κατάλογος αυτός περιέχει για κάθε αρχείο ή directory (subdirectory) όλες τις πληροφορίες που είναι χρήσιμες για τη διαχείριση του. Ο κατάλογος αυτός στην περίπτωση που το directory είναι άδειο περιέχει τις περιγραφές για δύο τουλάχιστον στοιχεία, ένα για την περιγραφή του τρέχοντος directory το οποίο συμβολίζεται με '.' και ένα για την περιγραφή του ιεραρχικά ανώτερου (parent directory) που συμβολίζεται με '..'. Κάθε αρχείο, οποιουδήποτε τύπου, ή directory περιγράφεται στον κατάλογο από μια δομή με τις εξής πληροφορίες: τύπος, δηλαδή αρχείο ή directory δικαιώματα πρόσβασης, (read, write, execute) για τον ιδιοκτήτη (user) δικαιώματα πρόσβασης, (read, write, execute) για την ομάδα (group) του ιδιοκτήτη δικαιώματα πρόσβασης, (read, write, execute) για τους άλλους χρήστες (others) εκτός ομάδας του ιδιοκτήτη όνομα αρχείου ή directory μέγεθος, σε πλήθος bytes για τα κοινά αρχεία και πλήθος αρχείων που περιέχει αν πρόκειται για directory ταυτότητα (identity), του χρήστη που το δημιούργησε ημερομηνία δημιουργίας ημερομηνία τελευταίας πρόσβασης πρώτο block του δίσκου όπου υπάρχει το περιεχόμενο του αρχείου ή ο αντίστοιχος κατάλογος αν πρόκειται για directory 4

Δεδομένα Κάθε directory θεωρητικά περιέχει απεριόριστο αριθμό αρχείων και directories (subdirectories). Στα πλαίσια της άσκησης αυτής θα περιορίσουμε τον αριθμό σε Maxfiles. Κατά συνέπεια και ο κατάλογος θα περιέχει Maxfiles εγγραφές. Οι τύποι δεδομένων που θα χρησιμοποιηθούν είναι: const (* Ορισμός σταθερών για τα δικαιώματα πρόσβασης *) RO = 4; (* read_only *) WO = 2; (* write_only *) EO = 1; (* execute_only *) RW = 6; (* read_write *) RE = 5; (* read_execute *) WE = 3; (* write_execute *) RWE = 7; (* read_write_execute *) Maxfiles = ; type (* τύποι δεδομένων *) day_t = 1..31; (* τύπος διάστημα από 1 έως 31 *) month_t = 1..12; (* τύπος διάστημα από 1 έως 12 *) date_t = record day : day_t; mon : month_t; year : integer; end; block_t = integer; filerec = record ftype : char; (* a για κοινό αρχείο, d για directory *) usersr : integer; (* δικαιώματα πρόσβασης του owner *) groupsr:integer; (* δικαιώματα πρόσβασης του group *) othersr : integer; (* δικαιώματα πρόσβασης των άλλων *) fname : string[64]; (* το όνομα του αρχείου *) fsize : real; (*το μέγεθος του αρχείου *) ucid : string[8]; (* κωδικός του owner π.χ. `nikosp` *) cdate : date_t; (* περιγραφή τύπου date_t *) adate : date_t; (* περιγραφή τύπου date_t *) block : block_t; (* πρώτο block στο δίσκο *) end; (* ο τύπος του αρχείου που περιέχει τον κατάλογο ως αρχείο *) catalog_t = file of filerec; 5

Ζητούμενα Το ζητούμενο της άσκησης αυτής είναι να γραφεί ένα πρόγραμμα το οποίο θα εκτελεί τα ακόλουθα: Θα διαβάζει το όνομα του σειριακού αρχείου που θα καταχωρηθεί ο κατάλογος ενός directory. Θα δημιουργεί το σειριακό αρχείο με δύο εγγραφές, μία με τα στοιχεία για το ίδιο το directory και μία με τα στοιχεία για το parent directory. Με χρήση μιας επανάληψης θα συλλέγει από την οθόνη τα στοιχεία που θα πληκτρολογεί ο χρήστης για ένα αριθμό από αρχεία (και subdirectories) και θα τα καταχωρεί στο προηγούμενο σειριακό αρχείο. Τέλος θα προβάλλει στην οθόνη τα στοιχεία όλων των καταχωρημένων αρχείων (και subdirectories) με τον τρόπο που τα προβάλλει η εντολή ls στο UNIX. Το πρόγραμμα μπορεί να γραφεί σε γλώσσα Pascal ή C. Σημαντικές απαιτήσεις Το πρόγραμμα θα κάνει χρήση διαδικασιών και συναρτήσεων με παραμέτρους και θα χρησιμοποιεί το λιγότερο δυνατόν ολικές μεταβλητές. Το πρόγραμμα θα πρέπει να περιέχει σχόλια ώστε να είναι κατανοητή η λειτουργία των διαδικασιών και των συναρτήσεων καθώς και η χρήση των μεταβλητών. Όποια εργασία δεν καλύπτει τις προηγούμενες απαιτήσεις δεν θα γίνεται δεκτή. 6

Τ.Ε.Ι. ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ - ΕΡΓΑΣΤΗΡΙΟ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2008-2009 ΑΣΚΗΣΗ 2 η : ΚΑΤΑΛΟΓΟΣ ΑΡΧΕΙΩΝ ΕΝΟΣ DIRECTORY ΔΙΑΓΡΑΦΗ ΑΡΧΕΙΟΥ Περιγραφή: Κατά τη διαγραφή ενός ή περισσοτέρων αρχείων σε ένα directory το λειτουργικό σύστημα ενημερώνει τον κατάλογο αρχείων του directory διαγράφοντας τα στοιχεία του καταλόγου που αντιστοιχούν στο διαγραφέν ή στα διαγραφέντα αρχεία. Τα αρχεία που διαγράφονται επιλέγονται με βάση κάποιο κριτήριο όπως για παράδειγμα το όνομα, η ημερομηνία δημιουργίας, η επέκταση αν υπάρχει κλπ. Σκοπός της άσκησης αυτής είναι να υλοποιηθεί μια διαδικασία διαγραφής στοιχείων ενός καταλόγου τα οποία επιλέγονται με ένα από τα ακόλουθα κριτήρια: όνομα αρχείου, ημερομηνία δημιουργίας. Δεδομένα Τα δεδομένα της άσκησης αυτής είναι τα ίδια με τα δεδομένα της 1 ης άσκησης με βάση την οποία θεωρείται ότι έχει δημιουργηθεί ένα αρχείο καταλόγου. Ζητούμενα Το ζητούμενο της άσκησης αυτής είναι να γραφεί μια διαδικασία η οποία θα εκτελεί τα ακόλουθα: 1. Θα ερωτά τον χρήστη για το κριτήριο με το οποίο θέλει να κάνει τη διαγραφή. 2. Θα διαβάζει την επιλογή του και τα στοιχεία της και θα ελέγχει την εγκυρότητα της. Για τον έλεγχο εγκυρότητας προτείνεται να ληφθούν υπόψη τα ακόλουθα: o η ημερομηνία θα πρέπει να είναι έγκυρη, όσον αφορά τα όρια της ημέρας του μήνα και του έτους, o για την ημερομηνία ο χρήστης δεν μπορεί να δίνει μόνο την ημέρα ή μόνο το μήνα ή μόνο την ημέρα και το μήνα χωρίς να προσδιορίζει το έτος, o ο χρήστης έχει τη δυνατότητα να προσδιορίζει μόνο το έτος ή μόνο το έτος και το μήνα δημιουργίας οπότε η επιλογή του ενδεχόμενα να φορά περισσότερα από ένα αρχεία, 7

o έλεγχος δεν θα έχει το δικαίωμα να δίνει το όνομα του τρέχοντος ή του γονεϊκού (parent) directory 3. Θα εκτελεί τη διαγραφή και θα επιστρέφει στο χρήστη ένα μήνυμα για το ποιο αρχείο ή ποια αρχεία διέγραψε. Δεν θα πρέπει να υπάρχει η δυνατότητα διαγραφής των στοιχείων που αντιστοιχούν στο τρέχον και στο «γονεϊκό» (parent) directory. Προτείνεται οι λειτουργίες 1. και 2. να εκτελούνται από χωριστή διαδικασία η οποία θα καλείται από τη διαδικασία της διαγραφής. Το πρόγραμμα μπορεί να γραφεί σε γλώσσα Pascal ή C. Σημαντικές απαιτήσεις Το πρόγραμμα θα κάνει χρήση διαδικασιών και συναρτήσεων με παραμέτρους και θα χρησιμοποιεί το λιγότερο δυνατόν ολικές μεταβλητές. Το πρόγραμμα θα πρέπει να περιέχει σχόλια ώστε να είναι κατανοητή η λειτουργία των διαδικασιών και των συναρτήσεων καθώς και η χρήση των μεταβλητών. Όποια εργασία δεν καλύπτει τις προηγούμενες απαιτήσεις δεν θα γίνεται δεκτή. 8