SlideShare una empresa de Scribd logo
1 de 42
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
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
Indice


 • Vectores y Matrices                                              4




Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina       3
Vectores y Matrices
 • Vectores: Introducción
         – Con lo aprendido hasta ahora resolvamos los
           siguientes problemas:
                 • 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.
                 • Dados n números, obtener e imprimir la suma de todos
                   ellos. A continuación mostrar por pantalla todos los
                   sumandos.




Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina         4
Vectores y Matrices
• Es posible resolver estos problemas? Por qué?
• 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.
• No sería eficiente crear n cantidad de variables
  para guardar estos datos.
• Para realizar programas y/o algoritmos que nos
  permitan resolver los problemas planteados,
  usaremos una nueva estructura de datos
  denominada vectores.
Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina   5
Vectores y Matrices
• Una estructura de datos es un conjunto de datos
  con un cierto orden.
• Las estructuras de datos pueden ser dinámicas o
  estáticas.
      – 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.
      – Dinámicas: son aquellas cuyo tamaño en memoria
        aumenta o disminuye en tiempo de ejecución de
        acuerdo a las necesidades del programa.


Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina   6
Vectores y Matrices


                                                                                Reales
                                                                     Simples    Enteros
                                                                                Char
Tipos de                                                                        Boolean
Estructuras                                                                     Enumerados
                                        Estáticas


                                                                                 String
                                                                                 arrays
                                                                    Complejas    set
                                                                                 record
                                        Dinámicas (punteros)                     file
Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina                            7
Vectores
• 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:
      – se identifica por un único nombre de variable
      – sus elementos se almacenan en posiciones contiguas
        de memoria
      – se accede a cada uno de sus elementos en forma
        aleatoria
Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina   8
Vectores


                                      Elementos

 Mi_vector                  9 5 6 2 4 8 3


Nombre de
 la variable                          Posición : 1
                             Contenido : Mi_vector[1] = 9




 Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina   9
Vectores

 • Ejemplos:
         – Ejemplo 1. Resolvamos este primer ejemplo:
         – Cargar 10 elementos en un vector, sumarlos y
           mostrar el resultado por pantalla.
         – Pasos para resolver este problema:
                 • Leer un vector de 10 elementos
                 • Sumar los elementos
                 • Mostrar el resultado de la suma por pantalla



Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina   10
Vectores


 • Ejemplo 1 - Diagrama de Jackson

                                                     Ejemplo 1




               Lectura del                         Suma de          Muestra
               arreglo                             los elementos    resultados




Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina                11
Vectores - Ejemplo1
Program Ejemplo1; {Version 1}
type                                          Declaración del tipo del arreglo
sumandos = array[1..10] of integer;
var
suma, i : integer;
                                         Declaración de la variable arreglo
vec_sumandos : sumandos;
begin
suma := 0;
for i:= 1 to 10 do
    read(vec_sumandos[i] )             Lectura de los elementos del arreglo
for i := 1 to 10 do
    suma:= suma +vec_sumandos[i];
writeln (´La suma de los números es´, suma);
                                                      Suma de los elementos
end.
 Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina        12
Vectores - Ejemplo1
Program Ejemplo1; {Version 2}
type
sumandos = array[1..10] of integer;
var
suma, i : integer;
vec_sumandos : sumandos;
begin
suma := 0;
for i:= 1 to 10 do
     begin
     read(vec_sumandos[i] )
     suma:= suma +vec_sumandos[i];
     end;
writeln (´La suma de los números es´, suma);
end. y Programación I - Cátedra: Ing. Domingo T. Mandrafina
  Algoritmos                                                  13
