programación basica

112
Programación en lenguaje estructurado Lógica de Programación Numérica Dr. Leonardo Bernal Haro

description

documentación de como programar

Transcript of programación basica

Programación en lenguaje estructurado

Lógica de Programación Numérica

Dr. Leonardo Bernal Haro

Objetivo del curso

El alumno será capaz de utilizar métodos de aproximación numérica mediante algoritmos que le permitan resolver problemas o realizar una tarea específica a través de lenguajes de cómputo.

Lenguaje estructurado

Temas• Tipos de datos• Entrada y salida de datos• Operadores y expresiones• Sentencias de control• Arreglos• Programación modular y funciones

El programa como un sistema

PROGRAMA• Tipos de datos• Declaración de variables y constantes• Operadores y expresiones• Sentencias de control

• Sentencias de decisión (if case)• Sentencias de repetición (for while)

• Arreglos• Programación modular y funciones

ENTRADADE

DATOS

SALIDADE

RESULTADOS

Tipos de datos

Tipos deDatos

Numéricos

LógicosO booleanos

Cadenas de caracteres

Único Arreglo

Variables

Constantes

complejos Reales

Single Double Byte

Integer

Long

Enteros

¿Son fijos?

¿Uno o varios?

¿Qué representan?

Tipos de datos

Tipo Descripción RangoBolean Binario (True o False)Byte Entero corto (0 a 255)Integer Entero (2 Bytes) (-32,768 a 32,767)Long Entero largo (4 Bytes) (-2,147,483,648 a 2,147,483,647)Single Real simple precisión (4 Bytes) (-3.4x1038 a 3.4x1038)Double Real doble precisión (8 Bytes) (-1.79x10308 a 1.79x10308)Currency Número con punto decimal fijo (8 Bytes) (-9.22x1014 a 9.22x1014)String Cadena de caracteres (4 Bytes a 64 Kbytes) (0 a 65,550 caracteres)Date Fecha (8 Bytes) (01/01/100 a 31/12/9999)Variant Depende del valor almacenado

Tipos de datos en Visual Basic.

Clasificación de datos.Ejemplos• Byte para cualquier entero pequeño• Integer para numerar las filas y columnas de una matriz mediana• Long para numerar los habitantes de una ciudad o los números de

teléfonos• Boolean para una variable con sólo dos posibles valores (sí o no)• Single para variables físicas con decimales que no exijan precisión• Double para variables físicas con decimales que exijan precisión• String para cadenas de caracteres• Currency para cantidades grandes de dinero

Tipos de datos

Diferenciación de los tipos de datosSe requiere hacer un programa que calcule los promedios de un grupo pequeño de estudiantes. Los datos serían:

Nombre del alumno. Número de materias que ha cursado. Calificaciones obtenidas (con 2 decimales) Promedio de calificaciones por alumno.

Proponga el tipo de dato más adecuado para cada variable.

Tipos de datos

Diferenciación de los tipos de datos Proponga el tipo de dato más adecuado para cada variable. RESPUESTA

– Nombre del alumno. String– Número de materias que ha cursado. Byte– Calificaciones obtenidas Single / Double– Promedio por alumno. Single / Double

Tipos de datos

Variables y constantes.• Constantes: Son aquellos datos que

permanecen sin cambios durante todo el desarrollo del algoritmo. Ejemplos: g=9.81, Pi=3.14159265

• Variables: Son aquellos datos cuyo valor puede cambiar durante el desarrollo del algoritmo o ejecución del programa.

Tipos de datos

ArreglosUn arreglo permite referirse a una serie de elementos del mismo tipo con un mismo nombre, y hace referencia un único elemento de la serie utilizando uno o más índices, como un vector o una matriz en Álgebra.

Tipos de datos

ArreglosPor ejemplo, si se tiene que almacenar una tabla con 100 datos de x, no sería práctico declarar las 100 variables x1, x2, …, x100.En lugar de eso, se declara una única variable x en forma de arreglo.x(100)Este tema será abordado con más detalle cuando se vean los ciclos de control (“for”)

Tipos de datos

Los programas (en cualquier lenguaje) incluyen la “declaración de variables y constantes”, en donde se define el tipo de datos que se van a emplear.

