program codificar(input,output); var linea: string[255]; clave: string[10]; nomFic: string[25]; fTexto,fCod: text; procedure cifrar(var laCadena: string; var laClave: string); var longCad: integer; longCla: integer; primero: integer; ultimo: integer; i,j: integer; aux1, aux2: char; begin longCad := strlen(laCadena); longCla := strlen(laClave); primero:= ord(' '); ultimo:= ord('~'); i:=0; j:=1; while (i < longCad) do begin i:=i+1; aux1:= laCadena[i]; aux2:= laClave[j]; aux1:= chr((ord(aux1) + ord(aux2) - ord('0') - primero) mod (ultimo - primero + 1) + primero); laCadena[i] := aux1; if j < longCla then j:= j+1 else j:=1 end end; begin writeln('Cual es el fichero?'); readln(nomFic); reset(fTexto,nomFic); writeln('Donde quiere dejar el resultado?'); readln(nomFic); rewrite(fCod,nomFic); writeln('Y la clave? (no mas de 10 caracteres)'); readln(clave); while not eof(fTexto) do begin readln(fTexto,linea); {Leemos una l'inea del fichero} cifrar(linea, clave); writeln(fCod,linea); end; close(fTexto); close(fCod) end.