SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
Tema 5. Vectores
1.       Introducción
2.       Operaciones con vectores
     2.1. Operaciónes básicas: asignación
     2.2. Recorrido secuencial de un vector
     2.3. Búsqueda en un vector (No ordenado y Ordenado)
3.       Matrices
     3.1. Introducción
     3.2. Sintaxis
     3.3. Ejemplos
4.       Operaciones con matrices
     4.1. Recorrido de una matriz
          - Por filas, columnas
     4.2. Traspuesta, suma, producto

Bibliografía:
     –     Biondi y Clavel, 1989
     –     Joyanes
     –     Weiss
     –     Cairó
5.2. Operaciones con vectores (cont.)
Búsqueda en un vector
• Problema habitual en programación: buscar un elemento en
  un vector.
• Tenemos que distinguir dos casos:
   – Los elementos del vector no están ordenados.
     Es necesario recorrer todo el vector para comprobar si un
     elemento está o no.
   – Los elementos del vector están ordenados.
     Se puede establecer una relación de orden ≤ entre los
     elementos del vector:
      v(1) ≤ v(2) ≤ v(3) ≤ ... ≤ v(n)

     No será necesario recorrer todo el vector en todos los
     casos.
Búsqueda secuencial en vectores no
ordenados
Algoritmo Búsqueda_secuencial_1_1 (V, N, X, Posición, Existe) es
V: Vector [1..M] de T; {p. dato}
N: numérico; {p. dato; posiciones ocupadas del vector}
X: T; {p. dato; elemento buscado}
Posición: numérico; {p. resultado; posición del elemento, si está}
Existe: lógico; {p. resultado; indicará si hemos encontrado el
    elemento}
Inicio
 Posición := 1;
 Existe := falso;
 mientras Posición < N y V(Posicion) <> X hacer
    Posición := Posición + 1;
 fin mientras;
 si V(Posición) = X entonces
   existe := Cierto;
 Fin si
Fin
Búsqueda secuencial en vectores no
ordenados
Algoritmo Búsqueda_secuencial_1_2 (V, N, X, Posición, Existe) es
V: Vector [1..M] de T; {p. dato}
N: numérico; {p. dato; posiciones ocupadas del vector}
X: T; {p. dato; elemento buscado}
Posición: numérico; {p. resultado; posición del elemento, si está}
Existe: lógico; {p. resultado; indicará si hemos encontrado el
    elemento}
Inicio
Posición := 1;
Existe := falso;
mientras Posición <= N y Existe = falso hacer
  si V(Posición) = X entonces
   existe := Cierto;
  sino
    Posición := Posición + 1;
  fin si
fin mientras;
Fin
Búsqueda secuencial en vectores ordenados
Algoritmo Búsqueda_secuencial_2 (V, N, X, Posición, Existe) es
V: Vector [1..M] de T;
N, Posición: numérico;
X: T;
Existe: lógico;
Inicio
Posición := 1;
Existe := falso;
mientras Posición < N y V(Posición) < X hacer
         Posición := Posición + 1;
fin mientras;
si V(Posición) = X entonces
         Existe := Cierto;
fin si;
Fin
Búsqueda en vectores ordenados
Algoritmo Búsqueda_binaria (V, N, X, pos, existe) es
V: Vector [1..M] de T; {p. dato}
N: numérico; {p. dato}
X: T; {p. dato}
Pos: numérico; {p. resultado}
Existe: lógico; {p. resultado}
Inf, Sup, Med: numérico;
Inicio
    Inf := 1;
    Sup := N;
    Mientras Inf <> Sup hacer
          Med := (Inf + Sup) div 2;
          Si X > V(Med) entonces
                   Inf := Med + 1;
          Sino {X <= V(Med) }
                   Sup := Med;
          finsi
    Fin mientras
    Si V(inf) = X entonces
          existe := cierto;
          pos := inf;
    sino
          existe := falso;
    finsi
Fin
5.3. Matrices
5.3.1. Introducción
   – ¿Qué ocurre cuando el tipo base de un array es otro array?
      Mat = vector[1..4] de (vector[1..5] de enteros);
      X: Mat;

                                  X

      X(1)              X(2)             X(3)              X(4)



 Tenemos un array de 20 enteros, organizados en 4 bloques de 5
 enteros cada uno: X(1) tendrá X(1,1), X(1,2), X(1,3), X(1,4), X(1,5)
 y así X(2), X(3) y X(4)
• Obviamente, para acceder a cada elemento individual serán
  necesarios dos índices: uno por cada dimensión.

         X(1)    X[1,1]     X[1,2]     X[1,3]     X[1,4]     X[1,5]

         X(2)    X[2,1]     X[2,2]     X[2,3]     X[2,4]     X[2,5]

         X(3)    X[3,1]     X[3,2]     X[3,3]     X[3,4]     X[3,5]

         X(4)    X[4,1]     X[4,2]     X[4,3]     X[4,4]     X[4,5]


