ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #0

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

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

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

CYGWIN Οδηγίες Χρήσης (Συγγραφέας: Γιώργος ούκας)

Οδηγίες για την εγκατάσταση του πακέτου Cygwin

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP

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

ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++

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

Εισαγωγή στο προγραμματιστικό περιβάλλον ANSI

Μεταφορά Αρχείων µε χρήση της Υπηρεσίας FTP σελ. 1

Διαχείριση Πληροφοριών στο Διαδίκτυο. Εργαστήριο 1

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

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ & ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΑΝΑΠΤΥΞΗΣ BloodShed Dev-C++

Εισαγωγή στο περιβάλλον Code::Blocks

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

Λειτουργικά Συστήματα Ι - Εργαστήριο

ιαχείριση Πληροφοριών στο ιαδίκτυο

ΠΑΓΚΑΛΟΣ ΙΩΑΝΝΗΣ ΣΙΣΜΑΝΗΣ ΝΙΚΟΣ. File Transfer Protocol

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

Ιδιότητες αντικειμένων, συγγραφή κώδικα, συντακτικά λάθη

2.1. Οι λογαριασµοί χρηστών Σύνδεση (login) και αποσύνδεση (logout)

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 2 24/01/2012

Δημιουργία μιας εφαρμογής Java με το NetBeans

Διαδικασιακός Προγραμματισμός

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ.

Συστήματα Μικροεπεξεργαστών

Δίκτυα Υπολογιστών Ι. Εγκατάσταση του Network Simulator-2 σε περιβάλλον Cygwin. Δ. Καρβουνάς, Δρ. Κ. Τσαγκάρης, Καθηγ. Π.

Μικρή Εισαγωγή στο wxdev-c++

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

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

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

ΚΕΦΑΛΑΙΟ 1. Εισαγωγή στην Python. 1.1 Εισαγωγή

Οδηγός σύνδεσης στο δίκτυο του ΤΕΠΑΚ μέσα από την υπηρεσία απομακρυσμένης πρόσβασης VPN Τεχνολογικό Πανεπιστήμιο Κύπρου

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΉΜΙΟ ΚYΠΡΟΥ

FTP - (File Transfer Protocol ) Πρωτόκολλο Μεταφοράς Αρχείων

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

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

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στο Λ.Σ. UNIX

Προγραμματισμός Ι. Εργαστήριο 1 ο Περιβάλλον Εργασίας. Νικόλαος Δ. Τσελίκας Κυριακή Θ. Σεκλού

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

MIPS Interactive Learning Environment. MILE Simulator. Version 1.0. User's Manual

Οδηγός Χρήσης Εργαστηρίων UNIX (LINUX) B103 και 103 και απομακρυσμένης πρόσβασης με την χρήση Free NX

Epsilon Net PYLON Platform

To περιβάλλον Ανάπτυξης εφαρμογών της Visual Basic 2008 Express Edition

Προγραµµατισµός Ι Εισαγωγή Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Προγραµµατισµός Ι Νικόλαος Δ. Τσελίκας

Διαδικτυακές Υπηρεσίες

Αντικειμενοστρεφής Προγραμματισμός

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

