You are on page 1of 14

Arreglos

Estructura de Datos
Instituto IACC
22 de junio de 2018
Actividad

1) Se tiene un arreglo que contiene solo 20 números pares entre el 1 y 100. Realice un ejemplo en
pseudocódigo para sumar todos sus valores, imprimir la posición y el valor del menor, la posición
y el valor del mayor y el promedio de todos los números. Luego llévelo a código PHP. Imprima las
pantallas de las salidas.

Desarrollo

Se realiza el siguiente pseudocódigo para sumar todos sus valores, imprimir la posición y el valor
del menor, la posición y el valor del mayor y el promedio de todos los números.

Proceso sumatoria_pares
Dimension pares[20];
pares[0] <- 2
pares[1] <- 4
pares[2] <- 6
pares[3] <- 8
pares[4] <- 10
pares[5] <- 12
pares[6] <- 14
pares[7] <- 16
pares[8] <- 18
pares[9] <- 20
pares[10] <- 22
pares[11] <- 24
pares[12] <- 26
pares[13] <- 28
pares[14] <- 30
pares[15] <- 32
pares[16] <- 34
pares[17] <- 36
pares[18] <- 38
pares[19] <- 40

longi<-20
contador<- longi-1
Mostrar "Valores a sumar";

para i <-0 hasta longi-1 Hacer


Mostrar "Posicion [" i "]: " pares[i];
FinPara

suma<-0
Para i <-0 hasta longi-1 Hacer
suma<- suma + pares(i)
FinPara

promedio<-suma/longi

Escribir ("la sumatoria de todos los valores es:"), suma;

Escribir ("El promedio de los valores es:"), promedio;

vmayor<-0
Para i<-0 Hasta longi-1 Hacer
Si pares[i] > vmayor Entonces
vmayor <- pares[i]
pos_mayor <-i
FinSi
FinPara

Escribir ("El valor y la posicion del numero mayor es:")


Mostrar "Posicion [" pos_mayor "]: " vmayor;
vmen <-100
Para i<-0 Hasta longi-1 Hacer
Si pares[i] < vmen Entonces
vmen <- pares[i]
pos_menor <-i
FinSi
FinPara

Escribir ("El valor y la posicion del numero menor es:")


Mostrar "Posicion [" pos_menor "]: " vmen;

FinProceso

Captura de la operación:
El arreglo
tiene una longitud de
20, va desde la
posición 0 a la 19, y dentro del cual se encuentran números pares
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40

Se realiza el traspaso a PHP


<?php
$pares = array();
$pares[1] = 2;
$pares[2] = 4;
$pares[3] = 6;
$pares[4] = 8;
$pares[5] = 10;
$pares[6] = 12;
$pares[7] = 14;
$pares[8] = 16;
$pares[9] = 18;
$pares[10$] = 20;
$pares[11] = 22;
$pares[12] = 24;
$pares[13] = 26;
$pares[14] = 28;
$pares[15] = 30;
$pares[16] = 32;
$pares[17] = 34;
$pares[18] = 36;
$pares[19] = 38;
$pares[20] = 40;
$longi = 20;
$contador = $longi-1;
echo 'Valores a sumar',PHP_EOL;
for ($i=0;$i<=$longi-1;$i++) {
echo 'Posicion [',$i,']: ',$pares[$i+1],PHP_EOL;
}
$suma = 0;
for ($i=0;$i<=$longi-1;$i++) {
$suma = $suma+$pares[$i+1];
}
$promedio = $suma/$longi;
echo ('la sumatoria de todos los valores es:'),$suma,PHP_EOL;
echo ('El promedio de los valores es:'),$promedio,PHP_EOL;
$vmayor = 0;
for ($i=0;$i<=$longi-1;$i++) {
if ($pares[$i+1]>$vmayor) {
$vmayor = $pares[$i+1];
$pos_mayor = $i;
}
}
echo ('El valor y la posicion del numero mayor es:'),PHP_EOL;
echo 'Posicion [',$pos_mayor,']: ',$vmayor,PHP_EOL;
$vmen = 100;
for ($i=0;$i<=$longi-1;$i++) {
if ($pares[$i+1]<$vmen) {
$vmen = $pares[$i+1];
$pos_menor = $i;
}
}
echo ('El valor y la posicion del numero menor es:'),PHP_EOL;
echo 'Posicion [',$pos_menor,']: ',$vmen,PHP_EOL;
?>

Captura de la operación en PHP


Actividad

2) Se tiene un arreglo asociativo (utilizando clave-dato) que contiene solo 10 nombres de


estudiantes y sus calificaciones.

Luego, realice un cuadro comparativo donde indique las características del arreglo de la pregunta 1 y del
arreglo asociativo de esta segunda pregunta, enumerando las diferencias que distinga en cada uno.

Desarrollo

Se realiza el siguiente algoritmo para conocer el nombre de 10 estudiantes y sus calificaciones

Algoritmo Estudiantes

Dimension estudiante[10]

estudiante['Victor'] <- 6.0


estudiante['Erick'] <- 5.8
estudiante['Bruno'] <- 2.0
estudiante['Daniel'] <- 6.5
estudiante['Luis'] <- 7.0
estudiante['Manuel'] <- 4.5
estudiante['Alex'] <- 3.3
estudiante['Katty'] <- 4.0
estudiante['Carolina'] <- 6.8
estudiante['Andrea'] <- 5.5
longi2 <- 10
contador2 <- longi2-1

Mostrar ("Nombres y calificaciones de 10 estudiantes:");

Mostrar ("Nombre: Victor, calificacion:") estudiante['Victor'];