Visual Basic permite no declararlas, asignándoles el tipo “Variant”, que se adapta a los datos.

NO ES RECOMENDABLE NO DECLARAR LAS VARIABLES, pues si no se declaran, los programas requieren de más memoria, son más lentos y son más difíciles de depurar.

Declaración de Variables y Constantes

Ejemplos en Visual Basic

Declaración de Variables y Constantes

Obliga a declarar variables

Arreglos de 10 elementos (Real, doble precisión)

Variable «dato único» entero

Constante «dato único» real, doble precisión.

IntroducciónSe deben implementar mecanismos eficientes de lectura de datos y de salida de resultados, porque es precisamente en estas partes donde se da la interacción entre el usuario y el programa.

Entrada y salida de datos

El usuario recibe y envía datosHay comunicación

Fuentes de los datos de entrada.Las fuentes “tradicionales” de datos de entrada en un programa son:1. Archivos de datos2. Teclado (interacción directa con el usuario)3. Combinación de ambos

Entrada y salida de datos

Destino de los datos de salidaLos destinos “tradicionales” de los datos de salida son:1. Archivos de datos2. Pantalla3. Impresora4. Combinación de varios destinos

Entrada y salida de datos

En una Macro de Excel:

La entrada y salida de datos se da mediante:-Cajas de diálogo tipo MsgBox-Cajas de diálogo tipo InputBox-Celdas de la hoja de Excel

Entrada y salida de datos

El usuario recibe y envía datosHay comunicación

Cajas de diálogo MsgBoxEnvían información (mensajes)al usuarioReciben información mediante los botones

Título

Texto para el usuario

Botones

Icono

Entrada y salida de datos

Cajas de diálogo MsgBoxLa forma más sencilla de una caja de diálogo MsbBox es:

El código en VB de esa caja es:

El «Mensaje para el usuario» es una cadena de texto, pudiendo incluir variables concatenadas.

Entrada y salida de datos

Cajas de diálogo MsgBoxUna forma más compleja incluye de uno a tres botones, un ícono y un encabezado o título de la caja:

Entrada y salida de datos

Título

Texto para el usuario

Botones

Icono

Cajas de diálogo MsgBoxEjemplo de código en VB para una caja SI-NO con ícono

Entrada y salida de datos

«Encabezado»

«Pregunta»Icono: «Question» (signo ?)

Tipos de botones «YesNo» Si - No

Botón activado por default: 1DefaultButton1

Cajas de diálogo MsgBox

La parte izquierda (respuesta) es una variable para almacenar el «valor de retorno» del botón sobre el que se hace clic.

Entrada y salida de datos

Valor de retorno Botón En VB

1 Aceptar OK

2 Cancelar Cancel

3 Anular Abort

4 Reintentar Retry

5 Omitir Ignore

6 Si Yes

7 No No

Tener a la mano esta

tabla

Cajas de diálogo MsgBoxLa parte derecha contiene los elementos

Entrada y salida de datos

Encabezado(O título)

Texto para el usuario

Botones

Tipo de botones + Botón por default + Icono

Obligatorio:• Texto para el usuario

Opcionales:• Tipos de botones• Botón por default• Ícono• Encabezado

Cajas de diálogo MsgBox (tipo de botones)

Entrada y salida de datos

Cajas de diálogo MsgBox (Iconos)

Entrada y salida de datos

Ejemplos cajas de diálogo

Entrada y salida de datos

Ejercicio1 MsgBox:Haga una caja de diálogo MsgBox como la que se presenta:

Entrada y salida de datos

Cajas de diálogo InputBoxSon similares a las cajas MsgBox, pero permiten introducir datos a través del teclado.La forma general de la caja InputBox es:

Como resultado, la variable texto tomará el valor tecleado por el usuario o el valor por default (si es que existe)

