e-mail: mtoledo@dgrfsa.gov.ar



Documentos relacionados
DEFINICIONES BÁSICAS DE LAS ESTRUCTURAS DE DATOS

FUNDAMENTOS DE INFORMÁTICA

ALGORITMOS Y PROGRAMACIÓN I Unidad 3

Algoritmos y Programación Clase 8

Arreglos Estructura (struct)

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

Razón de ser Computadora Programa Programador Análisis y solución de problemas (Metodología) Algoritmo Diagrama de flujo

Análisis de problemas

INDICE Capitulo 1. El Turbo C++ y el Lenguaje C Capitulo 2. Declaración e inicialización de variables Capitulo 3. Funciones de entrada y salida

Estructura de Datos. Arreglos. Experiencia Educativa de Algorítmica ESTRUCTURA DE DATOS - ARREGLOS 1

2. ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS

FUNDAMENTOS DE PROGRAMACIÓN C#

CAPÍTULO 3 ESTRUCTURAS DE DATOS ESTÁTICAS

UNIDAD I. ALGORITMOS

Operando1 operador de relación Operando2

MODULO II PROGRAMACIÓN ORIENTADA A EVENTOS

Fundamentos de Programación Visual Basic

Complejidad de Algoritmos

TIPOS DE DATOS ESTRUCTURADOS

ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS Tipos de datos Expresiones Operadores y operandos Identificadores como localidades de memoria

GENERACIÓN DE CÓDIGO ORIENTADO A OBJETOS

Fundamentos de Programación

Resolución de Problemas y Algoritmos

CAPÍTULO 1 INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS

LENGUAJES DE PROGRAMACION I. Propósito del curso :

FUNDAMENTOS DE INFORMÁTICA Convocatoria de Febrero. EXAMEN DE TEORÍA T1 curso 2002 / 2003 TEST. Nombre DNI Grupo INSTRUCCIONES

ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.

Métodos de ordenamiento y búsqueda en vectores

FUNDAMENTOS DE INFORMÁTICA

6.1.- Introducción a las estructuras de datos Tipos de datos Arrays unidimensionales: los vectores Operaciones con vectores.

Los tipos de datos que con mayor frecuencia se utilizan en Informática son:

Fundamentos de programación JAVA

3. Estructuras iterativas

Ficha de Aprendizaje N 13

CAPITULO II. ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS

UNIVERSIDAD INTERAMERICANA DE PUERTO RICO RECINTO METROPOLITANO

Estructuras de Datos y Algoritmos

SISTEMA DE NUMERACIÓN BINARIO

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