5.3.2. Sintaxis
Además de la sintaxis anterior, que es genérica:
<tipo-matriz> ::=
<tipo> = vector [<tipo-indice>{,<tipo-indice>}] de <tipo-base>
<tipo-indice> ::= <elemento-inicial> .. <elemento-final>

5.3.3. Ejemplos
Notas = vector[1..4,1..9] de numérico; {Notas: 4 cursos x 9 asignaturas}
Temperaturas = vector[1..12,1..31] de numérico; {Temperaturas anuales x meses}
Nombres = vector[1..4,1..40] de cadenas; {Nombres de 40 alumnos x 4 cursos}

N: Notas;
T: Temperaturas; {T(6, 1): temperatura asociada al 1 de junio}
5.4. Operaciones sobre matrices
5.4.1. Recorrido
•    También se puede aplicar el tratamiento secuencial sobre los
     arrays en general y sobre las matrices en particular.
     En el caso de un vector:
    – Esquema 1 (Tratamiento en curso ≠ tratamiento final)
           iniciar tratamiento;
           para I de 1 a N-1 hace
                 tratar X(I); {el elemento i-ésimo de la secuencia es X(I)}
           finpara;
           tratar X(N);
    –   Esquema 2 (Tratamiento en curso = tratamiento final)
           iniciar tratamiento;
           para I de 1 a N hace
                 tratar X(I); {el elemento i-ésimo de la secuencia es X(I)}
           finpara;

        Los elementos de la secuencia son escalares.
En el caso de un vector multidimensional (por ejemplo, AMxN)
•   las filas (o las columnas) de la matriz forman también una
    secuencia
    (fila1), (fila2),..., (filaM)
    (X(1,1),...,X(1,N)), (X(2,1),...,X(2,N)), ..., (X(M,1),...,X(M,N))
•   el elemento i-ésimo de la secuencia será una fila o una columna
•   a su vez, ese elemento puede necesitar también un tratamiento
    secuencial

Recorrido de una matriz por filas
    Algoritmo Leer_matriz (A, M, N) es
    {declaración de tipos}
    matriz = vector[1..100, 1..100] de numérico;
    {declaración de parámetros}
    A: matriz; {p. dato-resultado}
    M, N: numérico; {p. dato; porción utilizable de la matriz}
    I: numérico; {entero, se usará como índice}
    Inicio
        para I desde 1 hasta M hacer
                 leer_fila (A, I, N);
        fin para
    Fin
Algoritmo Leer_fila (A, fila, max_col) es
   {declaración de tipos}
   matriz = vector[1..100, 1..100] de numérico;
   {declaración de parámetros}
   A: matriz; {p. dato-resultado}
   fila, max_col: numérico; {p. dato}
   J: numérico; {entero, se usará como índice}
   Inicio
        para J desde 1 hasta max_col hacer
                 escribir “Dame el elemento “, J, “ de la fila “, fila, “: “;
                 leer A(fila, J);
        fin para
   Fin

Generalmente se escribirá de forma compacta:
   para I desde 1 hasta M hacer
        para J desde 1 hasta N hacer
                 tratar A(I, J);
        fin para
   fin para
Recorrido de una matriz por columnas


   Algoritmo Mostrar_matriz (A, M, N) es
   {declaración de tipos}
   matriz = vector[1..100, 1..100] de numérico;
   {declaración de parámetros}
   A: matriz; {p. dato-resultado}
   M, N: numérico; {p. datos; porción utilizable de la matriz}
   J: numérico; {entero, se usará como índice}
   Inicio
      para J desde 1 hasta N hacer {J=1..N, cada columna J de A}
        mostrar_columna (A, M, J);
      fin para
   Fin
Algoritmo mostrar_columna (A, max_fil, col) es
   {declaración de tipos}
   matriz = vector[1..100, 1..100] de numérico;
   {declaración de parámetros}
   A: matriz; {p. dato-resultado}
   col, max_fil: numérico; {p. dato}
   I: numérico; {entero, se usará como índice}
   Inicio
        para I desde 1 hasta max_fil hacer
                 escribir “El elemento “, I, “ de la columna “, col, “es: “;
                 escribir A(I, col);
        fin para
   Fin

Generalmente se escribirá de forma compacta:
   para J desde 1 hasta N hacer
        para I desde 1 hasta M hacer
                 tratar A(I, J);
        fin para
   fin para
5.4.2. Traspuesta, suma y producto
• Suma
  Resumen:
    Dadas dos matrices A y B de tamaños 100 x 100, en las
    que están ocupadas M x N posiciones, calcúlese en C la
    suma de A + B
  Algoritmo Suma (A, B, C, M, N) es
  A, B: matriz; {p. dato}
  C: matriz; {p. resultado}
  M, N: numérico; {p. dato}
