1 / 13

Tema 7 Informática Topografía

Tema 7 Informática Topografía. Estructuras de datos compuestas Objetivos: Conocer el concepto de vector Conocer las operaciones que pueden realizarse con ellos Aplicar ambos conceptos a la resolución de problemas Conocer el concepto de matriz bidimensional y multidimensional.

naida
Download Presentation

Tema 7 Informática Topografía

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. Tema 7 Informática Topografía Estructuras de datos compuestas • Objetivos: • Conocer el concepto de vector • Conocer las operaciones que pueden realizarse con ellos • Aplicar ambos conceptos a la resolución de problemas • Conocer el concepto de matriz bidimensional y multidimensional Estructuras de datos

  2. Definición de vector Operaciones con vectores Búsqueda Ordenación Definición de vector de caracteres Operaciones carácter a carácter Funciones de cadenas de caracteres

  3. Tipos de datos • simples • char, int, long int, float, double • compuestos • vector • los datos almacenados son todos del mismo tipo • pueden numerarse • permiten tratamiento homogéneo e implícito (uso de bucles) Estructuras de datos

  4. Definición de vector • Conjunto de datos homogéneos • Tipificación: • Elemento: Cada uno de las unidades que forman el vector • Rango: Cantidad de elementos que contiene • Índice: Número identificativo del elemento Rango = 10 Estructuras de datos

  5. Definición de vector • Declaración tipo vector[RANGO]; • Inicialización int datos[3] = {1,4,8}; • Acceso a los elementos datos[0] = a; a = datos[2]; b = a * datos[N-1] - 5; • Entrada : scanf (“%d”, &datos[0]); • Salida : printf (“%d”, datos[0]); Índice Elemento Estructuras de datos

  6. Programa que genera un vector para almacenar 10 números enteros leídos desde teclado y lo visualiza una vez creado. #include <stdio.h> #define RANGO 10 main () { int numeros[RANGO], i; for (i=0;i< RANGO;i++) { printf ("\n Introduce un numero "); scanf ("%d",&numeros[i]); } for (i=0;i<RANGO;i++) printf("\nEl valor del elemento %d es %d", i+1, numeros[i]); } Estructuras de datos

  7. Búsqueda en vectores • Consiste en determinar: • Qué elemento cumple una determinada condición: • Igual a un valor dado • Si supera un umbral (positivo o negativo) • Otras más sofisticadas • Su posición. Recordar el elemento • Métodos de búsqueda • Secuencial. Se recorren todos los elementos desde el primero hasta el último o hasta el localizado. Cuesta N pasos • Binaria o dicotómica. Partiendo de un vector ordenado mediante algún criterio, se localiza el elemento en log2(N) pasos N es el rango del vector Estructuras de datos

  8. Búsqueda en vectores • Métodos de búsqueda secuencial Programa que sustituya los ceros por unos #define RANGO 100 .... main() { int i, V[RANGO]; .... for (i=0;i<RANGO;i++) if (V[i] == 0) V[i] = 1; .... } Estructuras de datos

  9. Métodos de búsqueda binaria La búsqueda binaria requiere menos comparaciones (iteraciones) que la secuencial pero para realizar la búsqueda se requiere que el vector este previamente ordenado. Estructuras de datos

  10. Búsqueda Binaria Programa que averigüe si existe una persona con un DNI dado #define TOTAL_PERSONAS 100 main() { long i, DNI, Personas[TOTAL_PERSONAS]; printf(“Indique por favor el DNI a liocalizar ”); scanf(“%d”, &DNI); /*comienzo de bloque de búsqueda*/ i = Salto = TOTAL_PERSONAS / 2; while (Salto != 0) { if (V[i] < DNI) i += Salto; /*Hay que buscar valores mayores*/ else if (V[i] > DNI) i -= Salto; /*Buscar valores menores*/ else break; /*se ha encontrado a la persona*/ Salto = Salto / 2; } /*Del while*/ if (Salto != 0) printf(“\nLa persona cuyo DNI = %d, se encuentra en la posición %d\n”, DNI, i); else printf(“\nLa persona solicitada no se encuentra registrada\n”); } /*Del main*/ Estructuras de datos

  11. Vector de caracteres • String o cadena de caracteres • Declaración char nombre_vector[RANGO+1] • Inicialización char ciudad[9] = “Valencia”; char ciudad[] = “Valencia”; char ciudad[30]= “Valencia”; Estructuras de datos

  12. Operaciones carácter a carácter • Asignación char ciudad[5]; … ciudad[0] = ‘L’; ciudad[1] = ‘u’; ciudad[2] = ‘g’; ciudad[3] = ‘o’; ciudad[4] = ‘\0’; • Lectura/Escritura scanf (“%c”, &ciudad[3]); printf (“%c”, ciudad[2]); Estructuras de datos

  13. Funciones de cadenas de caracteres • Lectura/Escritura char ciudad[RANGO]; /*solo una palabra*/ scanf (“%s”, ciudad); printf (“%s”, ciudad); /*una o varias palabras*/ gets (ciudad); puts (ciudad); Estructuras de datos

More Related