You are on page 1of 6

Nombre: Oliver Cabrera Hernández

Lenguaje utilizado JavaScript

Examen Lógica de programación

Desarrolle las siguientes funciones (pseudocódigo o el lenguaje preferido, indicar el utilizado)

1. Realice una función que retorne el número mayor y menor de una lista recibida de números
enteros
function numeroMayorMenor(listaNumeros){

let mayor = Math.max.apply(null, serie);


let menor = Math.min.apply(null, serie);

console.log(`Mayor ${mayor}`);
console.log(`Menor ${menor}`);
}
let serie = [10, 5, 1, 28, 10, 7, 12, 91, 19, 84];
numeroMayorMenor(serie);

2. Realice una función que retorne los números que repiten dentro de una lista recibida de números
enteros

function repeticionNumeros (lista=[],numero){


let i = 0,
contador = 0;
while (i!== -1) {
i = lista.indexOf(numero,i);
if(i!== -1){
i++;
contador++;
}
}
console.info(`el número:${numero} se repite "${contador}" veces`);
}
let listado = [2,3,4,2,2];
repeticionNumeros(listado,2);

3. Realice una función que retorne si 2 listas recibidas son iguales


function listasIguales (listado1, listado2){
if(listado1.join('|') === listado2.join('|')){
console.log("Las listas son iguales");
}
else{
console.log("Las listas no son iguales");
}
}
let lista1 = [1, 2, 3];
let lista2 = [1, 2, 8];
listasIguales(lista1,lista2);

4. Realice una función que retorne el primer carácter que no se repita dentro de una cadena
recibida

function primeraLetraQueNoSeRepite (cadena){


let cadenaEnMinuscula = cadena.toLowerCase();
for (let x = 0; x < cadena.length; x++) {
let caracterActual = cadena.charAt(x).toLowerCase();
if (cadenaEnMinuscula.indexOf(caracterActual) ===
cadenaEnMinuscula.lastIndexOf(caracterActual)) {
return cadena.charAt(x);
}
}
return "";
}
const pruebas = ["examenlogica"];
pruebas.forEach(prueba => {
console.log(`Primera letra que no se repite en '${prueba}': '$
{primeraLetraQueNoSeRepite(prueba)}'`);
});

5. Realice una función que retorne si una cadena está compuesta por solo dígitos

function cadanaCompuestaPorDigitos(cadena=""){
let digitos = cadena.split(" ").length;
if(digitos!==1){

CONTACTO@CIANCODERS.COM|CEL. 43937330 WWW.CIANCODERS.COM


console.log("la cadena esta compuesto por solo dígitos");
}else{
console.log("la cadena no esta compuesto por solo digitos");
}
}
cadanaCompuestaPorDigitos("examen logica");

6. Realice una función que retorne la cantidad de dígitos, vocales y consonantes dentro de una
cadena recibida

function contarDigitosVocalesConsonantes(cadena=""){
let digitos = cadena.split(" ").length;
let vocales = cadena.match(/[aeiou]/gi).length;
let consonantes = cadena.match(/[b-df-hj-np-tv-z]/gi).length;
console.log(`Digitos: ${digitos}, Vocales: ${vocales}, Consonantes: ${consonantes}`);
}
contarDigitosVocalesConsonantes("prueba logica");

CONTACTO@CIANCODERS.COM|CEL. 43937330 WWW.CIANCODERS.COM


7. Defina el modelo entidad relación de un sistema de punto de venta
a) donde se necesita saber
i. Las ventas con su detalle
ii. El empleado que realizó la venta
iii. Los datos del cliente
b) Considerando que los empleados pueden tener diferente puesto (administrador, cajero, etc.)
implemente el manejo de este en su ER.

8. Escriba una función que reciba como parámetro un listado de números, la función debe retornar la
moda de la lista, tomando en cuenta lo siguiente:
a) La moda es el número que más veces se repite en la lista

CONTACTO@CIANCODERS.COM|CEL. 43937330 WWW.CIANCODERS.COM


b) Si el número máximo de repeticiones lo tienen 2 números diferentes, la función tendrá que
retornar que la lista es “bimodal” y los números que le corresponden
Se el número máximo de repeticiones lo tienen 3 o más números diferentes, la función debe retornar
que “no tiene moda”

CONTACTO@CIANCODERS.COM|CEL. 43937330 WWW.CIANCODERS.COM


9. Realice una función que reciba una lista como parámetro y debe retornar la lista de manera
ordenada, tomando en cuenta lo siguiente
a) Cada posición del arreglo vendrá como un objeto con una etiqueta (texto) y un valor (numérico)
b) El orden debe ser en base al valor de cada posición del arreglo, de mayor a menor
c) Para las etiquetas si se recibe “Otros”, “No aplica”, deben estár en las últimas posiciones del
arreglo retornado sin importar su valor

CONTACTO@CIANCODERS.COM|CEL. 43937330 WWW.CIANCODERS.COM

You might also like