Ak3

  • October 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Ak3 as PDF for free.

More details

  • Words: 1,525
  • Pages: 26
Sentencias de control de flujo Hooberth Chávez Bedoya

Conceptos básicos. • Reglas de codificación: – División de una instrucción en varias líneas. ( _ ) – Combinar varias instrucciones en una línea. ( : ) – Agregar comentarios al código. ( ‘ )

• Sistemas de numeración: – Decimal. – Hexadecimal. ( &H ) – Octal. ( &O )

Convenios de nomenclatura de variables. • Comenzar por letra. Longitud menor de 256 caracteres. • Nombres descriptivos. • Comenzar con mayúscula. • No utilizar nombres claves como nombre de variables. • Comenzar con abreviatura del tipo de la variable.

Declaraciones de variables y constantes • Tipos de declaraciones de variables Dim: Private: Public: Global: Static:

• Constantes: – Const

• Error en la declaración de variables: – Dim var1, var2, ... ,varN As Integer

Funciones de conversión de tipos de datos: Cbool Cbyte Ccur Cdate CDbl Cint CLng CSng CStr CVar

         

Boolean Byte Currency Date Double Integer Long Single String Variant

Operadores aritméticos: + * / \ Mod ^

Suma Resta Multiplicación División División sin decimales Resto de una división Eleva a un exponente

Operadores Lógicos And Or Xor

Función AND Función OR Función XOR

Eqv

F. Equivalente

Imp

Implicación

Not Like

Negación Igualdad

A=True y B=True A=True o B=True A=True y B=False A=False y B=True A=True y B=True A=False y B=False A=True y B=True A=False y B=True A=False y B=False A=False A=True

Cualquier otro caso A=False y B=False A=True y B=True A=False y B=False A=True y B=False A=False y B=True A=True y B=False

A=True A=False

Funciones matemáticas. Cint Abs Sgn Sqr Exp Log Sin Cos Tan Atn Timer

Devuelve la parte entera de un número con decimales Devuelve el valor absoluto de un número Devuelve el signo de un número Devuelve la raíz cuadrada de un número Devuelve el número elevado al exponente indicado Devuelve el logaritmo natural de ese número Devuelve el valor del seno de un ángulo Devuelve el coseno de un ángulo Devuelve la tangente de un ángulo Devuelve un arco cuya tangente sea el número Devuelve el tiempo (sg) que ha pasado desde las 12 de la noche.

Funciones Derivadas Secante Cosecante Cotangente Seno -1 Coseno -1 Secante -1 Cosecante -1 Cotangente -1

Sec(X) = 1 / Cos(X) Cosec(X) = 1 / Sin(X) Cotan(X) = 1 / Tan(X) Arcsin(X) = Atn(X / Sqr(-X * X + 1)) Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1) Arcsec(X) = Atn(X / Sqr(X * X – 1)) + Sgn((X) – 1) * (2 * Atn(1)) Arccosec(X) = Atn(X / Sqr(X * X – 1)) + (Sgn(X) – 1) * (2 * Atn(1)) Arccotan(X) = Atn(X) + 2 * Atn(1)

Funciones Derivadas Seno hiperbólico Coseno hiperbólico Tangente hiperbólica Secante hiperbólica Cosecante hiperbólica Cotangente hiperbólica Seno hiperbólico -1 Coseno hiperbólico -1 Tangente hiperbólica -1 Secante hiperbólica -1 Cosecante hiperbólica -1 Cotangente hiperbólica -1 Logaritmo en base N

HSin(X) = (Exp(X) – Exp(–X)) / 2 HCos(X) = (Exp(X) + Exp(–X)) / 2 HTan(X) = (Exp(X) – Exp(–X)) / (Exp(X) + Exp(–X)) HSec(X) = 2 / (Exp(X) + Exp(–X)) HCosec(X) = 2 / (Exp(X) – Exp(–X)) HCotan(X) = (Exp(X) + Exp(–X)) / (Exp(X) – Exp(–X)) HArcsin(X) = Log(X + Sqr(X * X + 1)) HArccos(X) = Log(X + Sqr(X * X – 1)) HArctan(X) = Log((1 + X) / (1 – X)) / 2 HArcsec(X) = Log((Sqr(–X * X + 1) + 1) / X) HArccosec(X) = Log((Sgn(X) * Sqr(X * X + 1) + 1) / X) HArccotan(X) = Log((X + 1) / (X – 1)) / 2 LogN(X) = Log(X) / Log(N)

Operaciones con fechas Date Time Now WeekDay Day Month Year Hour Minute Second DateAdd DateDiff DatePart DateSerial TimeSerial DateValue

