You are on page 1of 14

Arreglos

Daniel Perez

Estructuras de datos

Instituto IACC

14-04-2019.
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.

Seudocódigo

Proceso tarea_arreglos

dimension arreglo[20];
arreglo[0] <-2
arreglo[1] <-8
arreglo[2] <-12
arreglo[3] <-16
arreglo[4] <-20
arreglo[5] <-24
arreglo[6] <-28
arreglo[7] <-32
arreglo[8] <-36
arreglo[9] <-40
arreglo[10] <-44
arreglo[11] <-48
arreglo[12] <-52
arreglo[13] <-56
arreglo[14] <-60
arreglo[15] <-64
arreglo[16] <-68
arreglo[17] <-72
arreglo[18] <-76
arreglo[19] <-80

longi<-20
contador <-longi-1
mostrar "numeros pares dentro del rango de 1 a 100"
mostrar " "
para i <-0 hasta longi-1 Hacer
Mostrar "Posicion [" i "]: " arreglo[i];

finpara
suma<- 0

Para i <-0 hasta longi-1 Hacer


suma<- suma + arreglo(i)
FinPara

promedio<- suma/longi

Escribir "se suman los valores: ", suma;

Escribir "EL promedio de los valores es: " promedio;

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

Mostrar 'el valor mayor de la posicion es: '


Mostrar "Posicion [" posicion_mayor "]: " vmayor;

vmen <- 100


Para i<-0 Hasta longi-1 Hacer
Si arreglo[i] < vmenor Entonces
vmenor <- arreglo[i]
posicion_menor<-i
FinSi
FinPara

Mostrar 'el valor menor de la posicion es: '


Mostrar "Posicion [" posicion_menor "]: " vmenor;

FinProceso
En PHP seria lo siguiente:

$arreglo = array();

$arreglo[0] = 2;

$arreglo[1] = 8;

$arreglo[2] = 12;

$arreglo[3] = 16;

$arreglo[4] = 20;

$arreglo[5] = 24;

$arreglo[6] = 28;

$arreglo[7] = 32;

$arreglo[8] = 36;

$arreglo[9] = 40;

$arreglo[10] = 44;

$arreglo[11] = 48;

$arreglo[12] = 52;

$arreglo[13] = 56;

$arreglo[14] = 60;

$arreglo[15] = 64;

$arreglo[16] = 68;

$arreglo[17] = 72;

$arreglo[18] = 76;

$arreglo[19] = 80;

$longi = 20;
$contador = $longi-1;

echo 'Numeros pares del 1 al 100: ',PHP_EOL;

echo '',PHP_EOL . "<br>";

