6. Vectores Fundamentos de Informática

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

Programa de números aleatorios

Programa de demostración del uso de funciones

Operaciones con vectores

5. Subprogramas. 1.1 Análisis Coseno. 1. Cálculo de la función Coseno. cos( x) = ( 1) (2)! i

5. Subprogramas Fundamentos de Informática

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

3. Estructuras iterativas. 1.2 Análisis: For. 1.1 Problemas iterativos. Fundamentos de Informática Dpto. Lenguajes y Sistemas Informáticos

Operaciones con vectores

2. Estructuras condicionales

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

FUNDAMENTOS DE INFORMÁTICA

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

3. Estructuras iterativas

Repaso Visual Basic Interfaz Gráfica

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

llamada a la función Val(num) cambiosigno(n) redondeo(num,3)

Ubound y Lbound en Visual Basic. Conocer índice superior e inferior de arrays (arreglos) Ejemplos y ejercicios. (CU00343A)

Fundamentos de Programación Visual Basic

Índice general. Capítulo 1 Conceptos básicos. Capítulo 2 Controles básicos I. Pág. N. 1

Fundamentos de la Programación

FUNDAMENTOS DE INFORMÁTICA

Tutorial Básico de vbscript

Apunte Laboratorio ALPI - El lenguaje de programación Pascal

Fundamentos de Informática Laboratorio 1 Primer programa Visual Basic

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

Motivación. 4: Control de flujo Condicionales. Motivación. Condicionales

Fundamentos de Programación

Programación con Visual Basic 6

Introducción a C# y la plataforma.net

Resumen del lenguaje de programación Visual Basic.NET

FUNDAMENTOS DE INFORMÁTICA

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

GENERACIÓN DE CÓDIGO ORIENTADO A OBJETOS

El objetivo de este ejemplo es cargar 2 arrays aleatoriamente con Random y después mostrar la suma de esos arrays en un nuevo array.

1. ESTRUCTURA DE UN PROGRAMA PASCAL Todo programa escrito en lenguaje Pascal, del más simple al más complejo, tiene la siguiente estructura:

Guía de Ejercicios de Arreglos

FUNDAMENTOS DE INFORMÁTICA

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

(71.56) Programación. Diagrama

col Type mismatch línea 1 3A Type mismatch c$ + j línea 2

Visual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario

