FUNDAMENTOS DE INFORMÁTICA



Documentos relacionados
FUNDAMENTOS DE INFORMÁTICA

Declaración de variables (integer, single, double, boolean, etc.) en Visual Basic. Dim. Ejemplos. (CU00309A)

ARREGLOS MIA RICARDO GONZALEZ LOZANO

3. Estructuras iterativas

Declaración de variables. Sentencias de entrada/salida

FUNDAMENTOS DE INFORMÁTICA

ARREGLOS EN. Nota: El autor.

Indice del curso básico programación desde cero Visual Basic Nivel I (CU00302A)

REPASO ARRAYS MULTIDIMENSIONALES EN JAVA. DECLARACIÓN Y USO. EJEMPLOS Y EJERCICIOS RESUELTOS. (CU00905C)

Introducción a MATLAB

Programación en Visual Basic Ricardo Rodríguez García

UNIDAD III: Elementos del Lenguaje QuickBASIC OBJETIVO GENERAL:

TEMA 7. ARRAYS (LISTAS Y TABLAS).

Introducción a MATLAB

1. Introducción a la programación. Ej01: Diagrama de Flujo

Programa de números aleatorios

6. Vectores Fundamentos de Informática

Expresión, Operador, Operando, Asignación, Prioridad

MATRICES Y ARRAYS (ARREGLOS) MULTIDIMENSIONALES EN PHP. EJERCICIOS RESUELTOS. EJEMPLOS (CU00824B)

6. Vectores. 1. Introducción. 2. Declaración (I) Fundamentos de Informática Dpto. Lenguajes y Sistemas Informáticos.

Objetivos y Temario CURSO SQL SERVER 2012

Programación I. Práctica parcial: el juego de los barquitos (ENTREGA OBLIGATORIA)

Arreglos Unidimensionales En este tipo de arreglo se hace uso de un índice solamente para hacer referencia a una posición particular del arreglo.

Unidad II: Estructuras de datos (en Visual Basic)

Fundamentos de Programación

Capítulo 5 IDENTIFICADORES, VARIABLES Y CONSTANTES. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Tipos Recursivos de Datos

GENERACIÓN DE CÓDIGO ORIENTADO A OBJETOS

REPRESENTACIÓN INTERNA DE LA INFORMACIÓN

Comencemos a programar con. Entrega 06

UNIDAD I. ALGORITMOS

Fundamentos de la Programación

Los arreglos, matrices, vectores y vectores de controles

Nelson David Muñoz Politécnico CJIC TUTORIAL DISPLAYS

Funciones & Estructuras de control

Introducción a las sentencias de control

1.2. Es Java un lenguaje ideal para aprender a programar? 1.4. Cuáles son las versiones y distribuciones Java y cuál usar?

Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A)

BASES DE DATOS. En Access hay una serie de herramientas u objetos que facilitan enormemente el tratamiento de la información:

Programación de Videojuegos Tema 15 Tipos de Dato I. 15. Tipos de Dato I

Tema 3 Constantes, Variables y Tipos

Algoritmos y Programación I

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

BASE DE DATOS ARTICULOS DE COMPUTACION.

GLOSARIO DE MICROSOFT VISUAL BASIC (HAZ CLIC EN LA OPCION DEL MENU Y ACCEDERAS RAPIDAMENTE)

Cadenas de Caracteres

INTRODUCCIÓN A VISUAL BASIC

Prof. Dr. Paul Bustamante

Definimos un Sistema Gestor de Bases de Datos o SGBD, también llamado DBMS (Data Base Management System) como una colección de datos relacionados entr

La sintaxis básica para definir una clase es la que a continuación se muestra:

Sistemas Operativos. Clase 2: Administración de procesos.

Columnas

Tipos de Datos de python (1ª parte):

2. ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS

PROGRAMACIÓN EN VISUAL BASIC Ejercicios sin resolver

8.1.- FUNCIONES Y PROCEDIMIENTOS DEFINIDOS POR EL USUARIO EN TURBO PASCAL.

Prof. Dr. Paul Bustamante

Arrays dinámicos y arrays estáticos con Visual Basic y.net. Redim, Redim Preserve, Erase. Ejemplos (CU00342A)

