να διαβάζει από το πληκτρολόγιο μια σειρά χαρακτήρων S

συζητήσεις για assembly

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
katrin2404
Δημοσιεύσεις: 33
Εγγραφή: 14 Σεπ 2007 05:00

να διαβάζει από το πληκτρολόγιο μια σειρά χαρακτήρων S

Δημοσίευση από katrin2404 » 14 Σεπ 2007 05:36

βοηηηηηηηηηηηηηθεια!ποιος θεος μπορει να με βοηθησει με την ιδια εργασια που ειχε ο will Στις: 16 Ιουλ 2007

που πρεπει οπωσδηποτε να παραδωσω αμεσα?


Να υλοποιήσετε σε συμβολική γλώσσα (assembly) του MIPS και να εκτελέσετε στον SPIM, ένα πρόγραμμα που να διαβάζει από το πληκτρολόγιο μια σειρά χαρακτήρων S με μέγιστο μέγεθος 8 χαρακτήρες. Η σειρά πρέπει να αποθηκεύεται στη μνήμη του MIPS σε συγκεκριμένο πίνακα χαρακτήρων που πρέπει να ορίσετε. Το πρόγραμμά σας πρέπει αρχικά να διακρίνει εάν η σειρά χαρακτήρων μπορεί να είναι απρόσημος αριθμός σε κάποιο αριθμητικό σύστημα από το δυαδικό (βάση 2 και ψηφία 0, 1) έως το δεκαεξαδικό (βάση 16 και ψηφία 0, 1, ..., 9, A, B, C, D, E, F) δηλαδή να ελέγχει αν η σειρά περιέχει κάποιον χαρακτήρα εκτός των ψηφίων 0, 1, ..., 9 και των γραμμάτων της αγγλικής A, B, …, F (ισοδύναμα και τα πεζά γράμματα a, b, …, f). Τονίζεται ότι το πρόγραμμα πρέπει να διαβάζει χαρακτήρες και όχι αριθμό.
Αν η σειρά χαρακτήρων δεν μπορεί να παριστάνει αριθμό σε κάποιο σύστημα από το δυαδικό μέχρι το δεκαεξαδικό τότε να εκτυπώνεται σχετικό μήνυμα λάθους και να ζητείται νέος αριθμός.
Αν η σειρά χαρακτήρων διαπιστωθεί ότι παριστάνει αριθμό τότε να εκτυπώνεται μήνυμα που να δηλώνει σε ποια αριθμητικά συστήματα μπορεί να ανήκει ο αριθμός. Για παράδειγμα, αν εισαχθεί η σειρά χαρακτήρων 317a τότε αυτή μπορεί να παριστάνει έναν τετραψήφιο αριθμό σε οποιοδήποτε σύστημα από το ενδεκαδικό (με βάση 11) μέχρι το δεκαεξαδικό (με βάση το 16) αφού το μεγαλύτερό της ψηφίο είναι το a (δηλαδή το 10). Όμοια αν εισαχθεί η σειρά χαρακτήρων 472 αυτή μπορεί να παριστάνει έναν τριψήφιο αριθμό σε οποιοδήποτε σύστημα από το οκταδικό μέχρι το δεκαεξαδικό αφού το μεγαλύτερο ψηφίο της είναι το 7.
Τέλος, το πρόγραμμα πρέπει να κάνει μετατροπή του αριθμού από το σύστημα που θα δηλώνει ο χρήστης (με νέα είσοδο) σε ένα άλλο σύστημα (πάλι μεταξύ δυαδικού και δεκαεξαδικού) που θα δηλώνει και πάλι ο χρήστης. Για παράδειγμα, αν εισαχθεί η σειρά 213 και ο χρήστης δηλώσει ότι είναι του εξαδικού συστήματος (αφού αυτή μπορεί να ανήκει από το τετραδικό μέχρι και το δεκαεξαδικό) και ζητήσει τη μετατροπή στο δωδεκαδικό, τότε το πρόγραμμα θα πρέπει να μετατρέψει τον εξαδικό αριθμό 213¬six (που είναι ίσος με 81ten) στον δωδεκαδικό αριθμό 69twelve (ίσο επίσης με 81ten). Για τη μετατροπή από το ένα σύστημα στο άλλο μπορείτε να χρησιμοποιήσετε όποιον τρόπο θέλετε. Στην κονσόλα πρέπει να εκτυπώνεται το αποτέλεσμα και πάλι σαν μια σειρά χαρακτήρων.
Η όλη διαδικασία πρέπει να επαναλαμβάνεται μέχρι ο χρήστης να δώσει τη σειρά χαρακτήρων S ίση με οκτώ μηδενικά (00000000) οπότε έτσι δηλώνει το τερματισμό του προγράμματος.
Μπορείτε ελεύθερα να χρησιμοποιήσετε ψευδο-εντολές του SPIM και επίσης να χρησιμοποιήσετε υποπρογράμματα (υπορουτίνες) και κλήσεις σε αυτά.
Τελευταία επεξεργασία από το μέλος katrin2404 την 14 Σεπ 2007 17:30, έχει επεξεργασθεί 1 φορά συνολικά.

Άβαταρ μέλους
GeoStuff
Honorary Member
Δημοσιεύσεις: 7496
Εγγραφή: 16 Νοέμ 2005 03:12
Τοποθεσία: Στα αλατορυχεία της Ζουαζιλάνδης...

