|
Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη. Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Νέα!
Για ανανέωση (ή προσθήκη νέου) avatar, πρέπει η μεγαλύτερη διάσταση της εικόνας να είναι 110 pixels.
Show Posts
|
Pages: 1 ... 9 10 [11]
|
151
|
Μαθήματα Βασικού Κύκλου / Συστήματα Υπολογιστών / Re: [Συστήματα Υπολογιστών]Θέματα Εξετάσεων
|
on: February 05, 2013, 01:35:11 am
|
καλα αν βαλουν παλι θεματα σαν του σεπτεμβρη τον καταπιαμε
σε αυτό έχεις ποιντ.. έδινες και εσύ σεπτέβρη έτσι?? αυτά με τις πολυπλοκότητες δν τα έχουμε έτσι?? 99% είναι εκτός. Αν μπει κάτι, ακολούθα το παρακάτω : Βρίσκεις πόσες for έχει την μία μέσα στην άλλη, και λες ότι η πολυπλοκότητα είναι Ο ( Ν ^ χ ). Δηλαδή αν έχεις τρεις for την μία μέσα στην άλλη λες Ο ( Ν^3 ), 2 for η μία μέσα στην άλλη Ο ( Ν ^ 2 ), και πάει λέγοντας. Πρόσεξε το "η μία μέσα στην άλλη". Αν έχεις δύο φορ η μέσα μέσα στην άλλη, και μετά από λίγο 3 φορ η μία μέσα στην άλλη, εσύ απλά διαλέγεις το μέγιστο ( 3 ). Δεν κάνεις πρόσθεση! Αν έχει κάποια αναδρομική σχέση, δηλαδή μία συνάρτηση που καλεί τον εαυτό της, τότε η καλύτερη επιλογή θα ήταν να πεις logN ή NlogN, όποιο σου αρέσει περισσότερο εκείνη τη στιγμή. Λίγο καλύτερος μπούσουλας θα ήταν : Αν έχει μια for μέσα στη συνάρτηση να πεις NlogN, αν δεν έχει να πεις logN. Το τελευταίο όμως μπορεί να σε μπερδέψει λίγο και είναι σχεδόν απίθανο να μπει, οπότε καλύτερα παίξε κορώνα γράμματα. Υ.Γ.1 : Εννοείται πως τα παραπάνω είναι πρόχειρες γενικεύσεις για να γράψουμε. Όμως στο 99% των περιπτώσεων, είναι σωστά. Υ.Γ.2 : Αν ακούσεις έναν μαλάκα να πετιέται και να ρωτάει : "Αυτά είναι τα N^3 που κάναμε στο μάθημα; " τότε ό,τι πει στη θέση του Ν^3, γράψ`το... όχι βέβαια ότι θα είναι η σωστή λύση κύριε καθηγητή, εγώ τυχαία το ρώτησα για να βεβαιωθώ ότι...
|
|
|
152
|
Μαθήματα Βασικού Κύκλου / Συστήματα Υπολογιστών / Re: [Συστήματα Υπολογιστών]Θέματα Εξετάσεων
|
on: February 04, 2013, 15:50:45 pm
|
Για την απεικόνιση προσημασμένων ακέραιων δυαδικών αριθμών ορίζουμε το πιο σημαντικό ψηφίο να είναι της τάξης 2^(Ν-1). Με αυτόν τον τρόπο μπορούμε να αναπαραστήσουμε ακέραιους αριθμούς στο διάστημα -2^(Ν-1) ως 2^(Ν-1)-1 οποτε στο συγκεκριμενο παραδειγμα υποτιθεται οτι θα πρεπει να είναι 7 bits συμφωνα με τον Forouzan..Μπερδευτηκα Αυτό που λέω είναι ότι μπορούμε με την κωδικοποίηση που περιγράψαμε πιο πάνω να πετύχουμε το αποτέλεσμα με 6 bits. Με την κωδικοποίηση που περιγράφει ο Forouzan, η οποία είναι γενικότατη γιατί στόχος είναι να λειτουργεί πάντα, χρειάζεται 7 bits. Απλά η ιδιαιτερότητα του προβλήματός μας, που είναι ότι οι αριθμοί δεν είναι χωρισμένοι γύρω απ`το 0 ( υπάρχει μόνο ένας αριθμός πριν το 0 και 57 μετά από αυτό ), μας κάνει να μπορούμε να του δώσουμε καλύτερη λύση απ`την γενική που περιγράφει ο Forouzan. Οπότε εξαρτάται απ`την εκφώνηση. Αν είναι : Πόσο θα χρειαστεί ο υπολογιστής για να το αποθηκεύσει ως προσημασμένο αριθμό, τότε η απάντηση είναι 7, γιατί θα αποθηκεύσει είπαμε και άπειρους άχρηστους αρνητικούς αριθμούς ( ο υπολογιστής πάει με τον τρόπο του Forouzan ). Αν πάλι η ερώτηση είναι : Το ελάχιστο πλήθος bits που χρειαζόμαστε για να ... τότε η απάντηση είναι 6, με τη διαδικασία που είπαμε πιο πάνω. Ελπίζω να βοήθησα. Καλή μας επιτυχία αύριο.
|
|
|
153
|
Μαθήματα Βασικού Κύκλου / Συστήματα Υπολογιστών / Re: [Συστήματα Υπολογιστών]Θέματα Εξετάσεων
|
on: February 04, 2013, 15:36:44 pm
|
H λογική αυτή είναι λάθος γιατί πολύ απλά αν έχεις από -1 εώς 57 ? Τότε σύμφωνα με τα παραπάνω R=59 και αφού 2^6=64 θες μόνο 6 bits. Στην πραγματικότητα θες 7 bits γιατί θες 6 για να μπορείς να αποθηκεύσεις αριθμούς μέχρι το +63 και ένα(το αριστερότερο) για να έχεις και τα αρνητικά.
όντως 7.. Εφαρμόζωντας αυτό: 2^(n-1)-1 = x. το πλήθος έιναι (-x,x) Aν n=7 τότε 2^(7-1)-1 = 63 και είμαστε κομπλέ. Επαναλαμβάνω, η απάντηση είναι 6. Θα ήταν 7 αν η κωδικοποίησή μας ήταν αυτή με το πρόσημο, που βάζει ίδιο αριθμό στοιχείων αριστερά και δεξιά του μηδέν. Δεν έχουμε λόγο να διαλέξουμε μια τέτοια κωδικοποίηση όμως αφού έχουμε μόνο έναν αρνητικό αριθμό. Μπορούμε να διαλέξουμε να κωδικοποιούμε ως unsigned integer τον αριθμό ( στο διάστημα 0...58 ). Μετατοπίζουμε δηλαδή το διάστημά μας μια θέση προς τα δεξιά. Στη συνέχεια, αν θες να πάρεις κάποιον αριθμό, τον μετατρέπεις στον αντίστοιχο δεκαδικό κι αφαιρείς 1, ώστε να πάρεις τον σωστό, μη μετατοπισμένο. Εννοείς ότι με 6 bits μπορούμε να έχουμε όλους τους θετικούς μέχρι το 57 χωρίς το 1ο bit να σημαίνει ότι είναι το πρόσημο? και μετα από τα 6 bits παίρνουμε το 1 για πρόσημο και έχουμε το -1 ??? Όχι ακριβώς. Αρχικά λύνουμε το πρόβλημα να αναπαραστήσουμε όλους τους αριθμούς από το 0 ως το 58. Οπότε δε χρειαζόματε κανένα bit για δήλωση προσήμου, αφού πάντα είναι θετικό. Αρκούν ( και περισσεύουν μάλιστα ) 6 bit. Αφού λύσαμε αυτό το πρόβλημα, πάμε πάλι στο αρχικό μας, αναπαράσταση αριθμών -1...57. Χρειαζόμαστε δύο διεργασίες, την κωδικοποίηση, και την αποκωδικοποίηση. Η διαδικασία της κωδικοποίησης είναι να παίρνεις τον αριθμό ( πχ τον -1 ) να του προσθέτεις 1 ( θα γίνει 0 ), και μετά να τον κωδικοποιείς με τον τρόπο του 0...58. Η αποκωδικοποίηση αποκωδικοποιεί τον αριθμό και μετά του αφαιρεί 1. Έτσι παίρνεις τον αριθμό που εξ`αρχής είχες κωδικοποιήσει.
|
|
|
154
|
Μαθήματα Βασικού Κύκλου / Συστήματα Υπολογιστών / Re: [Συστήματα Υπολογιστών]Θέματα Εξετάσεων
|
on: February 04, 2013, 13:28:16 pm
|
H λογική αυτή είναι λάθος γιατί πολύ απλά αν έχεις από -1 εώς 57 ? Τότε σύμφωνα με τα παραπάνω R=59 και αφού 2^6=64 θες μόνο 6 bits. Στην πραγματικότητα θες 7 bits γιατί θες 6 για να μπορείς να αποθηκεύσεις αριθμούς μέχρι το +63 και ένα(το αριστερότερο) για να έχεις και τα αρνητικά.
όντως 7.. Εφαρμόζωντας αυτό: 2^(n-1)-1 = x. το πλήθος έιναι (-x,x) Aν n=7 τότε 2^(7-1)-1 = 63 και είμαστε κομπλέ. Επαναλαμβάνω, η απάντηση είναι 6. Θα ήταν 7 αν η κωδικοποίησή μας ήταν αυτή με το πρόσημο, που βάζει ίδιο αριθμό στοιχείων αριστερά και δεξιά του μηδέν. Δεν έχουμε λόγο να διαλέξουμε μια τέτοια κωδικοποίηση όμως αφού έχουμε μόνο έναν αρνητικό αριθμό. Μπορούμε να διαλέξουμε να κωδικοποιούμε ως unsigned integer τον αριθμό ( στο διάστημα 0...58 ). Μετατοπίζουμε δηλαδή το διάστημά μας μια θέση προς τα δεξιά. Στη συνέχεια, αν θες να πάρεις κάποιον αριθμό, τον μετατρέπεις στον αντίστοιχο δεκαδικό κι αφαιρείς 1, ώστε να πάρεις τον σωστό, μη μετατοπισμένο.
|
|
|
155
|
Μαθήματα Βασικού Κύκλου / Συστήματα Υπολογιστών / Re: [Συστήματα Υπολογιστών]Θέματα Εξετάσεων
|
on: February 04, 2013, 03:34:11 am
|
Ναι, από -65 ως +65 υπάρχουν 131 διαφορετικοί αριθμοί. Με 7 bits έχουμε 2^7 = 128 διαφορετικούς αριθμούς, που δε μας κάνει, ενώ με 2^8 = 256 είμαστε άπλες.
Εσύ βλέπεις το εύρος και λες : R=Value_max-Value_min+1 =>number_bits=| --log 2(R) --| H λογική αυτή είναι λάθος γιατί πολύ απλά αν έχεις από -1 εώς 57 ? Τότε σύμφωνα με τα παραπάνω R=59 και αφού 2^6=64 θες μόνο 6 bits. Στην πραγματικότητα θες 7 bits γιατί θες 6 για να μπορείς να αποθηκεύσεις αριθμούς μέχρι το +63 και ένα(το αριστερότερο) για να έχεις και τα αρνητικά. Παπαριά είπες, απ' τη στιγμή που δε διευκρινίζει κωδικοποίηση, η λογική του να κοιτάς το εύρος τιμών είναι σωστή, εφόσον οι τιμές είναι συνεχόμενες. Μπορείς απλά να προσθέσεις 1 σε κάθε αριθμό ( άρα να μετατοπίσεις το διάστημα στο 0 έως 58 ), κι έτσι το κωδικοποιείς ως unsigned integer. Άρα όντως αρκούν 6 bits.
|
|
|
|
|