Převodník textu do morseovy abecedy
V tomto příkladě si ukážeme, jak převést text do morseovky.
Zdrojový kód:
<HTML>
<HEAD>
<TITLE>Převodník textu do morseovky</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function preloz(form)
{
znaky="abcdefghijklmnopqrstuvwxyz"+
"ABCDEFGHIJKLMNOPQRSTUVWXYZ .,?:-!";
kod=[".-","-...","-.-.","-..",".","..-.",
"--.","....","..",".---","-.-",".-..","--",
"-.","---",".--.","--.-",".-.","...","-",
"..-","...-",".--","-..-","-.--","--..",
".-","-...","-.-.","-..",".","..-.","--.",
"....","..",".---","-.-",".-..","--","-.",
"---",".--.","--.-",".-.","...","-","..-",
"...-",".--","-..-","-.--","--.."," ",
".-.-.-","--..--","..--..","---...",
"-....-","!"];
input=form.input.value; output="";
for (p=0;p<input.length;p++)
{
daChar=input.charAt(p);
for (i=0;i<znaky.length;i++)
if (daChar==znaky.charAt(i))
{
output+=kod[i]+" ";
break;
}
}
form.output.value=output;
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<FORM>
Text:<BR>
<TEXTAREA NAME="input" COLS="40" ROWS="3" WRAP="VIRTUAL"></TEXTAREA>
<BR><INPUT TYPE="button" VALUE="Přelož do morseovky"
onClick="preloz(this.form)"><P>Morseovka:<BR>
<TEXTAREA NAME="output" COLS="40" ROWS="3" wrap="VIRTUAL"></TEXTAREA>
</FORM>
</BODY>
</HTML>
Výsledek:
Vysvětlení činnosti:
Vše v tomto příkladě řídí funkce preloz(form). Ta nejdříve inicializuje dvě pole. Pole znaky, které obsahuje písmena a znaky normální abecedy a pole kod, které obsahuje znaky morseovy abecedy. Poté inicilizuje proměnnou input, která bude mít hodnotu prvku nazvaného input ve formuláři. Rovněž inicializuje proměnnou output, do které později vloží výsledek "překladu". Pro nahrazování využíjeme opět podmínku for. Ta se bude opakovat do doby, než se "vyčerpají" všechny znaky, které chceme převést. Nejdříve inicilizujeme proměnnou daChar, která bude mít jako hodnotu daný znak v řetězci, která necháváme přeložit. Abychom tento znak našli v poli znaky, využijeme opět podmínku for. Když je znak nalezen (platí podmínka if), přiřadí se proměnné output hodnota, která odpovídá stejné pozici v poli kod. Nakonec proměnnou output přiřadíme jako hodnotu pro prvek output ve formuláři.
26.07.2002 | Příklady | David Havlíček
|