Vectores - Declaración
 • 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)
 • formato
         type
                 nombre_del_tipo = array[tipo_subindice * ] of tipo;


                 * debe ser de tipo ordinal: boolean, char, enumerado o
                   subrango
Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina         14
Vectores - Declaración
 • Luego de la declaración del tipo, se declara la
   variable.
 • formato
         var
                 nombre_variable: nombre_del_tipo;




Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina   15
Vectores - Declaración
 • Ejemplos de declaraciones:
 • Ej1:
         type
                 Valores = array[ -10..10 ] of real;
         var
                 precios: valores;




Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina   16
Vectores - Declaración
 • Ejemplos de declaraciones:
 • Ej2:

       const
                 Max= 500;
         type
                 T_Texto = array[ 1..Max ] of char;
         var
                 Texto: T_Texto;


Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina   17
Vectores - Manejo de índices


 • Asignación de valores
         Texto[3] := ´a´;
         Precios[0] := 23.50;


         Como ya dijimos, los índices de un arreglo pueden ser:
           entero, lógico, caracter, enumerado o subrango.




Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina   18
Vectores - Manejo de índices
      Ej3:
      const
           longitud = 40;
           altura = 30;
      type
           horizontal = 1..Longitud;
           T_Línea = Array [ horizontal ] of char;
      var
           Linea: T_Linea


Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina   19
Vectores - Manejo de índices

         Ej4:
         type
              DiasSemana = (Lunes, Martes, Miercoles,Jueves, Viernes,
              Sabado, Domingo );
              T_Dias = array [DiasSemana] of integer;
         var
              Dias: T_Dias;




Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina       20
Vectores - Operaciones


 • Con la siguiente declaración:
         type
                 T_Notas = array [1..30] of integer;
         var
              Notas: T_Notas;

 • Lectura de un vector
                 for i:= 1 to 30 do
                           read(Notas[i] )

Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina   21
Vectores - Operaciones


 • Escritura de un vector
                 for i:= 1 to 30 do
                           writeln(Notas[i] )




Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina   22
Vectores - Operaciones

 • Con la siguiente declaración:
         type
                 T_Notas = array [1..30] of integer;
         var

              Notas, Aux_Notas: T_Notas;

         Copia de vectores
                 for i:= 1 to 30 do
                           Aux_Notas[i]:= Notas[i];

       o bien: Aux_Notas:=Notas;
Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina   23
Vectores - Ejemplos resueltos
     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.
    Ej3 - Dados n números, obtener e imprimir la suma de todos
    ellos. A continuación mostrar por pantalla todos los
    sumandos.




Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina   24
Vectores - Ejemplos resueltos
 Program Ej2;
 const
 max = 50;
 type
 t_numeros = array[1.. max] of integer;
 var
 suma, i : integer;
 promedio: real;
 numeros : t_numeros;
 begin
 suma := 0;




Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina   25
Vectores - Ejemplos resueltos
 for i:= 1 to max do
     begin
     read(numeros[i] )
     suma:= suma +numeros[i];
     end;
 Promedio:= suma/max;
 writeln (´El promedio es ´,Promedio´);
 for i := 1 to 50 do
     if numeros[i] > promedio
     then
            writeln (´El número´, numeros[i], ´es mayor al promedio´);
 end.



Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina        26
Vectores - Ejemplos resueltos
 Program Ej3;
 const
 max = 100;
 type
 t_numeros = array[1.. max] of integer;
 var
 suma, i, n : integer;
 promedio: real;
 numeros : t_numeros;
 begin
 suma := 0;
 write (´Ingrese la cantidad de números a sumar. (Como máximo, 100
     números´);
 readln(n);

Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina    27
Vectores - Ejemplos resueltos
 for i:= 1 to n do
     begin
     read(numeros[i] )
     suma:= suma +numeros[i];
     end;
 writeln (´La suma es ´,suma´);
 for i := 1 to n do
     writeln (´El sumando´, i, ´es´, numeros[i]);
 end.




Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina   28
Vectores - Vectores Paralelos
 • 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.
 • Ejercicio:
         – 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
Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina   29
Matrices
 • Resolvamos el siguiente problema:
         – 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.
         – Las asignaturas están codificadas de 1 a 6 y hay 30
           alumnos.




Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina   30
Matrices
 • Es posible resolver este problema con lo visto
   hasta ahora?
 • Para realizar el anterior programa , debemos
   trabajar con una tabla (o matriz o arreglo
   bidimensional)




Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina   31
Matrices

               Mi_Matriz                   9 5 6 2 4 8 3
                                           9 5 6 2 4 8 3
             Nombre de                     9 5 6 2 4 8 3
              la variable


                                                     Posición : 3,1
                                             Contenido : Mi_vector[3,1] = 9




Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina             32
Matrices - Declaraciones

• Ejemplos de declaraciones:
• Ej1:
        type
               T_matriz = array[ 1..10, 1..10 ] of real;
        var
               Matriz: valores;




Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina   33
Matrices - Declaraciones

• Ejemplos de declaraciones:
• Ej2:
        type
               T_matriz = array[ 1..10 ] of array [ 1..10 ] of real;
        var
               Matriz: valores;




Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina      34
Matrices - Declaraciones

• Ejemplos de declaraciones:
• Ej3:
        type
               T_filas = array[ 1..10 ] of of real;
               T_Matriz = array[ 1..10 ] of of T_filas;
        var
               Matriz: valores;



Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina   35
Matrices - Operaciones
 • Con la siguiente declaración:
         type
               T_matriz = array[ 1..10 ] of array [ 1..10 ] of real;
         var
                 Matriz: valores;

 • Lectura de una matriz
                 for i:= 1 to 10 do
                                 for j:= 1 to 10 do
                                          readln(Matriz[i,j] )



Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina      36
Matrices - Operaciones


 • Escritura de una matriz
                 for i:= 1 to 10 do
                           for j:= 1 to 10 do
                                     writeln(Matriz[i,j] )

       El recorrido de las matrices puede realizarse tanto por filas como por
       columnas, de acuerdo al problema a resolver.




Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina           37
Matrices - Ejemplos resueltos
     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.
      – Las asignaturas están codificadas de 1 a 6 y hay 30 alumnos.




Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina         38
Matrices - Ejemplos resueltos
 Program Ej4;
 const
 max_fila = 6 ;
 max_col = 30;
 type
 t_tabla = array[1.. max_fila,max_col ] of char;
 var
 i, j: integer;
 tabla: t_tabla;
 suma: integer;
 prom_al, prom_mat:real;
 begin
 for i:= 1 to max_fila do
        for j:= 1 to max_fila do
              writeln(´Ingrese la nota para la materia´, i, ´del alumno´, j);
Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina               39
Matrices - Ejemplos resueltos
 for i:= 1 to max_fila do
  begin
  suma:=0;
   for j:= 1 to max_col do
    suma:= suma + tabla[i,j];
  prom_mat [i] : =suma /i;
 end;
  for i:= 1 to max_col do
  begin
  suma:=0;
   for j:= 1 to max_fila do
    suma:= suma + tabla[i,j];
  prom_al [i] : =suma /i;
  end;
Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina   40
Matrices - Ejemplos resueltos
 writeln (´La suma es ´,suma´);
 for i := 1 to max_fila do
  writeln (´El promedio de calificaciones para la asignatura´, i, ´es´,
  prom_mat[i]);
 end.
 for j := 1 to max_col do
  writeln (´El promedio de calificaciones para el alumno´, j, ´es´,
  prom_al[j]);
 end.




Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina         41
Arreglos multidimesionales
          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.

Ejemplos de problemas de aplicación de arreglos multidimesionales
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.
Se desea saber:
a) Cantidad total de habitantes del complejo
b) Cantidad promedio de habitantes por piso de cada torre
c) Cantidad promedio de habitantes por torre

  Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina        42

