Pontificia Universidad Católica de Valparaíso
                         Facultad de Ingeniería
                   Escuela d...
Pontificia Universidad Católica de Valparaíso
                                Escuela de Ingeniería Informática



 Arrays...
Pontificia Universidad Católica de Valparaíso
                               Escuela de Ingeniería Informática



 Arrays ...
Pontificia Universidad Católica de Valparaíso
                                      Escuela de Ingeniería Informática



 ...
Pontificia Universidad Católica de Valparaíso
                                   Escuela de Ingeniería Informática



 Arr...
Pontificia Universidad Católica de Valparaíso
                               Escuela de Ingeniería Informática



        ...
Pontificia Universidad Católica de Valparaíso
                                 Escuela de Ingeniería Informática



algori...
Pontificia Universidad Católica de Valparaíso
                                Escuela de Ingeniería Informática



 Arrays...
Pontificia Universidad Católica de Valparaíso
                              Escuela de Ingeniería Informática



 Arrays U...
Pontificia Universidad Católica de Valparaíso
                                      Escuela de Ingeniería Informática



 ...
Pontificia Universidad Católica de Valparaíso
                                 Escuela de Ingeniería Informática



 Array...
Pontificia Universidad Católica de Valparaíso
                               Escuela de Ingeniería Informática



 Arrays ...
Pontificia Universidad Católica de Valparaíso
                      Escuela de Ingeniería Informática



                 ...
Pontificia Universidad Católica de Valparaíso
                               Escuela de Ingeniería Informática



Algoritm...
Pontificia Universidad Católica de Valparaíso
                                            Escuela de Ingeniería Informátic...
Pontificia Universidad Católica de Valparaíso
                                       Escuela de Ingeniería Informática



...
Pontificia Universidad Católica de Valparaíso
                                    Escuela de Ingeniería Informática



 Ar...
Pontificia Universidad Católica de Valparaíso
                                   Escuela de Ingeniería Informática



 Arr...
Pontificia Universidad Católica de Valparaíso
                       Escuela de Ingeniería Informática



                ...
Pontificia Universidad Católica de Valparaíso
                          Escuela de Ingeniería Informática



             ...
Pontificia Universidad Católica de Valparaíso
                    Escuela de Ingeniería Informática




       se pueden d...
Próxima SlideShare
Cargando en…5
×

[Inf 140] Algoritmos Y Arreglos (1 X Hoja)

4.175 visualizaciones

Publicado el

Publicado en: Estilo de vida
0 comentarios
2 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
4.175
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
201
Comentarios
0
Recomendaciones
2
Insertados 0
No insertados

No hay notas en la diapositiva.

