-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathact2.ts
96 lines (84 loc) · 2.7 KB
/
act2.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
// Escriba un algoritmo que visualice una clasificación de 50 personas según edad y sexo.
// Deberá mostrar los siguientes resultados:
// a. Cantidad de personas mayores de edad (18 años o más).
// b. Cantidad de personas menores de edad.
// c. Cantidad de personas masculinas mayores de edad.
// d. Cantidad de personas femeninas menores de edad.
// e. Porcentaje que representan las personas mayores de edad respecto al total de
// personas.
// f. Porcentaje que representan las mujeres respecto al total de personas.
// Utilice la instrucción LEER PERSONAS al inicio del programa para cargar los datos de las
// 50 personas en un variable, PERSONAS, que actúa como un vector de 50 posiciones.
// Cada elemento de PERSONAS es de un tipo estructurado que dispone dos campos:
// SEXO y EDAD.
class Persona {
sexo: string
edad: number
}
const sexoEnum = {
0: 'hombre',
1: 'mujer'
}
let personas: Persona[] = [
];
function leerPersonas(){
for (let i = 0; i < 50; i++) {
let persona: Persona = {
sexo: sexoEnum[Math.floor(Math.random() * (1 - 0 + 1) + 0)],
edad: Math.floor(Math.random() * (90 - 0 + 1) + 0)
}
personas.push(persona)
}
mayoresDeEdad(personas);
menoresDeEdad(personas);
hombresMayoresDeEdad(personas);
mujeresMayoresDeEdad(personas);
porcentajeMujeres(personas);
}
leerPersonas();
function mayoresDeEdad(personas: Persona[]){
const count = personas.filter(element=>{
if(element.edad >= 18){
return true
}
return false
}).length
console.log("a. Cantidad de personas mayores de edad (18 años o más):"+ count)
}
function menoresDeEdad(personas: Persona[]){
const count = personas.filter(element=>{
if(element.edad < 18){
return true
}
return false
}).length
console.log("b. Cantidad de personas menores de edad:"+ count)
}
function hombresMayoresDeEdad(personas: Persona[]){
const count = personas.filter(element=>{
if(element.edad >= 18 && element.sexo == "hombre"){
return true
}
return false
}).length
console.log("c. Cantidad de personas masculinas mayores de edad:"+ count)
}
function mujeresMayoresDeEdad(personas: Persona[]){
const count = personas.filter(element=>{
if(element.edad < 18 && element.sexo == "mujer"){
return true
}
return false
}).length
console.log("d. Cantidad de personas femeninas menores de edad:"+ count)
}
function porcentajeMujeres(personas: Persona []){
const count = personas.filter(element=>{
if(element.sexo == "mujer"){
return true
}
return false
}).length
const porcentaje = (count * 100)/personas.length;
console.log("f. Porcentaje que representan las mujeres respecto al total de personas: "+ porcentaje + "%")
}