Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PRESENTADO A
INSTRUCTORA ADRIANA PILAR GUZMAN
Introducción..……………………………………………………………………… 3
Objetivo……………………………………………………………………………. 3
Propósito ...................................................................................................... 3
Ejercicios…………........................................................................................ 4
Solución ejercicios………….......................................................................... 5
Conclusiones……………………………………………………………..………. 25
Referencias…………………………………………………………..…………… 25
2
INTRODUCCION
3
Objetivo
Propósito
Actividad:
En esta actividad deberá aplicar todos los conocimientos adquiridos a lo largo del componente
formativo para dar solución a problemas, utilizando todas las estructuras de control requeridas
y el lenguaje JavaScript.
Problemas propuestos:
4
Problema 2: Desarrollar un programa que permita almacenar las edades de un grupo de 10
personas en un vector de enteros y luego determine la cantidad de personas que son menores
de edad, mayores de edad, cuántos adultos mayores, la edad más baja, la edad más alta y el
promedio de edades ingresadas. Para el ejercicio anterior suponga que un adulto mayor debe
tener una edad igual o superior a 60. Debe validar para cada ingreso que los valores estén en
un rango entre 1 y 120 años. En caso de error deberá notificar y solicitar un nuevo valor.
Problema 3. Escriba un programa que lea dos vectores de números enteros ordenados
ascendentemente y luego produzca la lista ordenada de la mezcla de los dos, por ejemplo, si
los dos arreglos tienen los números 1 3 6 9 17 y 2 4 10 17, respectivamente, la lista de números
en la pantalla debe ser 1 2 3 4 6 9 10 17 17. Limite los vectores a un tamaño de 5 y debe validar
en cada ingreso que realmente se estén ingresando los datos de forma ascendente.
Problema 4. Una emisora con presencia en diferentes ciudades desea conocer el rating de
canciones y cantantes más escuchados (sonados) en este semestre del año. Por lo tanto, se
ha pedido a estudiantes del SENA del programa de tecnólogo en análisis y desarrollo de
software desarrollar una solución que permita conocer la respuesta de 6 personas con relación
a sus gustos musicales. Con fines administrativos y realizar una rifa entre las personas
encuestadas, la emisora desea poder registrar de las personas entrevistadas su nombre,
número de identificación (cédula), fecha de nacimiento, correo electrónico, ciudad de
residencia, ciudad de origen. Además, se deberá poder almacenar el artista y título de hasta 3
canciones favoritas en cada una de las personas que se ingrese, teniendo en cuenta lo anterior,
se sugiere que la solución deberá mostrar un menú que permite las siguientes opciones:
SOLUCION
Problema 1
Código:
<!DOCTYPE html>
Realizado por Renzo Rodriguez
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Calculadora de Área y Perímetro</title>
</head>
<body>
<h1>Calculadora de Área y Perímetro</h1>
<label for="figura">Selecciona una figura:</label>
<select id="figura">
<option value="triangulo">Triángulo</option>
<option value="rectangulo">Rectángulo</option>
<option value="circulo">Círculo</option>
5
</select>
<script>
function calcularTriangulo() {
const base =
parseFloat(document.getElementById('baseTriangulo').value);
const altura =
parseFloat(document.getElementById('alturaTriangulo').value);
const area = (base * altura) / 2;
const perimetro = base + altura + Math.sqrt(base**2 + altura**2);
document.getElementById('resultadoTriangulo').innerHTML = `Área:
${area.toFixed(2)}, Perímetro: ${perimetro.toFixed(2)}`;
}
function calcularRectangulo() {
const base =
parseFloat(document.getElementById('baseRectangulo').value);
6
const altura =
parseFloat(document.getElementById('alturaRectangulo').value);
const area = base * altura;
const perimetro = 2 * (base + altura);
document.getElementById('resultadoRectangulo').innerHTML = `Área:
${area.toFixed(2)}, Perímetro: ${perimetro.toFixed(2)}`;
}
function calcularCirculo() {
const radio =
parseFloat(document.getElementById('radioCirculo').value);
const area = Math.PI * radio**2;
const perimetro = 2 * Math.PI * radio;
document.getElementById('resultadoCirculo').innerHTML = `Área:
${area.toFixed(2)}, Perímetro: ${perimetro.toFixed(2)}`;
}
document.getElementById('figura').addEventListener('change', function()
{
const figuraSeleccionada = this.value;
document.getElementById('triangulo').style.display = 'none';
document.getElementById('rectangulo').style.display = 'none';
document.getElementById('circulo').style.display = 'none';
document.getElementById(figuraSeleccionada).style.display =
'block';
});
</script>
</body>
</html>
7
Evidencia fotográfica
8
Problema 2:
Código:
<!DOCTYPE html>
Realizado por Renzo Rodriguez
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Calculadora de Edades</title>
</head>
<body>
<h1>Calculadora de Edades</h1>
<script>
9
const cantidadPersonas = 10;
const edades = [];
// Ingresar edades
for (let i = 0; i < cantidadPersonas; i++) {
edades.push(pedirEdad(i));
}
10
adultosMayores++;
}
if (edad < edadMasBaja) {
edadMasBaja = edad;
}
if (edad > edadMasAlta) {
edadMasAlta = edad;
}
}
// Mostrar resultados
document.write(`<p>Personas menores de edad: ${menoresDeEdad}</p>`);
document.write(`<p>Personas adultas: ${adultos}</p>`);
document.write(`<p>Adultos mayores: ${adultosMayores}</p>`);
document.write(`<p>Edad más baja: ${edadMasBaja}</p>`);
document.write(`<p>Edad más alta: ${edadMasAlta}</p>`);
document.write(`<p>Promedio de edades:
${promedioEdades.toFixed(2)}</p>`);
</script>
</body>
</html>
11
Evidencia fotográfica:
12
Problema 3
Código:
<!DOCTYPE html>
Realizado por Renzo Rodriguez
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
13
<title>Fusión de Arreglos</title>
</head>
<body>
<h1>Fusión de Arreglos</h1>
<script>
// Función para validar si un arreglo está ordenado ascendentemente
function estaOrdenadoAscendentemente(arreglo) {
for (let i = 1; i < arreglo.length; i++) {
if (arreglo[i] < arreglo[i - 1]) {
return false;
}
}
return true;
}
do {
ingresoValido = true;
const entrada = prompt("Ingrese hasta 5 números enteros ordenados
ascendentemente (separados por espacios):");
const numeros = entrada.split(" ").map(Number);
return arreglo;
}
14
if (arreglo1[i] < arreglo2[j]) {
resultado.push(arreglo1[i]);
i++;
} else if (arreglo1[i] > arreglo2[j]) {
resultado.push(arreglo2[j]);
j++;
} else {
// Si los elementos son iguales, agregamos uno y avanzamos en
ambos arreglos
resultado.push(arreglo1[i]);
i++;
j++;
}
}
return resultado;
}
// Mostrar el resultado
alert("Lista ordenada de la mezcla de los dos arreglos:\n" +
resultadoFusion.join(" "));
</script>
</body>
</html>
15
Evidencia fotográfica
16
Problema 4. Una emisora con presencia en diferentes ciudades desea conocer el rating de
canciones y cantantes más escuchados (sonados) en este semestre del año. Por lo tanto, se
ha pedido a estudiantes del SENA del programa de tecnólogo en análisis y desarrollo de
software desarrollar una solución que permita conocer la respuesta de 6 personas con relación
a sus gustos musicales. Con fines administrativos y realizar una rifa entre las personas
encuestadas, la emisora desea poder registrar de las personas entrevistadas su nombre,
número de identificación (cédula), fecha de nacimiento, correo electrónico, ciudad de
residencia, ciudad de origen. Además, se deberá poder almacenar el artista y título de hasta 3
canciones favoritas en cada una de las personas que se ingrese, teniendo en cuenta lo anterior,
se sugiere que la solución deberá mostrar un menú que permite las siguientes opciones:
Código:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
17
<title>Formulario de Concursantes</title>
</head>
<body>
<h1>Formulario de Concursantes</h1>
<form id="formulario">
<fieldset>
<legend>Datos de Concursantes</legend>
<div id="resultados"></div>
</fieldset>
</form>
<script>
const datosConcursantes = [
"Nombre",
"Cédula",
"Fecha de Nacimiento",
"Correo Electrónico",
"Ciudad de Residencia",
"Ciudad de Origen",
"Artista-Canción de la Primera Canción",
"Artista-Canción de la Segunda Canción",
"Artista-Canción de la Tercera Canción"
];
document.addEventListener("DOMContentLoaded", function () {
const formulario = document.getElementById("formulario");
const resultados = document.getElementById("resultados");
vectorPersonas.push(vectorDatos);
}
18
mostrarResultados(vectorPersonas);
});
function mostrarResultados(data) {
resultados.innerHTML = "<h2>Datos Ingresados:</h2>";
data.forEach((persona, i) => {
resultados.innerHTML += `<h3>Persona ${i + 1}</h3>`;
resultados.innerHTML += "<ul>";
resultados.innerHTML += "</ul>";
});
}
});
</script>
</body>
</html>
Evidencia fotográfica
19
20
Conclusiones
REFERENCIAS
Material de estudio
(https://sena.territorio.la/content_mooc.php?idMateria=2608672&social=29486632)
VISUAL STUDIO CODE Tutorial en Español
(https://www.youtube.com/watch?v=Esnj9pntvyU)
Tutorial de Visual Studio Code para principiantes (https://keepcoding.io/blog/tutorial-
de-visual-studio-code-para-iniciar/)
21