να διαβάζει από το πληκτρολόγιο μια σειρά χαρακτήρων S

Δημοσίευση από GeoStuff » 14 Σεπ 2007 16:14

Κατερινούλα δεν βοηθάς...

Πιάσε το μια από την αρχή...
Κούκλα Μου Φρεγάτα Σκίζεις Τον Ωκεανό... Μοιάζεις Στον Τιτανικό!!!

Άβαταρ μέλους
eleni_k
Δημοσιεύσεις: 94
Εγγραφή: 07 Φεβ 2006 01:45
Τοποθεσία: Λυκαβηττός
Επικοινωνία:

να διαβάζει από το πληκτρολόγιο μια σειρά χαρακτήρων S

Δημοσίευση από eleni_k » 14 Σεπ 2007 17:49

Γιατί εμένα αυτό μου θυμίζει άσκηση Γκιζόπουλου?? Πα.Πει πηγαίνεις?

mariosal
Honorary Member
Δημοσιεύσεις: 1473
Εγγραφή: 09 Νοέμ 2007 23:55

να διαβάζει από το πληκτρολόγιο μια σειρά χαρακτήρων S

Δημοσίευση από mariosal » 11 Νοέμ 2007 02:52

Σου κάνει σε Turbo Pascal;

mariosal
Honorary Member
Δημοσιεύσεις: 1473
Εγγραφή: 09 Νοέμ 2007 23:55

να διαβάζει από το πληκτρολόγιο μια σειρά χαρακτήρων S

Δημοσίευση από mariosal » 11 Νοέμ 2007 02:59

Επειδή έχω μια παρόμοια, κάπως, άσκηση σε Turbo Pascal. Αλλά δεν είναι έτοιμη η άσκηση που έχω κάνει... Ίσως σε βοηθήσει λιγάκι!

PROGRAM MITSOS (INPUT, OUTPUT);

USES CRT;
VAR A:CHAR;
VAR FABERCASTELL: ARRAY [1..10] OF INTEGER;
VAR MITSARAS:ARRAY [1..10] OF ARRAY [1..100] OF CHAR;
VAR B,C,D:INTEGER;


BEGIN
CLRSCR;
WRITELN ('€€‰€Š— ƒ†Š—‘’„ Ž‘€ €Š"€ˆ‡‹†’ˆ‰€(’Ž ŽŠ" ‹„•ˆ 10) ‡€ Š†‰’ŽŠŽ‚†‘„’„');
READLN (B);

C:=1;
WHILE ((B>10) OR (B<1)) DO BEGIN
WRITELN ('&#8364;&#8364;&#8240;&#8364;&#352;&#8212; &#402;&#8224;&#352;&#8212;&#8216;&#8217;&#8222; &#8222;&#338;&#8364;&#338; &#8364;&#710;&#8225;&#8249;Ž &#8364;Ž &#8217;Ž 1 &#8212;&#8216; &#8217;Ž 10');
READLN (B);
END;
WRITELN ('&#8364;&#8364;&#8240;&#8364;&#352;&#8212; &#8364;&#8226;&#710;&#8216;&#8217;&#8222; &#338;&#8364; &#8218;&#8364;"&#8222;&#8217;&#8222; &#8217;&#8364; &#8364;&#352;"&#8364;&#710;&#8225;&#8249;&#8224;&#8217;&#710;&#8240;&#8364;');
WRITELN ('Ž&#8217;&#8364;&#338; &#8217;&#8222;&#352;&#8222;&#710;&#8212;&#8216;&#8222;TE &#8217;&#8224;&#338; &#352;&#8224;&#8240;&#8217;Ž&#352;Ž&#8218;&#8224;&#8216;&#8224; &#8222;&#338;Ž&#8216; &#8364;&#352;"&#8364;&#710;&#8225;&#8249;&#8224;&#8217;&#710;&#8240;Ž" &#8364;&#8217;&#8224;&#8216;&#8217;&#8222; "\" &#8218;&#710;&#8364; &#338;&#8364; &#352;&#8224;&#8240;&#8217;Ž&#352;Ž&#8218;H&#8216;&#8222;&#8217;&#8222; &#8217;Ž &#8222;Ž&#8249;&#8222;&#338;Ž');
WHILE C<=B DO BEGIN
D:=1;
A:=READKEY;
WHILE D<100 DO BEGIN
IF A<>'\' THEN BEGIN
MITSARAS[C][D]:=A;
A:=READKEY;
D:=D+1;
END
ELSE BEGIN

FABERCASTELL[C]:=D-1;

D:=100;
WRITELN ('Ž&#8226;&#8212;&#8224;&#8216;&#8217;&#8222; &#8216;&#8217;Ž &#8222;Ž&#8249;&#8222;&#338;Ž'); END;
END;
WRITELN (FABERCASTELL[C]);
C:=C+1;
END;
WRITELN ('&#8217;&#8364; &#8364;&#352;"&#8364;&#710;&#8225;&#8249;&#8224;&#8217;&#710;&#8240;&#8364; Ž" &#352;&#8224;&#8240;&#8217;Ž&#352;Ž&#8218;&#8224;&#8216;&#8364;&#8217;&#8222; &#8222;&#710;&#338;&#8364;&#710; &#8217;&#8364; &#8222;&#8224;&#8216;:');

END.

Απάντηση

Επιστροφή στο “Assembly”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες