75.40 Algoritmos y Programación I Síntesis Teórica Cátedra: Ing. Domingo T. Mandrafina Algoritmos y Programación I - Cáted...
75.40 Algoritmos y Programación I Síntesis Teórica Cátedra: Ing. Domingo T. Mandrafina Algoritmos y Programación I - Cáted...
Indice <ul><li>Vectores y Matrices  4 </li></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
Vectores y Matrices <ul><li>Vectores: Introducción </li></ul><ul><ul><li>Con lo aprendido hasta ahora  resolvamos los sigu...
Vectores y Matrices <ul><li>Es posible resolver estos problemas? Por qué? </li></ul><ul><li>Una de las principales dificul...
Vectores y Matrices <ul><li>Una estructura de datos es un conjunto de datos con un cierto orden.  </li></ul><ul><li>Las es...
Vectores y Matrices Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina Tipos de  Estructuras Estáticas Diná...
Vectores <ul><li>Qué es un vector? Un vector (o arreglo unidimensional) es una estructura de datos en la cual se almacena ...
Vectores Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina Mi_vector Nombre de  la variable Elementos Posi...
Vectores <ul><li>Ejemplos: </li></ul><ul><ul><li>Ejemplo 1. Resolvamos este primer ejemplo: </li></ul></ul><ul><ul><li>Car...
Vectores <ul><li>Ejemplo 1 - Diagrama de Jackson  </li></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandraf...
Vectores - Ejemplo1 <ul><li>Program Ejemplo1; {Version 1} </li></ul><ul><li>type </li></ul><ul><li>sumandos = array[1..10]...
Vectores - Ejemplo1 <ul><li>Program Ejemplo1; {Version 2} </li></ul><ul><li>type </li></ul><ul><li>sumandos = array[1..10]...
Vectores - Declaración <ul><li>Como ya dijimos anteriormente, los arreglos son estructuras de datos, por lo tanto las mism...
Vectores - Declaración <ul><li>Luego de la declaración del tipo, se declara la variable. </li></ul><ul><li>formato </li></...
Vectores - Declaración <ul><li>Ejemplos de declaraciones: </li></ul><ul><li>Ej1: </li></ul><ul><ul><li>type </li></ul></ul...
Vectores - Declaración <ul><li>Ejemplos de declaraciones: </li></ul><ul><li>Ej2: </li></ul><ul><li>const </li></ul><ul><ul...
Vectores - Manejo de índices <ul><li>Asignación de valores </li></ul><ul><ul><li>Texto[3] := ´a´; </li></ul></ul><ul><ul><...
Vectores - Manejo de índices <ul><ul><li>Ej3: </li></ul></ul><ul><ul><li>const </li></ul></ul><ul><ul><li>longitud = 40; <...
Vectores - Manejo de índices <ul><ul><li>Ej4: </li></ul></ul><ul><ul><li>type </li></ul></ul><ul><ul><li>DiasSemana = (Lun...
Vectores - Operaciones <ul><li>Con la siguiente declaración: </li></ul><ul><ul><li>type </li></ul></ul><ul><ul><li>T_Notas...
Vectores - Operaciones <ul><li>Escritura de un vector </li></ul><ul><li>for  i:= 1 to 30 do  </li></ul><ul><li>writeln(Not...
Vectores - Operaciones <ul><li>Con la siguiente declaración: </li></ul><ul><ul><li>type </li></ul></ul><ul><ul><li>T_Notas...
Vectores - Ejemplos resueltos <ul><li>  Ej2- Dados  50 números enteros, obtener el promedio de ellos. Mostrar por pantalla...
Vectores - Ejemplos resueltos <ul><li>Program Ej2;  </li></ul><ul><li>const </li></ul><ul><li>max = 50; </li></ul><ul><li>...
Vectores - Ejemplos resueltos <ul><li>for  i:= 1 to max do  </li></ul><ul><li>begin </li></ul><ul><li>read(numeros[i] ) </...
Vectores - Ejemplos resueltos <ul><li>Program Ej3;  </li></ul><ul><li>const </li></ul><ul><li>max = 100; </li></ul><ul><li...
Vectores - Ejemplos resueltos <ul><li>for  i:= 1 to n do  </li></ul><ul><li>begin </li></ul><ul><li>read(numeros[i] ) </li...
Vectores - Vectores Paralelos  <ul><li>Dos o más arreglos que utilizan el mismo subíndice para acceder a elementos de dist...
Matrices <ul><li>Resolvamos el siguiente problema: </li></ul><ul><ul><li>Un instituto desea controlar los resultados de lo...
Matrices <ul><li>Es posible resolver este problema con lo visto hasta ahora?  </li></ul><ul><li>Para realizar el anterior ...
Matrices Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina Mi_Matriz Nombre de  la variable Posición :  3,...
Matrices - Declaraciones <ul><li>Ejemplos de declaraciones: </li></ul><ul><li>Ej1: </li></ul><ul><ul><li>type </li></ul></...
Matrices - Declaraciones <ul><li>Ejemplos de declaraciones: </li></ul><ul><li>Ej2: </li></ul><ul><ul><li>type </li></ul></...
Matrices - Declaraciones <ul><li>Ejemplos de declaraciones: </li></ul><ul><li>Ej3: </li></ul><ul><ul><li>type </li></ul></...
Matrices - Operaciones <ul><li>Con la siguiente declaración: </li></ul><ul><ul><li>type </li></ul></ul><ul><ul><li>  T_mat...
Matrices - Operaciones <ul><li>Escritura de una matriz </li></ul><ul><li>for  i:= 1 to 10 do  </li></ul><ul><li>for  j:= 1...
Matrices - Ejemplos resueltos <ul><li>  Ej4. Un instituto desea controlar los resultados de los alumnos en las distintas a...
Matrices - Ejemplos resueltos <ul><li>Program Ej4;  </li></ul><ul><li>const </li></ul><ul><li>max_fila = 6 ; </li></ul><ul...
Matrices - Ejemplos resueltos <ul><li>for  i:= 1 to max_fila do  </li></ul><ul><li>begin </li></ul><ul><li>suma:=0; </li><...
Matrices - Ejemplos resueltos <ul><li>writeln (´La suma es ´,suma´); </li></ul><ul><li>for i := 1 to max_fila do  </li></u...
Arreglos multidimesionales <ul><li>  Así como hemos trabajado con vectores (arreglos unidemsionales) y matrices (arreglos ...
Upcoming SlideShare
Loading in...5
×

Vectores matricesi

2,286

Published on

VECTORES Y MATRICES!

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,286
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Vectores matricesi

  1. 1. 75.40 Algoritmos y Programación I Síntesis Teórica Cátedra: Ing. Domingo T. Mandrafina Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  2. 2. 75.40 Algoritmos y Programación I Síntesis Teórica Cátedra: Ing. Domingo T. Mandrafina Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  3. 3. Indice <ul><li>Vectores y Matrices 4 </li></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  4. 4. Vectores y Matrices <ul><li>Vectores: Introducción </li></ul><ul><ul><li>Con lo aprendido hasta ahora resolvamos los siguientes problemas: </li></ul></ul><ul><ul><ul><li>Dados 50 números enteros, obtener el promedio de ellos. Mostrar por pantalla dicho promedio y los números ingresados que sean mayores que él. </li></ul></ul></ul><ul><ul><ul><li>Dados n números, obtener e imprimir la suma de todos ellos. A continuación mostrar por pantalla todos los sumandos. </li></ul></ul></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  5. 5. Vectores y Matrices <ul><li>Es posible resolver estos problemas? Por qué? </li></ul><ul><li>Una de las principales dificultades que se observan con estos problemas es que para la resolución de ambos es necesario almacenar la totalidad de los datos a procesar. </li></ul><ul><li>No sería eficiente crear n cantidad de variables para guardar estos datos. </li></ul><ul><li>Para realizar programas y/o algoritmos que nos permitan resolver los problemas planteados, usaremos una nueva estructura de datos denominada vectores. </li></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  6. 6. Vectores y Matrices <ul><li>Una estructura de datos es un conjunto de datos con un cierto orden. </li></ul><ul><li>Las estructuras de datos pueden ser dinámicas o estáticas. </li></ul><ul><ul><li>Estáticas: aquellas a las que se le asigna una cantidad fija de memoria de acuerdo a lo definidio en la declaración de la variable. </li></ul></ul><ul><ul><li>Dinámicas: son aquellas cuyo tamaño en memoria aumenta o disminuye en tiempo de ejecución de acuerdo a las necesidades del programa. </li></ul></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  7. 7. Vectores y Matrices Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina Tipos de Estructuras Estáticas Dinámicas (punteros) Simples Reales Enteros Char Boolean Enumerados String arrays set record file Complejas
  8. 8. Vectores <ul><li>Qué es un vector? Un vector (o arreglo unidimensional) es una estructura de datos en la cual se almacena un conjunto de datos de un mismo tipo. Es decir que un arreglo es una lista de n elementos que posee las siguientes características: </li></ul><ul><ul><li>se identifica por un único nombre de variable </li></ul></ul><ul><ul><li>sus elementos se almacenan en posiciones contiguas de memoria </li></ul></ul><ul><ul><li>se accede a cada uno de sus elementos en forma aleatoria </li></ul></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  9. 9. Vectores Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina Mi_vector Nombre de la variable Elementos Posición : 1 Contenido : Mi_vector[1] = 9 9 3 5 4 8 2 6
  10. 10. Vectores <ul><li>Ejemplos: </li></ul><ul><ul><li>Ejemplo 1. Resolvamos este primer ejemplo: </li></ul></ul><ul><ul><li>Cargar 10 elementos en un vector, sumarlos y mostrar el resultado por pantalla. </li></ul></ul><ul><ul><li>Pasos para resolver este problema: </li></ul></ul><ul><ul><ul><li>Leer un vector de 10 elementos </li></ul></ul></ul><ul><ul><ul><li>Sumar los elementos </li></ul></ul></ul><ul><ul><ul><li>Mostrar el resultado de la suma por pantalla </li></ul></ul></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  11. 11. Vectores <ul><li>Ejemplo 1 - Diagrama de Jackson </li></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina Ejemplo 1 Muestra resultados Lectura del arreglo Suma de los elementos
  12. 12. Vectores - Ejemplo1 <ul><li>Program Ejemplo1; {Version 1} </li></ul><ul><li>type </li></ul><ul><li>sumandos = array[1..10] of integer; </li></ul><ul><li>var </li></ul><ul><li>suma, i : integer; </li></ul><ul><li>vec_sumandos : sumandos; </li></ul><ul><li>begin </li></ul><ul><li>suma := 0; </li></ul><ul><li>for i:= 1 to 10 do </li></ul><ul><li>read(vec_sumandos[i] ) </li></ul><ul><li>for i := 1 to 10 do </li></ul><ul><li>suma:= suma +vec_sumandos[i]; </li></ul><ul><li>writeln (´La suma de los números es´, suma); </li></ul><ul><li>end. </li></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina Declaración de la variable arreglo Declaración del tipo del arreglo Lectura de los elementos del arreglo Suma de los elementos
  13. 13. Vectores - Ejemplo1 <ul><li>Program Ejemplo1; {Version 2} </li></ul><ul><li>type </li></ul><ul><li>sumandos = array[1..10] of integer; </li></ul><ul><li>var </li></ul><ul><li>suma, i : integer; </li></ul><ul><li>vec_sumandos : sumandos; </li></ul><ul><li>begin </li></ul><ul><li>suma := 0; </li></ul><ul><li>for i:= 1 to 10 do </li></ul><ul><li>begin </li></ul><ul><li>read(vec_sumandos[i] ) </li></ul><ul><li>suma:= suma +vec_sumandos[i]; </li></ul><ul><li>end; </li></ul><ul><li>writeln (´La suma de los números es´, suma); </li></ul><ul><li>end. </li></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  14. 14. Vectores - Declaración <ul><li>Como ya dijimos anteriormente, los arreglos son estructuras de datos, por lo tanto las mismas deben ser declaradas. Esta operación se realiza en la seccción “Type” de un programa en Pascal. (como puede verse en el ejemplo1) </li></ul><ul><li>formato </li></ul><ul><ul><li>type </li></ul></ul><ul><ul><ul><li>nombre_del_tipo = array[ tipo_subindice * ] of tipo; </li></ul></ul></ul><ul><ul><ul><li>* debe ser de tipo ordinal: boolean, char, enumerado o subrango </li></ul></ul></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  15. 15. Vectores - Declaración <ul><li>Luego de la declaración del tipo, se declara la variable. </li></ul><ul><li>formato </li></ul><ul><ul><li>var </li></ul></ul><ul><ul><ul><li>nombre_variable: nombre_del_tipo; </li></ul></ul></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  16. 16. Vectores - Declaración <ul><li>Ejemplos de declaraciones: </li></ul><ul><li>Ej1: </li></ul><ul><ul><li>type </li></ul></ul><ul><ul><ul><li>Valores = array[ -10..10 ] of real; </li></ul></ul></ul><ul><ul><li>var </li></ul></ul><ul><ul><li>precios: valores; </li></ul></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  17. 17. Vectores - Declaración <ul><li>Ejemplos de declaraciones: </li></ul><ul><li>Ej2: </li></ul><ul><li>const </li></ul><ul><ul><li>Max= 500; </li></ul></ul><ul><ul><li>type </li></ul></ul><ul><ul><ul><li>T_Texto = array[ 1..Max ] of char; </li></ul></ul></ul><ul><ul><li>var </li></ul></ul><ul><ul><li>Texto: T_Texto; </li></ul></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  18. 18. Vectores - Manejo de índices <ul><li>Asignación de valores </li></ul><ul><ul><li>Texto[3] := ´a´; </li></ul></ul><ul><ul><li>Precios[0] := 23.50; </li></ul></ul><ul><ul><li>Como ya dijimos, los índices de un arreglo pueden ser: entero, lógico, caracter, enumerado o subrango. </li></ul></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  19. 19. Vectores - Manejo de índices <ul><ul><li>Ej3: </li></ul></ul><ul><ul><li>const </li></ul></ul><ul><ul><li>longitud = 40; </li></ul></ul><ul><ul><li>altura = 30; </li></ul></ul><ul><ul><li>type </li></ul></ul><ul><ul><li>horizontal = 1..Longitud; </li></ul></ul><ul><ul><li>T_Línea = Array [ horizontal ] of char; </li></ul></ul><ul><ul><li>var </li></ul></ul><ul><ul><li>Linea: T_Linea </li></ul></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  20. 20. Vectores - Manejo de índices <ul><ul><li>Ej4: </li></ul></ul><ul><ul><li>type </li></ul></ul><ul><ul><li>DiasSemana = (Lunes, Martes, Miercoles,Jueves, Viernes, Sabado, Domingo ); </li></ul></ul><ul><ul><li>T_Dias = array [DiasSemana] of integer; </li></ul></ul><ul><ul><li>var </li></ul></ul><ul><ul><li>Dias: T_Dias; </li></ul></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  21. 21. Vectores - Operaciones <ul><li>Con la siguiente declaración: </li></ul><ul><ul><li>type </li></ul></ul><ul><ul><li>T_Notas = array [1..30] of integer; </li></ul></ul><ul><ul><li>var </li></ul></ul><ul><ul><li>Notas: T_Notas; </li></ul></ul><ul><li>Lectura de un vector </li></ul><ul><li>for i:= 1 to 30 do </li></ul><ul><li>read(Notas[i] ) </li></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  22. 22. Vectores - Operaciones <ul><li>Escritura de un vector </li></ul><ul><li>for i:= 1 to 30 do </li></ul><ul><li>writeln(Notas[i] ) </li></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  23. 23. Vectores - Operaciones <ul><li>Con la siguiente declaración: </li></ul><ul><ul><li>type </li></ul></ul><ul><ul><li>T_Notas = array [1..30] of integer; </li></ul></ul><ul><ul><li>var </li></ul></ul><ul><ul><li>Notas, Aux_Notas: T_Notas; </li></ul></ul><ul><ul><li>Copia de vectores </li></ul></ul><ul><li>for i:= 1 to 30 do </li></ul><ul><li>Aux_Notas[i]:= Notas[i]; </li></ul><ul><li>o bien: Aux_Notas:=Notas; </li></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  24. 24. Vectores - Ejemplos resueltos <ul><li> Ej2- Dados 50 números enteros, obtener el promedio de ellos. Mostrar por pantalla dicho promedio y los números ingresados que sean mayores que el mismo. </li></ul><ul><li>Ej3 - Dados n números, obtener e imprimir la suma de todos ellos. A continuación mostrar por pantalla todos los sumandos. </li></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  25. 25. Vectores - Ejemplos resueltos <ul><li>Program Ej2; </li></ul><ul><li>const </li></ul><ul><li>max = 50; </li></ul><ul><li>type </li></ul><ul><li>t_numeros = array[1.. max] of integer; </li></ul><ul><li>var </li></ul><ul><li>suma, i : integer; </li></ul><ul><li>promedio: real; </li></ul><ul><li>numeros : t_numeros; </li></ul><ul><li>begin </li></ul><ul><li>suma := 0; </li></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  26. 26. Vectores - Ejemplos resueltos <ul><li>for i:= 1 to max do </li></ul><ul><li>begin </li></ul><ul><li>read(numeros[i] ) </li></ul><ul><li>suma:= suma +numeros[i]; </li></ul><ul><li>end; </li></ul><ul><li>Promedio:= suma/max; </li></ul><ul><li>writeln (´El promedio es ´,Promedio´); </li></ul><ul><li>for i := 1 to 50 do </li></ul><ul><li>if numeros[i] > promedio </li></ul><ul><li>then </li></ul><ul><li>writeln (´El número´, numeros[i], ´es mayor al promedio´); </li></ul><ul><li>end. </li></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  27. 27. Vectores - Ejemplos resueltos <ul><li>Program Ej3; </li></ul><ul><li>const </li></ul><ul><li>max = 100; </li></ul><ul><li>type </li></ul><ul><li>t_numeros = array[1.. max] of integer; </li></ul><ul><li>var </li></ul><ul><li>suma, i, n : integer; </li></ul><ul><li>promedio: real; </li></ul><ul><li>numeros : t_numeros; </li></ul><ul><li>begin </li></ul><ul><li>suma := 0; </li></ul><ul><li>write (´Ingrese la cantidad de números a sumar. (Como máximo, 100 números´); </li></ul><ul><li>readln(n); </li></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  28. 28. Vectores - Ejemplos resueltos <ul><li>for i:= 1 to n do </li></ul><ul><li>begin </li></ul><ul><li>read(numeros[i] ) </li></ul><ul><li>suma:= suma +numeros[i]; </li></ul><ul><li>end; </li></ul><ul><li>writeln (´La suma es ´,suma´); </li></ul><ul><li>for i := 1 to n do </li></ul><ul><li>writeln (´El sumando´, i, ´es´, numeros[i]); </li></ul><ul><li>end. </li></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  29. 29. Vectores - Vectores Paralelos <ul><li>Dos o más arreglos que utilizan el mismo subíndice para acceder a elementos de distintos arreglos, se denominan arreglos paralelos. Estos arreglos pueden procesarse simultáneamente. </li></ul><ul><li>Ejercicio: </li></ul><ul><ul><li>Se tienen dos arreglos. El primero contiene nombres de personas y el segundo contiene los sexos de las personas del primer arreglo, codificados como ´f´femenino y ´m´ masculino. Obtener a partir de estos otros dos arreglos, el primero de los cuales debe contener todos los nombres de los varones y el segundo, el nombre de todas las mujeres </li></ul></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  30. 30. Matrices <ul><li>Resolvamos el siguiente problema: </li></ul><ul><ul><li>Un instituto desea controlar los resultados de los alumnos en las distintas asignaturas de la facultad de Ingeniería. El programa debe ingresar las calificaciones de los alumnos y visualizar en pantalla la media de notas por alumno y la media de notas por asignatura. </li></ul></ul><ul><ul><li>Las asignaturas están codificadas de 1 a 6 y hay 30 alumnos. </li></ul></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  31. 31. Matrices <ul><li>Es posible resolver este problema con lo visto hasta ahora? </li></ul><ul><li>Para realizar el anterior programa , debemos trabajar con una tabla (o matriz o arreglo bidimensional) </li></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  32. 32. Matrices Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina Mi_Matriz Nombre de la variable Posición : 3,1 Contenido : Mi_vector[3,1] = 9 9 3 5 4 8 2 6 9 3 5 4 8 2 6 9 3 5 4 8 2 6
  33. 33. Matrices - Declaraciones <ul><li>Ejemplos de declaraciones: </li></ul><ul><li>Ej1: </li></ul><ul><ul><li>type </li></ul></ul><ul><ul><ul><li>T_matriz = array[ 1..10, 1..10 ] of real; </li></ul></ul></ul><ul><ul><li>var </li></ul></ul><ul><ul><li>Matriz: valores; </li></ul></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  34. 34. Matrices - Declaraciones <ul><li>Ejemplos de declaraciones: </li></ul><ul><li>Ej2: </li></ul><ul><ul><li>type </li></ul></ul><ul><ul><ul><li>T_matriz = array[ 1..10 ] of array [ 1..10 ] of real; </li></ul></ul></ul><ul><ul><li>var </li></ul></ul><ul><ul><li>Matriz: valores; </li></ul></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  35. 35. Matrices - Declaraciones <ul><li>Ejemplos de declaraciones: </li></ul><ul><li>Ej3: </li></ul><ul><ul><li>type </li></ul></ul><ul><ul><ul><li>T_filas = array[ 1..10 ] of of real; </li></ul></ul></ul><ul><ul><ul><li>T_Matriz = array[ 1..10 ] of of T_filas; </li></ul></ul></ul><ul><ul><li>var </li></ul></ul><ul><ul><li>Matriz: valores; </li></ul></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  36. 36. Matrices - Operaciones <ul><li>Con la siguiente declaración: </li></ul><ul><ul><li>type </li></ul></ul><ul><ul><li> T_matriz = array[ 1..10 ] of array [ 1..10 ] of real; </li></ul></ul><ul><ul><li>var </li></ul></ul><ul><ul><li>Matriz: valores; </li></ul></ul><ul><li>Lectura de una matriz </li></ul><ul><li>for i:= 1 to 10 do </li></ul><ul><li> for j:= 1 to 10 do </li></ul><ul><li>readln(Matriz[i,j] ) </li></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  37. 37. Matrices - Operaciones <ul><li>Escritura de una matriz </li></ul><ul><li>for i:= 1 to 10 do </li></ul><ul><li>for j:= 1 to 10 do </li></ul><ul><li>writeln(Matriz[i,j] ) </li></ul><ul><li>El recorrido de las matrices puede realizarse tanto por filas como por columnas, de acuerdo al problema a resolver. </li></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  38. 38. Matrices - Ejemplos resueltos <ul><li> Ej4. Un instituto desea controlar los resultados de los alumnos en las distintas asignaturas de la facultad de Ingeniería. El programa debe ingresar las calificaciones de los alumnos y visualizar en pantalla la media de notas por alumno y la media de notas por asignatura. </li></ul><ul><ul><li>Las asignaturas están codificadas de 1 a 6 y hay 30 alumnos. </li></ul></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  39. 39. Matrices - Ejemplos resueltos <ul><li>Program Ej4; </li></ul><ul><li>const </li></ul><ul><li>max_fila = 6 ; </li></ul><ul><li>max_col = 30; </li></ul><ul><li>type </li></ul><ul><li>t_tabla = array[1.. max_fila,max_col ] of char; </li></ul><ul><li>var </li></ul><ul><li>i, j: integer; </li></ul><ul><li>tabla: t_tabla; </li></ul><ul><li>suma: integer; </li></ul><ul><li>prom_al, prom_mat:real; </li></ul><ul><li>begin </li></ul><ul><li>for i:= 1 to max_fila do </li></ul><ul><li> for j:= 1 to max_fila do </li></ul><ul><li>writeln(´Ingrese la nota para la materia´, i, ´del alumno´, j); </li></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  40. 40. Matrices - Ejemplos resueltos <ul><li>for i:= 1 to max_fila do </li></ul><ul><li>begin </li></ul><ul><li>suma:=0; </li></ul><ul><li> for j:= 1 to max_col do </li></ul><ul><li>suma:= suma + tabla[i,j]; </li></ul><ul><li>prom_mat [i] : =suma /i; </li></ul><ul><li>end; </li></ul><ul><li>for i:= 1 to max_col do </li></ul><ul><li>begin </li></ul><ul><li>suma:=0; </li></ul><ul><li> for j:= 1 to max_fila do </li></ul><ul><li>suma:= suma + tabla[i,j]; </li></ul><ul><li>prom_al [i] : =suma /i; </li></ul><ul><li>end; </li></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  41. 41. Matrices - Ejemplos resueltos <ul><li>writeln (´La suma es ´,suma´); </li></ul><ul><li>for i := 1 to max_fila do </li></ul><ul><li>writeln (´El promedio de calificaciones para la asignatura´, i, ´es´, prom_mat[i]); </li></ul><ul><li>end. </li></ul><ul><li>for j := 1 to max_col do </li></ul><ul><li>writeln (´El promedio de calificaciones para el alumno´, j, ´es´, prom_al[j]); </li></ul><ul><li>end. </li></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  42. 42. Arreglos multidimesionales <ul><li> Así como hemos trabajado con vectores (arreglos unidemsionales) y matrices (arreglos unideimesionales), es posible trabajar con arreglos de más de dos dimensiones, los que son denominados arreglos multidimensionales. </li></ul><ul><li>Ejemplos de problemas de aplicación de arreglos multidimesionales </li></ul><ul><li>Se desea escribir un programa que permita manejar la información de habitantes de un complejo habitacional. El mismo posee 7 torres; a su vez cada torre posee 20 pisos y cada piso 6 departamentos. </li></ul><ul><li>Se desea saber: </li></ul><ul><li>a) Cantidad total de habitantes del complejo </li></ul><ul><li>b) Cantidad promedio de habitantes por piso de cada torre </li></ul><ul><li>c) Cantidad promedio de habitantes por torre </li></ul>Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina

×