Cómo nombrar variables ( 2&

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

Practica 10. Ordenamiento y Búsqueda.

Ejercicio algoritmo de manejo de lista de datos. Parte II. Diagramas de flujo. (CU00220A)

Curso de Programación II con Visual Basic.Net

Los nombres y marcas comerciales mencionados en este manual son propiedad de sus respectivos autores o fabricantes.

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

RESUMEN GAMBAS. TIPOS DE DATOS Y DECLARAR VARIABLE: DIM nombre_variable AS

Sentencias o instrucciones en Visual BASIC

CAPÍTULO 3 ESTRUCTURAS DE DATOS ESTÁTICAS

ESTRATEGIAS PARA LA RESOLUCIÓN DE PROBLEMAS CON MATRICES N-DIMENSIONALES

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO.

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

ARREGLOS MIA RICARDO GONZALEZ LOZANO

Programa completo de resolución de ecuaciones de 2º grado

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

PRACTICA Nº 8. String String String String String

FUNCIONES. Identificador valido. Tipo-Funcion Identificador_de_la_funcion (Tipo par1,tipo par2 )

ÍNDICE DEL LIBRO Y DEL EBOOK APRENDER A PROGRAMAR: ALGORITMOS Y FUNDAMENTOS DE PROGRAMACIÓN ORIENTADOS A LA INGENIERÍA Y CIENCIAS

Manual del Modelizador. 28 de enero de 2009

- Vectors y Matrius: Tots els elements són del mateix tipus i estan consecutius a memòria. Accés a l element de la 5ª fila i 6ª columna.

Programación: QBASIC

Fundamentos de programación JAVA

Seminario de Actualización - Excel Avanzado y Macros. Visual Basic. Conceptos Básicos de Visual Basic para Aplicaciones

Parte 4: Estructuras de Control

col Type mismatch cadena vacía fila 1 z + i 4 1 fila 2

Programación (PRG) PRÁCTICA 10. Algoritmos de búsqueda

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

Algoritmos y Programación Clase 8

UTN FRBA Algoritmos y Estructura de Datos Examen Final 18/07/2014. Apellido y nombre: Legajo: Cursó con Prof:

Visual Basic: paso de parámetros por referencia ByRef y por valor ByVal. Procedimientos y funciones. (CU00341A)

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

MS-Excel 2007, Intermedio Avanzado (30 horas)

Sentencias DO-WHILE EN C++

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

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática

Bucles For Next Step, Do While Loop, Do Loop While (Estructuras de repetición en Visual Basic) (CU00326A)

Manual de turbo pascal

Informática I para Bachillerato

Funciones en Visual Basic

Curso Completo de Visual Basic 6.0

Comencemos a programar con. Entrega 09

GUIA EXAMEN FINAL/EXTRAORDINARIO

Tablas de Dispersión (Hashing Tables)

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

MANUAL DE MACROS EXCEL 2010

Arrays. Programación. Licenciatura de Lingüística y Nuevas Tecnologías

Introducción a la Programación en Visual Basic y su aplicación en Excel. M.I. Jaime Alfonso Reyes Cortés

Ejemplos Visual Basic: función Val, arrays de controles, generar números aleatorios, ficheros de texto. (CU00333A)

Práctica 6. Validación de Datos II. Mas Controles.

Unidad I: Introducción a Visual Basic

Unidad V. Ya veremos qué poner en "algunas_palabras" y "algo_más", por ahora sigamos un poco más.

LABORATORIO DE PROCESADORES DE LENGUAJE Curso: Práctica 2: Analizador léxico/sintáctico/semántico con Flex y Bison

Estructuras de datos: vectores en C. Clase 7 y 8 Introducción a la Computación Patricia Borensztejn

Proyecto: El Problema de las 8 Torres

Curso de Visual Basic Lección 1 Area Interactiva -

Estructura de datos y Programación

Transcripción:

6. Vectores Fundamentos de Informática Dpto. Lenguajes y Sistemas Informáticos Curso 2012 / 2013

Índice Vectores 1. Introducción 2. Declaración 3. Acceso 4. Paso de parámetros 5. Recorrido completo 6. Recorrido de búsqueda 7. Inicialización 2

1. Introducción 1. Introducción Necesidad Agrupar datos del mismo tipo bajo un mismo nombre Vectores, matrices, tablas, arrays, listas,... Acceso Se accede a los elementos por medio de un índice Las operaciones sobre vectores se hacen elemento a elemento (e.g. no se puede copiar un vector de golpe) Declaración Se declaran especificando los índices A menudo no conocemos cuántos elementos vamos a necesitar por lo que nos curaremos en salud Paso de parámetros Los vectores se pasan siempre por referencia 3

2. Declaración 2. Declaración (I) Especificar el intervalo de índices Se especifica el índice inferior y el superior Ejemplo (7 elementos): Dim v(-1 To 5) As Double Ha de ser un intervalo válido Ejemplo error: Dim v(10 To 1) As Integer 4

2. Declaración 2.1 Declaración (II) Especificar el índice máximo (alternativa) Podemos declarar un vector indicando el índice máximo El índice mínimo es el 0 Ejemplo (7 elementos): Dim ds(6) As String Ha de ser un intervalo válido Ejemplo error: Dim v(-1) As String 5

3. Acceso 3. Acceso Elemento Accederemos a un elemento indicando su índice en el vector entre paréntesis Ejemplo: pctres.print v(5) Índices extremos del vector Visual Basic nos permite conocer los índices de los elementos extremos de un vector: LBound (LowerBound): índice inferior UBound (UpperBound): índice superior Frecuentemente no ocuparemos todo el vector por lo que el elemento en la posición UBound estará sin definir 6

4. Paso parámetros 4. Paso de parámetros (I) Por referencia El paso de parámetros por valor implicaría la copia de todos los elementos, lo cual suele ser lento e innecesario La mayoría de los lenguajes de programación impiden el paso de vectores por valor. Si el programador desea obtener una copia puede realizarla y enviarla por referencia Diagrama de flujo Para diseñar la cabecera de un subprograma habrá que poner atención a si se leen los datos previos del vector (parámetro de entrada) y/o se modifica el valor de los elementos del vector (parámetro de salida) 7

4. Paso parámetros 4. Paso de parámetros (II) Visual Basic Al pasar los vectores por referencia no está claro si son de entrada y/o de salida Se especifica que un parámetro es un vector (abriendo y cerrando paréntesis) pero no se especifica el tamaño ni los índices Se puede llamar a un subprograma con vectores de distinto tamaño Ejemplo de cabecera de un subprograma que recibe un vector (e.g. para mostrar su contenido en un picture box): v: vector de real n: entero Pr Sub Pr (ByRef tbl() As Double, ByVal n As Integer) 8

5. Recorrido 5. Recorrido completo Ejemplos Sumar los elementos de un vector Contar los elementos del vector que cumplen una propiedad Realizar una operación sobre todos los elementos del vector Modelo general de resolución Utilizaremos un bucle For que recorra todos los n elementos Visual Basic De 1 a n ó de 0 a n-1 De ini=lbound(v) a Lbound(v)+n-1 9

5.1 Recorrido 5.1 Sumar los números positivos v: vector de real n: entero SumaPosi r 0 real i: entero r: real i i + 1 i 1 i n No no Sí v(i) > 0 sí SumaPosi r r r+v(i) Fin 10

5.2 Recorrido 5.2 Sumar los números positivos Function SumaPosi (ByRef v() As Double, ByVal n As Integer) _ Dim i As String Dim r As Double r = 0 As Double For i = 1 To n Step 1 If v(i) > 0 Then r = r + v(i) End If Next i SumaPosi = r End Sub v: vector de real n: entero i i + 1 no SumaPosi r 0 i 1 i n Sí v(i) > 0 sí No real i: entero r: real SumaPos r r r+v(i) Fin 11

6. Búsqueda 6. Recorrido de búsqueda Ejemplos Buscar la posición de un número o una cadena en un vector Buscar el primer elemento que cumple una propiedad Modelo general de resolución Hay dos condiciones de parada: 1. Hemos encontrado el elemento que buscábamos 2. Hemos agotado todas las posibilidades Convertiremos el bucle For en un bucle While que recorra todos los elementos o pare si encuentra lo que buscaba Visual Basic De 1 a n And Not Cond De ini=lbound(v) a LBound(v)+ n-1 And Not Cond 12

6.1 Búsqueda 6.1 Buscar un nombre en lista v: vector de cadena s: cadena n: entero Posicion i 1 i n v(i) s entero i: entero No Sí i i + 1 no i > n sí i 0 Posicion i Fin 13

6.2 Búsqueda 6.2 Buscar un nombre en una lista Function Posicion (ByRef v() As String, ByVal s As String, _ Dim i As String ByVal n As Integer) As Integer i = 1 While i <= n And v(i) <> s i = i + 1 v: vector de cadena s: cadena n: entero Posicion i 1 i n v(i) s entero i: entero No Wend If i > n Then i = 0 Sí i i + 1 no i > n sí i 0 End If Posicion = i End Sub Posicion i Fin 14

7. Inicialización 7. Inicialización de un vector Enunciado Inicializar un vector a valores aleatorios entre 0 y 10 Funciones nuevas Rnd Devuelve un número aleatorio de distribución uniforme en [0, 1) Parámetros: no tiene Randomize Inicializa la semilla de números aleatorios Parámetros: no tiene Descripción Para poder hacer pruebas vamos a utilizar un subprograma que nos rellene los vectores a valores aleatorios. Así no tenemos que andar nosotros introduciéndolos. La distribución de Rnd nos permitirá verificar la corrección de los resultados. 15

7.1 Inicialización 7.1 Inicialización Sub Inicializa (ByRef v() As Double) Dim i As String For i = LBound(v) To UBound(v) Step 1 v(i) = Rnd * 10 Next i End Sub 16

8. Principal 8. Programa principal Enunciado Inicializar un vector a valores aleatorios entre 0 y 10, calcula la media y muestra el resultado en pantalla Descripción El programa principal será el que declare el vector. El resto de los subprogramas lo utilizarán, pasándose los parámetros por referencia Podemos reutilizar el subprograma de inicialización del apartado anterior 17

8.1 Principal 8.1 Programa principal Sub CalculaMedia_Click () Dim notas (1 To 200) As Double Dim m As Double Inicializa (notas) m = Media (notas, 200) MsgBox CStr (m) End Sub 18