• Traspuesta
  Resumen:
    Dada una matriz A de tamaño 100 x 100, en la que están
    ocupadas M x N posiciones, transfórmese A en su
    traspuesta, sin utilizar ninguna estructura auxiliar
  Algoritmo Traspuesta (A, M, N) es
  A: matriz; {p. dato-resultado}
  M, N: numérico; {p. dato}
• Producto
  Resumen:
    Dadas dos matrices A y B de tamaños máximos 100 x 100,
    en las que están ocupadas AMxN y BNxP posiciones,
    calcúlese en C el producto de A x B
  Algoritmo Producto (A, B, C, M, N, P) es
  A, B: matriz; {p. dato; AMxN y BNxP}
  C: matriz; {p. resultado; CMxP}
  M, N, P: numérico; {p. dato}
Algoritmo Calcular N primeros números primos mediante la criba
de Eratóstenes
Inicialmente todos los números 2..10000 son números primos posibles

Si I es un número primo (excepto el 1), elimino todos los números
múltiplos de I, entre I*2 y 10000/I: para eliminar substituyo el valor inicial
por 0.




     1    2     3    4     5    6     7     8    9     10

     1    1     1    1     1    1     1     1    1     1       i=2


    Suprimir múltiplos de 2, que es primo, porque multiplos(i)=1

     1    1     1    0     1    0     1     0    1     0

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

7.metodo de newton2
7.metodo de newton27.metodo de newton2
7.metodo de newton2
 
Funciones trigonométrica
Funciones trigonométricaFunciones trigonométrica
Funciones trigonométrica
 
Funciones y graficas
Funciones y graficasFunciones y graficas
Funciones y graficas
 
Cálculo diferencial
Cálculo diferencialCálculo diferencial
Cálculo diferencial
 
Al ap 01
Al ap 01Al ap 01
Al ap 01
 
E book itzayana nava montiel
E book itzayana nava montielE book itzayana nava montiel
E book itzayana nava montiel
 
6.metodo de newton
6.metodo de newton6.metodo de newton
6.metodo de newton
 
Clase8 minisem
Clase8 minisemClase8 minisem
Clase8 minisem
 
Fundamentos Divide Y Venceras
Fundamentos Divide Y VencerasFundamentos Divide Y Venceras
Fundamentos Divide Y Venceras
 
Teoria y problemas de calculo integral ccesa007
Teoria y  problemas  de calculo integral   ccesa007Teoria y  problemas  de calculo integral   ccesa007
Teoria y problemas de calculo integral ccesa007
 
Derivacion e integracion
Derivacion e integracionDerivacion e integracion
Derivacion e integracion
 
Ejercicio 3
Ejercicio 3Ejercicio 3
Ejercicio 3
 
Funciones
FuncionesFunciones
Funciones
 
Practica3diferenciacion
Practica3diferenciacionPractica3diferenciacion
Practica3diferenciacion
 
Integrales indefinidas
Integrales indefinidasIntegrales indefinidas
Integrales indefinidas
 
Integrales indefinidas
Integrales indefinidasIntegrales indefinidas
Integrales indefinidas
 
Ode45
Ode45Ode45
Ode45
 
Divide y Venceras
Divide y VencerasDivide y Venceras
Divide y Venceras
 
Integral indefinida
Integral indefinidaIntegral indefinida
Integral indefinida
 
Resolviendo problemas de limites de sucesiones al infinito
Resolviendo problemas de limites de sucesiones al infinitoResolviendo problemas de limites de sucesiones al infinito
Resolviendo problemas de limites de sucesiones al infinito
 

Andere mochten auch

Solution Analytics : Kameleoon
Solution Analytics : KameleoonSolution Analytics : Kameleoon
Solution Analytics : KameleoonQuentin Apruzzese
 
2016 MÉMOIRE DES LUTTES AUX SOURCES TUMULTUEUSES DU CONFLIT COLOMBIEN
2016 MÉMOIRE DES LUTTES AUX SOURCES TUMULTUEUSES DU CONFLIT COLOMBIEN2016 MÉMOIRE DES LUTTES AUX SOURCES TUMULTUEUSES DU CONFLIT COLOMBIEN
2016 MÉMOIRE DES LUTTES AUX SOURCES TUMULTUEUSES DU CONFLIT COLOMBIENLaurence Mazure
 
Responsabilité et règlementation de la qualité de l'eau de la Seine : La cont...
Responsabilité et règlementation de la qualité de l'eau de la Seine : La cont...Responsabilité et règlementation de la qualité de l'eau de la Seine : La cont...
Responsabilité et règlementation de la qualité de l'eau de la Seine : La cont...seineenpartageII
 
La newsletter de mgrh 2
La newsletter de mgrh 2La newsletter de mgrh 2
La newsletter de mgrh 2CABINET MGRH
 
France pp
France ppFrance pp
France ppRichJoy
 
