Pontificia Universidad Católica de Valparaíso
                                                                            ...
Pontificia Universidad Católica de Valparaíso                                                              Pontificia Univ...
Pontificia Universidad Católica de Valparaíso                                                                 Pontificia U...
Pontificia Universidad Católica de Valparaíso                                                 Pontificia Universidad Catól...
Próxima SlideShare
Cargando en…5
×

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

7.682 visualizaciones

Publicado el

Publicado en: Estilo de vida, Educación
0 comentarios
1 recomendación
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
7.682
En SlideShare
0
De insertados
0
Número de insertados
15
Acciones
Compartido
0
Descargas
220
Comentarios
0
Recomendaciones
1
Insertados 0
No insertados

No hay notas en la diapositiva.

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

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

×