texto = InputBox("texto para el usuario", "titulo", "default“)

Entrada y salida de datos

Cajas de diálogo InputBox

texto = InputBox("texto para el usuario", "titulo", default)

Entrada y salida de datos

Obligatorio (cadena de texto) Opcional

(cadena de texto)Opcional(Cualquier tipo de dato)

Variable de retorno (cadena de texto o valor numérico)

Pueden ser VARIABLES

Ejemplo Cajas de diálogo InputBox

Entrada y salida de datos

Ejercicio Cajas de Diálogo Inputbox1. Muestre una caja de diálogo para leer el

nombre

2. Muestre una caja de diálogo con el nombre para leer la estatura

Entrada y salida de datos

Ejemplo integrador 1 Entrada y SalidaSe requiere hacer un programa que realice la suma de dos números.Funcionará únicamente mediante cajas MsgBox e InputBox.

Entrada y salida de datos

La hoja Excel como interfaz de entrada y salidaLas hojas Excel pueden funcionar como interfaz entre el usuario y el programa, haciendo el papel de:

– Fuente de entrada de datos– Destino para datos de salida– Archivos de datos

Entrada y salida de datos

La hoja Excel como interfaz de entrada y salidaJustificaciónLas cajas de diálogo MsgBox e InputBox son útiles cuando se requiere introducir pocos datos; sin embargo, en ingeniería es común tener archivos conteniendo centenas o miles de datos.Estos datos muchas veces provienen de equipos de medición.Introducir los datos de uno por uno sería impráctico y podría generar errores “de dedo” bastante embarazosos.

Entrada y salida de datos

La hoja Excel como interfaz de entrada y salida Ventajas:

Fácil visualización y manejo de datos, Permiten la construcción de gráficos Permiten la transformación a archivos

compatibles con otros sistemas.

Desventajas: Lentitud (si se muestran resultados intermedios) Requerimientos de mayor espacio en memoria.

Entrada y salida de datos

Comando Range para lectura de datosSe le puede asignar directamente el valor contenido en una celda de una hoja Excel a una variable determinada y utilizar este dato dentro del programa.Ejemplo:

Significado: La variable llamada “dato” tomará el valor contenido en la celda A1

dato = Range(“A1”)

Entrada y salida de datos

Comando Range para la escritura de resultados

Se puede escribir el valor de una variable en una celda determinada.Ejemplo:

Significado: Escribirá en la celda A1 el valor actual de la variable llamada dato.

Range(“A1”) = dato

Entrada y salida de datos

Comando Cells para lectura de datos Es otra forma de asignar directamente el valor de una celda a una variable.Ejemplo:

Significado: La variable llamada “dato” tomará el valor contenido en la celda ubicada en la línea 2, columna 1 (O sea, en la celda A2)

dato = Cells(2,1)

Entrada y salida de datos

Comando Excel para mostrar resultadosSe puede escribir el valor de una variable en una celda determinada usando el objeto Cells.Ejemplo:

Significado: Escribirá en la celda A1 (renglón 1, columna 1) el valor actual de la variable llamada “dato”.

Cells(1,1) = dato

Entrada y salida de datos

Ejemplo integrador 2 Entrada y SalidaSe requiere hacer un programa que calcule la velocidad a partir de la distancia y del tiempo.El programa tomará en cuenta las unidades del tiempo y la distancia para mostrar las unidades de la velocidad.Leerá los datos de una hoja de cálculo y escribirá los resultados en la misma hoja de cálculo

Entrada y salida de datos

Ejercicio3. Entrada y SalidaHaga un programa que:• Muestre un mensaje de presentación• Lea el radio de un círculo mediante una caja

de diálogo InputBox• Calcule el perímetro del círculo (2 x pi x radio)• Calcule el área del círculo (pi x radio2)• Muestre los datos y los resultados en una hoja

de Excel

Entrada y salida de datos

Un operador es una entidad que da un resultado (dato) a partir de uno o más “operandos”

Operador RESULTADO(dato)

Operando 2

Operando 1

Operadores y expresiones

Tipos de operadores en programación

1. Operadores aritméticos2. Operadores relacionales (o de relación)3. Operadores lógicos4. Funciones de biblioteca5. Operadores de cadenas de caracteres.

Operadores y expresiones

Operadores aritméticos• Sirven para representar operaciones aritméticas.

Los tipos de opernados (datos) son numéricos (enteros o reales)

• Cuando en una expresión aritmética intervienen operandos de diferentes tipos, el resultado se expresa, generalmente, en la misma precisión que la del operando que la tiene más alta. El orden, de menor a mayor, según la precisión es Integer, Long, Single, Double y Currency.

Operadores y expresiones

Operadores aritméticosEn Visual Basic, los operadores aritméticos son:

Operación ARITMÉTICA Símbolo en VB Ejemplo de expresión Resultado

Exponenciación ^ 2^3 8

Cambio de signo - -5.4 -5.4

Multiplicación, división *, / 3*8 24

División entera \ 10\3 3

Resto de una división entera MOD 10 Mod 3 1

Suma y resta +, - 2+2 4

Operadores y expresiones

Orden de prioridad de operadores aritméticos

Operadores y expresiones

^

* /

\ Mod

+ -

Exponencial

Multiplicación y división

División y resto (enteros)

Suma y resta

( ) Expresión entre paréntesis PRIORITARIA

Transformación de expresiones matemáticasEjemplo: La expresión a = 3^5+3/8-4*8 se realiza así:

Operadores y expresiones

3^5 =243

3/8 = 0.3754*8 = 32

243+0.375-32=211.375

a = 211.375

Transformación de expresiones matemáticasEjemplo 2: La expresión c = 2^4*3/8*4.1*7*6.09 se realiza

así:

Operadores y expresiones

2^4 =16

16*3 = 48 48/8 = 66*4.1=24.624.6*7=172.2 172.2*6.09=1048.698

c = 1048.698

Paréntesis para transformar en expresiones válidasEjercicio:Escriba la sintaxis correcta en VB para representar la siguiente expresión:

6.7

1287

8

392358

t

Respuesta:t = (5^8-23*9+3/8)/(7-(28+1)/7.6)

Operadores y expresiones

Operadores relacionales (o de relación)• Permiten realizar comparaciones entre valores de

tipo numérico o de caracter. • El resultado de la operación será verdadero o falso.

Operador DE RELACIÓN Significado

< Menor que

> Mayor que

= Igual que

<= Menor o igual que

>= Mayor o igual que

<> Distinto de

Operadores y expresiones

Operadores relacionales (o de relación)• Ejemplo: Evalúe como verdadero o falso el

resultado de las siguientes relaciones:A B Relación Resultado

3 7 A < B Verdadero

0 -1 A<>B Verdadero

0 -1 A<B Falso

6 9 B>=A Verdadero

5 5 A<B Falso

5 5 B>=A Verdadero

6 7 A=B Falso

Operadores y expresiones

Operadores lógicos• Los operadores lógicos o booleanos básicos

son: Not (no), And (y), Or (o)• Se utilizan combinados con los operadores de

relación, dentro de secuencias de control (IF, CASE, etc)

Operador lógico Expresión lógica Significado

Not Not p Negación de p

And p And q Conjunción de p y q

Or p Or q Disyunción de p y q

Operadores y expresiones

Creación de las tablas de verdad• Las definiciones de las operaciones Not, And,

Or se resumen en las tablas conocidas como tablas de verdad.

• Tabla de verdad para el operador Not

a Not a Ejemplo

verdadero falso Not (6>10) es verdadera, ya que (6>10) es falsa

falso verdadero

Operadores y expresiones

Creación de las tablas de verdad• Las definiciones de las operaciones Not, And, Or se

resumen en las tablas conocidas como tablas de verdad.

• Tabla de verdad para el operador And. (a y b) es verdadera sólo si tanto a como b son verdaderas.

a b a And b Ejemplo

verdadero verdadero verdadero (6<10) And (7<10) Verdadero

verdadero falso falso (6<10) And (10 >11) Falso

falso verdadero falso (10<6) And (7<10) Falso

falso falso falso (10<6) And (10>11) Falso

Operadores y expresiones

Creación de las tablas de verdad• Las definiciones de las operaciones Not, And, Or se

resumen en las tablas conocidas como tablas de verdad.

• Tabla de verdad para el operador Or. (a o b) es verdadera cuando a es verdadera, cuando b es verdadera o cuando ambas son verdaderas.

a b a Or b Ejemplo

verdadero verdadero verdadero (6<10) Or (7<10) Verdadero

verdadero falso verdadero (6<10) Or (10>11) Verdadero

falso verdadero verdadero (10<6) Or (7<10) Verdadero

falso falso falso (10<6) Or (10>11) Falso

Operadores y expresiones

Funciones internas o de bibliotecaAdemás de las operaciones aritméticas básicas, a menudo se requieren operadores especiales tales como las funciones matemáticas, trigonométricas, estadísticas, financieras y muchas más. Enumerarlas todas sería excesivo. Se mostrarán únicamente algunos ejemplos.

Operadores y expresiones

Funciones internas o de biblioteca

Nota: Si se tiene duda sobre una función, es recomendable utilizar las opciones de ayuda.

Nombre de la función Descripción Sintaxis en hoja Excel Sintaxis en Visual BasicAbsoluto Valor absoluto de x "=ABS(x)" "=Abs(x)"Seno Seno de x (x en radianes) "=SENO(x)" "=Sin(x)"Coseno Coseno de x (x en radianes) "=COS(x)" "=Cos(x)"Tangente Tangente de x (x en radianes) "=TAN(x)" "=Tan(x)"Raiz cuadrada Raiz cuadrada de x "=RCUAD(x)" "=Sqr(x)"Logaritmo neperiano Logaritmo neperiano de x "=LN(x)" "=Ln(x)"Truncar Truncar x al entero inferior "=TRUNCAR(x)" "=Trunc(x)"

Operadores y expresiones

Operadores de caracter• El principal operador de caracter es el de

concatenación y permite unir dos cadenas de caracteres.

• Se representa por el símbolo &.• Ejemplo:Nombre = “Juan_”Apellidos =“López_Pérez”Nombre_completo= Nombre&Apellidos

Operadores y expresiones

TIPOS DE SENTENCIAS DE CONTROLTipos principales de sentencias de control:1. Sentencias de selección.

Permiten tomar una decisión basándose en la evaluación de una o más condiciones.

Existen dos tipos: Sentencia “IF” y sentencia “CASE”2. Sentencias de repetición.

Permiten repetir una operaciones varias veces. Existen dos tipos: Sentencia “FOR” y sentencia “WHILE”

Sentencias de control

SENTENCIAS SELECTIVAS “IF” Y “CASE” La toma de decisiones se encuentra prácticamente en todos

los tipos de problemas, pudiendo ir desde decisiones muy sencillas hasta una serie de decisiones “en cascada”

Las estructuras de selección se clasifican en: Estructura selectiva simple (si … entonces …) Estructura selectiva doble (si … entonces, si no …) Estructura selectiva múltiple (si múltiple o “caso 1, caso 2,

…”)

Sentencias selectivas (IF y CASE)

Estructura selectiva simple (si … entonces …)Permite que el flujo siga por un camino específico si se cumple una condición o conjunto de condiciones. Si el resultado es verdadero, ejecuta una operación, si es falso, se “salta” la operación.

Sentencias selectivas (IF y CASE)

Estructura selectiva simple (si … entonces …)Ejemplo: Elabore un programa que lea una calificación numérica y que escriba “aprobado” en caso de que la calificación sea mayor o igual a 7.

Sentencias selectivas (IF y CASE)

Estructura selectiva simple (si … entonces …)

Sentencias selectivas (IF y CASE)

Estructura selectiva doble (si… entonces, si no…)Permite que el flujo se bifurque por dos ramas diferentes, ejecutando procesos diferentes en caso de que se cumpla (o no se cumpla) cierta condición o condiciones.

Sentencias selectivas (IF y CASE)

Estructura selectiva doble (si… entonces, si no…)Ejemplo: Elabore un programa que lea una calificación numérica y que escriba “aprobado” en caso de que la calificación sea mayor o igual a 7 y “reprobado” si la calificación es menor que 7.

Sentencias selectivas (IF y CASE)

Estructura selectiva doble (si… entonces, si no…)

Sentencias selectivas (IF y CASE)

Estructura selectiva múltiple (Caso)Permite que el flujo tome más de dos caminos distintos, se puede representar mediante una serie de “IF” o mediante la sentencia “CASE”.

Sentencias selectivas (IF y CASE)

Estructura selectiva múltiple (Caso)Permite que el flujo tome más de dos caminos distintos, se puede representar mediante una serie de “IF” o mediante la sentencia “CASE”.

Proceso 1 Proceso 2 Proceso 3

1 2 3

Caso

Sentencias selectivas (IF y CASE)

Estructura selectiva múltiple (Caso)Ejemplo: Elabore un programa que lea una calificación numérica y que escriba un mensaje según la siguiente tabla.

Calificación (Cal) Mensaje

Cal > 10 OR Cal < 0 ERROR

Cal >= 9 Muy bien

9 > Cal >= 8 Bien

8 > Cal >= 7 Regular

Cal < 7 Reprobado

Sentencias selectivas (IF y CASE)

SENTENCIAS SELECTIVAS “IF” Y “CASE” Estructura selectiva múltiple (si múltiple)

IF «en cascada»

SENTENCIAS SELECTIVAS “IF” Y “CASE” Estructura selectiva múltiple (caso)

Sentencia “Case”

Es muy común encontrar en la práctica algoritmos cuyas operaciones se deben ejecutar un número repetido de veces.

El conjunto de instrucciones que se ejecuta repetidas veces se llama ciclo.

Todo ciclo debe terminar de ejecutarse luego de un número finito de veces. Es necesario evaluar las condiciones para saber si se ha cumplido la condición de paro o de fin de ciclo.

Es indispensable considerar los errores de redondeo asociados a la memoria de las computadoras y tener cierta tolerancia en los errores.

SENTENCIAS DE REPETICIÓN (FOR y WHILE)

SENTENCIA DE REPETICIÓN (FOR o para) Se utiliza cuando se conoce de antemano el número de veces que

se va a repetir una operación o conjunto de operaciones. Comúnmente se emplean contadores de tipo entero, utilizando las

variables i, j y k. Los contadores tienen un incremento o decremento (usualmente

de tipo entero) Comienza con la instrucción “For” y termina con la instrucción

“Next” Pueden existir ciclos que definen matrices de dos o más

dimensiones.

SENTENCIAS DE REPETICIÓN (FOR y WHILE)

SENTENCIA DE REPETICIÓN (FOR o para)Ejemplo 1: Elabore un programa que lea las calificaciones de 10 estudiantes del curso de programación escritos en las celdas A2:A11 (ver tabla) y que escriba en la celda aledaña “Aprobado” si la calificación es ≥ 7 o “Reprobado” si la calificación es menor que 7.

SENTENCIAS DE REPETICIÓN (FOR y WHILE)

Ejemplo 1 FOR

SENTENCIAS DE REPETICIÓN (FOR y WHILE)

Notas:

El ciclo comienza con la sentencia “For” y termina con la sentencia “Next”

“Step” indica el tamaño del paso (1 por default)

Ejemplo 1 FOR

SENTENCIAS DE REPETICIÓN (FOR y WHILE)

SENTENCIA DE REPETICIÓN (WHILE o mientras) Se utiliza cuando no sabemos el número de veces que se va a

repetir una operación o conjunto de operaciones. En esta estructura se distinguen dos partes:

Ciclo: Es el conjunto de instrucciones que se ejecutarán repetidamente

Condición de terminación: Permite decidir cuándo finalizará la ejecución del ciclo.

Debe existir también un enunciado dentro del ciclo que afecte la condición de terminación. Si no se hace, ¡El ciclo no tendrá fin!

Comienza con la sentencia “While” y termina con la sentencia “Wend”

SENTENCIAS DE REPETICIÓN (FOR y WHILE)

SENTENCIA DE REPETICIÓN (WHILE o mientras)Ejemplo 1 Elabore un programa que permita leer una calificación,

asegurándose que esté comprendida entre 0 y 10, mediante un ciclo mientras.

Una vez leída la calificación, determina si es aprobatoria o no

SENTENCIAS DE REPETICIÓN (FOR y WHILE)

SENTENCIA DE REPETICIÓN (WHILE o mientras)Ejemplo 2 Mejore el programa anterior para que, mediante

una caja de diálogo MsgBox, dé la opción a leer más calificaciones y vaya generando una tabla de calificaciones y resultados (Aprobado o Reprobado), mostrando también el promedio calculado para las calificaciones leídas.

SENTENCIAS DE REPETICIÓN (FOR y WHILE)

DEFINICIÓN DE ARREGLOSUn arreglo permite referirse a una serie de elementos del mismo tipo con un mismo nombre.

Arreglos

X1 = 10 X(1) = 10

X(2) = 20

X(3) = 20

….

X(n) = …

Variable simple Arreglo de 1 dimensión, tamaño n

DEFINICIÓN DE ARREGLOSEn Visual Basic se pueden definir arreglos de hasta 60 dimensiones.

Los arreglos pueden ser estáticos o dinámicos.

Arreglos

3 x 1 3 x 3 3 x 3 x 3

Declaración de un arreglo estático de una sola dimensión.

Para declarar un arreglo, se utiliza la sentencia Dim seguida del nombre del arreglo, sus dimensiones (entre paréntesis) y su tipo.Ejemplo:

Declara el arreglo llamado “vector” de 20 elementos (21 elementos si consideramos el 0)

Dim vector(20) As Double

Arreglos

Lectura y escritura de datos de un arreglo de una dimensiónLa lectura y escritura de datos de un arreglo de una dimensión, se suele efectuar usando un ciclo “for”, referenciándose a celdas específicas.

Aunque también se pueden utilizar cajas de diálogo de tipo InputBox, resulta menos práctico cuando se tienen demasiados datos.

Arreglos

Lectura y escritura de datos de un arreglo de una dimensiónEjemplo: Crear un programa que lea 20 datos de tipo doble precisión desde las celdas A2 hasta A21, los guarde en un arreglo llamado “datos”, que calcule el cubo de los números y lo guarde en un arreglo llamado “cubos” y que lo escriba en las celdas B2 hasta B21.

Arreglos

Lectura y escritura de datos de un arreglo de una dimensión

Arreglos

Ver módulo 1 del programa arreglos1

Declaración de un arreglo estático de dos dimensionesUn arreglo de dos dimensiones incluye el número de líneas y de columnas.Ejemplo:

Declara el arreglo llamado “matriz” conteniendo 3 filas x 3 columnas = 9 elementos

Dim matriz(3,3) As Double

Arreglos

3 x 3

Lectura y escritura de datos de un arreglo estático de dos dimensionesLa lectura y escritura de datos de un arreglo de dos dimensiones, se suele realizar mediante un ciclo “for” anidado (dentro de otro ciclo for), referenciándose a celdas específicas.

Arreglos

Lectura y escritura de datos de un arreglo estático de dos dimensionesEjemplo: Crear un programa que escriba la matriz unidad de 5x5 a partir de la celda B2 (Hoja2)

Arreglos

Ejemplo matriz 2 dimensiones

Arreglos

Ver módulo 2 del programa arreglos1

Arreglos dinámicos - DefiniciónSon arreglos en los que la definición de las dimensiones se hace durante la ejecución del programa.Permiten ahorrar espacio en memoria.

Arreglos

Declaración de arreglos dinámicosPara declarar un arreglo dinámico, se declara como un arreglo estático, pero dejando vacío el paréntesis.

Más tarde, durante la ejecución del programa, se puede dimensionar utilizando valores de variables calculadas o leídas, usando la instrucción ReDim

Arreglos

Arreglos dinámicos - Ejemplo.Crear un programa que escriba las tablas de multiplicar (n renglones, m columnas), máximo 100 x 100.

Arreglos

Son n renglones

Son m columnas

Arreglos dinámicos

ArreglosVer módulo 3 del programa arreglos1

Arreglos dinámicos

Arreglos

Arreglos dinámicos

Arreglos

¿Se puede prescindir de los arreglos? SI SE PUEDE

Arreglos

Comparar módulo 3 con módulo 4 del programa arreglos1

Es muy recomendable dividir los programas grandes en una serie de módulos más pequeños y manejables. Estos módulos reciben distintos nombres:

– Subprogramas– Subrutinas– Procedimientos– Funciones (que es un tipo especial de módulo)

• Estos módulos son “llamados” y utilizados por el programa principal.

• En Visual Basic, los únicos módulos que devuelven un valor son las funciones (Function)

Procedimientos o subrutinas

Ventajas de la programación modular:1. Modularización: Cada módulo tiene pocas líneas y es más

manejable y reutilizable dentro del mismo programa u en otros programas.

2. Ahorro en memoria y tiempo de desarrollo. Al reutilizar los procedimientos, disminuye el número total de líneas del programa.

3. Independencia de datos. Cada módulo puede mantener sus propios datos locales. Es más fácil detectar y corregir errores, ya que en programas muy grandes es frecuente que al corregir un error fallen otras partes del programa que ya funcionaban.

Procedimientos o subrutinas

Tipos de procedimientos en Visual Basic Existen dos tipos fundamentales de procedimientos en Visual Basic:

1. Funciones (Function): Devuelven un valor único a partir de un conjunto de datos o variables.

2. Procedimientos Sub: No devuelven un valor, sino que realizan una tarea o una serie de tareas específicas.

Procedimientos o subrutinas

Definición Una función es un procedimiento que devuelve un valor único. Excel cuenta con muchas funciones “de biblioteca”. Se pueden programar funciones específicas en Visual Basic. La sintaxis general para una función es:

La declaración del tipo de variable de los parámetros y del retorno es opcional. Si se omite usa el tipo “Variant”

Dentro de las sentencias, pueden incluirse variables locales, ciclos, sentencias de control, etc…

Function nombre(parámetros As Tipo) As Tipo(sentencias)nombre=expresiónEnd Function

Funciones

Estructura

Function nombre(parámetros As Tipo) As Tipo(sentencias)nombre=expresiónEnd Function

Valor de retorno (se usa el mismo nombre de la función)

Funciones

Nombre de la función Variables de entrada

Ejemplo• Ejemplo: Crear una función que calcule el volumen de una esfera.• Nota: Utliiza una variable local llamada pi

Nombre de la función Variables de entrada

Valor de retorno (se usa el mismo nombre de la función)

Funciones

Elemplo• Ejemplo 2Crear una función que calcule la densidad de un cuerpo

Funciones

Funcionamiento• Ya que la función ha sido construida, se puede utilizar dentro de

una hoja Excel como si fuera una de las funciones de biblioteca (únicamente disponible en el libro actual)

• Los parámetros (o variables) pueden estar referidos a valores de una celda o bien pueden ser valores introducidos directamente.

Funciones

Llamada a un procedimiento Sub• Un procedimiento Sub puede ser llamado desde el programa

principal (o desde otro procedimiento) por cualquiera de las dos maneras.

Call nombre_del_subprograma (argumentos)

nombre_del_subprograma argumento1, argumento2, …

Procedimientos o subrutinas

Ejemplo• Ejemplo Elabore un programa modular que sirva para calcular

el área y el volumen de una esfera.• Módulo 1: Limpia las celdas de las columnas A:C• Módulo 2: Lee el valor del radio (radio≥0)• Modulo 3: Muestra el radio, el volumen y el área en una caja de diálogo

MsgBox• Módulo 4: Muestra el radio, el volumen y el área en la hoja de Excel.

• Función 1: area = 4 * pi * radio ^ 2 Función 2: volumen = (4 / 3) * pi * radio ^ 3

Procedimientos o subrutinas

Ejemplo Elabore un programa modular que sirva para calcular el área y el volumen de una esfera.

PROGRAMA PRINCIPAL

Nótese que se está declarando una variable global

Procedimientos o subrutinas

Ejemplo Elabore un programa modular que sirva para calcular el área y el volumen de una esfera.

MÓDULO DE LIMPIEZA

MODULO DE LECTURA DE DATOS

Procedimientos o subrutinas

Ejemplo Elabore un programa modular que sirva para calcular el área y el volumen de una esfera.

MÓDULO DE RESULTADOS MsgBox

MÓDULO DE RESULTADOS en Excel

Procedimientos o subrutinas

Ejemplo Elabore un programa modular que sirva para calcular el área y el volumen de una esfera.

FUNCIÓN ÁREA

FUNCIÓN VOLUMEN

Procedimientos o subrutinas