Mostrar ("Nombre: Erick, calificacion:") estudiante['Erick'];
Mostrar ("Nombre: Bruno, calificacion:") estudiante['Bruno'];
Mostrar ("Nombre: Daniel, calificacion:") estudiante['Daniel'];
Mostrar ("Nombre: Luis, calificacion:") estudiante['Luis'];
Mostrar ("Nombre: Manuel, calificacion:") estudiante['Manuel'];
Mostrar ("Nombre: Alex, calificacion:") estudiante['Alex'];
Mostrar ("Nombre: Katty, calificacion:") estudiante['Katty'];
Mostrar ("Nombre: Carolina, calificacion:") estudiante['Carolina'];
Mostrar ("Nombre: Andrea, calificacion:") estudiante['Andrea'];

suma2 <- estudiante['Victor']+estudiante['Erick']+estudiante['Bruno']+estudiante['Daniel']


+estudiante['Luis']+estudiante['Manuel']+estudiante['Alex']+estudiante['Katty']+estudiante['Carolina']
+estudiante['Andrea'];

Mostrar ("la suma de las calificaciones es:") suma2;

promedio2 <- suma2/longi2

Mostrar ("el promedio de las calificaciones es:") promedio2;

vmayor2 <- 0
si estudiante['Victor'] > vmayor2 Entonces
vmayor2 <- estudiante['Victor']
indice_mayor <- 'Victor'
FinSi
si estudiante['Erick'] > vmayor2 Entonces
vmayor2 <- estudiante['Erick']
indice_mayor <- 'Erick'
FinSi

si estudiante['Bruno'] > vmayor2 Entonces


vmayor2 <- estudiante['Bruno']
indice_mayor <- 'Bruno'
FinSi

si estudiante['Daniel'] > vmayor2 Entonces


vmayor2 <- estudiante['Daniel']
indice_mayor <- 'Daniel'
FinSi

si estudiante['Luis'] > vmayor2 Entonces


vmayor2 <- estudiante['Luis']
indice_mayor <- 'Luis'
FinSi

si estudiante['Manuel'] > vmayor2 Entonces


vmayor2 <- estudiante['Manuel']
indice_mayor <- 'Manuel'
FinSi

si estudiante['Alex'] > vmayor2 Entonces


vmayor2 <- estudiante['Alex']
indice_mayor <- 'Alex'
FinSi

si estudiante['Katty'] > vmayor2 Entonces


vmayor2 <- estudiante['Katty']
indice_mayor <- 'Katty'
FinSi

si estudiante['Carolina'] > vmayor2 Entonces


vmayor2 <- estudiante['Carolina']
indice_mayor <- 'Carolina'
FinSi

si estudiante['Andrea'] > vmayor2 Entonces


vmayor2 <- estudiante['Andrea']
indice_mayor <- 'Andrea'
FinSi

Mostrar ("El estudiante con la mayor calificacion es:") indice_mayor;

Mostrar ("Su calificacion es:") vmayor2

vmen2 <- 7
si estudiante['Victor'] < vmen2 Entonces
vmen2 <- estudiante['Victor']
indice_menor <- 'Victor'
FinSi

si estudiante['Erick'] < vmen2 Entonces


vmen2 <- estudiante['Erick']
indice_menor <- 'Erick'
FinSi

si estudiante['Bruno'] < vmen2 Entonces


vmen2 <- estudiante['Bruno']
indice_menor <- 'Bruno'
FinSi

si estudiante['Daniel'] < vmen2 Entonces


vmen2 <- estudiante['Daniel']
indice_menor <- 'Daniel'
FinSi

si estudiante['Luis'] < vmen2 Entonces


vmen2 <- estudiante['Luis']
indice_menor <- 'Luis'
FinSi

si estudiante['Manuel'] < vmen2 Entonces


vmen2 <- estudiante['Manuel']
indice_menor <- 'Manuel'
FinSi

si estudiante['Alex'] < vmen2 Entonces


vmen2 <- estudiante['Alex']
indice_menor <- 'Alex'
FinSi

si estudiante['Katty'] < vmen2 Entonces


vmen2 <- estudiante['Katty']
indice_menor <- 'Katty'
FinSi

si estudiante['Carolina'] < vmen2 Entonces


vmen2 <- estudiante['Carolina']
indice_menor <- 'Carolina'
FinSi
si estudiante['Andrea'] < vmen2 Entonces
vmen2 <- estudiante['Andrea']
indice_menor <- 'Andrea'
FinSi

Mostrar ("El estudiante con la menor calificacion es:") indice_menor

Mostrar ("Su calificacion es:") vmen2

FinAlgoritmo

Captura de la operación
El arreglo tiene una longitud de 10 y dentro del cual se encuentran los nombres de los
estudiantes y sus calificaciones

Victor Erick Bruno Daniel Luis Manuel Alex Katty Carolin Andrea
a
6 5 2 6 7 4 3 4 6 5

Cuadro Comparativo entre arreglo común y arreglo asociativo

Arreglo Común Arreglo Asociativo


Se necesita conocer la posición, de donde fue Se necesita conocer la clave con la que fue
almacenado el dato para poder ubicarlo almacenado el dato para ser ubicado
Se puede recorrer fácilmente en forma automática No se puede recorrer de forma automática
Se puede realizar con facilidad operaciones entre Se dificulta la realización de operaciones entre los
los valores contenidos en el arreglo valores contenidos en el arreglo
Los arreglos no aceptan una cantidad de Los arreglos aceptan una cantidad de elementos
elementos mayor a la dimensión declarada mayor a la dimensión declarada

Bibliografía

(2018). Arreglo (ed., Vol. Semana 2, pp.). Santiago, IACC.