Más contenido relacionado

La actualidad más candente

Identificadores variables y constates en pseudocódigo
Identificadores variables y constates en pseudocódigoIdentificadores variables y constates en pseudocódigo
Identificadores variables y constates en pseudocódigoAbrirllave
 
Tipos de datos en programacion
Tipos de datos en programacionTipos de datos en programacion
Tipos de datos en programacionAlfonso
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS1002pc3
 
¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?grachika
 
3 estructuras no lineales estáticas y dinámicas
3  estructuras no lineales estáticas y dinámicas3  estructuras no lineales estáticas y dinámicas
3 estructuras no lineales estáticas y dinámicasEliezer Cordova
 
Proposiciones y bloques de código
Proposiciones y bloques de códigoProposiciones y bloques de código
Proposiciones y bloques de códigoDenisse C
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos Kaneki04
 
4.2 integracion numerica
4.2 integracion numerica4.2 integracion numerica
4.2 integracion numericamorenito9001
 
Estructuras De Datos-Arreglos
Estructuras De Datos-Arreglos Estructuras De Datos-Arreglos
Estructuras De Datos-Arreglos Simeon Bordones
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetosClara Patricia Avella Ibañez
 
Prolog ejercicios resueltos
Prolog ejercicios resueltosProlog ejercicios resueltos
Prolog ejercicios resueltosJansel M
 
Operaciones indicadas de suma y resta
Operaciones indicadas de suma y restaOperaciones indicadas de suma y resta
Operaciones indicadas de suma y restaPedro Flores Montiel
 
Algoritmos de ordenación grafos y caminos
Algoritmos de ordenación grafos y caminosAlgoritmos de ordenación grafos y caminos
Algoritmos de ordenación grafos y caminosJeiner Gonzalez Blanco
 

La actualidad más candente (20)

Identificadores variables y constates en pseudocódigo
Identificadores variables y constates en pseudocódigoIdentificadores variables y constates en pseudocódigo
Identificadores variables y constates en pseudocódigo
 
7 Operaciones Con Funciones
7  Operaciones Con Funciones7  Operaciones Con Funciones
7 Operaciones Con Funciones
 
17 arreglos bidimensionales java
17 arreglos bidimensionales java17 arreglos bidimensionales java
17 arreglos bidimensionales java
 
Tipos de datos en programacion
Tipos de datos en programacionTipos de datos en programacion
Tipos de datos en programacion
 
2.3 procesos ligeros
2.3 procesos ligeros2.3 procesos ligeros
2.3 procesos ligeros
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS
 
¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?
 
3 estructuras no lineales estáticas y dinámicas
3  estructuras no lineales estáticas y dinámicas3  estructuras no lineales estáticas y dinámicas
3 estructuras no lineales estáticas y dinámicas
 
Proposiciones y bloques de código
Proposiciones y bloques de códigoProposiciones y bloques de código
Proposiciones y bloques de código
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos
 
4.2 integracion numerica
4.2 integracion numerica4.2 integracion numerica
4.2 integracion numerica
 
Arreglos de registros
Arreglos de registros Arreglos de registros
Arreglos de registros
 
Estructuras De Datos-Arreglos
Estructuras De Datos-Arreglos Estructuras De Datos-Arreglos
Estructuras De Datos-Arreglos
 
Pilas
PilasPilas
Pilas
 
Ejemplos en PSeint
Ejemplos en PSeintEjemplos en PSeint
Ejemplos en PSeint
 
01 diagramas nassi-schneiderman
01 diagramas nassi-schneiderman01 diagramas nassi-schneiderman
01 diagramas nassi-schneiderman
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos
 
Prolog ejercicios resueltos
Prolog ejercicios resueltosProlog ejercicios resueltos
Prolog ejercicios resueltos
 
Operaciones indicadas de suma y resta
Operaciones indicadas de suma y restaOperaciones indicadas de suma y resta
Operaciones indicadas de suma y resta
 
Algoritmos de ordenación grafos y caminos
Algoritmos de ordenación grafos y caminosAlgoritmos de ordenación grafos y caminos
Algoritmos de ordenación grafos y caminos
 

Destacado

Algoritmo matrices
Algoritmo matricesAlgoritmo matrices
Algoritmo matricesjmachuca
 
Aplicación de vectores y matrices en c++
Aplicación de vectores y matrices en c++Aplicación de vectores y matrices en c++
Aplicación de vectores y matrices en c++Wladimir Pineida
 
Ejercicios con matrices
Ejercicios con matricesEjercicios con matrices
Ejercicios con matricesDaniel Dp
 
Aplicación de matrices a la ingeniería mecánica
Aplicación de matrices a la ingeniería mecánicaAplicación de matrices a la ingeniería mecánica
Aplicación de matrices a la ingeniería mecánicakuti19
 
Arreglos en pseudocodigo 01
Arreglos en pseudocodigo 01Arreglos en pseudocodigo 01
Arreglos en pseudocodigo 01Emerson Garay
 
Arreglos vectores pseint
Arreglos vectores pseintArreglos vectores pseint
Arreglos vectores pseintHEIVER CUESTA
 
EJEMPLO APLICACIÓN DE MATRICES
EJEMPLO APLICACIÓN DE MATRICESEJEMPLO APLICACIÓN DE MATRICES
EJEMPLO APLICACIÓN DE MATRICESGenesis Acosta
 

Destacado (10)

Algoritmo matrices
Algoritmo matricesAlgoritmo matrices
Algoritmo matrices
 
Aplicación de vectores y matrices en c++
Aplicación de vectores y matrices en c++Aplicación de vectores y matrices en c++
Aplicación de vectores y matrices en c++
 
Ejercicios con matrices
Ejercicios con matricesEjercicios con matrices
Ejercicios con matrices
 
Aplicación de matrices a la ingeniería mecánica
Aplicación de matrices a la ingeniería mecánicaAplicación de matrices a la ingeniería mecánica
Aplicación de matrices a la ingeniería mecánica
 
Vector
VectorVector
Vector
 
Arreglos en pseudocodigo 01
Arreglos en pseudocodigo 01Arreglos en pseudocodigo 01
Arreglos en pseudocodigo 01
 
Ejercicios de vectores o arrays
Ejercicios de vectores o arraysEjercicios de vectores o arrays
Ejercicios de vectores o arrays
 
Arreglos vectores pseint
Arreglos vectores pseintArreglos vectores pseint
Arreglos vectores pseint
 
Ejercicios de arreglo
Ejercicios de arregloEjercicios de arreglo
Ejercicios de arreglo
 
EJEMPLO APLICACIÓN DE MATRICES
EJEMPLO APLICACIÓN DE MATRICESEJEMPLO APLICACIÓN DE MATRICES
EJEMPLO APLICACIÓN DE MATRICES
 

Similar a Vectores Matrices I

Vectores Matrices I
Vectores Matrices IVectores Matrices I
Vectores Matrices Iguestaf8aa5
 
VectoresMatricesI.ppt
VectoresMatricesI.pptVectoresMatricesI.ppt
VectoresMatricesI.pptjonhMCH
 
VectoresMatricesI.ppt
VectoresMatricesI.pptVectoresMatricesI.ppt
VectoresMatricesI.pptjonhMCH
 
Capitulo i modelos_matematicos_y_errores,_parte_1[1]
Capitulo i modelos_matematicos_y_errores,_parte_1[1]Capitulo i modelos_matematicos_y_errores,_parte_1[1]
Capitulo i modelos_matematicos_y_errores,_parte_1[1]chinop7
 
Fundamentos de Programacion - Unidad 5 arreglos (vectores)
Fundamentos de Programacion - Unidad 5 arreglos (vectores)Fundamentos de Programacion - Unidad 5 arreglos (vectores)
Fundamentos de Programacion - Unidad 5 arreglos (vectores)José Antonio Sandoval Acosta
 
Estructura de datos Algorítmica
Estructura de datos Algorítmica Estructura de datos Algorítmica
Estructura de datos Algorítmica MarianoBobadilla
 
Introducción a la programación y la informática. Tema 1
Introducción a la programación y la informática. Tema 1Introducción a la programación y la informática. Tema 1
Introducción a la programación y la informática. Tema 1Andres Garcia Garcia
 
Fundamentos de Programación - Unidad IV: Arreglos (Vectores)
Fundamentos de Programación - Unidad IV: Arreglos (Vectores)Fundamentos de Programación - Unidad IV: Arreglos (Vectores)
Fundamentos de Programación - Unidad IV: Arreglos (Vectores)José Antonio Sandoval Acosta
 
04b-Arreglos Matrices.pdf
04b-Arreglos Matrices.pdf04b-Arreglos Matrices.pdf
04b-Arreglos Matrices.pdfJulianaPalma18
 
1raclasedemtodosnumricos-150903221928-lva1-app6892 (1).pptx
1raclasedemtodosnumricos-150903221928-lva1-app6892 (1).pptx1raclasedemtodosnumricos-150903221928-lva1-app6892 (1).pptx
1raclasedemtodosnumricos-150903221928-lva1-app6892 (1).pptxYeshuaCamposChvez
 
Introducción a los Métodos Numéricos
Introducción a los Métodos NuméricosIntroducción a los Métodos Numéricos
Introducción a los Métodos NuméricosJoanny Ibarbia Pardo
 
Los Sdkn - MATRIZ MÁGICA
Los Sdkn - MATRIZ MÁGICALos Sdkn - MATRIZ MÁGICA
Los Sdkn - MATRIZ MÁGICAprogramacionuce
 

Similar a Vectores Matrices I (20)

Vectores matricesi
Vectores matricesiVectores matricesi
Vectores matricesi
 
Vectores Matrices I
Vectores Matrices IVectores Matrices I
Vectores Matrices I
 
Vectores matricesi
Vectores matricesiVectores matricesi
Vectores matricesi
 
Estructura de Datos: Arreglos
Estructura de Datos: Arreglos Estructura de Datos: Arreglos
Estructura de Datos: Arreglos
 
