1 / 28

TABLAS

TABLAS. Definición . El tipo tabla permite definir objetos formados por un conjunto de elementos del mismo tipo. Ejemplos . El tipo tabla se utiliza para definir puntos en 3-D, vectores, matrices, palabras, etc. TABLAS. Sintaxis

bonnie
Download Presentation

TABLAS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TABLAS • Definición. El tipo tabla permite definir objetos formados por un conjunto de elementos del mismo tipo. • Ejemplos. El tipo tabla se utiliza para definir puntos en 3-D, vectores, matrices, palabras, etc.

  2. TABLAS • Sintaxis nombre_nuevo_tipo = tabla [rango, rango,...] de nombre_tipo donde rango se define como primer_rango .. ultimo_rangosiendo primer_rango y ultimo_rango expresiones de constantes de tipo entero el número de elementos que se pueden guardar en la tabla es igual a ultimo_rango–primer_rango+1

  3. TABLAS • Ejemplos algoritmo tipo vector = tabla [1..10] dereal palabra = tabla [1..10] decaracteres matriz = tabla [1..20,1..30] deentero ftipo var v1,v2: vector; p:palabra; m:matriz fvar

  4. Operaciones La única operación que se puede realizar con un tipo tabla es la asignación. La asignación puede ser: • Tabla -> Tabla • Componente de la tabla -> variable del tipo base • Objeto del tipo base -> componente Sobre los componentes de la tabla se pueden realizar las mismas operaciones que sobre cualquier objeto del mismo tipo base.

  5. Operaciones Ejemplos tipo vector = tabla [1..10] dereal ftipo var v1,v2: vector ; n: realfvar • Tabla -> Tabla v1 := v2 • Componente de la tabla -> variable del tipo base v1[1] := n • Objeto del tipo base -> componente n := v1[7]

  6. Operaciones Ejemplos Cualquier operación que se puede realizar con el tipo base v1[1] := LeerReal() v1[2] := v1[1] *v2[1] /0.5 EscribirReal (v1[2]) EscribirReal(v1[1]+v2[2])

  7. Convenio de longitud • El número de elementos contenidos en una variable de tipo tabla siempre ha de ser menor o igual a la que aparece en la definición. • Dos tipos de convenios se utilizan para indicar el número de elementos de una tabla: • La marca específica de final (centinela) • El conocimiento explícito de la longitud

  8. Calcular el producto escalar de dos vectores de 25 elementos reales algoritmo producto_escalar const N: entero = 25 fconst tipo vector = tabla[1..N] de real ftipo var v1, v2: vector; j : entero;p: real fvar

  9. Leer los N primeros reales y guardarlos en el vector v1 var v1, v2: vector; j : entero;p: real fvar j:= 1 mientras j <= N hacer v1[j] := LeerReal() j := j+1 fmientras

  10. Leer los N siguientes reales y guardarlos en el vector v2 j:= 1 mientras j <= N hacer v2[j] := LeerReal() j := j+1 fmientras

  11. Multiplicar componente a componente v1 y v2 j:= 1; p := 0 mientras j <= N hacer p := p + v1[j] * v2[j] j := j+1 fmientras EscribirReal (p)

  12. algoritmo producto_escalar const N: entero = 25 fconst tipo vector = tabla[1..N] de real ftipo var v1, v2: vector; j : entero;p: real fvar j:= 1 mientras j < N hacer v1[j] := LeerReal j := j+1 fmientras j:= 1 mientras j < N hacer v2[j] := LeerReal j := j+1 fmientras j:= 1; p := 0 mientras j <= N hacer p := p + v1[j] * v2[j] j := j+1 fmientras EscribirReal (p) falgoritmo

  13. Estructura repetitiva para para indice en [rango_inicial..rango_final] (paso expresión) hacer Sentencias fpara para j en [1..N] hacer v1[j] := LeerEntero() fpara para j en [1..N] paso 2 hacer v1[j] := v1[j] + 10 fpara

  14. Leer los N siguientes reales y guardarlos en el vector v2 para j en [1..N] hacer v2[j] := LeerReal() hacer

  15. Multiplicar componente a componente v1 y v2 p := 0 para j en [1..N] hacer p := p + v1[j] * v2[j] fpara EscribirReal (p)

  16. Lee una secuencia de enteros acabada en 0 y un siguiente entero e indica si este entero aparece en la secuencia anterior algoritmo búsqueda_entero const N: entero = 25 fconst tipo tentero = tabla[1..N] de entero ftipo var t1: tentero; n, j: entero encontrado: booleano fvar

  17. Leer la secuencia de enteros, guardarlos en la tabla t1 y leer el siguiente entero j:= 1; t1[j] := LeerEntero mientras t1[j] != 0 y j < N hacer j := j+1 t1[j] := LeerEntero fmientras n := LeerEntero

  18. Buscar el entero en la secuencia guardada en el la tabla t1 j:= 1; encontrado := falso mientras t1[j] != 0 yno encontrado hacer si t1[j] = n entonces encontrado := cierto fsi j := j+1 fmientras si encontrado entonces EscribirCaracter(‘S’) sino EscribirCaracter(‘N’) fsi

  19. algoritmo búsqueda_entero constN: entero = 25 fconst tipotentero = tabla[1..N] de entero ftipo var t1: tentero; n, j: entero ;encontrado: booleano fvar j:= 1; t1[j] := LeerEntero mientras t1[j] != 0 y j < N hacer j := j+1; t1[j] := LeerEntero fmientras n := LeerEntero; j:= 1; encontrado := falso mientras t1[j] != 0 yno encontrado hacer si t1[j] = n entonces encontrado := cierto fsi j := j+1 fmientras si encontrado entonces EscribirCaracter(‘S’) sino EscribirCaracter(‘N’) fsi falgoritmo

  20. Llegir dos vector de 4 components reals I escriure el vector resultant de sumar els dos vectors component a component • 3 0 -5 0 -1 23 4 12 2 23 -1

  21. Llegir dos vector de N components reals I escriure el vector resultant de sumar els dos vectors component a component algoritme sumar_vectors const N: enter = 4 fconst tipus vector = taula[1..N] de reals ftipus var v1,v2: vector; j: enter fvar

  22. algoritme sumar_vectors constN: enter = 4 fconst tipusvector = taula[1..N] de reals ftipus var v1,v2: vector; j: enter fvar per j en [1..N] fer v1[j] := LlegirReal() fper per j en [1..N] fer v2[j] := LlegirReal() fper per j en [1..N] fer escriureReal (v1[j] + v2[j]) fper falgoritme

  23. Estructura repetitiva per per index en [rang_inicial..rang_final] fer Sentències fper for (index = rang_inicial; index <=rang_final;increment index) { .. Sentències } for (j= 0; j<N; j++) { v1[j] = v1[j + 2]; } Les taules en C comencen a la posició 0

  24. Llegir una seqüència de enters acabada en 0 i escriure-la incrementant cada element amb la mitjana de la seqüència algoritme incrementar_seqüència const N: enter = 25 fconst tipus tenter = taula[1..N] de enter ftipus var t1: tenter; suma,n, j: enter mitjana: real fvar

  25. Llegir la seqüència d’enters, guardarlos en la taula1 i calcular la mitjana j:= 1; t1[j] := LlegirEnter ; suma := t1[j] mentre t1[j] != 0 i j < N fer j := j+1; t1[j] := LlegirEnter suma := suma + t1[j] fmentre mitjana := EnterAReal(suma)/ EnterAReal(j) n := j

  26. Escriure la seqüència dels enters incrementada amb la mitjana per j en [1..n ] fer EscriureReal (EnterAReal(t1[j]) + mitjana) fper

  27. algoritme incrementar_seqüència constN: enter = 25 fconst tipus tenter = taula[1..N] de enter ftipus var t1: tenter; suma,n, j: enter ; mitjana: real; fvar j:= 1; t1[j] := LlegirEnter ; suma := t1[j] mentre t1[j] != 0 i j < N fer j := j+1; t1[j] := LlegirEnter suma := suma + t1[j] fmentre mitjana := EnterAReal(suma)/ EnterAReal(j) n := j per j en [1..n ] fer EscriureReal (EnterAReal(t1[j]) + mitjana) fper falgoritme

  28. Traducció a C # define N 25 typedef int tenter [N]; void main(void) { tenter t1;int suma,num, j; float mitjana, aux; j= 0; cin >> t1[j] ; suma = t1[j]; while (t1[j] != 0 && j < N-1) { j = j+1; cin >> t1[j] ; suma = suma + t1[j]; } mitjana = (float)suma / (float)j; num = j; for (j =0; j< num; j++){ aux = (float) t1[j] + mitjana ;cout << aux <<endl; } system(“PAUSE”); }

More Related