ΕΠΛ 001: ΕΙΣΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ σκήσεις Επανάληψης
Ενότητα 1 Επαναληπτικές ασκήσεις προγραμματισμού Για τις ακόλουθες ασκήσεις, να δώσετε: νάλυση της εισόδου & εξόδου Διάγραμμα ροής Ψευδοκώδικα
Άσκηση Ε1-1 Ζητούμε πρόγραμμα στο οποίο ο χρήστης θα δίνει έναν αριθμό στην είσοδο και αυτός θα εκτυπώνεται στην έξοδο.
Άσκηση Ε1-1 αρχή x 1. ρχή 2. Διάβασε x 3. Τύπωσε x 4. Τέλος x x ο τρέχων αριθμός τέλος
Άσκηση Ε1-2 Ζητούμε πρόγραμμα στο οποίο ο χρήστης θα δίνει έναν αριθμό στην είσοδο και το τετράγωνο αυτού θα εκτυπώνεται στην έξοδο.
Άσκηση Ε1-2 αρχή x 1. ρχή 2. Διάβασε x 3. sq x * x 4. Τύπωσε sq 5. Τέλος sq x * x sq τέλος x ο τρέχων αριθμός sq το ζητούμενο τετράγωνο
Άσκηση Ε1-3 Ζητούμε πρόγραμμα στο οποίο ο χρήστης θα δίνει αριθμούς στην είσοδο και το τετράγωνο αυτών θα εκτυπώνεται στην έξοδο. Σήμα τέλους το 0.
Άσκηση Ε1-3 αρχή x sq x * x 1. ρχή 2. Επανάληψη: 3. Διάβασε x 4. sq x * x 5. Τύπωσε sq 6. Όσο x 0 7. Τέλος sq x 0 Ψ τέλος x ο τρέχων αριθμός sq το ζητούμενο τετράγωνο
Άσκηση Ε1-4 Ζητούμε πρόγραμμα στο οποίο ο χρήστης θα δίνει θετικούς και αρνητικούς αριθμούς στην είσοδο και η απόλυτη τιμή αυτών θα εκτυπώνεται στην έξοδο. Σήμα τέλους το 0. Υπενθύμιση - πόλυτη τιμή ενός αριθμού: 1 = 1-1 = 1-7 = 7 κ.ο.κ.
Άσκηση Ε1-4 z x Ψ αρχή x x < 0 z -x 1. ρχή 2. Επανάληψη: 3. Διάβασε x 4. ν x<0 τότε: 5. z -x 6. Διαφορετικά: 7. z x 8. Τύπωσε z 9. Όσο x 0 10. Τέλος z x ο τρέχων αριθμός x 0 Ψ z η απόλυτη τιμή του αριθμού τέλος
Άσκηση Ε1-5 Ζητούμε πρόγραμμα στο οποίο ο χρήστης θα δίνει θετικούς αριθμούς στην είσοδο και ο μεγαλύτερος από αυτούς θα εκτυπώνεται στην έξοδο. Σήμα τέλους το -1.
Άσκηση Ε1-5 αρχή max 0 x x > max Ψ max x 1. ρχή 2. max 0 3. Επανάληψη: 4. Διάβασε x 5. ν x>max τότε: 6. max x 7. Όσο x -1 8. Τύπωσε max 9. Τέλος x -1 Ψ max τέλος x ο τρέχων αριθμός max ο ζητούμενος μέγιστος
Άσκηση Ε1-6 Ζητούμε πρόγραμμα στο οποίο ο χρήστης θα δίνει θετικούς αριθμούς (από το 0 μέχρι το 1000) στην είσοδο και ο μικρότερος από αυτούς θα εκτυπώνεται στην έξοδο. Σήμα τέλους το 1001.
Άσκηση Ε1-6 αρχή min 1001 x x < min Ψ min x 1. ρχή 2. min 1001 3. Επανάληψη: 4. Διάβασε x 5. ν x<min τότε: 6. min x 7. Όσο x 1001 8. Τύπωσε min 9. Τέλος x 1001 Ψ min τέλος x ο τρέχων αριθμός min ο ζητούμενος ελάχιστος
Άσκηση Ε1-7 Ζητούμε πρόγραμμα στο οποίο ο χρήστης θα δίνει θετικούς και αρνητικούς αριθμούς στην είσοδο και το άθροισμα αυτών θα εκτυπώνεται στην έξοδο. Σήμα τέλους το 0.
Άσκηση Ε1-7 αρχή sum 0 x sum sum + x 1. ρχή 2. sum 0 3. Επανάληψη: 4. Διάβασε x 5. sum sum + x 6. Όσο x 0 7. Τύπωσε sum 8. Τέλος x 0 Ψ sum τέλος x ο τρέχων αριθμός sum το ζητούμενο άθροισμα
Άσκηση Ε1-8 Ζητούμε πρόγραμμα στο οποίο ο χρήστης θα δίνει θετικούς και αρνητικούς αριθμούς στην είσοδο και το γινόμενο αυτών θα εκτυπώνεται στην έξοδο. Σήμα τέλους το 1.
Άσκηση Ε1-8 αρχή p 1 x p p * x 1. ρχή 2. p 1 3. Επανάληψη: 4. Διάβασε x 5. p p * x 6. Όσο x 1 7. Τύπωσε p 8. Τέλος x 1 Ψ p τέλος x ο τρέχων αριθμός p το ζητούμενο γινόμενο
Άσκηση Ε1-9 Έστω ότι οι βαθμοί της τελικής εξέτασης του ΕΠΛ001 είναι αποθηκευμένοι σε αρχείο students.dat που έχει την ακόλουθη μορφή: Ταυτότητα Όνομα Φύλο Έτος 1 ης εγγραφής 123456 ντρέας 2009 8 123457 Βάσω Θ 2010 7 123458 Γεωργία Θ 2009 9 123459 Δημήτρης 2010 4 Να σχεδιάσετε διάγραμμα ροής που να υπολογίζει: α. Τον μεγαλύτερο βαθμό β. Τον μέσο όρο των βαθμών των γυναικών Βαθμός
Άσκηση Ε1-9α αρχή rec η τρέχουσα εγγραφή max μέγιστος βαθμός άνοιξε students.dat max 0 διάβασε rec όχι EOF rec.βαθμός > max Ψ Ψ max rec.βαθμός 1. ρχή 2. Άνοιξε students.dat 3. max 0 4. Διάβασε rec 5. Όσο όχι EOF: 6. ν rec.βαθμός > max Τότε: 7. max rec.βαθμός 8. Διάβασε rec 9. Τύπωσε max 10. Κλείσε students.dat 11. Τέλος max διάβασε rec κλείσε students.dat τέλος
Άσκηση Ε1-9β αρχή άνοιξε students.dat N 0, Sum 0 1. ρχή 2. Άνοιξε students.dat 3. N 0, Sum 0 4. Διάβασε rec 5. Όσο όχι EOF: 6. ν rec.φύλο = Θ Τότε: 7. Ν Ν + 1 8. Sum Sum + rec.βαθμός 9. Διάβασε rec 10. Επανάληψη 11. Avg Sum / N 12. Τύπωσε Avg 13. Κλείσε students.dat 14. Τέλος rec η τρέχουσα εγγραφή N το μέχρι στιγμής πλήθος Sum το μέχρι στιγμής άθροισμα Avg ο ζητούμενος μέσος όρος διάβασε rec όχι EOF rec.φύλο = Θ Ψ διάβασε rec Ψ Ν Ν + 1 Sum Sum + rec.βαθμός Avg Sum / N Avg κλείσε students.dat τέλος
Άσκηση Ε1-10 Έστω ότι οι βαθμοί της τελικής εξέτασης του ΕΠΛ001 είναι αποθηκευμένοι σε αρχείο students.dat που έχει την ακόλουθη μορφή: Ταυτότητα Όνομα Φύλο Έτος 1 ης εγγραφής 123456 ντρέας 2009 8 123457 Βάσω Θ 2010 7 123458 Γεωργία Θ 2009 9 123459 Δημήτρης 2010 4 Να σχεδιάσετε διάγραμμα ροής που να υπολογίζει: Βαθμός α. Τον μέσο όρο των βαθμών των αντρών με έτος 1ης εγγραφής το 2009 β. Το όνομα του άντρα με έτος 1ης εγγραφής 2010 που πήρε τον μεγαλύτερο βαθμό
Άσκηση Ε1-10a αρχή άνοιξε students.dat N 0, Sum 0 1. ρχή 2. Άνοιξε students.dat 3. N 0, Sum 0 4. Διάβασε rec 5. Όσο όχι EOF: 6. ν rec.φύλο = A AND rec.έτος 1ης εγγραφής=2009τότε: 7. Ν Ν + 1 8. Sum Sum + rec.βαθμός 9. Διάβασε rec 10. Επανάληψη 11. Avg Sum / N 12. Τύπωσε Avg 13. Κλείσε students.dat 14. Τέλος rec η τρέχουσα εγγραφή N το μέχρι στιγμής πλήθος Sum το μέχρι στιγμής άθροισμα Avg ο ζητούμενος μέσος όρος διάβασε rec όχι EOF rec.φύλο = A AND rec.έτος 1 ης εγγραφής = 2009 Ψ διάβασε rec Ψ Ν Ν + 1 Sum Sum + rec.βαθμός Avg τέλος Avg Sum / N κλείσε students.dat
Άσκηση Ε1-10β rec η τρέχουσα εγγραφή max μέγιστος βαθμός Ψ αρχή άνοιξε students.dat max 0 διάβασε rec όχι EOF rec.φύλο = A AND rec.έτος 1 ης εγγραφής = 2009 rec.βαθμός > max Ψ Ψ max rec.βαθμός 1. ρχή 2. Άνοιξε students.dat 3. max 0 4. Διάβασε rec 5. Όσο όχι EOF 6. ν rec.φύλο = A AND rec.έτος 1ης εγγραφής=2009 Τότε: 7. ν rec.βαθμός > max Τότε: 8. max rec.βαθμός 9. Διάβασε rec 10. Τύπωσε max 11. Κλείσε students.dat 12. Τέλος max κλείσε students.dat διάβασε rec τέλος
Ενότητα 3 Επαναληπτικές ασκήσεις εφ όλης της ύλης
Άσκηση Ε3-1 Έστω ότι οι διεργασίες pk, pa, pe, pw τίθενται σε ετοιμότητα σχεδόν ταυτόχρονα (αλλά με την παραπάνω σειρά) και ότι θα απασχολήσουν την ΚΜΕ για όσες χρονικές μονάδες αναφέρει ο παρακάτω πίνακας: pa pe pk pw 40 140 20 100 Για καθέναν από τους αλγόριθμους χρονοπρογραμματισμού της ΚΜΕ, FCFS, SJN και RR ποιο είναι το διάγραμμα Gantt που προκύπτει αν εφαρμόσουμε τον αλγόριθμο σε αυτές τις διεργασίες; Για τον RR θεωρείστε ως κβάντο χρόνου τις 40 χρονικές μονάδες.
Άσκηση Ε3-1 Σειρά pk, pa, pe, pw FCFS SJN RR (40 tu) pa pe pk pw 40 140 20 100 20 60 200 300 pk pa pe pw 20 60 160 300 pk pa pw pe 20 60 100 140 180 220 260 280 300 pk pa pe pw pe pw pe pw pe pk pa pw pe
Άσκηση Ε3-2 Ένας σκληρός δίσκος έχει 8 επίπεδα, 4096 κυλίδρους, με 512 τομείς ανά τροχιά. ν ο κάθε τομέας είναι 1024 bytes, να υπολογιστεί ο μέγιστος αριθμός αρχείων μεγέθους 32MB που μπορούν να αποθηκευτούν στον δίσκο αυτό?
Άσκηση Ε3-2 Ένας σκληρός δίσκος έχει 8 επίπεδα, 4096 κυλίδρους, με 512 τομείς ανά τροχιά. ν ο κάθε τομέας είναι 1024 bytes, να υπολογιστεί ο μέγιστος αριθμός αρχείων μεγέθους 32MBytes που μπορούν να αποθηκευτούν στον δίσκο αυτό? 1024 bytes/τομέα 2 10 bytes/τομέα 512 τομείς/τροχιά 2 9 τομείς/τροχιά 4096 κύλινδροι 2 12 τροχιές/επιφάνεια 8 επιφάνειες 2 3 επιφάνειες χωρητικότητα δίσκου 2 34 bytes αρχείο 32ΜΒ 2 25 bytes αριθμός αρχείων 2 9 => 512 αρχεία
Άσκηση Ε3-4 Για τις ακόλουθες μνήμες RAM συμπληρώστε τα κενά: / Μέγεθος Μνήμης ριθμός Λέξεων Μέγεθος Λέξης Δίαυλος Διευθύνσεων Δίαυλος Δεδομένων α 4ΜΒ 2 2 2 20 /2 1 = 2 21 16 bit =2byte 21 bit 16 bit β 16ΚΒ 2 4 2 10 /2 0 = 2 14 8 bit = 2 0 byte 14 bit 8 bit γ 2GΒ 2 28 2 1 2 30 /2 28 =2 3 byte =2 3 2 3 bit=2 6 bit=64 bit 28 bit 64 bit Θυμηθείτε ότι: Μέγεθος Μνήμης = ριθμός των Λέξεων * Μέγεθος Λέξης 8 bit = 1 byte
Άσκηση Ε3-5 Γράψετε τον html κώδικα που παράγει την πιο κάτω σελίδα.
HTML <CENTER> <H1><I>EPL003 - Introduction to Computer Science</I></H1> <H2> FALL 2011 </H2> <A HREF="http://www.ucy.ac.cy">University of Cyprus</A> </CENTER> <HR> <B>Classes:</B> <UL> <LI> Monday 12:00-13:30 </LI> <LI> Thursday 12:00-13:30 </LI> </UL> <I>Topics</I> <OL> <LI> Hardware </LI> <LI> Programming </LI> <LI>... </LI> </OL>
Άσκηση Ε3-6 (Βάσεις Δεδομένων) Θεωρήστε ότι έχουμε τον πιο κάτω πίνακα δεδομένων Table: Student id firstname lastname gender year grade 123456 Takis Hatzitakis M 1 6.5 121212 Stella Mavropoulou F 2 9 552244 Petros Petropoulos M 1 7 662688 Maria Aspropoulou M 1 7.5 887722 Niki Perdiki F 2 4.5 992233 Kokos Papagalou M 1 8.5
Επερωτήματα SQL (1/3) Επιστρέψτε την ταυτότητα όλων των φοιτητών των οποίων ο βαθμός είναι ψηλότερος από 7.5 select id from Student where grade > 7.5 Τα στοιχεία των φοιτητών του πρώτου έτους select * from Student where year = 1 Το όνομα και το επίθετο των κοριτσιών με βαθμό τουλάχιστον 7.5 select firstname, lastname from Student where gender = F AND grade >= 7.5 Table: Student id firstname lastname gender year grade 123456 Takis Hatzitakis M 1 6.5 121212 Stella Mavropoulou F 2 9 552244 Petros Petropoulos M 1 7 662688 Maria Aspropoulou M 1 7.5 887722 Niki Perdiki F 2 4.5 992233 Kokos Papagalou M 1 8.5
Επερωτήματα SQL (2/3) Την ταυτότητα των πρωτοετών αγοριών με βαθμό χαμηλότερο του 7.5 select id from Student where gender = M AND year = 1 AND grade < 7.5 Την ταυτότητα των φοιτητών που δεν πέρασαν το μάθημα select id from Student where grade < 5 Table: Student id firstname lastname gender year grade 123456 Takis Hatzitakis M 1 6.5 121212 Stella Mavropoulou F 2 9 552244 Petros Petropoulos M 1 7 662688 Maria Aspropoulou M 1 7.5 887722 Niki Perdiki F 2 4.5 992233 Kokos Papagalou M 1 8.5
Επερωτήματα SQL (3/3) Άλλαξε την ταυτότητα του Τάκη Χατζητάκη σε 445446 update Student set id = '445446' where firstname = 'Takis' AND lastname = 'Hatzitakis' Διαγράψτε την φοιτήτρια με αριθμό ταυτότητας 887722 (που αποχώρισε από το μάθημα) delete from Student where id='887722' Table: Student id firstname lastname gender year grade 123456 Takis Hatzitakis M 1 6.5 121212 Stella Mavropoulou F 2 9 552244 Petros Petropoulos M 1 7 662688 Maria Aspropoulou M 1 7.5 887722 Niki Perdiki F 2 4.5 992233 Kokos Papagalou M 1 8.5
Τέλος! Καλή επιτυχία!