VectoresMatricesI.ppt
VectoresMatricesI.pptVectoresMatricesI.ppt
VectoresMatricesI.ppt
 
VectoresMatricesI.ppt
VectoresMatricesI.pptVectoresMatricesI.ppt
VectoresMatricesI.ppt
 
Vectores y Matrices
Vectores y MatricesVectores y Matrices
Vectores y Matrices
 
Capitulo i modelos_matematicos_y_errores,_parte_1[1]
Capitulo i modelos_matematicos_y_errores,_parte_1[1]Capitulo i modelos_matematicos_y_errores,_parte_1[1]
Capitulo i modelos_matematicos_y_errores,_parte_1[1]
 
clases de herramientas lorenita
clases de herramientas lorenitaclases de herramientas lorenita
clases de herramientas lorenita
 
Fundamentos de Programacion - Unidad 5 arreglos (vectores)
Fundamentos de Programacion - Unidad 5 arreglos (vectores)Fundamentos de Programacion - Unidad 5 arreglos (vectores)
Fundamentos de Programacion - Unidad 5 arreglos (vectores)
 
Estructura de datos Algorítmica
Estructura de datos Algorítmica Estructura de datos Algorítmica
Estructura de datos Algorítmica
 
Algoritmos y programas ing civil
Algoritmos y programas ing civil Algoritmos y programas ing civil
Algoritmos y programas ing civil
 
Introducción a la programación y la informática. Tema 1
Introducción a la programación y la informática. Tema 1Introducción a la programación y la informática. Tema 1
Introducción a la programación y la informática. Tema 1
 
Fundamentos de Programación - Unidad IV: Arreglos (Vectores)
Fundamentos de Programación - Unidad IV: Arreglos (Vectores)Fundamentos de Programación - Unidad IV: Arreglos (Vectores)
Fundamentos de Programación - Unidad IV: Arreglos (Vectores)
 
Uso vectores
Uso vectoresUso vectores
Uso vectores
 
04b-Arreglos Matrices.pdf
04b-Arreglos Matrices.pdf04b-Arreglos Matrices.pdf
04b-Arreglos Matrices.pdf
 
1raclasedemtodosnumricos-150903221928-lva1-app6892 (1).pptx
1raclasedemtodosnumricos-150903221928-lva1-app6892 (1).pptx1raclasedemtodosnumricos-150903221928-lva1-app6892 (1).pptx
1raclasedemtodosnumricos-150903221928-lva1-app6892 (1).pptx
 
Introducción a los Métodos Numéricos
Introducción a los Métodos NuméricosIntroducción a los Métodos Numéricos
Introducción a los Métodos Numéricos
 
LOS SDKN
LOS SDKNLOS SDKN
LOS SDKN
 
Los Sdkn - MATRIZ MÁGICA
Los Sdkn - MATRIZ MÁGICALos Sdkn - MATRIZ MÁGICA
Los Sdkn - MATRIZ MÁGICA
 

Último

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 

Último (19)

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