Humanitaire Rencontres Africaines - Mission gaoua janvier 2014
Humanitaire Rencontres Africaines - Mission gaoua janvier 2014Humanitaire Rencontres Africaines - Mission gaoua janvier 2014
Humanitaire Rencontres Africaines - Mission gaoua janvier 2014humanitaireRA
 
Koha, metabuscadores y herramientas colaborativas de edición de contenidos
Koha, metabuscadores y herramientas colaborativas de edición de contenidosKoha, metabuscadores y herramientas colaborativas de edición de contenidos
Koha, metabuscadores y herramientas colaborativas de edición de contenidosVicente Piñeiro
 
La newsletter de mgrh 1
La newsletter de mgrh 1La newsletter de mgrh 1
La newsletter de mgrh 1CABINET MGRH
 
These tony ducrocq
These tony ducrocqThese tony ducrocq
These tony ducrocqmrewaabd
 
Le point mort- Seuil de rentabilité
Le point mort- Seuil de rentabilité Le point mort- Seuil de rentabilité
Le point mort- Seuil de rentabilité Biova consulting
 
Memoria II Unconference Internacional de Sueños en Acción: "Vivir en la Era d...
Memoria II Unconference Internacional de Sueños en Acción: "Vivir en la Era d...Memoria II Unconference Internacional de Sueños en Acción: "Vivir en la Era d...
Memoria II Unconference Internacional de Sueños en Acción: "Vivir en la Era d...Lur Gozoa
 
Car2go pense à Bruxelles
Car2go pense à BruxellesCar2go pense à Bruxelles
Car2go pense à BruxellesWagenverkopen
 
2015 02-2014 - departementales 2015 minut
2015 02-2014 - departementales 2015 minut2015 02-2014 - departementales 2015 minut
2015 02-2014 - departementales 2015 minutguindedavenne
 

Andere mochten auch (20)

Solution Analytics : Kameleoon
Solution Analytics : KameleoonSolution Analytics : Kameleoon
Solution Analytics : Kameleoon
 
2016 MÉMOIRE DES LUTTES AUX SOURCES TUMULTUEUSES DU CONFLIT COLOMBIEN
2016 MÉMOIRE DES LUTTES AUX SOURCES TUMULTUEUSES DU CONFLIT COLOMBIEN2016 MÉMOIRE DES LUTTES AUX SOURCES TUMULTUEUSES DU CONFLIT COLOMBIEN
2016 MÉMOIRE DES LUTTES AUX SOURCES TUMULTUEUSES DU CONFLIT COLOMBIEN
 
Z Recomendation Letters
Z Recomendation LettersZ Recomendation Letters
Z Recomendation Letters
 
Open Data en Gijón
Open Data en GijónOpen Data en Gijón
Open Data en Gijón
 
Responsabilité et règlementation de la qualité de l'eau de la Seine : La cont...
Responsabilité et règlementation de la qualité de l'eau de la Seine : La cont...Responsabilité et règlementation de la qualité de l'eau de la Seine : La cont...
Responsabilité et règlementation de la qualité de l'eau de la Seine : La cont...
 
La newsletter de mgrh 2
La newsletter de mgrh 2La newsletter de mgrh 2
La newsletter de mgrh 2
 
France pp
France ppFrance pp
France pp
 
Extrait sam
Extrait samExtrait sam
Extrait sam
 
C'est la vie
C'est la vieC'est la vie
C'est la vie
 
Humanitaire Rencontres Africaines - Mission gaoua janvier 2014
Humanitaire Rencontres Africaines - Mission gaoua janvier 2014Humanitaire Rencontres Africaines - Mission gaoua janvier 2014
Humanitaire Rencontres Africaines - Mission gaoua janvier 2014
 
Word2003
Word2003Word2003
Word2003
 
Koha, metabuscadores y herramientas colaborativas de edición de contenidos
Koha, metabuscadores y herramientas colaborativas de edición de contenidosKoha, metabuscadores y herramientas colaborativas de edición de contenidos
Koha, metabuscadores y herramientas colaborativas de edición de contenidos
 
La newsletter de mgrh 1
La newsletter de mgrh 1La newsletter de mgrh 1
La newsletter de mgrh 1
 
These tony ducrocq
These tony ducrocqThese tony ducrocq
These tony ducrocq
 
Le point mort- Seuil de rentabilité
Le point mort- Seuil de rentabilité Le point mort- Seuil de rentabilité
Le point mort- Seuil de rentabilité
 
Memoria II Unconference Internacional de Sueños en Acción: "Vivir en la Era d...
Memoria II Unconference Internacional de Sueños en Acción: "Vivir en la Era d...Memoria II Unconference Internacional de Sueños en Acción: "Vivir en la Era d...
Memoria II Unconference Internacional de Sueños en Acción: "Vivir en la Era d...
 
Resumen
ResumenResumen
Resumen
 
Car2go pense à Bruxelles
Car2go pense à BruxellesCar2go pense à Bruxelles
Car2go pense à Bruxelles
 