Εγκατάσταση Joomla 1. Στο Π.Σ.Δ. ( 2. Τοπικά 3. Σε δωρεάν Server

Οδηγίες εγκατάστασης Δορυφορικής κάρτας Technisat

Μαλούτα Θεανώ Σελίδα 1

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

Οδηγίες εγκατάστασης και χρήσης Java σε προσωπικό υπολογιστή

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

ΓΛΩΣΣΑ Η ΕΛΛΗΝΙΚΗ ΟΙ ΠΕΡΙΠΕΤΕΙΕΣ ΤΩΝ ΛΕΞΕΩΝ. Εγχειρίδιο λογισμικού

Οδηγός Χρήσης Εργαστηρίων UNIX (LINUX) B103 και 103 και απομακρυσμένης πρόσβασης με την χρήση X2Go

Open eclass Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης

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

BHMATA ΓΙΑ ΑΝΑΒΑΘΜΙΣΗ ΣΤΟ 3S/I.T.P.

Σενάριο Εστίασης Win XP:

Manual ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΤΗΣ ΠΛΑΤΦΟΡΜΑΣ (ΕΛΛΗΝΙΚΗ ΕΚΔΟΣΗ) MEMBER

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

Υπηρεσία διαμοιρασμού αρχείων

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

Λογισμικό - Προγράμματα

Η γλώσσα προγραμματισμού C

Εγκατάσταση του Arduino IDE

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

Kεφάλαιο 11 Λίστες και Ανάλυση Δεδομένων Kεφάλαιο 12 Εργαλεία ανάλυσης πιθανοτήτων Kεφάλαιο 13 Ανάλυση δεδομένων...

Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης eclass 1.7. Οδηγίες Αναβάθμισης (Upgrade) Αθήνα, 16 Μαρτίου Εισαγωγή

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

ΣΥΝ ΕΣΗ Η/Υ ΣΤΟ LAN TOY ΙΟΝΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ WINXP(ΕΛΛΗΝΙΚΑ)

Οδηγίες Εγκατάστασης της MySQL

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΉΜΙΟ ΚYΠΡΟΥ

Manual ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΤΗΣ ΠΛΑΤΦΟΡΜΑΣ (ΕΛΛΗΝΙΚΗ ΕΚΔΟΣΗ) TEACHER

2. Για να δημιουργήσουμε το πρώτο ή κάθε νέο Backup set πατάμε στο εικονίδιο και εμφανίζεται ο Wizard του Backup set

Λογισμικό μετεωρολογικού σταθμού 265ΝΕ. Γρήγορος οδηγός ρύθμισης και χρήσης. Printed 12/06/09

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ LIVETRIP TRAVELLER

Οδηγίες για την Διαδικασία αποθήκευσης στοιχείων ελέγχου πινάκων για επίλυση θέματος Οριοθέτησης.

Hase οδηγίες χρήσης.

SPSS Statistical Package for the Social Sciences

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

Εγκατάσταση του Lazarus

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

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

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

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

ΟΔΗΓΙΕΣ FTP ΣΥΝΔΕΣΗΣ

6. Εισαγωγή στον προγραµµατισµό

ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στην Python και στο IDLE

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave

H ΓΛΩΣΣΑ C. Μάθηµα 1: Το Πρώτο µας Πρόγραµµα σε C. ηµήτρης Ψούνης

Transcript:

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #0

«Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #0 2 Γενικά Η C είναι μιας γενικής χρήσης γλώσσα προγραμματισμού. Είχε συνδεθεί στενά με το σύστημα UNIX, μιας και τόσο αυτό όσο και τα περισσότερα προγράμματα που τρέχουν σε αυτό είναι γραμμένα σε C. Ωστόσο, η C δεν είναι άμεσα συνδεδεμένη με το συγκεκριμένο λειτουργικό σύστημα καθώς νεότερες εκδόσεις της επιτρέπουν τη σύνταξη, μεταγλώττιση και εκτέλεση προγραμμάτων σε διαφορετικά λειτουργικά συστήματα (DOS, MS Windows, OS/2). Έτσι, στις δεκαετίες 80 και 90 αναπτύχθηκαν διάφορες «πλατφόρμες» υλοποίησης της C, καθώς και της εξέλιξής της C++ (Borland C\C++, Turbo C for Windows, Dev C++ κ.λ.π.). Στα πλαίσια της εργαστηριακής διδασκαλίας του μαθήματος «Προγραμματισμός Η/Υ» θα ασχοληθούμε με την ανάπτυξη προγραμμάτων χρησιμοποιώντας το συντακτικό της C όπως διατυπώνεται από το πρότυπο ANSI. Στόχος του φυλλαδίου αυτού, είναι η εξοικείωση με τη διαδικασία συγγραφής, αποθήκευσης, μεταγλώττισης και εκτέλεσης προγραμμάτων σε C, στα πλαίσια του λογισμικού που θα χρησιμοποιηθεί στα εργαστήρια του μαθήματος (τα οποία θα γίνονται στο Υπολογιστικό Κέντρο του Τμήματος). Για το σκοπό αυτό, παραθέτονται οδηγίες για τεχνικά ζητήματα που θα πρέπει να γνωρίζει ο φοιτητής προκειμένου να μπορέσει να εκπονήσει τις εργασίες που θα του ζητηθούν κατά τη διάρκεια του εξαμήνου. Επεξεργαστής Κειμένου (Text Editor) Ο επεξεργαστής κειμένου, είναι ένα πρόγραμμα που μας επιτρέπει να δημιουργούμε αρχεία κειμένου, να τα αποθηκεύουμε, να τα ανακτούμε και να τα τροποποιούμε με τη χρήση συγκεκριμένων επιλογών που μας παρέχει. Η χρήση του στη συγγραφή προγραμμάτων έγκειται στο ότι αποτελεί το μέσο με το οποίο θα γράφονται οι εντολές που απαρτίζουν ένα τυπικό πρόγραμμα σε C. Αφού ο χρήστης ολοκληρώσει την συγγραφή του προγράμματος, αποθηκεύει το αρχείο του δίνοντάς του ένα όνομα της μορφής <όνομα_αρχείου.c> (με άλλα λόγια, δίνει στο αρχείο όποιο όνομα θέλει, φροντίζοντας όμως η κατάληξη να είναι.c ). Στην παρακάτω εικόνα βλέπουμε το περιβάλλον εργασίας ενός απλού επεξεργαστή κειμένου (Notepad for Windows). Σχ. 1 Το περιβάλλον εργασίας του Notepad. Προσέξτε ότι τo αρχείο έχει κατάληξη.c

«Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #0 3 Μόλις ολοκληρωθεί το πρώτο στάδιο, δηλαδή η συγγραφή και η αποθήκευση του προγράμματος, είμαστε έτοιμοι να εκτελέσουμε την διαδικασία μεταγλώττισής (μετάφρασης) του. Για να γίνει αυτό, πρέπει να μεταβούμε σε περιβάλλον UNIX, έτσι ώστε να μπορέσουμε να χρησιμοποιήσουμε τον μεταγλωττιστή gcc που παρέχεται από το λειτουργικό αυτό σύστημα. Ο εξομοιωτής του περιβάλλοντος Unix (CygWin Unix Emulator) Ο όρος «εξομοιωτής» αφορά ένα σύνολο προγραμμάτων που δημιουργούν (εικονικά) το περιβάλλον και τις λειτουργίες άλλων συστημάτων. Στην περίπτωσή μας, με τον όρο «CygWin Unix Emulator» εννοούμε την δημιουργία (μέσω του προγράμματος CygWin), του περιβάλλοντος Unix στον προσωπικό μας υπολογιστή που έχει ως βασικό λειτουργικό σύστημα το MS Windows (95, 98, Me, 2000, NT, XP). Πρέπει να σημειωθεί πως το CygWin είναι ένα freeware πρόγραμμα και μπορεί να βρεθεί στο link που αναφέρεται στο Παράρτημα (Β) του τετραδίου αυτού (το περιβάλλον αυτό υπάρχει και στο CD που θα σας διανεμηθεί μαζί με το βιβλίο του μαθήματος). Η διαδικασία εγκατάστασης διαφέρει από τη συνήθη πρακτική άλλων προγραμμάτων. Για την αποφυγή δυσλειτουργιών από τη μη σωστή εγκατάσταση του πακέτου προγραμμάτων, θα πρέπει να ακολουθηθούν αυστηρά τα βήματα που περιγράφονται στο Παράρτημα (Α) του τετραδίου αυτού. Μεταγλώττιση Προγράμματος (Program Compilation) με χρήση του μεταγλωττιστή gcc μέσω του Unix Emulator - CygWin Ο όρος «Μεταγλώττιση Προγράμματος» σχετίζεται με τον έλεγχο ορθότητας στην σύνταξη των εντολών που περιέχονται στο πρόγραμμα που υλοποιούμε. Πρέπει να σημειωθεί πως ο μεταγλωττιστής (compiler) ανιχνεύει συντακτικά σφάλματα (syntax errors), δηλαδή σφάλματα που προέρχονται από λανθασμένη χρήση εντολών, δηλώσεων μεταβλητών, τελεστών κ.α. Λογικά σφάλματα (σφάλματα που οφείλονται σε λάθος σχεδιασμό του προγράμματος), δεν ανιχνεύονται από τον μεταγλωττιστή με αποτέλεσμα το πρόγραμμα να είναι μεν συντακτικά ορθό, αλλά να παράγει λάθος αποτελέσματα. Το επόμενο βήμα είναι η εκτέλεση της μεταγλώττισης με τη χρήση του προγράμματος gcc από τη γραμμή εντολών του Unix 1. Η μεταγλώττιση του προγράμματος γίνεται με την ακόλουθη εντολή: $ gcc g όνομα_αρχείου.c -o όνομα_εκτελέσιμου_αρχείου Το όνομα του εκτελέσιμου αρχείου που επιλέγεται από το χρήστη είναι συνήθως το ίδιο με το αρχείου του πηγαίου κώδικα (για λόγους ευκολίας στην αναγνώριση των σχετικών αρχείων). Αν ο μεταγλωττιστής δεν ανακαλύψει λάθη στον πηγαίο κώδικα 2 τότε εμφανίζει πάλι τη γραμμή εντολών και 1 Με τη χρήση του εξομοιωτή του περιβάλλοντος UNIX, CygWin. 2 Αρχείο Πηγαίου Κώδικα: Αρχείο γραμμένο σε κάποια γλώσσα προγραμματισμού.

«Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #0 4 περιμένει από το χρήστη να εκτελέσει το πρόγραμμα που δημιουργήθηκε με την μεταγλώττιση (στη συγκεκριμένη περίπτωση το πρόγραμμα test). Σχ. 2. Η μεταγλώττιση του προγράμματος ήταν επιτυχής και δημιουργήθηκε το αρχείο test.exe Σε περίπτωση που η μεταγλώττιση αποτύχει, αν δηλαδή ο πηγαίος κώδικας περιέχει λάθη, τότε ο μεταγλωττιστής θα εμφανίσει στον χρήστη τον αριθμό γραμμής στην οποία εντόπισε το λάθος, καθώς και μία σύντομη επεξήγηση του συντακτικού κανόνα που παραβιάστηκε και δεν θα επιτρέψει τη δημιουργία εκτελέσιμου προγράμματος 3. Ο χρήστης τότε είναι υποχρεωμένος να ανοίξει το αρχείο μέσω του Notepad και αφού διορθώσει τον κώδικα στα σημεία που εντοπίστηκαν τα λάθη (και σώσει τη νέα version του αρχείου), στη συνέχεια να επαναλάβει τη διαδικασία έως ότου η μεταγλώττιση του αρχείου να μην παρουσιάζει κανένα σφάλμα. Σχ. 3 Κατά τη μεταγλώττιση του προγράμματος παρουσιάστηκαν συντακτικά σφάλματα, λόγω παράλειψης του διαχωριστικού εντολών (ερωτηματικού) στην γραμμή 8.. 3 Εκτελέσιμο Πρόγραμμα: Το αρχείο που δημιουργείται μετά από τη μεταγλώττιση του Πηγαίου Κώδικα και περιέχει εντολές σε γλώσσα μηχανής, που «καταλαβαίνει» ο υπολογιστής.

«Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #0 5 Αποσφαλμάτωση (Debugging) και Εκτέλεση του προγράμματος (Program Execution). Στην περίπτωση που το πρόγραμμα εμφανίζει λογικά σφάλματα (π.χ. λάθος υπολογισμούς) μπορούμε να καλέσουμε το «εργαλείο αποσφαλμάτωσης» (debugger). Αυτό καλείται με την εντολή: $ gdb όνομα_αρχείου Θα εμφανιστεί τότε ένα (παραθυρικό) περιβάλλον που θα περιέχει τον πηγαίο κώδικα σε αριθμημένες γραμμές και θα διαθέτει κουμπιά επιλογών για «βήμα προς βήμα» εκτέλεση του προγράμματος, εμφάνιση των τιμών των καταχωρητών (registers), των μεταβλητών (local variables), κ.α. Ο debugger παρέχει τη δυνατότητα στον προγραμματιστή να εστιάσει την προσοχή του στα σημεία του προγράμματος που εμφανίζονται λογικά σφάλματα, παρακολουθώντας τις παραμέτρους εκείνες που εμπλέκονται στην εκτέλεση του προγράμματος. Σχ. 4 Το περιβάλλον εργασίας του Debugger. Παρατηρήστε πως ο κώδικας εμφανίζεται σε μορφή Πηγαίου (source code) και σε μορφή Assembly. Τέλος, μόλις ο προγραμματιστής εντοπίσει τα σφάλματα στον πηγαίο κώδικα θα πρέπει να διορθώσει το πρόγραμμα μέσω του Notepad, να το επαναμεταγλωττίσει και να επαναλάβει την όλη διαδικασία από την αρχή. Σημειώνεται ότι θα πρέπει, κάθε φορά που θέλουμε να διορθώσουμε το πρόγραμμά μας, να «κλείνουμε» τον debugger έτσι ώστε αν χρειαστεί να τον ξανακαλέσουμε να περιέχει την ενημερωμένη έκδοση του προγράμματός μας. Στο σημείο αυτό είμαστε έτοιμοι να εκτελέσουμε το πρόγραμμά μας. Η εκτέλεση ενός προγράμματος γίνεται μέσω της κλήσης του εκτελέσιμου ονόματός του, στο περιβάλλον Unix με την εντολή: $./όνομα_αρχείου

«Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #0 6 Σχ. 5 Το αποτέλεσμα της εκτέλεσης του test, που τυπώνει στην οθόνη «Hallo World». Μετά το τέλος του προγράμματος το σύστημα επανέρχεται σε κατάσταση εντολών (command prompt). Υπηρεσία Απομακρυσμένης Διασύνδεσης (Telnet) και Πρωτόκολλο Μεταφοράς Αρχείων (FTP) Όταν εργαζόμαστε στο Υπολογιστικό Κέντρο, χρησιμοποιούμε τα προγράμματα που παρέχονται από το λειτουργικό σύστημα Windows NT το οποίο αποτελεί το βασικό λειτουργικό σύστημα των υπολογιστών του Κέντρου. Οποιοδήποτε λοιπόν αρχείο αποθηκεύουμε ή εκτελούμε βρίσκεται στον τοπικό σκληρό δίσκο του υπολογιστή μας, πράγμα που σημαίνει πως ο καθένας μπορεί να το δει, να το τροποποιήσει ή και να το διαγράψει. Επίσης πέρα από το θέμα της ασφάλειας των αρχείων μας τίθεται και η αναγκαιότητα πρόσβασης στα αρχεία αυτά μέσω απομακρυσμένων υπολογιστών (π.χ. από το PC που έχουμε στο σπίτι μας). Για τους πιο πάνω λόγους, δηλαδή για θέματα ασφάλειας (security) και απομακρυσμένης πρόσβασης (remote access), θα πρέπει μετά το τέλος της εργαστηριακής άσκησης να αποθηκεύουμε (μεταφέρουμε) τα προγράμματα που δημιουργούμε από τον τοπικό σκληρό δίσκο (local HD) του υπολογιστή που εργαζόμαστε, στον δίσκο του εξυπηρετητή (server) students όπου υπάρχει ένας προσωπικός φάκελος (directory) για κάθε φοιτητή. Ο student έχει λειτουργικό σύστημα Unix, το οποίο είναι σύστημα πολλών χρηστών (multi user environment) και επιτρέπει στους χρήστες να αποθηκεύουν αρχεία σε έναν κοινό δίσκο, αλλά σε διαφορετική περιοχή για τον καθένα. Ο κάθε χρήστης έχει πρόσβαση στο φάκελό του μέσω ενός «ονόματος χρήστη» (user name) και ενός «συνθηματικού» (password) το οποίο δεν εμφανίζεται στην οθόνη για λόγους ασφαλείας. Έτσι, τα αρχεία που αποθηκεύονται στην περιοχή (φάκελο) του κάθε χρήστη είναι ασφαλή από κλοπή και διαγραφή από τρίτους. Επίσης, είναι προσβάσιμα από απόσταση (π.χ. από το σπίτι του καθενός), μέσω μιας κοινής dial up σύνδεσης (ίδια με την σύνδεση που χρησιμοποιείτε για πρόσβαση στο Internet).

«Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #0 7 Για να πετύχουμε τα παραπάνω, θα χρειαστεί να χρησιμοποιήσουμε τις υπηρεσίες Telnet και FTP. Και οι δύο μας βοηθούν στο να έχουμε πρόσβαση και να μεταφέρουμε αρχεία από και προς απομακρυσμένους υπολογιστές. Αναλυτικότερα, οι υπηρεσίες αυτές χρησιμοποιούνται ως εξής: Telnet: Καλούμε την υπηρεσία Telnet από την γραμμή εντολών (command prompt). Start -> Programs -> Accessories-> Command Prompt. Η σχετική εντολή είναι: C:\temp> telnet students Η εκτέλεση της εντολής αυτής θα σας συνδέσει με τον server students όπου θα κληθείτε να δώσετε το όνομά χρήστη που σας έχει δοθεί. To όνομα αυτό είναι της μορφής «mead9999», όπου τα τέσσερα τελευταία νούμερα είναι ο αριθμός μητρώου που σας έχει δοθεί από τη Γραμματεία. Επίσης, θα κληθείτε να δώσετε και το συνθηματικό εισόδου σας (password), το οποίο είναι μυστικό και πρέπει να το γνωρίζετε μόνο εσείς. Την πρώτη φορά που θα συνδεθείτε με τον server students μέσω της υπηρεσίας telnet θα χρειαστεί να ορίσετε το συνθηματικό πρόσβασής σας στο σύστημα, το οποίο θα πρέπει να περιέχει 6 τουλάχιστον ψηφία, εκ των οποίων δύο τουλάχιστον γράμματα και έναν αριθμό. Μόλις συμπληρώσετε τα στοιχεία που αναφέραμε θα συνδεθείτε με την περιοχή σας στον server students Σχ. 6 Η σύνταξη της εντολής telnet για σύνδεση με τον server students, όπου βρίσκονται οι «περιοχές» των φοιτητών του τμήματος. Τώρα βρίσκεστε πλέον σε περιβάλλον Unix (βλέπε σχ. 7), το χαρακτηριστικό του οποίου είναι η απουσία παραθύρων και η διαφορετική αλληλεπίδραση με τον χρήστη, μιας και ο τελευταίος είναι αναγκασμένος να πληκτρολογεί συγκεκριμένες εντολές για να μπορέσει το σύστημα να εκτελέσει κάποια λειτουργία. Βασικές εντολές είναι οι: ls (εμφανίζει τα περιεχόμενα ενός καταλόγου) ls *.c (εμφανίζει όλα τα αρχεία με κατάληξη.c ) rm (διαγράφει ένα αρχείο) mkdir (δημιουργεί ένα νέο φάκελο) grep (επιστρέφει μια συγκεκριμένη συμβολοσειρά που αναζητούμε) pwd (εμφανίζει τον τρέχοντα κατάλογο εργασίας)

«Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #0 8 Τις βασικές εντολές του Unix μπορείτε να τις αναζητήσετε στην ιστοσελίδα που αναφέρεται στο Παράρτημα B (στο τέλος του τετραδίου αυτού). Το περιβάλλον εργασίας του Unix δεν θα πρέπει να σας τρομάζει, μιας και με την εκμάθηση των βασικών εντολών του θα μπορέσετε να αξιοποιήσετε τις δυνατότητες του συστήματος και να εργαστείτε χωρίς πρόβλημα. Στο πιο κάτω σχήμα εμφανίζονται τα αποτελέσματα της εκτέλεσης της εντολής: $ ls l η οποία εμφανίζει τα περιεχόμενα του τρέχοντος καταλόγου εργασίας (αντίστοιχη με την εντολή C:\> dir του DOS). Σχ. 7 Η εκτέλεση της εντολής ls l που εμφανίζει στην οθόνη τα περιεχόμενα (καταλόγους και αρχεία) του καταλόγου εργασίας. FTP: Η υπηρεσία FTP μας δίνει τη δυνατότητα να μεταφέρουμε τα αρχεία που δημιουργήσαμε, από τον υπολογιστή που εργαζόμαστε τοπικά, στην περιοχή μας στον server students ή και το αντίστροφο. Η κλήση της υπηρεσίας FTP γίνεται επίσης μέσω του Command Prompt (αναλύθηκε στη προηγούμενη παράγραφο) με την εξής σύνταξη: C:\temp> ftp students Στη συνέχεια θα σας ζητηθεί (όπως και στην υπηρεσία telnet) να δώσετε το όνομα χρήστη και το συνθηματικό σας. Μόλις συμπληρώσετε τα στοιχεία αυτά, συνδέεστε με τον server students και είσαστε έτοιμοι να χρησιμοποιήσετε τις δύο βασικές εντολές put και get για να στείλετε ή να λάβετε (αντίστοιχα) αρχεία. Οι εντολές αυτές έχουν την ακόλουθη σύνταξη: $ put <local_file_name> <remote_file_name> Η εντολή αυτή μεταφέρει το αρχείο από τον τρέχον κατάλογο εργασίας του υπολογιστή που εργάζεστε, στην «περιοχή» σας στον server students.

«Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #0 9 $ get <remote_file_name> <local_file_name> Παρόμοια, η εντολή αυτή θα μεταφέρει το αρχείο από την «περιοχή» σας στον server students στον τρέχοντα κατάλογο εργασίας σας του υπολογιστή που εργάζεστε. Σχ. 8 Σύνδεση με την υπηρεσία ftp στον server students και μεταφορά του αρχείου apol.c από τον τοπικό δίσκο προς την περιοχή μας. Μετά την μεταφορά του αρχείου, μπορούμε να δούμε τα αρχεία στην περιοχή μας με τη χρήση της ls -l Αξίζει τέλος να σημειωθεί πως το σύστημα (βλέπε σχ. 8), παρέχει ενημέρωση για την επιτυχή ή όχι μεταφορά των αρχείων καθώς και στοιχεία που σχετίζονται με το μέγεθος, την ταχύτητα μεταφοράς και τη θύρα σύνδεσης με τον server. Για περισσότερες πληροφορίες σχετικά με τη χρήση της υπηρεσίας FTP, μπορείτε να πληκτρολογήσετε $ ftp>? αφού συνδεθείτε πρώτα με την υπηρεσία FTP, με τον τρόπο που περιγράψαμε προηγουμένως.

«Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #0 10 Σύντομη αναφορά (Quick Reference) στη διαδικασία εκτέλεσης προγραμμάτων σε C Η διαδικασία που ακολουθείται στα πλαίσια του εργαστηρίου προκειμένου να γράψουμε, μεταγλωττίσουμε, αποσφαλματώσουμε και τέλος, εκτελέσουμε ένα πρόγραμμα σε C είναι η ακόλουθη (βλέπε Σχ. 9): Γράφουμε το πρόγραμμα με χρήση του Notepad. Ανοίγουμε το περιβάλλον Unix μέσω του CygWin από την επιφάνεια εργασίας Μεταγλωττίζουμε το αρχείο πηγαίου κώδικα με την εντολή: $ gcc g όνομα_αρχείου.c -o όνομα_αρχείου Αν η μεταγλώττιση δεν είναι επιτυχής, διορθώνουμε τα λάθη με χρήση του Notepad. Αποσφαλματώνουμε το πρόγραμμα με τη χρήση του Debugger με την εντολή: $ gdb όνομα_αρχείου Εκτελούμε το πρόγραμμά μας με την εντολή: $./όνομα_αρχείου Μεταφέρουμε το/α αρχείο/α στην περιοχή μας στο server students για λόγους ασφαλείας αλλά και για να μας δοθεί η δυνατότητα πρόσβασης από τον προσωπικό υπολογιστή του σπιτιού μας. Σχ. 9 Διάγραμμα Ροής για την υλοποίηση προγραμμάτων

«Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #0 11 ΠΑΡΑΡΤΗΜΑ (Α) Οδηγίες Εγκατάστασης του Cygwin 1. Τρέχουμε από το CD εγκατάστασης το αρχείο Setup.exe που βρίσκεται στο κατάλογο D:\Sygwin και εμφανίζεται το πιο κάτω παράθυρο εγκατάστασης: 2. Αφού πατήσουμε next, επιλέγουμε install from local directory -> next. Εμφανίζεται το πιο κάτω παράθυρο όπου μας ζητά να προσδιορίσουμε το directory στο οποίο θέλουμε να γίνει η εγκατάσταση του προγράμματος π.χ. C:\Cygwin και αφού επιλέξουμε Default Text File Type: Unix και Install For: all, στη συνέχεια πατάμε next. 3. Στη συνέχεια επιλέγουμε την πηγή των αρχείων εγκατάστασης που στη συγκεκριμένη περίπτωση είναι το D:\Cygwin και πατάμε next. 4. Το τελευταίο και πιο σημαντικό κομμάτι της εγκατάστασης αφορά στην σωστή επιλογή των κατηγοριών (Categories) που θέλουμε να εγκατασταθούν (admin, archive, base, devel, etc.). Η επιλογή γίνεται πατώντας κατ αρχήν στο όνομα της κάθε κατηγορίας και στη συνέχεια επιλέγοντας κάθε ένα στοιχείο (element) από τη στήλη New και τέλος τσεκάροντας τα τετράγωνα επιλογής (checkboxes) στη στήλη Src (βλέπε παρακάτω εικόνα). Αφού τελειώσουμε με την πιο πάνω διαδικασία είμαστε έτοιμοι να προχωρήσουμε στην έναρξη της αντιγραφής των καταλόγων και των αρχείων που

«Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #0 12 απαιτούνται από το πρόγραμμα. Μόλις ολοκληρωθεί η εγκατάσταση, το πρόγραμμα προτείνει τη δημιουργία συντομεύσεων στην επιφάνεια εργασίας (desktop) και στο αρχικό μενού (start menu). Αποδεχόμαστε την πρόταση αυτή και ολοκληρώνουμε έτσι την εγκατάσταση. Έχοντας ολοκληρώσει την πιο πάνω διαδικασία είμαστε έτοιμοι να εκτελέσουμε την εφαρμογή CygWin μέσω του εικονιδίου που έχει Cygwin.ico δημιουργηθεί στην επιφάνεια εργασίας. ΠΑΡΑΡΤΗΜΑ (Β) Χρήσιμες Ιστοσελίδες http://www.cs.ucy.ac.cy/~epl131/fall00/tutorials/use.gdb.htm Πληροφορίες χρήσης του Debugger (gdb) http://www.eng.ncat.edu/help/unix_302_unixcommands.html Βασικές Εντολές του Unix ftp://ftp.ntua.gr/pub/pc/cygwin/latest/setup.exe ftp site για download του Cygwin Unix Emulator http://www.cs.ucy.ac.cy/~epl131/fall00/tutorials/downloading_cygwin.htm Οδηγίες Εγκατάστασης Cygwin Unix Emulator