[Inf 140] Algoritmos Y Arreglos (1 X Hoja)

  1. 1. Pontificia Universidad Católica de Valparaíso Facultad de Ingeniería Escuela de Ingeniería Informática “Algoritmos y Arreglos” Asignatura INF 140 – Informática I Profesores Pamela Hermosilla Monckton Daniel Cabrera Paniagua Profesores PHM/DCP
  2. 2. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Arrays Unidimensionales (Vectores) - Un array es un conjunto finito y ordenado de elementos homogéneos Cada elemento puede ser identificado Son del mismo tipo de datos - Un array unidimensional o vector es el tipo de array más simple Arreglo notas 70 65 62 60 58 55 50 notas[1] = 70 notas[2] = 65 notas[n] notas[3] = 62 notas[4] = 60 Subíndice designa la posición del elemento en el vector Profesores INF 140 – Informática I PHM/DCP
  3. 3. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Arrays Unidimensionales (Vectores) - Las operaciones que se pueden realizar con vectores son: asignación, lectura, escritura, recorrido, actualización (añadir, borrar, insertar), ordenación, búsqueda. - La notación algorítmica que utilizaremos es la siguiente: <tipo de dato> : <nombre_del_arreglo> [1..dimension] entero: numero[1..100] Profesores INF 140 – Informática I PHM/DCP
  4. 4. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Arrays Unidimensionales (Vectores) sin array … con array … (muchas variables) var real: nota[1..3], sum var … real: nota1,nota2, nota3, sum desde i 1 hasta 3 hacer escribir(“nota ”,i, “ = ”) … leer(nota[i]) escribir(“nota 1 = “) fin_desde leer(nota1) … sum 0 sum nota1 + nota2 + nota3 desde i 1 hasta 3 hacer sum sum + nota[i] fin_desde Profesores INF 140 – Informática I PHM/DCP
  5. 5. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Arrays Unidimensionales (Ejemplos) var entero: temp[1..24],min, max, i real: prom, nota[1..45] const max_hora = 24 total = 45 var entero: temp[1..max_hora],min, max, i real: prom, nota[1..total] Profesores INF 140 – Informática I PHM/DCP
  6. 6. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Ejemplo algoritmo ejemplo const max_alumnos = 50 var entero: n, i real: prom, nota[1.. max_alumnos] inicio repetir escribir(“Ingrese la cantidad de alumnos. El máximo de alumnos es cincuenta”) leer(n) hasta_que ((n > 0) ∧ (n <= max_alumnos)) escribir(“Ingresar notas de alumnos”) desde i 1 hasta n hacer escribir(“Nota alumno ”,i,“= ”) leer(nota[i]) fin_desde Profesores INF 140 – Informática I PHM/DCP
  7. 7. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática algoritmo malo var entero: n, temp[1.. n] inicio repetir escribir(“n = “) leer(n) hasta_que n > 0 desde i 1 hasta n hacer … MAL Profesores INF 140 – Informática I PHM/DCP
  8. 8. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Arrays Unidimensionales (Vectores) Asignación: <nombre del array> [subindice] <valor> numero[2] 5 numero[x] x+y numero[a] temp[5] + 2 desde i 1 hasta 5 hacer numero[i] 8 fin_desde Profesores INF 140 – Informática I PHM/DCP
  9. 9. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Arrays Unidimensionales (Vectores) Lectura: leer (<nombre del array>[subindice]) leer (numero[4]) leer (numero[x]) leer (numero[a+b]) Escritura: escribir (<nombre del array>[subindice]) escribir (“el número es: ”,numero[3]) escribir (“el número es: ”,numero[a]) Profesores INF 140 – Informática I PHM/DCP
  10. 10. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Arrays Unidimensionales (Vectores) Inserción: /* Se desea insertar nuevo_elemento en la posición p */ /* i corresponde al índice del penúltimo elemento*/ mientras (i >= p) hacer autos[i+1] autos[i] i i–1 fin_mientras autos[p] nuevo_elemento Profesores INF 140 – Informática I PHM/DCP
  11. 11. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Arrays Unidimensionales (Vectores) Eliminar: /* Se desea eliminar elemento en la posición j */ /* n corresponde al índice del último elemento*/ desde (i j) hasta n-1 hacer autos[i] autos[i+1] fin_desde Profesores INF 140 – Informática I PHM/DCP
  12. 12. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Arrays Unidimensionales (Vectores) Imprimir - Escribir hasta el momento se ha asumido que cada <escribir> escribe en una línea nueva ...de ahora en adelante… se asume que todo es escrito en la misma línea saltar_linea especifica que habrá un salto de línea desde i 1 hasta 4 hacer ana pedro luis felipe escribir(nombre[i],“ ”) 22 19 26 21 fin_desde saltar_linea desde i 1 hasta 4 hacer escribir(edad[i],“ ”) fin_desde Profesores INF 140 – Informática I PHM/DCP
  13. 13. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Ejercicio Desarrollar un algoritmo que permita recibir 50 números en un arreglo unidimensional, y luego los liste. Desarrollar un algoritmo que permita recibir 50 números en un arreglo unidimensional, y luego los liste (en ambos sentidos). Desarrollar un algoritmo que permita recibir 50 números en un arreglo unidimensional, y luego los liste (en ambos sentidos). Utilizar procedimientos. Profesores INF 140 – Informática I PHM/DCP
  14. 14. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Algoritmo listar_numeros Var entero: contador, numeros[1.. 50] Inicio contador <- 1 repetir escribir(“Ingrese un número”) leer(numeros[contador]) contador <- contador + 1 hasta_que (contador = 51) contador <- 1 escribir(“Se listan los números ingresados”) saltar_linea repetir escribir(numeros[contador]) saltar_linea contador <- contador + 1 hasta_que (contador = 51) Fin Profesores INF 140 – Informática I PHM/DCP
  15. 15. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Arrays Bidimensionales (Matrices) Un array bidimensional se puede considerar como un vector de vectores. Es por consiguiente, un conjunto de elementos homogéneos y ordenados en el que se necesita especificar dos subíndices para poder identificar cada elemento del array. notas[1,1] notas[1,2] .............. notas[1,n] notas[2,1] notas[2,2] ............ notas[2,n] Fila 1 ............. Fila 2 notas[i,1] notas[i,2] ............. notas[i,n] ............. Fila i notas[m,1] notas[m,2] .............. notas[m,n] Fila m Columna n Columna 1 Columna 2 Profesores INF 140 – Informática I PHM/DCP
  16. 16. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Arrays Bidimensionales (Matrices) Las operaciones que se pueden realizar con matrices son: asignación, lectura, escritura, recorrido, actualización (añadir, borrar, insertar), ordenación, búsqueda. La notación algorítmica que utilizaremos es la siguiente: <tipo de dato> : <nombre_del_arreglo> [1..dim_fila,1..dim_columna] real: venta[1..3,1..5] Asignación: <nombre del array> [subindice fila,subindice columna] <valor> numero[1,1] 5 desde i 1 hasta 3 hacer desde j 1 hasta 5 hacer numero[i,j] 0 fin_desde fin_desde Profesores INF 140 – Informática I PHM/DCP
  17. 17. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Arrays Bidimensionales (Matrices) Llenado por filas desde i 1 hasta m hacer escribir(“datos fila ”,i) saltar_linea desde j 1 hasta n hacer escribir(“dato posición ”,i, “ – ”,j, “ = ”) leer(nota[i,j]) fin_desde fin_desde Llenado por columnas desde a 1 hasta n hacer escribir(“datos columna “,a) saltar_linea desde b 1 hasta m hacer escribir(“dato posición ”,b,“ –”,a, “ = ”) leer(nota[b,a]) fin_desde fin_desde Profesores INF 140 – Informática I PHM/DCP
  18. 18. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Arrays Bidimensionales (Matrices) Lectura: leer (<nombre del array> [subindice fila, subindice columna]) leer (numero[2,4]) leer (numero[a,b]) Escritura: escribir (<nombre del array>)[subindice fila, subindice columna]) escribir (“la contidad es: ”, numero[6,7]) Profesores INF 140 – Informática I PHM/DCP
  19. 19. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Ejercicio Uno de los restorantes más importantes del país se encuentra en un proceso de renovación tecnológica, por ello requiere de un software que gestione los distintos platos que tiene al servicio de sus clientes. El gerente de este establecimiento tiene plena confianza en los estudiantes de la PUCV, razón por la cual le ha solicitado a los alumnos de INF-140 que construyan un algoritmo que realice lo siguiente: Profesores INF 140 – Informática I PHM/DCP
  20. 20. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Ejercicio 1) Ingreso de los platos ofrecidos al público, para ello debe almacenar el nombre del plato, sus ingredientes y el precio. Haga un bosquejo de los arrays utilizados describiendo claramente los datos que se almacenan en ellos. 2) Eliminación de un plato elegido por el usuario. Suponga que no se ingresan platos repetidos. 3) Cuantos platos tienen al menos 3 ingredientes en común. Los 3 ingredientes deben ser ingresados por el usuario. 4) Cuantos platos tienen “N” ingredientes. “N” debe ser ingresado por el usuario. Profesores INF 140 – Informática I PHM/DCP
  21. 21. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática se pueden definir & usar … arreglos multidimensionales ¿? ☺ Profesores INF 140 – Informática I PHM/DCP

×