Le décrochage scolaire
Le décrochage scolaireLe décrochage scolaire
Le décrochage scolaire
 
2015 02-2014 - departementales 2015 minut
2015 02-2014 - departementales 2015 minut2015 02-2014 - departementales 2015 minut
2015 02-2014 - departementales 2015 minut
 

Ähnlich wie Vectores y matrices fundamentales

jaisan
jaisanjaisan
jaisanjai
 
Investigación #1
Investigación #1Investigación #1
Investigación #1Luis Nuñez
 
Clase1_Matrices.pptx
Clase1_Matrices.pptxClase1_Matrices.pptx
Clase1_Matrices.pptxVctorChacn3
 
Presentacion Matrices
Presentacion MatricesPresentacion Matrices
Presentacion Matricesjmorenotito
 
Presentacion Matrices
Presentacion MatricesPresentacion Matrices
Presentacion Matricesjmorenotito
 
Algebralineal.docx
Algebralineal.docxAlgebralineal.docx
Algebralineal.docxEdwin Laguna
 
Cursos de MATLAB
Cursos de MATLABCursos de MATLAB
Cursos de MATLABdwquezada
 
Informe de proyecto final
Informe de proyecto finalInforme de proyecto final
Informe de proyecto finalAldrin Eduardo
 
Matrices operaciones
Matrices operacionesMatrices operaciones
Matrices operacionesjcremiro
 
Transformaciones lineales
Transformaciones linealesTransformaciones lineales
Transformaciones linealesmbgcmadelein
 
Suma de imagenes
Suma de imagenesSuma de imagenes
Suma de imagenesanar26
 
Métodos Directos
Métodos DirectosMétodos Directos
Métodos DirectosKike Prieto
 
Metodos numericos..pptx
Metodos numericos..pptxMetodos numericos..pptx
Metodos numericos..pptxErickMalaveS
 
bhguhffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
bhguhffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbhguhffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
bhguhffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffLuLopez7
 

Ähnlich wie Vectores y matrices fundamentales (20)

jaisan
jaisanjaisan
jaisan
 
Investigación #1
Investigación #1Investigación #1
Investigación #1
 
Clase1_Matrices.pptx
Clase1_Matrices.pptxClase1_Matrices.pptx
Clase1_Matrices.pptx
 
Presentacion Matrices
Presentacion MatricesPresentacion Matrices
Presentacion Matrices
 
Presentacion Matrices
Presentacion MatricesPresentacion Matrices
Presentacion Matrices
 
Algebralineal.docx
Algebralineal.docxAlgebralineal.docx
Algebralineal.docx
 
Res vecmat8
Res vecmat8Res vecmat8
Res vecmat8
 
Resvecmat
ResvecmatResvecmat
Resvecmat
 
Cursos de MATLAB
Cursos de MATLABCursos de MATLAB
Cursos de MATLAB
 
Informe de proyecto final
Informe de proyecto finalInforme de proyecto final
Informe de proyecto final
 
Matrices operaciones
Matrices operacionesMatrices operaciones
Matrices operaciones
 
Matrices
MatricesMatrices
Matrices
 
Transformaciones lineales
Transformaciones linealesTransformaciones lineales
Transformaciones lineales
 
Suma de imagenes
Suma de imagenesSuma de imagenes
Suma de imagenes
 
An 04 metodos-directos
An 04 metodos-directosAn 04 metodos-directos
An 04 metodos-directos
 
Matrices
Matrices Matrices
Matrices
 
Métodos Directos
Métodos DirectosMétodos Directos
Métodos Directos
 
Metodos numericos..pptx
Metodos numericos..pptxMetodos numericos..pptx
Metodos numericos..pptx
 
Presentación1 diego
Presentación1 diegoPresentación1 diego
Presentación1 diego
 
bhguhffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
bhguhffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbhguhffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
bhguhffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
 

Mehr von martha leon

Trabajo Practico Uap Arreglos
Trabajo Practico Uap ArreglosTrabajo Practico Uap Arreglos
Trabajo Practico Uap Arreglosmartha leon
 
Silabo Prog De Computadoras 2
Silabo Prog  De Computadoras 2Silabo Prog  De Computadoras 2
Silabo Prog De Computadoras 2martha leon
 
Tema2 C++ 2004 2005
Tema2 C++ 2004 2005Tema2 C++ 2004 2005
Tema2 C++ 2004 2005martha leon
 
Unidad16 Codigof1
Unidad16 Codigof1Unidad16 Codigof1
Unidad16 Codigof1martha leon
 
Ejemplos Importantisimo
Ejemplos  ImportantisimoEjemplos  Importantisimo
Ejemplos Importantisimomartha leon
 
Sem5 Interaccion Con La Computadoras Software
Sem5 Interaccion Con La Computadoras   SoftwareSem5 Interaccion Con La Computadoras   Software
Sem5 Interaccion Con La Computadoras Softwaremartha leon
 
