You are on page 1of 15

Arreglos

Miguel Navarro Contreras


Estructuras de Datos
Instituto IACC
13 de Agosto 2018
Instrucciones: lea atentamente y luego responda.

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.

Pseudocódigo:

Proceso Tarea
// arreglo que contiene solo 20 números pares entre el 1 y 100
Dimension arreglo[20];
arreglo[0] <-2
arreglo[1] <-4
arreglo[2] <-6
arreglo[3] <-8
arreglo[4] <-10
arreglo[5] <-12
arreglo[6] <-14
arreglo[7] <-16
arreglo[8] <-18
arreglo[9] <-20
arreglo[10] <-22
arreglo[11] <-24
arreglo[12] <-26
arreglo[13] <-28
arreglo[14] <-30
arreglo[15] <-32
arreglo[16] <-34
arreglo[17] <-36
arreglo[18] <-38
arreglo[19] <-40
longi<-20
contador<- longi-1
Mostrar "A continuación se muestra un arreglo que contiene solo 20 números
pares entre el 1 y 100: ";
Mostrar "";
para i <-0 hasta longi-1 Hacer
Mostrar "Posicion [" i "]: " arreglo[i];

FinPara
//se realizará la sumatoria de todos los valores del arreglo
suma<- 0

Para i <-0 hasta longi-1 Hacer


suma<- suma + arreglo(i)
FinPara

promedio<- suma/longi