Devuelve la fecha de hoy. Esta fecha la toma del reloj del ordenador. Devuelve la hora actual. Devuelve la fecha y hora actual. Devuelve el día de la semana (En número, 1=Domingo, 2=Lunes,...) Obtiene el día, a partir de una fecha Obtiene el mes a partir de una fecha. Obtiene el año a partir de una fecha. Obtiene la hora a partir de una hora Obtiene el minuto a partir de una hora. Obtiene el segundo a partir de una hora. Añade un intervalo de tiempo a una fecha Obtiene el intervalo de tiempo entre dos fechas Devuelve una parte de una fecha (semana, trimestre, etc.) Compone una fecha a partir de parámetros relativos Compone una hora a partir de parámetros relativos. Devuelve una fecha a partir de un dato que se le parezca y VB pueda obtener de él una fecha válida

Funciones de manejo de cadenas de caracteres Str() Left(,) Mid(,,) Ucase() LenB() Space() Rtrim() StrConv()

Val() Right(,) Lcase() Len() String(,) Ltrim() InStr(,) Split()

IF ….. THEN

If then En ocasiones necesitamos ejecutar algunas líneas de código de nuestra macro solamente cuando alguna condición se haya cumplido. La declaración If-Then nos permite validar una condición para tomar una decisión adecuada. Si se cumple la condición Entonces haz ésto.

If –then

If Then <1 acción>

• No necesita finalizar con “End If” • Puede considerar en la misma línea “Else” que involucre 1 acción • “Else” no es obligatorio

If –then - else

If Then Else End If

If –then – elseif - else

If Then ElseIf Then Else End If

Ejemplo de utilización de las sentencias if else • Determinar si un punto definido por sus coordenadas en el plano (x,y) pertenece a un círculo definido por su centro (xc,yc) y su radio Dim x As Double, y As Double Dim xc As Double, yc As Double, radio As Double Dim DisCentro As Double DisCentro = sqrt ( (x – xc)^2 + (y –yc)^2) If DisCentro <= radio Then msgbox “El punto pertenece al círculo” Else msgbox “El punto no pertenece al círculo” End If

Ejemplo de utilización condicionales simples • Se trata de calcular el área de un triángulo conocidos sus tres lados. ( fórmula de Heron). Sup = sqr( sp * (sp – a) * (sp – b) * (sp – c)) donde sp = Semiperímetro = (a + b + c)/2 Posible problema: El triángulo no esté definido. Se dará si sp < a ó sp < b ó sp < c Dim a As Double, b As Double, c As Double, sp As Double, sup As Double sp = ( a + b + c ) /2 If sp > a And sp > b And sp > c Then sup = sqr( sp * (sp – a) * (sp – b) * (sp – c)) msgbox “ La superficie del triángulo es “ & sup Else msgbox “ El triángulo no existe” End If

Ej. de utilización de if else con múltiples condiciones • Se pretende determinar si un punto en el plano pertenece a una región rectangular paralela a los ejes cartesianos. Se conoce las coordenadas del punto y las coordenadas mínimas y máximas de la región en los dos ejes. Dim x As Double, y As Double Dim xmax As Double, xmin As Double, ymin As Double, ymax As Double If x >= xmin And x <=xmax And y >= ymin And y <= ymax Then msgbox “El punto pertenece a la región” Else msgbox “El punto no pertenece a la región” End If

Ejemplo de utilización de If Else anidados • Se trata de mostrar un mensaje indicando a banda del espectro electromagnético pertenece una determinada longitud de onda l expresado en mm Dim l as Single If l < 0.3 Then msgbox “Pertenece al Ultravioleta” ElsIf l < 0.4 Then msgbox “Pertenece al Azul” ElsIf l < 0.5 Then msgbox “Pertenece al Verde” ElsIf l < 0.6 Then msgbox “Pertenece al Rojo” Else msgbox “Pertenece al InfraRojo” End If

SELECT CASE

Select Case

Los valores pueden ser: • 1, 2, 3, 4, 5 • 1 to 5 • “a”, “b”, “x”

Case Is: • Usa sólo un lado de desigualdad: >, <, >=, <=

Select Case <expresión> Case Case Case Is > valor3 …. Case Else: End Select

Select CASE Select Case var Case 1 ... Case 2 .... Case 3,4,5 ... Case xx To xx .... Case N .... Case Else .... End Select

Select Case var Case Is (operador) xx ... Case Is > .... Case Is >= ... Case Else .... End Select

Ejemplo de utilización de Select Case • Se trata de diferenciar una operación matemática en función del contenido de una variable de tipo cadena de caracteres, para simular una calculadora con las funciones + */ Dim Operando1 As Double, Operando2 As Double, Resultado As Double Dim Operación As String Select case (Operación) Case “+” : Resultado = Operando1 + Operando2 : break; Case “-” : Resultado = Operando1 - Operando2 : break; Case “*” : Resultado = Operando1 * Operando2 : break; Case “/” : Resultado = Operando1 / Operando2 : break; Case Else : msgbox “La operación no está definida” End Select

Ejercicios

Related Documents