Está en la página 1de 17

Resolución a problemas

algorítmicos aplicando
estructuras de
almacenamiento.
(GA3-220501093-AA3-EV02)
Paula Nicole Ruiz Parra 1003626363 (2626998)

Karolain Alvarez Silva. 1085254306 (2626998)

Victor Mario Cueto Buelvas: 1038435165


(2626996)

Fredy Antonio Pelaez Castañeda.


1093218295(2626996)

Camilo Andrés Cuellar 11238041368(2626997


Introducción

El desarrollo web es esencial en el


mundo de hoy por eso JavaScript es
una gran herramienta que nos ayuda a
realizar paginas web con
funcionalidades facilitando mas a un el
calculo de números o guardar
información.
Evidencia de Desempeño: Resolución a
problemas algorítmicos aplicando
estructuras de almacenamiento.

1.Desarrollar un programa que


permita calcular el área o
perímetro de algunas figuras
planas según la siguiente tabla:
Tabla 1 Área y perímetro de
figuras planas Figura Perímetro
Área
https://senasoftware.github.io/TrianguloAreaYPerimetro/

<script>
console.log("ya hay conexion")
let ladoAInput = document.getElementById("ladoA");
let ladoBInput = document.getElementById("ladoB");
let ladoCInput = document.getElementById("ladoC");
let calcularButton = document.getElementById("calcular");
let borrarButton = document.getElementById("borrar");
let pantalla = document.querySelector('.pantalla');

borrarButton.addEventListener("click", () => {
pantalla.innerHTML = "";
ladoAInput.value = "";
ladoBInput.value = "";
ladoCInput.value = "";
});

calcularButton.addEventListener("click", () => {
let ladoA = parseFloat(ladoAInput.value);
let ladoB = parseFloat(ladoBInput.value);
let ladoC = parseFloat(ladoCInput.value);

if (isNaN(ladoA) || isNaN(ladoB) || isNaN(ladoC)) {


pantalla.innerHTML = "Por favor, ingresa valores válidos para todos los lados.";
} else {
let perimetro = ladoA + ladoB + ladoC;
let area = 0.5 * ladoA * ladoB; // Área usando la fórmula convencional
pantalla.innerHTML = `Perímetro: ${perimetro.toFixed(2)}, Área: ${area.toFixed(2)}`;
}
});
</script>

https://senasoftware.github.io/RectanguloPerimetroyArea/

<script>
console.log("ya hay conexion")
let baseInput = document.getElementById("base");
let alturaInput = document.getElementById("altura");
let calcularButton = document.getElementById("calcular");
let borrarButton =
document.getElementById("borrar");
let pantalla = document.querySelector('.pantalla');

borrarButton.addEventListener("click", () => {
pantalla.innerHTML = "";
baseInput.value = "";
alturaInput.value = "";
});

calcularButton.addEventListener("click", () => {
let base = parseFloat(baseInput.value);
let altura = parseFloat(alturaInput.value);

if (isNaN(base) || isNaN(altura)) {
pantalla.innerHTML = "Por favor, ingresa valores válidos para la base y la altura.";
} else {
let perimetro = 2 * (base + altura);
let area = base * altura;
pantalla.innerHTML = `Perímetro: ${perimetro.toFixed(2)}, Área: ${area.toFixed(2)}`;
}
});
</script>

https://senasoftware.github.io/CuadradoPerimetroYArea/
<script>
console.log("ya hay conexion")
let ladoInput = document.getElementById("lado");
let calcularButton = document.getElementById("calcular");
let borrarButton = document.getElementById("borrar");
let pantalla = document.querySelector('.pantalla');

borrarButton.addEventListener("click", () => {
pantalla.innerHTML = "";
ladoInput.value = "";
});

calcularButton.addEventListener("click", () => {
let lado = parseFloat(ladoInput.value);

if (isNaN(lado)) {
pantalla.innerHTML = "Por favor, ingresa un valor
válido para el lado.";
} else {
let perimetro = 4 * lado;
let area = lado * lado;
pantalla.innerHTML = `Perímetro: ${perimetro.toFixed(2)}, Área: ${area.toFixed(2)}`;
}
});
</script>

https://senasoftware.gith
ub.io/CirculoPerimetroAr
ea/

<script>
console.log("ya hay conexión")
let radioInput =
document.getElementById("radio");
let calcularButton =
document.getElementById("calcular");
let borrarButton =
document.getElementById("borrar");
let pantalla =
document.querySelector('.pantalla');
borrarButton.addEventListener("click", () => {
pantalla.innerHTML = "";
radioInput.value = "";
});

calcularButton.addEventListener("click", () => {
let radio = parseFloat(radioInput.value);

if (isNaN(radio)) {
pantalla.innerHTML = "Por favor, ingresa un valor válido para el radio.";
} else {
let perimetro = 2 * Math.PI * radio;
let area = Math.PI * radio * radio;
pantalla.innerHTML = `Perímetro: ${perimetro.toFixed(2)}, Área: ${area.toFixed(2)}`;
}
});
</script>
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.
https://senasoftware.github.io/AlmacenarEdades/

<script>
let edades = [];

function agregarEdad() {
const edadInput = document.getElementById('edad');
const edad = parseInt(edadInput.value);

if (!isNaN(edad) && edad >= 1 && edad <= 120) {


edades.push(edad);
edadInput.value = '';

actualizarEstadisticas();
} else {
alert('Por favor, ingrese una edad válida (1-120).');
}
}

function borrarEdades() {
edades = []; // Limpiar el array de edades
actualizarEstadisticas(); // Actualizar estadísticas para
mostrar valores en 0 o "N/A"
}

function actualizarEstadisticas() {
const menoresDeEdad = edades.filter(edad => edad <
18).length;
const mayoresDeEdad = edades.filter(edad => edad
>= 18 && edad < 60).length;
const adultosMayores = edades.filter(edad => edad >= 60).length;

const edadMinima = edades.length > 0 ? Math.min(...edades) : 'N/A';


const edadMaxima = edades.length > 0 ? Math.max(...edades) : 'N/A';
const promedioEdades = edades.length > 0 ? edades.reduce((a, b) => a + b, 0) / edades.length : 'N/A';

document.getElementById('menoresDeEdad').textContent = menoresDeEdad;
document.getElementById('mayoresDeEdad').textContent = mayoresDeEdad;
document.getElementById('adultosMayores').textContent = adultosMayores;
document.getElementById('edadMinima').textContent = edadMinima;
document.getElementById('edadMaxima').textContent = edadMaxima;
document.getElementById('promedioEdades').textContent = promedioEdades !== 'N/A' ?
promedioEdades.toFixed(2) : 'N/A';
}
</script>

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.

https://senasoftware.github.io/MatricesYVectores/

<script>
let vector1 = [];
let vector2 = [];

function agregarElemento(vector, elementoId) {


const elementoInput = document.getElementById(elementoId);
const elemento = parseInt(elementoInput.value);
if (!isNaN(elemento) && (vector.length === 0 || elemento >= vector[vector.length - 1])) {
vector.push(elemento);
elementoInput.value = '';

const ul = document.getElementById(vector === vector1 ? 'vector1' : 'vector2');


const li = document.createElement("li");
li.classList.add("list-group-item");
li.textContent = elemento;
ul.appendChild(li);
} else {
alert('Por favor, ingrese un elemento válido (mayor o igual al anterior).');
}
}

function borrarVector(ulId, vector) {


document.getElementById(ulId).innerHTML = '';
vector.length = 0;
}

function mezclarVectores() {
// Validar que ambos vectores tengan al menos un elemento
if (vector1.length === 0 || vector2.length === 0) {
alert("Ambos vectores deben tener al menos un elemento.");
return;
}

// Mezclar y ordenar los vectores


const resultado = [];
let i = 0;
let j = 0;

while (i < vector1.length && j < vector2.length) {


if (vector1[i] < vector2[j]) {
resultado.push(vector1[i]);
i++;
} else {
resultado.push(vector2[j]);
j++;
}
}

resultado.push(...vector1.slice(i));
resultado.push(...vector2.slice(j));

// Mostrar el resultado
const ulResultado = document.getElementById("resultado");
ulResultado.innerHTML = ""; // Limpiar contenido anterior
resultado.forEach(elemento => {
const li = document.createElement("li");
li.classList.add("list-group-item");

li.textCont
ent =
elemento;

ulResultad
o.append
Child(li);
});
}

</script>

4.Una
emiso
ra
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: a. Agregar una persona con los datos
que se listan anteriormente. b. Mostrar la información personal
de una persona particular por medio de su posición en el
vector.

https://senasoftware.github.io/Musi
ca/

<script>
const personas = [];

const registroForm = document.getElementById('registroForm');


const informacionPersonal = document.getElementById('informacionPersonal');

registroForm.addEventListener('submit', function(event) {
event.preventDefault();

const nombre = document.getElementById('nombre').value;


const cedula = document.getElementById('cedula').value;
const artista1 = document.getElementById('artista1').value;
const cancion1 = document.getElementById('cancion1').value;
const artista2 = document.getElementById('artista2').value;
const cancion2 = document.getElementById('cancion2').value;
const artista3 = document.getElementById('artista3').value;
const cancion3 = document.getElementById('cancion3').value;

const persona = {
Nombre: nombre,
Cédula: cedula,
ArtistasFavoritos: [artista1, artista2, artista3],
CancionesFavoritas: [cancion1, cancion2, cancion3],
};

personas.push(persona);
mostrarInformacionPersona(persona);
});

function mostrarInformacionPersona(persona) {
const li = document.createElement('li');
li.classList.add('list-group-item');
li.innerHTML = `
<strong>Nombre:</strong> ${persona.Nombre}<br>
<strong>Cédula:</strong> ${persona.Cédula}<br>
<strong>Artistas Favoritos:</strong> ${persona.ArtistasFavoritos.join(', ')}<br>
<strong>Canciones Favoritas:</strong> ${persona.CancionesFavoritas.join(', ')}<br>
<button class="btn btn-danger btn-sm mt-2" onclick="borrarPersona('${persona.Cédula}')">Borrar</button>
`;
informacionPersonal.appendChild(li);
}

function borrarPersona(cedula) {
const index = personas.findIndex(persona => persona.Cédula === cedula);
if (index !== -1) {
personas.splice(index, 1);
actualizarListaPersonas();
}
}

function actualizarListaPersonas() {
informacionPersonal.innerHTML = '';
personas.forEach(persona => {
mostrarInformacionPersona(persona);
});
}
</script>
BIBLIOGRAFIA

https://www.w3schools.com/

También podría gustarte