Escribir ("********************************************************");
Escribir ("Se procede a realizar la suma de todos los valores de este arreglo, a lo
que da como resultado el valor de: "), suma;
Escribir ("********************************************************");
Escribir "EL promedio de los valores del arreglo, corresponde a: " promedio;

// imprimir la posición y el valor del mayor


vmayor <- 0
Para i<-0 Hasta longi-1 Hacer
Si arreglo[i] > vmayor Entonces
vmayor <- arreglo[i]
pos_mayor<-i //variable que guarda la posicion
correspondiente al valor mayor
FinSi
FinPara
Escribir ("********************************************************");
Mostrar 'La posición y valor del número mayor es: '
Mostrar "Posicion [" pos_mayor "]: " vmayor;

// imprimir la posición y el valor del menor


vmen <- 100 //Se debe colocar el valor maximo indicado para el arreglo, para asi
buscar el valor menor.
Para i<-0 Hasta longi-1 Hacer
Si arreglo[i] < vmen Entonces
vmen <- arreglo[i]
pos_menor<-i //variable que guarda la posicion
correspondiente al valor menor
FinSi
FinPara
Escribir ("********************************************************");
Mostrar 'La posición y valor del número menor es: '
Mostrar "Posicion [" pos_menor "]: " vmen;

FinProceso
PHP:

<?php

// arreglo que contiene solo 20 números pares entre el 1 y 100


$arreglo = array();
$arreglo[1] = 2;
$arreglo[2] = 4;
$arreglo[3] = 6;
$arreglo[4] = 8;
$arreglo[5] = 10;
$arreglo[6] = 12;
$arreglo[7] = 14;
$arreglo[8] = 16;
$arreglo[9] = 18;
$arreglo[10] = 20;
$arreglo[11] = 22;
$arreglo[12] = 24;
$arreglo[13] = 26;
$arreglo[14] = 28;
$arreglo[15] = 30;
$arreglo[16] = 32;
$arreglo[17] = 34;
$arreglo[18] = 36;
$arreglo[19] = 38;
$arreglo[20] = 40;
$longi = 20;
$contador = $longi-1;
echo 'A continuación se muestra un arreglo que contiene solo 20 números pares
entre el 1 y 100: ',PHP_EOL;
echo '',PHP_EOL;
for ($i=0;$i<=$longi-1;$i++) {
echo 'Posicion [',$i,']: ',$arreglo[$i+1],PHP_EOL;
}
// Se realiza la suma de todos los valores del arreglo
$suma = 0;
for ($i=0;$i<=$longi-1;$i++) {
$suma = $suma+$arreglo[$i+1];
}
$promedio = $suma/$longi;
echo ('********************************************************'),PHP_EOL;
echo ('Se realiza la suma de todos los valores de este arreglo, Dándonos como
resultado el valor de: '),$suma,PHP_EOL;
echo ('********************************************************'),PHP_EOL;
echo 'El promedio de los valores del arreglo, es: ',$promedio,PHP_EOL;
// imprimir Posición y el valor del mayor
$vmayor = 0;
for ($i=0;$i<=$longi-1;$i++) {
if ($arreglo[$i+1]>$vmayor) {
$vmayor = $arreglo[$i+1];
// variable que guarda la posicion correspondiente al valor mayor
$pos_mayor = $i;
}
}
echo ('********************************************************'),PHP_EOL;
echo 'Posición y valor del número mayor es: ',PHP_EOL;
echo 'Posicion [',$pos_mayor,']: ',$vmayor,PHP_EOL;
// imprimir posición y el valor del Numero menor
// Colocar el valor máximo indicado para el arreglo, para así buscar el valor
menor.
$vmen = 100;
for ($i=0;$i<=$longi-1;$i++) {
if ($arreglo[$i+1]<$vmen) {
$vmen = $arreglo[$i+1];
// variable que guarda la posicion correspondiente al valor menor
$pos_menor = $i;
}
}
echo ('********************************************************'),PHP_EOL;
echo 'La posición y valor del número menor es: ',PHP_EOL;
echo 'Posicion [',$pos_menor,']: ',$vmen,PHP_EOL;
?>
2) Se tiene un arreglo asociativo (utilizando clave-dato) que contiene solo 10 nombres
de estudiantes y sus calificaciones.

Algoritmo tarea
Escribir ("********************************************************");
Mostrar ""
Mostrar "Ejercicio 2"
Mostrar "";

// arreglo que contiene solo 10 nombres de estudiantes y sus calificaciones


Dimension calificaciones[10];
calificaciones['Luis'] <-5.9
calificaciones['Miguel'] <-7.0
calificaciones['Emanuel'] <-4.8
calificaciones['Camila'] <-3.9
calificaciones['Fernanda'] <-6.3
calificaciones['Rafael'] <-6.8
calificaciones['Emilia'] <-5.5
calificaciones['Josefa'] <-4.3
calificaciones['Sergio'] <-6.2
calificaciones['Soledad'] <-6.9

longi2<-10
contador2<- longi2-1

Mostrar "A continuación se muestra un arreglo que contiene las calificaciones de


10 estudiantes: ";
Mostrar "";

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


Mostrar "Nombre: Miguel, Calificacion: " calificaciones['Miguel'];
Mostrar "Nombre: Emanuel, Calificacion: " calificaciones['Emanuel'];
Mostrar "Nombre: Camila, Calificacion: " calificaciones['Camila'];
Mostrar "Nombre: Fernanda, Calificacion: " calificaciones['Fernanda'];
Mostrar "Nombre: Rafael, Calificacion: " calificaciones['Rafel'];
Mostrar "Nombre: Emilia, Calificacion: " calificaciones['Emilia'];
Mostrar "Nombre: Josefa, Calificacion: " calificaciones['Josefa'];
Mostrar "Nombre: Sergio, Calificacion: " calificaciones['Sergio'];
Mostrar "Nombre: Soledad, Calificacion: " calificaciones['Soledad'];

//Suma
suma2<- calificaciones['Luis']+calificaciones['Miguel']+calificaciones['Emanuel']
+calificaciones['Camila']+calificaciones['Fernanda']+calificaciones['Rafel']
+calificaciones['Emilia']+calificaciones['Josefa']+calificaciones['Sergio']
+calificaciones['Soledad'];
Mostrar "";
Mostrar "La sumatoria de las calificaciones, es: " suma2;

//Promedio
promedio2<-suma2/longi2
Mostrar "";
Mostrar "El promedio de las calificaciones, es: " promedio2;
Mostrar "";

//Valor mayor
vmayor2<-0
Si calificaciones['Luis'] > vmayor2 Entonces
vmayor2 <- calificaciones['Luis']
indice_mayor<-'Luis' //variable que guarda el indice correspondiente
al valor mayor
FinSi
Si calificaciones['Miguel'] > vmayor2 Entonces
vmayor2 <- calificaciones['Miguel']
indice_mayor<-'Miguel' //variable que guarda el indice correspondiente
al valor mayor
FinSi
Si calificaciones['Emanuel'] > vmayor2 Entonces
vmayor2 <- calificaciones['Emanuel']
indice_mayor<-'Emanuel' //variable que guarda el indice correspondiente
al valor mayor
FinSi
Si calificaciones['Camila'] > vmayor2 Entonces
vmayor2 <- calificaciones['Camila']
indice_mayor<-'Camila' //variable que guarda el indice correspondiente
al valor mayor
FinSi
Si calificaciones['Fernanda'] > vmayor2 Entonces
vmayor2 <- calificaciones['Fernanda']
indice_mayor<-'Fernanda' //variable que guarda el indice correspondiente
al valor mayor
FinSi
Si calificaciones['Rafael'] > vmayor2 Entonces
vmayor2 <- calificaciones['Rafael']
indice_mayor<-'Rafael' //variable que guarda el indice correspondiente
al valor mayor
FinSi
Si calificaciones['Emilia'] > vmayor2 Entonces
vmayor2 <- calificaciones['Emilia']
indice_mayor<-'Emilia' //variable que guarda el indice correspondiente
al valor mayor
FinSi
Si calificaciones['Josefa'] > vmayor2 Entonces
vmayor2 <- calificaciones['Josefa']
indice_mayor<-'Josefa' //variable que guarda el indice correspondiente
al valor mayor
FinSi
Si calificaciones['Sergio'] > vmayor2 Entonces
vmayor2 <- calificaciones['Sergio']
indice_mayor<-'Sergio' //variable que guarda el indice correspondiente
al valor mayor
FinSi
Si calificaciones['Soledad'] > vmayor2 Entonces
vmayor2 <- calificaciones['Soledad']
indice_mayor<-'Soledad' //variable que guarda el indice correspondiente
al valor mayor
FinSi

Mostrar 'El alumno con la calificacion mayor, es: ' indice_mayor;


Mostrar "Su nota, es: " vmayor2;
Mostrar "";

//Valor menor
vmen2<-7
Si calificaciones['Luis'] < vmen2 Entonces
vmen2 <- calificaciones['Luis']
indice_menor<-'Luis' //variable que guarda el indice correspondiente
al valor menor
FinSi
Si calificaciones['Miguel'] < vmen2 Entonces
vmen2 <- calificaciones['Miguel']
indice_menor<-'Miguel'
FinSi
Si calificaciones['Emanuel'] < vmen2 Entonces
vmen2 <- calificaciones['Emanuel']
indice_menor<-'Emanuel'
FinSi
Si calificaciones['Camila'] < vmen2 Entonces
vmen2 <- calificaciones['Camila']
indice_menor<-'Camila'
FinSi
Si calificaciones['Fernanda'] < vmen2 Entonces
vmen2 <- calificaciones['Fernanda']
indice_menor<-'Fernanda'
FinSi
Si calificaciones['Rafael'] < vmen2 Entonces
vmen2 <- calificaciones['Rafael']
indice_menor<-'Rafael'
FinSi
Si calificaciones['Emilia'] < vmen2 Entonces
vmen2 <- calificaciones['Emilia']
indice_menor<-'Emilia'
FinSi
Si calificaciones['Josefa'] < vmen2 Entonces
vmen2 <- calificaciones['Josefa']
indice_menor<-'Josefa'
FinSi
Si calificaciones['Sergio'] < vmen2 Entonces
vmen2 <- calificaciones['Sergio']
indice_menor<-'Sergio'
FinSi
Si calificaciones['Soledad'] < vmen2 Entonces
vmen2 <- calificaciones['Soledad']
indice_menor<-'Soledad'
FinSi

Mostrar 'El alumno con la calificacion menor, es: ' indice_menor;


Mostrar "Su nota, es: " vmen2;
Mostrar "";
FinAlgoritmo
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.

Arreglos
Bibliografía

IACC (2018). Estructuras de Datos. (Arreglos) Semana 2

http://phptester.net/

You might also like