Tipos de Datos Recursivos

Tema 3. Programación orientada a objetos en Java (Parte 1)

SISTEMAS DE ECUACIONES LINEALES

Este es un arreglo de números enteros, o sea que guarda una serie de variables de tipo INTEGER, todas agrupadas en una sola estructura.

CLASE 11 USO DE CONDICIONALES Y VECTORES

Ing. Ramón Morales Higuera

Categorías de métodos. Métodos constructores y destructores

Inicio del programa. Entrada de datos. Proceso de datos. Salida de datos. Fin del programa

UNIDAD 2: INTRODUCCIÓN AL LENGUAJE DE PROGRAMACiÓN R

Tema 05: Tablas hash. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom

Cómo nombrar variables ( 2&

COLEGIO PABLO DE TARSO IED CONSTRUCCION DE PROYECTOS DE VIDA PRODUCTIVOS VISUAL BASIC PRÁCTICAS DOC RAUL MONROY PAMPLONA

CURSOSO. Aritmética: Númerosnaturalesyenteros. Númerosracionalesyfraciones. MATEMÁTICAS. AntonioF.CostaGonzález

Oracle Database 10g: Conceptos Básicos de SQL y PL/SQL

1.-Tipos y subtipos de datos en VBS

TEMA 8. ESTRUCTURAS Y UNIONES.

Módulo. = Asignación = = Comp. de igualdad!= Com. de desigualdad <= Comp. menor o igual >= Comp. mayor o igual AND lógico OR lógica.

directamente indirectamente

Tema 8 Vectores y Matrices

Repaso Visual Basic Interfaz Gráfica

El lenguaje C. 1. Estructuras. Principios de Programación Definicion de estructuras

Forma Básica Clase Java

Programación. Test Autoevaluación Tema 6

Tema: Clases y Objetos en C++. Parte II.

Algoritmos y Programación Clase 8

III. Generación de Código orientado a objetos

LABORATORIO 4. Escribir el CÓDIGO y la INTERFAZ GRÁFICA (cuando proceda) de los correspondientes casos prácticos.

Modulo 11. Clases y Objetos en Java

Programación con Delphi (V)

Transcripción:

FUNDAMENTOS DE INFORMÁTICA Tema 3 Estructuras de datos Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo undamentos de Informática. Departamento de Ingeniería de Sistemas y Automática. Actualización Septiembre 2005 1

Estructuras de datos Dos estructuras de datos fundamentales son las conocidas como: matriz (o array) y registro (o estructura). Son de uso frecuente, por lo que son elementos imprescindibles en la programación de muchos problemas. Por ejemplo, las notas correspondientes a las distintas evaluaciones realizadas a cada uno de los alumnos de un determinado curso forman una matriz, y la ficha que contiene los datos personales de cada uno de estos alumnos es un ejemplo de registro (o estructura). undamentos de Informática. Departamento de Ingeniería de Sistemas y Automática. Actualización Septiembre 2005 2

Matrices Una matriz (array en inglés) es un conjunto de elementos contiguos, todos del mismo tipo, que comparten un nombre común y a los que es posible acceder mediante la posición (índice) que ocupa cada uno de ellos en la matriz, como un vector o una matriz en Álgebra. Esta disposición permitirá escribir código más simple, ya que será posible establecer bucles en los que se recorra los elementos de una matriz mediante el número de índice. A las matrices de una dimensión se les suele llamar también vectores o listas, y a las matrices de dos dimensiones, tablas. elemento Matriz Matriz a... a(i) a(i+1) a(i+2) a(i+3)... undamentos de Informática. Departamento de Ingeniería de Sistemas y Automática. Actualización Septiembre 2005 3

Matrices Es posible definir matrices de hasta 60 dimensiones en Visual Basic y de cualquier tipo de datos (tipos fundamentales y estructuras definidas por el usuario). La representación de las matrices se hace mediante variables con subíndices. Los subíndices son números enteros consecutivos y, por defecto, el primer índice valdrá 0. Una matriz de dos dimensiones se representa con una variable con dos subíndices (filas, columnas). Una de tres con tres, etcétera. Para formar el nombre de una matriz y definir su tipo, se siguen las mismas reglas que para las variables: Dim a(24) As Integer matriz de enteros, 1 dimensiones. Dim c(12,5) As String matriz de cadenas, 2 dimensiones. undamentos de Informática. Departamento de Ingeniería de Sistemas y Automática. Actualización Septiembre 2005 4

Declaración de matrices La declaración de una matriz especifica el nombre de la matriz, el número de elementos de la misma y el tipo de éstos: Dim variable[(dimension)][as tipo] donde: variable es el nombre de la matriz. dimension es una lista de expresiones numéricas, separadas por comas y que definen las dimensiones de la matriz. Esta lista puede ser de la forma: [inferior To] superior [,... tipo define el tipo de la variable (Integer, Long, String, etc.) undamentos de Informática. Departamento de Ingeniería de Sistemas y Automática. Actualización Septiembre 2005 5

Ejemplos de declaración de matrices Lista o vector de 60 enteros, indexados del 0 al 59: Dim temp(59) As Integer Lista o vector de 60 enteros, indexados del 1 al 60: Dim temp(1 To 60) As Integer Lista o vector de 60 cadenas de caracteres de longitud fija 40: Dim temp(1 To 60) As String * 40 Tabla de 10 * 10 elementos de tipo Double: Dim a(9,9) As Double Dim a(1 To 10, 1 To 10) As Double Dim a(-5 To 4, 2001 To 2010) As Double undamentos de Informática. Departamento de Ingeniería de Sistemas y Automática. Actualización Septiembre 2005 6

Ejemplo de manipulación de matrices Const n = 12 Dim A(1 to n) As Double Dim i As Integer matriz de n elementos Bucle For para Rellenar la matriz a con datos. For i = 1 To n A(i) = InputBox( Introduce el elemento & i & de A ) Next i Bucle For para Visualizar la matriz con Print For i = 1 To n MsgBox A(i) Next i undamentos de Informática. Departamento de Ingeniería de Sistemas y Automática. Actualización Septiembre 2005 7

Matrices dinámicas Estructuras de datos Una matriz dinámica, a diferencia de las anteriores, puede ser redimensionada en cualquier momento de la ejecución del programa. Para crear una matriz dinámica, primero hay que declararla como si fuera una matriz estática (con Dim), pero sin darle dimensión. Para reasignar dinámicamente el número de elementos se utiliza la sentencia ReDim. No es posible cambiar el número de dimensiones de la misma, sólo los tamaños de cada dimensión. Cada vez que se ejecuta ReDim, todos los valores previamente almacenados se pierden. Para cambiar el tamaño conservando los valores hay que utilizar la palabra clave Preserve, en cuyo caso no es posible cambiar el/los índice/s inferior/es, sólo el superior. undamentos de Informática. Departamento de Ingeniería de Sistemas y Automática. Actualización Septiembre 2005 8

Ejemplo de manipulación de matrices dinámicas Dim m() As Double 'declaracion de matriz dinamica Dim filas As Integer, columnas As Integer Dim i As Integer, j As Integer 'consulto al usuario el tamaño de la matriz filas = InputBox("Nº filas de la matriz:") columnas = InputBox("Nº columnas de la matriz:") ReDim m(1 To filas, 1 To columnas) 'redimensiono la matriz 'Leo los datos For i = 1 To filas For j = 1 To columnas m(i, j) = InputBox("m(" & i & ", " & j & ") = ") Next j Next i undamentos de Informática. Departamento de Ingeniería de Sistemas y Automática. Actualización Septiembre 2005 9

Otras cuestiones sobre matrices Erase vuelve a inicializar los elementos de matrices de tamaño fijo y libera el espacio de almacenamiento asignado a matrices dinámicas. Tipo de matriz Matriz numérica fija Matriz de cadena fija (longitud variable) Matriz de cadena fija (longitud fija) Matriz de tipos definidos por el usuario Efecto de Erase sobre elementos de una matriz fija Establece cada elemento a cero. Establece cada elemento a una cadena de longitud cero (""). Establece cada elemento a cero. Establece cada elemento como si se tratara de una variable separada. Para copiar una matriz en otra es necesario asignar uno a uno los valores de la primera en las variables de la segunda. La función Ubound(variable, dimension) devuelve el valor más alto de la dimensión de la variable de tipo matriz indicada. undamentos de Informática. Departamento de Ingeniería de Sistemas y Automática. Actualización Septiembre 2005 10

Estructuras: Type Type Estructuras de datos Una estructura o registro es un nuevo tipo de datos, especificado por el usuario, que puede definirse como una colección de datos de diferentes tipos. Para declarar una estructura, hay que utilizar la instrucción de Visual Basic Type... End Type. Esta instrucción sólo puede aparecer en la sección Declaraciones de los módulos. Type Ficha Nombre As String * 60 Direccion As String * 40 Telefono As String *12 Edad As Integer End Type En este ejemplo se declara un tipo de datos Ficha que consta de cuatro campos, denominados Nombre, Direccion, Telefono y Edad. undamentos de Informática. Departamento de Ingeniería de Sistemas y Automática. Actualización Septiembre 2005 11

Estructuras: Type Type Una vez declarado el tipo de datos, ya es posible declarar variables de este tipo. Por ejemplo, la siguiente sentencia declara la variable Alumno de tipo Ficha: Dim Alumno As Ficha Para referirse a un determinado campo de una estructura, se utiliza la notación variable.miembro. Por ejemplo: Alumno.Nombre = InputBox("Introduce tu nombre") Alumno.Telefono = InputBox("Introduce tu teléfono") MsgBox "El teléfono introducido ha sido " & Alumno.Telefono undamentos de Informática. Departamento de Ingeniería de Sistemas y Automática. Actualización Septiembre 2005 12

Estructuras. Sentencia Type Type Un miembro de una estructura puede ser, a su vez, otra estructura: Type Fecha Dia As Integer Mes As Integer Ano As Integer End Type Type Ficha Nombre As String * 60 Direccion As String * 40 Telefono As String *12 Edad As Integer FechaMatricula As Fecha End Type Para acceder al día de matrícula de la variable Alumno definida anteriormente: Alumno.FechaMatricula.Dia undamentos de Informática. Departamento de Ingeniería de Sistemas y Automática. Actualización Septiembre 2005 13

Estructuras. Sentencia Type Type En el caso de estructuras, sí que es posible la asignación entre variables del mismo tipo: Dim Alumno1 As Ficha, Alumno2 As Ficha Alumno2 = Alumno1 Un tipo definido por el usuario también puede contener miembros que sean matrices estáticas y dinámicas: Type Ficha... Asignaturas() As String matriz dinámica Optativas(3) As String matriz estática... End Type undamentos de Informática. Departamento de Ingeniería de Sistemas y Automática. Actualización Septiembre 2005 14

Estructuras. Sentencia Type Type Se accede a un elemento de un miembro que es una matriz de la siguiente forma: Alumno.Optativas(0) = Robótica Industrial También es posible definir matrices de estructuras de la siguiente forma: Public GrupoA (1 To 100) As Ficha Se accede a los miembros de un elemento de la matriz del modo siguiente: GrupoA(1).Nombre = Armando Bronca Constante GrupoA(100).Optativas(1) = Informática Avanzada undamentos de Informática. Departamento de Ingeniería de Sistemas y Automática. Actualización Septiembre 2005 15

Sentencia with... end with La sentencia With permite manipular, de forma más sencilla, el acceso a los miembros de una estructura. Así, el conjunto de sentencias que manipulan atributos de la variable Alumno de tipo Ficha es: Alumno.Nombre = Armando Bronca Constante Alumno.Direccion = C/La Calle s/n Alumno.Telefono = 555252525 podrían escribirse, utilizando esta sentencia, de este otro modo: With Alumno.Nombre = Armando Bronca Constante.Direccion = C/La Calle s/n.telefono = 555252525 End With undamentos de Informática. Departamento de Ingeniería de Sistemas y Automática. Actualización Septiembre 2005 16

FUNDAMENTOS DE INFORMÁTICA Tema 3 Estructuras de datos Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo undamentos de Informática. Departamento de Ingeniería de Sistemas y Automática. Actualización Septiembre 2005 17