RE:cambio de texto a morse en pascal
Bueno. Yo haría algo así:
const Letras : Array['A'..'Z'] of string = ('.', '..', '-.' ........... );
Así con todas las letras, es decir definimos una constante arreglo con todos los "símbolos" correspondientes a cada letras. Su índice es una letra entre A y Z.
Después, supongamos que uno lee por teclado:
var t : char;
t:=readkey;
if ( ord( upcase(t) ) <='Z' ) and ( ord( upcase(t) ) >='A' ) then
writeln( letras[ upcase(t) ] );
Básicamente, lo que hacemos es imprimir el arreglo en la posición de la letra que halla en "t", verificando antes que "t" esté entre A y Z.
Este ejemplo, claro, no contempla la ñ.
Espero te sirva, saludos.