for ($i=0;$i<=$longi-1;$i++) {

echo 'Posicion [',$i,']: ',$arreglo[$i+1],PHP_EOL;

$suma = 0;

for ($i=0;$i<=$longi-1;$i++) {

$suma = $suma+$arreglo[$i+1];

$promedio = $suma/$longi;

echo ('suma de todos los elementos: '),$suma,PHP_EOL;

echo 'promedio: ',$promedio,PHP_EOL;

$valor_mayor = 0;

for ($i=0;$i<=$longi-1;$i++) {

if ($arreglo[$i+1]>$valor_mayor) {

$valor_mayor = $arreglo[$i+1];

$pos_mayor = $i;

}
}

echo 'Numero mayor de la posicion: ',PHP_EOL;

echo 'Posicion [',$pos_mayor,']: ',$valor_mayor,PHP_EOL . "<br>";

$vmenor = 100;

for ($i=0;$i<=$longi-1;$i++) {

if ($arreglo[$i+1]<$vmenor) {

$vmenor = $arreglo[$i+1];

$pos_menor = $i;

echo 'numero menor de la posicion: ',PHP_EOL;

echo 'Posicion [',$pos_menor,']: ',$vmenor,PHP_EOL;

?>
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.

Proceso calificaciones_alumnos

Dimension calificaciones[10];
calificaciones['David'] <-6.6
calificaciones['Marlen'] <-5.5
calificaciones['Cristian'] <-5.5
calificaciones['Alexis'] <-4.2
calificaciones['Marianela'] <-6.7
calificaciones['Francisca'] <-6.1
calificaciones['Fernando'] <-6.6
calificaciones['Marcela'] <-5.6
calificaciones['Leandro'] <-4.4
calificaciones['Hugo'] <-4.8

longi<-10
contador<- longi-1

Mostrar "calificaciones por estudiante: ";


Mostrar "";

Mostrar "Nombre: David, Calificacion: " calificaciones['David'];


Mostrar "Nombre: Marlen, Calificacion: " calificaciones['Marlen'];
Mostrar "Nombre: Cristian, Calificacion: " calificaciones['Cristian'];
Mostrar "Nombre: Alexis, Calificacion: " calificaciones['Alexis'];
Mostrar "Nombre: Marianela, Calificacion: " calificaciones['Marianela'];
Mostrar "Nombre: Francisca, Calificacion: " calificaciones['Francisca'];
Mostrar "Nombre: Fernado, Calificacion: " calificaciones['Fernando'];
Mostrar "Nombre: Marcela, Calificacion: " calificaciones['Marcela'];
Mostrar "Nombre: Leandro, Calificacion: " calificaciones['Leandro'];
Mostrar "Nombre: Hugo, Calificacion: " calificaciones['Hugo'];
Suma de la totalidad de las calificaciones

suma<-
calificaciones['David']+calificaciones['Marlen']+calificaciones['Cristian']+calificaciones['Alexis']
+calificaciones['Marianela']+calificaciones['Francisca']+calificaciones['Fernando']+calificaciones
['Marcela']+calificaciones['Leandro']+calificaciones['Hugo'];
Mostrar "";
Mostrar "Suma de todas las notas: " suma;

Alumno con la calificación más baja

valor_menor<-7.0
Si calificaciones['David'] < valor_menor Entonces
vmen2 <- calificaciones['David']
indice_menor<-'David'
FinSi
Si calificaciones['Marlen'] < valor_menor Entonces
valor_menor <- calificaciones['Marlen']
indice_menor<-'Marlen'
FinSi
Si calificaciones['Cristian'] < valor_menor Entonces
valor_menor <- calificaciones['Cristian']
indice_menor<-'Cristian'
FinSi
Si calificaciones['Alexis'] < valor_menor Entonces
valor_menor <- calificaciones['Alexis']
indice_menor<-'Alexis'
FinSi
Si calificaciones['Marianela'] < valor_menor Entonces
valor_menor <- calificaciones['Marianela']
indice_menor<-'Marianela'
FinSi
Si calificaciones['Francisca'] < valor_menor Entonces
valor_menor <- calificaciones['Francisca']
indice_menor<-'Francisca'
FinSi
Si calificaciones['Fernando'] < valor_menor Entonces
valor_menor <- calificaciones['Fernando']
indice_menor<-'Fernando'
FinSi
Si calificaciones['Marcela'] < valor_menor Entonces
valor_menor <- calificaciones['Marcela']
indice_menor<-'Marcela'
FinSi
Si calificaciones['Leandro'] < valor_menor Entonces
valor_menor <- calificaciones['Leandro']
indice_menor<-'Leandro'
FinSi
Si calificaciones['Hugo'] < valor_menor Entonces
valor_menor <- calificaciones['Hugo']
indice_menor<-'Hugo'
FinSi

Mostrar 'Estudiante con la nota mas baja: ' indice_menor;


Mostrar "Su calificación : " valor_menor;
Mostrar "";
Alumno con la calificación más alta

valor_mayor<-1
Si calificaciones['David'] > valor_mayor Entonces
valor_mayor <- calificaciones['David']
indice_mayor<-'David'
FinSi
Si calificaciones['Marlen'] > valor_mayor Entonces
valor_mayor <- calificaciones['Marlen']
indice_mayor<-'Marlen'
FinSi
Si calificaciones['Cristian'] > valor_mayor Entonces
valor_mayor <- calificaciones['Cristian']
indice_mayor<-'Cristian'
FinSi
Si calificaciones['Alexis'] > valor_mayor Entonces
valor_mayor <- calificaciones['Alexis']
indice_mayor<-'Alexis'
FinSi
Si calificaciones['Marianela'] > valor_mayor Entonces
valor_mayor <- calificaciones['Marianela']
indice_mayor<-'Marianela'
FinSi
Si calificaciones['Francisca'] > valor_mayor Entonces
valor_mayor <- calificaciones['Francisca']
indice_mayor<-'Francisca'
FinSi
Si calificaciones['Fernando'] > valor_mayor Entonces
valor_mayor <- calificaciones['Fernando']
indice_mayor<-'Fernando'
FinSi
Si calificaciones['Marcela'] > valor_mayor Entonces
valor_mayor <- calificaciones['Marcela']
indice_mayor<-'Marcela'
FinSi
Si calificaciones['Leandro'] > valor_mayor Entonces
valor_mayor <- calificaciones['Leandro']
indice_mayor<-'Leandro'
FinSi
Si calificaciones['Hugo'] > valor_mayor Entonces
valor_mayor <- calificaciones['Hugo']
indice_mayor<-'Hugo'
FinSi

Mostrar 'Estudiante con la mayor Nota : ' indice_mayor;


Mostrar "Su calificación: " valor_mayor;
Mostrar "";

Promedio de las calificaciones

promedio <-suma/longi
Mostrar "";
Mostrar "Promedio final de las notas : " promedio;
Mostrar "";

FinProceso
Cuadro comparativo

Arreglo Secuencial Arreglo Asociativo

la clave es un índice numérico, y Su clave es un string, un texto


por esto que se conoce como identificador.
array indexados
En el caso de que se utilice
pseudocódigo, este array no va
dejar ingresar elementos que Si acepta.
superen a la dimensión que estas
declarando.

No es necesariamente seguir un
Sus índices tienen que seguir una orden.
secuencia, es decir en un orden.

Si se desea buscar una


La información se puede buscar a
información dentro del arreglo se
través de su clave.
tiene que saber su ubicación
exacta.

Debido a que su clave es


Son más limitadas en comparación de
numérica, tiende hacer más
array secuencial.
extensa la cantidad de
información ingresada.
Bibliografía

 Iacc (2019) estructura de datos.

 Recursos complementarios.

 Monografías(2017) arreglos asociativos

You might also like