La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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.

Presentaciones similares


Presentación del tema: "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."— Transcripción de la presentación:

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_rango siendo 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] de real palabra = tabla [1..10] de caracteres matriz = tabla [1..20,1..30] de entero 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] de real ftipo var v1,v2: vector ; n: real fvar 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 y no 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 const N: entero = 25 fconst tipo tentero = 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 y no 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 123 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 const N: enter = 4 fconst tipus vector = 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 const N: 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”); }


Descargar ppt "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."

Presentaciones similares


Anuncios Google