Vectores Matrices I

  • 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. 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. Indice • Vectores y Matrices 4 Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 3
  • 4. Vectores y Matrices • Vectores: Introducción – Con lo aprendido hasta ahora resolvamos los siguientes problemas: • 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. • Dados n números, obtener e imprimir la suma de todos ellos. A continuación mostrar por pantalla todos los sumandos. Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 4
  • 5. Vectores y Matrices • Es posible resolver estos problemas? Por qué? • 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. • No sería eficiente crear n cantidad de variables para guardar estos datos. • Para realizar programas y/o algoritmos que nos permitan resolver los problemas planteados, usaremos una nueva estructura de datos denominada vectores. Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 5
  • 6. Vectores y Matrices • Una estructura de datos es un conjunto de datos con un cierto orden. • Las estructuras de datos pueden ser dinámicas o estáticas. – 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. – Dinámicas: son aquellas cuyo tamaño en memoria aumenta o disminuye en tiempo de ejecución de acuerdo a las necesidades del programa. Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 6
  • 7. Vectores y Matrices Reales Simples Enteros Char Tipos de Boolean Estructuras Enumerados Estáticas String arrays Complejas set record Dinámicas (punteros) file Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 7
  • 8. Vectores • 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: – se identifica por un único nombre de variable – sus elementos se almacenan en posiciones contiguas de memoria – se accede a cada uno de sus elementos en forma aleatoria Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 8
  • 9. Vectores Elementos Mi_vector 9 5 6 2 4 8 3 Nombre de la variable Posición : 1 Contenido : Mi_vector[1] = 9 Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 9
  • 10. Vectores • Ejemplos: – Ejemplo 1. Resolvamos este primer ejemplo: – Cargar 10 elementos en un vector, sumarlos y mostrar el resultado por pantalla. – Pasos para resolver este problema: • Leer un vector de 10 elementos • Sumar los elementos • Mostrar el resultado de la suma por pantalla Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 10
  • 11. Vectores • Ejemplo 1 - Diagrama de Jackson Ejemplo 1 Lectura del Suma de Muestra arreglo los elementos resultados Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 11
  • 12. Vectores - Ejemplo1 Program Ejemplo1; {Version 1} type Declaración del tipo del arreglo sumandos = array[1..10] of integer; var suma, i : integer; Declaración de la variable arreglo vec_sumandos : sumandos; begin suma := 0; for i:= 1 to 10 do read(vec_sumandos[i] ) Lectura de los elementos del arreglo for i := 1 to 10 do suma:= suma +vec_sumandos[i]; writeln (´La suma de los números es´, suma); Suma de los elementos end. Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 12
  • 13. Vectores - Ejemplo1 Program Ejemplo1; {Version 2} type sumandos = array[1..10] of integer; var suma, i : integer; vec_sumandos : sumandos; begin suma := 0; for i:= 1 to 10 do begin read(vec_sumandos[i] ) suma:= suma +vec_sumandos[i]; end; writeln (´La suma de los números es´, suma); end. y Programación I - Cátedra: Ing. Domingo T. Mandrafina Algoritmos 13
  • 14. Vectores - Declaración • 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) • formato type nombre_del_tipo = array[tipo_subindice * ] of tipo; * debe ser de tipo ordinal: boolean, char, enumerado o subrango Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 14
  • 15. Vectores - Declaración • Luego de la declaración del tipo, se declara la variable. • formato var nombre_variable: nombre_del_tipo; Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 15
  • 16. Vectores - Declaración • Ejemplos de declaraciones: • Ej1: type Valores = array[ -10..10 ] of real; var precios: valores; Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 16
  • 17. Vectores - Declaración • Ejemplos de declaraciones: • Ej2: const Max= 500; type T_Texto = array[ 1..Max ] of char; var Texto: T_Texto; Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 17
  • 18. Vectores - Manejo de índices • Asignación de valores Texto[3] := ´a´; Precios[0] := 23.50; Como ya dijimos, los índices de un arreglo pueden ser: entero, lógico, caracter, enumerado o subrango. Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 18
  • 19. Vectores - Manejo de índices Ej3: const longitud = 40; altura = 30; type horizontal = 1..Longitud; T_Línea = Array [ horizontal ] of char; var Linea: T_Linea Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 19
  • 20. Vectores - Manejo de índices Ej4: type DiasSemana = (Lunes, Martes, Miercoles,Jueves, Viernes, Sabado, Domingo ); T_Dias = array [DiasSemana] of integer; var Dias: T_Dias; Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 20
  • 21. Vectores - Operaciones • Con la siguiente declaración: type T_Notas = array [1..30] of integer; var Notas: T_Notas; • Lectura de un vector for i:= 1 to 30 do read(Notas[i] ) Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 21
  • 22. Vectores - Operaciones • Escritura de un vector for i:= 1 to 30 do writeln(Notas[i] ) Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 22
  • 23. Vectores - Operaciones • Con la siguiente declaración: type T_Notas = array [1..30] of integer; var Notas, Aux_Notas: T_Notas; Copia de vectores for i:= 1 to 30 do Aux_Notas[i]:= Notas[i]; o bien: Aux_Notas:=Notas; Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 23
  • 24. Vectores - Ejemplos resueltos 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. Ej3 - Dados n números, obtener e imprimir la suma de todos ellos. A continuación mostrar por pantalla todos los sumandos. Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 24
  • 25. Vectores - Ejemplos resueltos Program Ej2; const max = 50; type t_numeros = array[1.. max] of integer; var suma, i : integer; promedio: real; numeros : t_numeros; begin suma := 0; Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 25
  • 26. Vectores - Ejemplos resueltos for i:= 1 to max do begin read(numeros[i] ) suma:= suma +numeros[i]; end; Promedio:= suma/max; writeln (´El promedio es ´,Promedio´); for i := 1 to 50 do if numeros[i] > promedio then writeln (´El número´, numeros[i], ´es mayor al promedio´); end. Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 26
  • 27. Vectores - Ejemplos resueltos Program Ej3; const max = 100; type t_numeros = array[1.. max] of integer; var suma, i, n : integer; promedio: real; numeros : t_numeros; begin suma := 0; write (´Ingrese la cantidad de números a sumar. (Como máximo, 100 números´); readln(n); Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 27
  • 28. Vectores - Ejemplos resueltos for i:= 1 to n do begin read(numeros[i] ) suma:= suma +numeros[i]; end; writeln (´La suma es ´,suma´); for i := 1 to n do writeln (´El sumando´, i, ´es´, numeros[i]); end. Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 28
  • 29. Vectores - Vectores Paralelos • 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. • Ejercicio: – 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 Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 29
  • 30. Matrices • Resolvamos el siguiente problema: – 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. – Las asignaturas están codificadas de 1 a 6 y hay 30 alumnos. Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 30
  • 31. Matrices • Es posible resolver este problema con lo visto hasta ahora? • Para realizar el anterior programa , debemos trabajar con una tabla (o matriz o arreglo bidimensional) Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 31
  • 32. Matrices Mi_Matriz 9 5 6 2 4 8 3 9 5 6 2 4 8 3 Nombre de 9 5 6 2 4 8 3 la variable Posición : 3,1 Contenido : Mi_vector[3,1] = 9 Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 32
  • 33. Matrices - Declaraciones • Ejemplos de declaraciones: • Ej1: type T_matriz = array[ 1..10, 1..10 ] of real; var Matriz: valores; Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 33
  • 34. Matrices - Declaraciones • Ejemplos de declaraciones: • Ej2: type T_matriz = array[ 1..10 ] of array [ 1..10 ] of real; var Matriz: valores; Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 34
  • 35. Matrices - Declaraciones • Ejemplos de declaraciones: • Ej3: type T_filas = array[ 1..10 ] of of real; T_Matriz = array[ 1..10 ] of of T_filas; var Matriz: valores; Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 35
  • 36. Matrices - Operaciones • Con la siguiente declaración: type T_matriz = array[ 1..10 ] of array [ 1..10 ] of real; var Matriz: valores; • Lectura de una matriz for i:= 1 to 10 do for j:= 1 to 10 do readln(Matriz[i,j] ) Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 36
  • 37. Matrices - Operaciones • Escritura de una matriz for i:= 1 to 10 do for j:= 1 to 10 do writeln(Matriz[i,j] ) El recorrido de las matrices puede realizarse tanto por filas como por columnas, de acuerdo al problema a resolver. Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 37
  • 38. Matrices - Ejemplos resueltos 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. – Las asignaturas están codificadas de 1 a 6 y hay 30 alumnos. Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 38
  • 39. Matrices - Ejemplos resueltos Program Ej4; const max_fila = 6 ; max_col = 30; type t_tabla = array[1.. max_fila,max_col ] of char; var i, j: integer; tabla: t_tabla; suma: integer; prom_al, prom_mat:real; begin for i:= 1 to max_fila do for j:= 1 to max_fila do writeln(´Ingrese la nota para la materia´, i, ´del alumno´, j); Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 39
  • 40. Matrices - Ejemplos resueltos for i:= 1 to max_fila do begin suma:=0; for j:= 1 to max_col do suma:= suma + tabla[i,j]; prom_mat [i] : =suma /i; end; for i:= 1 to max_col do begin suma:=0; for j:= 1 to max_fila do suma:= suma + tabla[i,j]; prom_al [i] : =suma /i; end; Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 40
  • 41. Matrices - Ejemplos resueltos writeln (´La suma es ´,suma´); for i := 1 to max_fila do writeln (´El promedio de calificaciones para la asignatura´, i, ´es´, prom_mat[i]); end. for j := 1 to max_col do writeln (´El promedio de calificaciones para el alumno´, j, ´es´, prom_al[j]); end. Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 41
  • 42. Arreglos multidimesionales 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. Ejemplos de problemas de aplicación de arreglos multidimesionales 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. Se desea saber: a) Cantidad total de habitantes del complejo b) Cantidad promedio de habitantes por piso de cada torre c) Cantidad promedio de habitantes por torre Algoritmos y Programación I - Cátedra: Ing. Domingo T. Mandrafina 42