Kirjautuminen

Haku

Tehtävät

Koodit: QB: Kielen tunnistaja

Kirjoittaja: Antti Laaksonen

Kirjoitettu: 22.05.2002 – 27.11.2011

Tagit: teksti, koodi näytille, sovellus, vinkki

Pitkästä aikaa QBasic-ohjelmointia! Tämä ohjelma tunnistaa, onko haluttu lause suomea vai englantia erilaisten sääntöjen avulla. Tavalliset lauseet tunnistuvat ohjelmalla miltei 100%-varmuudella, mutta kun tietää miten, ohjelman saa erehtymään. Esimerkiksi lause 'Fagotti on barokkisoitin' on ohjelman mukaan englantia...

vokaalit$ = "aeiouy"
konsonantit$ = "bcdfghjklmnpqrstvwxz"
ekonsonantit$ = "bcfqwxz"
svokaalit$ = "äö"
eloput$ = "bcdfghjkmpqvwxz"
sloput$ = "aiou"

engv% = 0
suov% = 0

CLS

LINE INPUT "Anna tunnistettava lause:", lause$
lause$ = " " + LCASE$(lause$) + " "

FOR i = 1 TO LEN(lause$)
  IF INSTR(ekonsonantit$, MID$(lause$, i, 1)) <> 0 THEN
    engv% = engv% + 1
  END IF
  IF INSTR(svokaalit$, MID$(lause$, i, 1)) <> 0 THEN
    suov% = suov% + 1
  END IF
  IF INSTR(vokaalit$, MID$(lause$, i, 1)) > 0 AND MID$(lause$, i, 1) = MID$(lause$, i + 1, 1) THEN
    suov% = suov% + 1
  END IF
  IF INSTR(eloput$, MID$(lause$, i, 1)) > 0 AND MID$(lause$, i + 1, 1) = " " THEN
    engv% = engv% + 1
  END IF
  IF INSTR(sloput$, MID$(lause$, i, 1)) > 0 AND MID$(lause$, i + 1, 1) = " " THEN
    suov% = suov% + 1
  END IF
NEXT

IF engv% > suov% THEN
  PRINT "Lause on englantia."
ELSEIF engv% < suov% THEN
  PRINT "Lause on suomea."
ELSE
  PRINT "Lausetta ei pystytä tunnistamaan."
END IF

Kommentit

HtH [26.05.2002 21:42:31]

#

Heh, hauska

progo [04.12.2002 08:17:07]

#

Hyödyllinen.. :)

kurz [11.09.2003 14:14:15]

#

Niin mutta eihän nuo ole suomalaisperäisiä sanojakaan...

siansaksamies [25.07.2005 19:04:24]

#

"Sauna is free!"-lausetta kutsutaan suomen kieleksi. Hauska huijattava, mutta simppeli vekotin.

moptim [26.10.2006 15:06:51]

#

"You are mad" on muka suomea.
EDIT: ja "QBasic on kiva" on englantia.

Kirjoita kommentti

Muista lukea kirjoitusohjeet.
Tietoa sivustosta