Pieni koodinpätkä, joka aluksi pyytää käyttäjää kirjoittamaan jotakin. Sitten se kerää tekstistä kaikenlaista tietoa, mm. tekstin pituuden, konsonanttien, vokaalien, kirjainten ja sanojen määrän. Lopuksi koodi vielä toteaa pari asiaa tuloksien perusteella.
Sanojen laskemisesta sen verran, että koodi erehtyy, mikäli sille syötetään kummallisia merkkijonoja tai hymiöitä (esim. ".:);!?" tai ":)"). Tavallisen tekstin kanssa se pärjännee jokseenkin hyvin.
E: Parantelin hieman koodia ja korjasin virheenkäsittelyssä olleen virheen :D.
'Koodin on tehnyt Jare - saa käyttää ja muokata vapaasti 'ja nimeni voi laittaa johonkin jos haluaa, mutta ei 'ole pakko. 'ensinnä kaikkein tärkein: ON ERROR GOTO OHJELMOINTIPUTKA 'Mikäli koodissa on jotain vikaa, hakekaa 'Ohjelmointiputkasta apua ;-) CLS PRINT "Kirjoita teksti:" INPUT "", teksti$ vokaalit$ = "aeiouyåäö" konsonantit$ = "bcdfghjklmnpqrstvwxz" kirjaimet$ = "abcdefghijklmnopqrstuvwxyzåäö" seursana$ = "abcdefghijklmnopqrstuvwxyzåäö.:;!?'`~()/&%$«" 'merkit, joiden jälkeinen väli 'tarkoittaa uuden sanan alkamista FOR m = 1 TO LEN(teksti$) edm$ = m$ 'otetaan talteen edellinen merkki, jotta nähdään, vaihtuuko sana m$ = LCASE$(MID$(teksti$, m, 1)) isopieni$ = MID$(teksti$, m, 1)'tämä muuttuja muistaa kirjainten koot FOR v = 1 TO 9 'tarkistetaan, onko merkki vokaali v$ = MID$(vokaalit$, v, 1) IF m$ = v$ THEN vokaaleja = vokaaleja + 1 IF isopieni$ = UCASE$(v$) THEN isoja = isoja + 1 IF isopieni$ = LCASE$(v$) THEN pienia = pienia + 1 NEXT v FOR k = 1 TO 20 'tarkistetaan, onko merkki konsonantti k$ = MID$(konsonantit$, k, 1) IF m$ = k$ THEN konsonantteja = konsonantteja + 1 IF isopieni$ = UCASE$(k$) THEN isoja = isoja + 1 IF isopieni$ = LCASE$(k$) THEN pienia = pienia + 1 NEXT k FOR a = 1 TO 29 'tarkistetaan, onko merkki kirjain a$ = MID$(kirjaimet$, a, 1) IF m$ = a$ THEN kirjaimia = kirjaimia + 1 IF sanoja = 0 THEN sanoja = 1 'jos tekstistä löytyy kirjaimia, sanoja on oltava väh. yksi END IF NEXT a IF m$ = CHR$(32) THEN 'tarkistetaan, alkaako uusi sana FOR vl = 1 TO LEN(seursana$) vl$ = MID$(seursana$, vl, 1) IF edm$ = vl$ THEN sanoja = sanoja + 1 NEXT vl END IF NEXT m muita = LEN(teksti$) - kirjaimia PRINT PRINT PRINT "Tekstin analysointi:" PRINT PRINT "Kirjaimia:"; kirjaimia; "("; kirjaimia / (muita + kirjaimia) * 100; "%)" PRINT "Muita merkkejä:"; muita; "("; muita / (muita + kirjaimia) * 100; "%)" PRINT PRINT "Vokaaleita:"; vokaaleja; "("; vokaaleja / (vokaaleja + konsonantteja) * 100; "%)" PRINT "Konsonantteja:"; konsonantteja; "("; konsonantteja / (vokaaleja + konsonantteja) * 100; "%)" PRINT PRINT "Isoja kirjaimia:"; isoja; "("; isoja / (isoja + pienia) * 100; "%)" PRINT "Pieniä kirjaimia:"; pienia; "("; pienia / (isoja + pienia) * 100; "%)" PRINT PRINT "Tekstin pituus:"; LEN(teksti$) PRINT "Sanoja:"; sanoja PRINT PRINT PRINT "Pari sanaa:" PRINT IF LEN(teksti$) = 0 THEN PRINT "Tekstissä ei ole kerrassaan mitään! :O" IF sanoja = 0 AND muita > 0 THEN PRINT "Tekstissä ei ole sanoja!" IF kirjaimia > 0 AND muita = 0 THEN PRINT "Tekstissä ei ole muita merkkejä kuin kirjaimia!" IF sanoja >= 50 THEN PRINT "Aika paljon sanoja! :)" IF konsonantteja > 0 AND vokaaleja > konsonantteja THEN PRINT "Vokaaleita on enemmän kuin konsonantteja." IF vokaaleja > 0 AND vokaaleja < konsonantteja THEN PRINT "Konsonantteita on enemmän kuin vokaaleja, mikä on harvinaista! :O" IF vokaaleja > 0 AND vokaaleja = konsonantteja THEN PRINT "Vokaaleita on yhtä monta kuin konsonantteja, mikä on harvinaista! :O" IF vokaaleja = 0 AND konsonantteja > 0 THEN PRINT "Ei yhtään vokaalia! :O" IF vokaaleja > 0 AND konsonantteja = 0 THEN PRINT "Ei yhtään konsonanttia! :O" IF isoja > 0 AND pienia > isoja THEN PRINT "Pieniä kirjaimia on enemmän kuin isoja." IF pienia > 0 AND pienia < isoja THEN PRINT "Isoja kirjaimia on enemmän kuin pieniä, mikä on harvinaista! :O" IF pienia > 0 AND pienia = isoja THEN PRINT "Pieniä kirjaimia on yhtä monta kuin isoja kirjaimia, mikä on harvinaista! :O" IF pienia = 0 AND isoja > 0 THEN PRINT "Ei yhtään pientä kirjainta! :O" IF pienia > 0 AND isoja = 0 THEN PRINT "Ei yhtään isoa kirjainta! :O" END OHJELMOINTIPUTKA: CLS PRINT "Joku kusee :(" END RESUME
Hieno virheenkäsittely! ;)
Ihan kätevä analysointi.
Tuo virheenkäsittely on tosiaan hieno. :)
Hahaha, virheenkäsittely sai aikaan sen että aloin nauraa yhtäkkiä tunnilla ja mut poistettiin luokasta pois ;D
Jännä. :o
Virheenkäsittely on kyl tosiaan aika mielenkiintonen ;)
Hyvä eroorhandleri tosiaan :D
Kiitoksia.
Koodin on hyvä ja errorhandleri on äks dee.
Hieno virheekäsittelijä tosiaan =)
Hieno =)
Ja koodi on OK.
toimii... ja on hyvä virheenkäsittely oli hyvin tehty...
d_((^.^))_b
Hyvältä näyttää!
heheh... :D Virheenkäsittely... "Joku Kusee :("
Muuten ihan toimiva vinkki!
Aihe on jo aika vanha, joten et voi enää vastata siihen.