Άσκηση με χαρακτήρες

Ξεκίνησε από DaKnOb, 26 Ιαν 2013, 07:14:01 ΜΜ

« προηγούμενο - επόμενο »

DaKnOb

strlen()
Να γίνει αλγόριθμος που θα διαβάζει μια λέξη, με κεφαλαία ελληνικά γράμματα (η είσοδος θεωρείται σωστή και δεν χρειάζεται έλεγχος δεδομένων) και θα εμφανίζει τον αριθμό των γραμμάτων που υπάρχουν σε αυτήν την λέξη.

Προαιρετικά, για επιπλέον δυσκολία, θα δημιουργεί πίνακα ΛΕΞΗ, Ν (όπου ν το μήκος της λέξης) που θα περιέχει σε κάθε κελί και από ένα γράμμα της λέξης αυτής.

Hint: Συγκρίσεις χαρακτήρων

DaKnOb

Αυτή η εντολή δεν έχει κάποιο πρόβλημα, ε:
a <- "Hello "
b <- "world"
c <- a + b


Γιατί στο PseudoGlossa.gr δεν μου το αναγνωρίζει. Αν δεν υπάρχει, τότε πως γίνεται να εννόσω 2 μεταβλητές χαρακτήρων;

gthal

Η συνένωση αλφαριθμητικών είναι ένα ζήτημα.
Στους πληροφορικούς είναι μια πράξη που υπάρχει αυτονόητα, ενώ στην ύλη της Ανάπτυξης Εφαρμογών δεν αναφέρεται (αν δεν απατώμαι) πουθενά, άρα δεν υπάρχει.
Γιαυτό υποθέτω ο διερμηνευτής στο pseudoglossa.gr, τηρώντας πιστά το βιβλίο, δεν τη δέχεται.
Θα βρεις όμως ότι η Γλωσσομάθεια τη δέχεται by default
ενώ ο διερμηνευτής της Γλώσσας θα τη δεχτεί αν κάνεις untick στο Εργαλεία-->Επιλογές-->Ασάφειες το κατάλληλο κουτάκι
Φιλικά,
Γιώργος Θαλασσινός

DaKnOb

Παράθεση από: gthal στις 27 Ιαν 2013, 12:21:02 ΠΜ
Η συνένωση αλφαριθμητικών είναι ένα ζήτημα.
Στους πληροφορικούς είναι μια πράξη που υπάρχει αυτονόητα, ενώ στην ύλη της Ανάπτυξης Εφαρμογών δεν αναφέρεται (αν δεν απατώμαι) πουθενά, άρα δεν υπάρχει.
Γιαυτό υποθέτω ο διερμηνευτής στο pseudoglossa.gr, τηρώντας πιστά το βιβλίο, δεν τη δέχεται.
Θα βρεις όμως ότι η Γλωσσομάθεια τη δέχεται by default
ενώ ο διερμηνευτής της Γλώσσας θα τη δεχτεί αν κάνεις untick στο Εργαλεία-->Επιλογές-->Ασάφειες το κατάλληλο κουτάκι

Ο διερμηνευτής και η Γλωσσομάθεια υπάρχουν μόνο για Windows. Τα έτρεξα και τα 2 με Wine αλλά δεν μπορείς να γράψεις Ελληνικά ή να δεις το 90% των μενού (σε κάποιες περιπτώσεις) οπότε έχω μόνο το PseudoGlossa..

Νομίζω κάπου γράφει για πρόσθεση χαρακτήρων (εκτός αν κάνω λάθος και είναι το βοήθημα που το γράφει αυτό, που δεν έχει λογική..).

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

alkisg

Παράθεση από: DaKnOb στις 27 Ιαν 2013, 11:31:57 ΠΜ
Ο διερμηνευτής και η Γλωσσομάθεια υπάρχουν μόνο για Windows.

Ο Διερμηνευτής παίζει σε Linux εδώ και πολλά χρόνια και διατίθεται από το αποθετήριο πιστοποιημένου εκπαιδευτικού λογισμικού της υπηρεσίας Τεχνικής Στήριξης ΣΕΠΕΗΥ:
https://alkisg.mysch.gr/steki/index.php?topic=1320.0

DaKnOb

Παράθεση από: alkisg στις 27 Ιαν 2013, 11:54:19 ΠΜ
Ο Διερμηνευτής παίζει σε Linux εδώ και πολλά χρόνια και διατίθεται από το αποθετήριο πιστοποιημένου εκπαιδευτικού λογισμικού της υπηρεσίας Τεχνικής Στήριξης ΣΕΠΕΗΥ:
https://alkisg.mysch.gr/steki/index.php?topic=1320.0
Off-topic, αλλά εντάξει. Θα το δοκιμάσω σε ένα laptop που έχω με Backtrack.
Έχω όλα τα άλλα λειτουργικά εκτός από Windows. :P

Νίκος Αδαμόπουλος

Στο πλαίσιο του μαθήματος της ΑΕΠΠ δεν ορίζονται τελεστές αλφαριθμητικών. (Ούτε στην Pascal ορίζονται)

DaKnOb

Παράθεση από: Νίκος Αδαμόπουλος στις 27 Ιαν 2013, 02:07:45 ΜΜ
Στο πλαίσιο του μαθήματος της ΑΕΠΠ δεν ορίζονται τελεστές αλφαριθμητικών. (Ούτε στην Pascal ορίζονται)

Κρίμα. Θα ήταν πολύ καλή άσκηση με πολύ καλή λύση αν γινόταν κάπως.

gthal

Έχει πολύ ενδιαφέρον σαν πρόβλημα πάντως.
Θέλεις να ανεβάσεις τη λύση σου;
Φιλικά,
Γιώργος Θαλασσινός

DaKnOb