Sem2 En El Interior De Las Computadoras Hardware I
Sem2 En El Interior De Las Computadoras   Hardware ISem2 En El Interior De Las Computadoras   Hardware I
Sem2 En El Interior De Las Computadoras Hardware Imartha leon
 
Jhtp5 20 Datastructures
Jhtp5 20 DatastructuresJhtp5 20 Datastructures
Jhtp5 20 Datastructuresmartha leon
 
Ejemplos Interfaces Usuario 3
Ejemplos Interfaces Usuario 3Ejemplos Interfaces Usuario 3
Ejemplos Interfaces Usuario 3martha leon
 
Sem1 El Mundo De Las Computadoras
Sem1 El Mundo De Las ComputadorasSem1 El Mundo De Las Computadoras
Sem1 El Mundo De Las Computadorasmartha leon
 
Sem3 En El Interior De Las Computadoras Hardware Ii
Sem3 En El Interior De Las Computadoras   Hardware IiSem3 En El Interior De Las Computadoras   Hardware Ii
Sem3 En El Interior De Las Computadoras Hardware Iimartha leon
 
Arrays In General
Arrays In GeneralArrays In General
Arrays In Generalmartha leon
 

Mehr von martha leon (15)

Trabajo Practico Uap Arreglos
Trabajo Practico Uap ArreglosTrabajo Practico Uap Arreglos
Trabajo Practico Uap Arreglos
 
SeúDocodigo
SeúDocodigoSeúDocodigo
SeúDocodigo
 
Silabo Prog De Computadoras 2
Silabo Prog  De Computadoras 2Silabo Prog  De Computadoras 2
Silabo Prog De Computadoras 2
 
Tema2 C++ 2004 2005
Tema2 C++ 2004 2005Tema2 C++ 2004 2005
Tema2 C++ 2004 2005
 
Unidad16 Codigof1
Unidad16 Codigof1Unidad16 Codigof1
Unidad16 Codigof1
 
Ejemplos Importantisimo
Ejemplos  ImportantisimoEjemplos  Importantisimo
Ejemplos Importantisimo
 
Sem5 Interaccion Con La Computadoras Software
Sem5 Interaccion Con La Computadoras   SoftwareSem5 Interaccion Con La Computadoras   Software
Sem5 Interaccion Con La Computadoras Software
 
Sem2 En El Interior De Las Computadoras Hardware I
Sem2 En El Interior De Las Computadoras   Hardware ISem2 En El Interior De Las Computadoras   Hardware I
Sem2 En El Interior De Las Computadoras Hardware I
 
Jhtp5 20 Datastructures
Jhtp5 20 DatastructuresJhtp5 20 Datastructures
Jhtp5 20 Datastructures
 
Ejemplos Interfaces Usuario 3
Ejemplos Interfaces Usuario 3Ejemplos Interfaces Usuario 3
Ejemplos Interfaces Usuario 3
 
Sem1 El Mundo De Las Computadoras
Sem1 El Mundo De Las ComputadorasSem1 El Mundo De Las Computadoras
Sem1 El Mundo De Las Computadoras
 
Sem3 En El Interior De Las Computadoras Hardware Ii
Sem3 En El Interior De Las Computadoras   Hardware IiSem3 En El Interior De Las Computadoras   Hardware Ii
Sem3 En El Interior De Las Computadoras Hardware Ii
 
Arrays In General
Arrays In GeneralArrays In General
Arrays In General
 
3433 Ch09 Ppt
3433 Ch09 Ppt3433 Ch09 Ppt
3433 Ch09 Ppt
 
3433 Ch10 Ppt
3433 Ch10 Ppt3433 Ch10 Ppt
3433 Ch10 Ppt
 

Kürzlich hochgeladen

Trabajo de tecnología liceo departamental
Trabajo de tecnología liceo departamentalTrabajo de tecnología liceo departamental
Trabajo de tecnología liceo departamentalEmanuelCastro64
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
PROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y masPROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y maslida630411
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024anasofiarodriguezcru
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nóminacuellosameidy
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
tecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdftecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdflauralizcano0319
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaYeimys Ch
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxCarolina Bujaico
 
Tecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestríaTecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestríaElizabethLpezSoto
 

Kürzlich hochgeladen (20)

Trabajo de tecnología liceo departamental
Trabajo de tecnología liceo departamentalTrabajo de tecnología liceo departamental
Trabajo de tecnología liceo departamental
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
PROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y masPROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y mas
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nómina
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
tecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdftecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdf
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptx
 
Tecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestríaTecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestría
 