Cómo nombrar variables ( 2&

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

Introducción a las sentencias de control

Conceptos básicos de programación. Arquitectura de Computadoras. Conceptos básicos de programación

Fundamentos de la Programación

Arreglos y Subrangos

Sentencias DO-WHILE EN C++

Unidad 5. Arreglos: Vectores y Matrices. Prof. Eliana Guzmán U.

Estructuras de Datos y Algoritmos

Repaso Visual Basic Interfaz Gráfica

Fundamentos de programación C++

FUNDAMENTOS DE INFORMÁTICA

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

Programación Digital I

Fundamentos de Informática Examen 18 de Septiembre de 2006 Mecánica y Electricidad

Computación II. Introducción a Visual Basic

Ejemplos ejercicios resueltos Visual Basic. Arrays estáticos, uso de constantes vbyes, vbno y MsgBox. (CU00334A-1)

ANEXOS. NODOS

Programación Orientada a Objetos

Diseño de algoritmos paralelos

ESCUELA ACADÉMICO PROFESIONAL DE INGENIERÍA DE INFORMÁTICA SÍLABO PLAN DE ESTUDIOS 2008

CAPÍTULO 10 ALGORITMOS DE ORDENACIÓN Y BÚSQUEDA Búsqueda en listas Resumen Ejercicios Problemas

Lógica: Algoritmo: Archivo: Base de datos: Bit:

IDENTIDAD EN PRECISIÓN VARIABLE

DISEÑO CURRICULAR ALGORITMOS, ESTRUCTURAS Y PROGRAMACIÓN I

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

En esta sección se describen las variables, constantes, tipos de datos, operadores y estructuras de control

MANUAL BÁSICO DEL LENGUAJE SQL

6. Vectores Fundamentos de Informática

Visual Basic Script. Programación en Internet Curso Introducción (1)

ARREGLOS MIA RICARDO GONZALEZ LOZANO

3.2. Programación estructurada. Principal. Modulo 1 Modulo 2 Modulo 3 Modulo 4. Modulo Modulo Modulo 3 1 Modulo 4 1 Modulo 4 2. Pág.

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

ARREGLOS EN. Nota: El autor.

Programación de los problemas de Física en.

Universidad Central Del Este U C E Facultad de Ciencias y Humanidades Escuela de Pedagogía Mención Informática

Unidad 4. Arreglos y Cadenas

Entero Datos simples Estáticos Real Carácter Lógico. Arreglo (vector, matriz) Estáticos Cadena Datos estructurados Registro

Objetivos específicos. Al finalizar el tema, el alumno deberá ser capaz de:

Introducción a C# y la plataforma.net. Pablo Zaidenvoren 2013

Introducción a MATLAB

6. DATOS ESTRUCTURADOS

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

Arreglos y Subrangos

Modulo 11. Clases y Objetos en Java

Algoritmos y Estructura de Datos I

ELEMENTOS BÁSICOS PARA LA PROGRAMACIÓN DE FUNCIONES TIPOS DE DATOS. Constantes

Tema 3 Constantes, Variables y Tipos

Label. (Etiqueta). Permite poner texto en un formulario. TextBox. (Caja de Texto). Permite la captura y

NOTAS(1) NOTAS(2)... NOTAS(I)... NOTAS(N)

Diseño Estructurado de Algoritmos

Clase adicional 2. Estructuras básicas de control. Temas

Estructura de Datos ARREGLOS

PROGRAMACIÓN ALGORITMOS y DIAGRAMAS

Introducción a C# y la plataforma.net

Curso Completo de Visual Basic 6.0

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

UNIDAD III: Elementos del Lenguaje QuickBASIC OBJETIVO GENERAL:

Programa de números aleatorios

Programación con Visual Basic 6

Transcripción:

Arreglos Introducción a las Estructuras de Datos. Arreglos Unidimensionales: Vectores Vectores Estáticos en VB Vectores Dinámicos en VB Ordenando un Vector Introducción a las Estructuras de Datos. Una estructura de datos es una colección de datos que pueden ser caracterizados por su organización y las operaciones que se definen en ella. Los tipos de datos más frecuentemente utilizados son: I. Datos Simples a. Estándar i. Entero ii. Real iii. Carácter iv. Lógico b. No estándar (definido por el programador) i. Subrango ii. Enumerativo II. Datos Estructurados a. Estáticos i. Arreglos (array) ii. Registro iii. Archivo (fichero) iv. Cadena b. Dinámicos i. Lista (pila/cola) ii. Lista enlazada iii. Árbol iv. Grafo Las estructuras de datos estáticas son aquellas en las que el tamaño ocupado en la memoria se define antes de que el programa se ejecute y no puede modificarse durante la corrida. Las estructuras de datos dinámicas no tienen las limitaciones y restricciones en el tamaño de memoria que son propias de las estructuras estáticas. Mediante el uso de un tipo de datos específico, denominado puntero, es posible construir estructuras de datos dinámicas soportadas por la mayoría de los lenguajes de programación. Cuando un lenguaje de programación no soporta un tipo dado de estructura de datos eventualmente puede ser simulada mediante el algoritmo apropiado. Una característica importante que diferencia a los datos simples de los estructurados es que para los datos simples cada variable representa un elemento, mientras que en los datos estructurados cada un identificador (nombre) representa múltiples datos individuales, pudiendo cada una de ellos ser referenciados individualmente. 1

Arreglos Unidimensionales: Vectores Un arreglo es un conjunto finito y ordenado de elementos homogéneos. La propiedad ordenado significa que el primer elemento, el segundo, el tercero,..., el enésimo puede ser identificado. La homogeneidad implica que todos los elementos del arreglo son datos del mismo tipo. Un vector o arreglo unidimensional consta de n elementos que pueden representarse como: A [1] A[2] A[3]... A[i]... A[n} Nótese que todos los elementos comparten el mismo identificador (A en este caso) mientras que el subíndice identifica a cada elemento individual. Al número de elementos de un vector se le denomina rango del vector. Los vectores se almacenan en la memoria central del computador en un orden adyacente de posiciones de memoria sucesivas. Cada elemento de un vector se puede procesar como si fuera una variable simple que ocupa una posición de memoria dada, de manera tal que cada elemento del vector es accesible directamente. Por ejemplo: el vector X [6] está compuesto por seis elementos. Su identificador (nombre del vector) es X y cada elemento se individualiza por su subíndice. X (1) X (2) X (3) X (4) X (5) X (6) 30 33 28 30 31 29 Vectores Estáticos en VB Para poder utilizar un vector en VB primero hay que declararlo, es decir, especificar su identificador, rango y tipo. Esto puede hacerse mediante la instrucción Dim, cuya sintaxis general es: Ejemplos: Dim N(12) As Double Dim Monto(2 to 14) as Long Dim T(-272 to 372) as Integer Dim Nombre(100) As String Dim identificador(rango) As tipo 2

Ejemplo 1 Implementar una aplicación VB que lea 10 números y calcule e imprima su promedio. GUI Codificación Básica -------------------- General Dim C As Integer Dim Suma As Double Dim X(10) As Double -------------------- Private Sub txtnumero_keypress(keyascii As Integer) C = C + 1 X(C) = Val(txtNumero.Text) Suma = Suma + X(C) lblcantidad = C txtnumero.text = "" If C = 10 Then lblpromedio.caption = Str$(Suma / 10) txtnumero.enabled = False 3

Vectores Dinámicos en VB Visual Basic permite cambiar el rango de un vector durante la ejecución del programa, pero para ello debe declararse este como vector dinámico. Dim identificador( ) As tipo Nótese que se ha dejado vacío el espacio entre paréntesis reservado para fijar el rango del vector. El rango del vector se puede entonces determinar y/o ajustar durante la corrida del programa utilizando la instrucción ReDim, cuya sintaxis general es: ReDim identificador(n ) As tipo Donde N es una variable numérica entera cuyo valor se ha determinado previamente. Ejemplo 2 Implementar una aplicación VB que lea la cantidad de números a promediar y los números, y calcule e imprima su promedio. GUI Codificación Básica -------------------- General Dim C As Integer Dim N As Integer Dim Suma As Double Dim X() As Double 4

Private Sub txtcantidad_keypress(keyascii As Integer) N = Val(txtCantidad.Text) txtnumero.enabled = True txtcantidad.enabled = False Private Sub txtnumero_keypress(keyascii As Integer) ReDim X(N) As Double C = C + 1 X(C) = Val(txtNumero.Text) Suma = Suma + X(C) lblcantidad = C txtnumero.text = "" If C = N Then lblpromedio.caption = Str$(Suma / N) txtnumero.enabled = False Ejemplo 3 Implementar una aplicación VB que lea una lista de números que termina con la palabra FIN, y calcule e imprima su promedio. GUI 5

Codificación Básica General Dim C As Integer Dim Suma As Double Dim X() As Double Private Sub txtnumero_keypress(keyascii As Integer) If UCase(txtNumero.Text) = "FIN" Then lblpromedio.caption = Str$(Suma / C) txtnumero.enabled = False Else C = C + 1 ReDim X(C) As Double X(C) = Val(txtNumero.Text) Suma = Suma + X(C) lblcantidad = C txtnumero.text = "" Ordenando un Vector Muchas aplicaciones requieren que se ordenen ascendentemente o descendentemente los elementos de un vector. Existen muchos algoritmos que permiten ejecutar esta tarea, diferenciándose por su complejidad y eficiencia. Uno de los algoritmos de ordenamiento de vectores más simple (aunque no muy eficiente) es el de ordenación por selección. Para ordenar ascendentemente un vector numérico el algoritmo de ordenación por selección utiliza dos bucles anidados, de manera tal que se realizan recorridos sucesivos por el arreglo para localizar el elemento mayor y colocarlo en el lugar que le corresponde en la lista ordenada. 6

GUI Codificación Básica General Dim i As Integer Dim j As Integer Dim c As Integer Dim temp As Double Dim x(1 To 10) As Double Private Sub txtnumero_keypress(keyascii As Integer) c = c+1 x( c ) = val(txtnumero.text) Picture1.Print x ( c ) If c = 10 Then txtnumero.enabled =false 7

Private Sub cmdordenar_click() For i = 10 To 1 Step -1 maxindex = 1 Se determina el indice del elemento mayor en el conjunto x(1) x(i) For j = 1 To i If x(j) > x(maxindex) Then maxindex = j Next j Se intercambian los valores de x(i) y el maximo encontrado en el recorrido de arriba temp = x(i) x(i) = x(maxindex) x(maxindex) = temp Next i lblnumerosordenados.visible = true Picture1.Cls For i = 1 To 10 Picture1.Print x(i) Next 8