Παράθεση από: gthal στις 28 Ιαν 2013, 11:21:28 ΠΜ
Έχει πολύ ενδιαφέρον σαν πρόβλημα πάντως.
Θέλεις να ανεβάσεις τη λύση σου;

Εδώ είναι:
http://paste.daknob.info/?6b7fd2c38619a0ae#QnCsLkQsJG6Zj+IgLAlnmcyGMeO/PO7AfzTBlclCXVE=

Βέβαια από εσάς έμαθα πως δεν υπάρχει πρόσθεση μεταβλητών τύπου χαρακτήρα που ακυρώνει στην ουσία την λύση, αλλά δεν πειράζει, είναι καλή η ιδέα. :P

gthal

Καλή φαίνεται !
Είχα γράψει κι εγώ μια λύση με παρόμοιο σκεπτικό αλλά λίγο διαφορετική προσέγγιση αλλά τώρα δε βρίσκω πού την έσωσα και βαριέμαι να την ξαναγράψω. Όταν τη βρω θα σου τη στείλω να την περιεργαστείς.
Φιλικά,
Γιώργος Θαλασσινός

DaKnOb

Παράθεση από: gthal στις 01 Φεβ 2013, 12:04:12 ΠΜ
Καλή φαίνεται !
Είχα γράψει κι εγώ μια λύση με παρόμοιο σκεπτικό αλλά λίγο διαφορετική προσέγγιση αλλά τώρα δε βρίσκω πού την έσωσα και βαριέμαι να την ξαναγράψω. Όταν τη βρω θα σου τη στείλω να την περιεργαστείς.

Είναι ενδιαφέρουσα άσκηση. Ας είχε μόνο πρόσθεση χαρακτήρων και θα ήταν μια χαρά..

evry

Μια και μιλάμε για χαρακτήρες τι θα λέγατε για την εξής άσκηση? Η εκφώνηση είναι λίγο πρόχειρη. Τροποποιήσεις/Διορθώσεις δεκτές.

Άσκηση
Δίνονται οι πίνακες ΟΝΟΜΑ, ΕΠΩΝΥΜΟ που περιέχουν τα ονόματα και τα επώνυμα Ν μαθητών.
Όλα είναι σε κεφαλαία ελληνικά γράμματα.
Ο διευθυντής του σχολείου θέλει να τυπώσει μπλουζάκια με τα αρχικά κάθε μαθητή.
α) Καλείστε να γράψετε αλγόριθμο ο οποίος να εμφανίζει για κάθε μαθητή τα αρχικά του.
β) Επίσης να εμφανίζει ποιο είναι το συχνότερο γράμμα που εμφανίζεται στα αρχικά.

Η άσκηση λύνεται στα πλαίσια του μαθήματος της Ανάπτυξης Εφαρμογών και δεν χρειάζεται μη λυκειακές γνώσεις.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

DaKnOb

Παράθεση από: evry στις 01 Φεβ 2013, 10:42:08 ΜΜ
Μια και μιλάμε για χαρακτήρες τι θα λέγατε για την εξής άσκηση? Η εκφώνηση είναι λίγο πρόχειρη. Τροποποιήσεις/Διορθώσεις δεκτές.

Άσκηση
Δίνονται οι πίνακες ΟΝΟΜΑ, ΕΠΩΝΥΜΟ που περιέχουν τα ονόματα και τα επώνυμα Ν μαθητών.
Όλα είναι σε κεφαλαία ελληνικά γράμματα.
Ο διευθυντής του σχολείου θέλει να τυπώσει μπλουζάκια με τα αρχικά κάθε μαθητή.
α) Καλείστε να γράψετε αλγόριθμο ο οποίος να εμφανίζει για κάθε μαθητή τα αρχικά του.
β) Επίσης να εμφανίζει ποιο είναι το συχνότερο γράμμα που εμφανίζεται στα αρχικά.

Η άσκηση λύνεται στα πλαίσια του μαθήματος της Ανάπτυξης Εφαρμογών και δεν χρειάζεται μη λυκειακές γνώσεις.

Το να βρίσκεις το πρώτο γράμμα είναι το μόνο έυκολο. (Κομμάτι του αλγορίθμου μου το κάνει) καθώς απλά έχεις στην ουσία ένα γράμμα να τρέξεις και όχι και δεύτερο μετά κτλπ)
Αν πάρεις το κομμάτι με το i, i+1 θα δεις πως δουλεύει. Όλα τα άλλα είναι εύκολα.

evry

εννοείς αυτό έτσι?

Αν (ΑΒ[ι] > ΛΕΞΗ) <> (ΑΒ[ι+1] > ΛΕΞΗ) τότε


μήπως θα έπρεπε να είναι

Αν (ΑΒ[ι] < ΛΕΞΗ)  ΚΑΙ  (ΑΒ[ι+1] > ΛΕΞΗ) τότε


ή έχω χάσει κάτι?
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

nikolasmer

Παράθεση από: evry στις 01 Φεβ 2013, 10:42:08 ΜΜ
Άσκηση
Δίνονται οι πίνακες ΟΝΟΜΑ, ΕΠΩΝΥΜΟ που περιέχουν τα ονόματα και τα επώνυμα Ν μαθητών.
Ο διευθυντής του σχολείου θέλει να τυπώσει μπλουζάκια με τα αρχικά κάθε μαθητή.
α) Καλείστε να γράψετε αλγόριθμο ο οποίος να εμφανίζει για κάθε μαθητή τα αρχικά του.
β) Επίσης να εμφανίζει ποιο είναι το συχνότερο γράμμα που εμφανίζεται στα αρχικά.
Πάρα πολύ καλή άσκηση. Πιστεύω οτι κάτι έκανα.
Μερεντίτης Νικόλαος
Πληροφορικός