Vectores y matrices fundamentales

  • 1. Tema 5. Vectores 1. Introducción 2. Operaciones con vectores 2.1. Operaciónes básicas: asignación 2.2. Recorrido secuencial de un vector 2.3. Búsqueda en un vector (No ordenado y Ordenado) 3. Matrices 3.1. Introducción 3.2. Sintaxis 3.3. Ejemplos 4. Operaciones con matrices 4.1. Recorrido de una matriz - Por filas, columnas 4.2. Traspuesta, suma, producto Bibliografía: – Biondi y Clavel, 1989 – Joyanes – Weiss – Cairó
  • 2. 5.2. Operaciones con vectores (cont.) Búsqueda en un vector • Problema habitual en programación: buscar un elemento en un vector. • Tenemos que distinguir dos casos: – Los elementos del vector no están ordenados. Es necesario recorrer todo el vector para comprobar si un elemento está o no. – Los elementos del vector están ordenados. Se puede establecer una relación de orden ≤ entre los elementos del vector: v(1) ≤ v(2) ≤ v(3) ≤ ... ≤ v(n) No será necesario recorrer todo el vector en todos los casos.
  • 3. Búsqueda secuencial en vectores no ordenados Algoritmo Búsqueda_secuencial_1_1 (V, N, X, Posición, Existe) es V: Vector [1..M] de T; {p. dato} N: numérico; {p. dato; posiciones ocupadas del vector} X: T; {p. dato; elemento buscado} Posición: numérico; {p. resultado; posición del elemento, si está} Existe: lógico; {p. resultado; indicará si hemos encontrado el elemento} Inicio Posición := 1; Existe := falso; mientras Posición < N y V(Posicion) <> X hacer Posición := Posición + 1; fin mientras; si V(Posición) = X entonces existe := Cierto; Fin si Fin
  • 4. Búsqueda secuencial en vectores no ordenados Algoritmo Búsqueda_secuencial_1_2 (V, N, X, Posición, Existe) es V: Vector [1..M] de T; {p. dato} N: numérico; {p. dato; posiciones ocupadas del vector} X: T; {p. dato; elemento buscado} Posición: numérico; {p. resultado; posición del elemento, si está} Existe: lógico; {p. resultado; indicará si hemos encontrado el elemento} Inicio Posición := 1; Existe := falso; mientras Posición <= N y Existe = falso hacer si V(Posición) = X entonces existe := Cierto; sino Posición := Posición + 1; fin si fin mientras; Fin
  • 5. Búsqueda secuencial en vectores ordenados Algoritmo Búsqueda_secuencial_2 (V, N, X, Posición, Existe) es V: Vector [1..M] de T; N, Posición: numérico; X: T; Existe: lógico; Inicio Posición := 1; Existe := falso; mientras Posición < N y V(Posición) < X hacer Posición := Posición + 1; fin mientras; si V(Posición) = X entonces Existe := Cierto; fin si; Fin
  • 6. Búsqueda en vectores ordenados Algoritmo Búsqueda_binaria (V, N, X, pos, existe) es V: Vector [1..M] de T; {p. dato} N: numérico; {p. dato} X: T; {p. dato} Pos: numérico; {p. resultado} Existe: lógico; {p. resultado} Inf, Sup, Med: numérico; Inicio Inf := 1; Sup := N; Mientras Inf <> Sup hacer Med := (Inf + Sup) div 2; Si X > V(Med) entonces Inf := Med + 1; Sino {X <= V(Med) } Sup := Med; finsi Fin mientras Si V(inf) = X entonces existe := cierto; pos := inf; sino existe := falso; finsi Fin
  • 7. 5.3. Matrices 5.3.1. Introducción – ¿Qué ocurre cuando el tipo base de un array es otro array? Mat = vector[1..4] de (vector[1..5] de enteros); X: Mat; X X(1) X(2) X(3) X(4) Tenemos un array de 20 enteros, organizados en 4 bloques de 5 enteros cada uno: X(1) tendrá X(1,1), X(1,2), X(1,3), X(1,4), X(1,5) y así X(2), X(3) y X(4)
  • 8. • Obviamente, para acceder a cada elemento individual serán necesarios dos índices: uno por cada dimensión. X(1) X[1,1] X[1,2] X[1,3] X[1,4] X[1,5] X(2) X[2,1] X[2,2] X[2,3] X[2,4] X[2,5] X(3) X[3,1] X[3,2] X[3,3] X[3,4] X[3,5] X(4) X[4,1] X[4,2] X[4,3] X[4,4] X[4,5] 5.3.2. Sintaxis Además de la sintaxis anterior, que es genérica: <tipo-matriz> ::= <tipo> = vector [<tipo-indice>{,<tipo-indice>}] de <tipo-base> <tipo-indice> ::= <elemento-inicial> .. <elemento-final> 5.3.3. Ejemplos Notas = vector[1..4,1..9] de numérico; {Notas: 4 cursos x 9 asignaturas} Temperaturas = vector[1..12,1..31] de numérico; {Temperaturas anuales x meses} Nombres = vector[1..4,1..40] de cadenas; {Nombres de 40 alumnos x 4 cursos} N: Notas; T: Temperaturas; {T(6, 1): temperatura asociada al 1 de junio}
  • 9. 5.4. Operaciones sobre matrices 5.4.1. Recorrido • También se puede aplicar el tratamiento secuencial sobre los arrays en general y sobre las matrices en particular. En el caso de un vector: – Esquema 1 (Tratamiento en curso ≠ tratamiento final) iniciar tratamiento; para I de 1 a N-1 hace tratar X(I); {el elemento i-ésimo de la secuencia es X(I)} finpara; tratar X(N); – Esquema 2 (Tratamiento en curso = tratamiento final) iniciar tratamiento; para I de 1 a N hace tratar X(I); {el elemento i-ésimo de la secuencia es X(I)} finpara; Los elementos de la secuencia son escalares.
  • 10. En el caso de un vector multidimensional (por ejemplo, AMxN) • las filas (o las columnas) de la matriz forman también una secuencia (fila1), (fila2),..., (filaM) (X(1,1),...,X(1,N)), (X(2,1),...,X(2,N)), ..., (X(M,1),...,X(M,N)) • el elemento i-ésimo de la secuencia será una fila o una columna • a su vez, ese elemento puede necesitar también un tratamiento secuencial Recorrido de una matriz por filas Algoritmo Leer_matriz (A, M, N) es {declaración de tipos} matriz = vector[1..100, 1..100] de numérico; {declaración de parámetros} A: matriz; {p. dato-resultado} M, N: numérico; {p. dato; porción utilizable de la matriz} I: numérico; {entero, se usará como índice} Inicio para I desde 1 hasta M hacer leer_fila (A, I, N); fin para Fin
  • 11. Algoritmo Leer_fila (A, fila, max_col) es {declaración de tipos} matriz = vector[1..100, 1..100] de numérico; {declaración de parámetros} A: matriz; {p. dato-resultado} fila, max_col: numérico; {p. dato} J: numérico; {entero, se usará como índice} Inicio para J desde 1 hasta max_col hacer escribir “Dame el elemento “, J, “ de la fila “, fila, “: “; leer A(fila, J); fin para Fin Generalmente se escribirá de forma compacta: para I desde 1 hasta M hacer para J desde 1 hasta N hacer tratar A(I, J); fin para fin para
  • 12. Recorrido de una matriz por columnas Algoritmo Mostrar_matriz (A, M, N) es {declaración de tipos} matriz = vector[1..100, 1..100] de numérico; {declaración de parámetros} A: matriz; {p. dato-resultado} M, N: numérico; {p. datos; porción utilizable de la matriz} J: numérico; {entero, se usará como índice} Inicio para J desde 1 hasta N hacer {J=1..N, cada columna J de A} mostrar_columna (A, M, J); fin para Fin
  • 13. Algoritmo mostrar_columna (A, max_fil, col) es {declaración de tipos} matriz = vector[1..100, 1..100] de numérico; {declaración de parámetros} A: matriz; {p. dato-resultado} col, max_fil: numérico; {p. dato} I: numérico; {entero, se usará como índice} Inicio para I desde 1 hasta max_fil hacer escribir “El elemento “, I, “ de la columna “, col, “es: “; escribir A(I, col); fin para Fin Generalmente se escribirá de forma compacta: para J desde 1 hasta N hacer para I desde 1 hasta M hacer tratar A(I, J); fin para fin para
  • 14. 5.4.2. Traspuesta, suma y producto • Suma Resumen: Dadas dos matrices A y B de tamaños 100 x 100, en las que están ocupadas M x N posiciones, calcúlese en C la suma de A + B Algoritmo Suma (A, B, C, M, N) es A, B: matriz; {p. dato} C: matriz; {p. resultado} M, N: numérico; {p. dato} • Traspuesta Resumen: Dada una matriz A de tamaño 100 x 100, en la que están ocupadas M x N posiciones, transfórmese A en su traspuesta, sin utilizar ninguna estructura auxiliar Algoritmo Traspuesta (A, M, N) es A: matriz; {p. dato-resultado} M, N: numérico; {p. dato}
  • 15. • Producto Resumen: Dadas dos matrices A y B de tamaños máximos 100 x 100, en las que están ocupadas AMxN y BNxP posiciones, calcúlese en C el producto de A x B Algoritmo Producto (A, B, C, M, N, P) es A, B: matriz; {p. dato; AMxN y BNxP} C: matriz; {p. resultado; CMxP} M, N, P: numérico; {p. dato}
  • 16. Algoritmo Calcular N primeros números primos mediante la criba de Eratóstenes Inicialmente todos los números 2..10000 son números primos posibles Si I es un número primo (excepto el 1), elimino todos los números múltiplos de I, entre I*2 y 10000/I: para eliminar substituyo el valor inicial por 0. 1 2 3 4 5 6 7 8 9 10 1 1 1 1 1 1 1 1 1 1 i=2 Suprimir múltiplos de 2, que es primo, porque multiplos(i)=1 1 1 1 0 1 0 1 0 1 0