Hola, el código está bien resuelto en ambos casos aunque al probarlo no me ha funcionado por lo que explico más abajo.
Estás usando algunos elementos que no han sido explicados en el curso. De hecho, en la entrega CU01136E aparece esto:
Hay una alternativa de funcionamiento muy similar a textContent que ha sido utilizada por algunos navegadores: innerText. Su comportamiento es muy similar al de textContent, aunque no exactamente igual. innerText no es reconocido por todos los navegadores y no se considera un estándar válido, por ello no le prestaremos más atención y no lo usaremos. No obstante, hemos considerado conveniente citarlo por si lo encuentras mientras revisas el código en alguna página web.
He probado con mi navegador y no me funcionan los códigos...
Pero en el primer código simplemente cambiando la forma de mostrar el resultado
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<script type="text/javascript">
var palabra, insertar;
function inicio() {
var resul = "";
palabra = document.getElementById("caja").value;
for (var i = 0; i < palabra.length; i++) {
resul += "Letra " + (i + 1)+ ": " + palabra.charAt(i) + "\n\n";
};
alert(resul);
}
</script>
</head>
<body>
<h1>Retando mis conocimientos.</h1>
<label>Palabra a evaluar: </label><input type="text" id="caja" />
<br>
<input type="button" id="boton" value="Aceptar" onclick="inicio()">
</body>
</html>
Sí funciona perfecto, por ejemplo si introducimos manzana muestra
Letra 1: m
Letra 2: a
Letra 3: n
Letra 4: z
Letra 5: a
Letra 6: n
Letra 7: a
Lo que quiere decir que toda la lógica está bien.
La segunda parte (la de las frutas) tampoco me ha funcionado, pero por el mismo problema. Simplemente cambiando caja2.innerText = resul; por caja2.innerHTML = resul; ya he conseguido que funcionara
Salu2