lunes, 1 de diciembre de 2014


Ejercicio de las unidades 7 y 8

Método de Runge - Kutta

Dim N As Integer
Function f (ByVal t As Double, ByVal y As Double) As Double
f= t - y
End Function

Sub RungeKutta (ByVal a As Double, ByVal b As Double, ByVal N As Integer, ByVal y0 As Double)
Dim h, k1, k2, k3, k4 As Double 
Dim t, y As Double
Dim i As Integer

h = (b - a) / N
t = a 
y = y0
vt (0) = t
vy (0) = y
For i = 1 To N
       K1= h * f (t,y)
       K2 = h * f (t + h / 2, y + k1 / 2)
       K3 = h * f (t + h/ 2, y + k2 / 2)
       K4 = h * f (t+ h, y + k3)
       Y = y + (1 / 6) * (k1+ 2 * k2 +2 * k3 + k4)
       t = t + h
       vt (i) = t
       vy (i) = y
Next
End Sub

Private Sub CmdEvaluar_Click()
tmin = Val (txta.text)
tmax = Val (txtb.Text)
Yinicial = Val (txty0.Text)
N = Val (txtn.Text)
Call Rungekutta (tmin, tmax, N, Yinicial)
Call vertabla
End  sub

Private Sub Vertabla_Click()
Dim f, i As Integer
MSFlexGrid1.Clear
MSFlexGrid1.Rows = 30
MSFlexGrid1.Cols = 2
MSFlexGrid1.FixedCols = 0
MSFlexGrid1.FixedRows = 0
MSFlexGrid1.ColWidth (0) = 750
MSFlexGrid1.ColWidth  (1) = 1100
MSFlexGrid1.TextMatrix (0, 0) = "t"
MSFlexGrid1.TextMatrix (0,1) = "y(t)"
i = 0
For f = 1 To (N + 1)
      MSFlexGrid1.Rows = f + 1
      MSFlexGrid1.TextMatrix (f, 0) = Format $ ( vt (i), "0.000")
      MSFlexGrid1.TextMatrix (f, 1) = Format $ ( vy (i), "0.0000000")
      i = i + 1
Next f
End Sub

Private Sub CmdSalir_Click()
Unload Me
End Sub

viernes, 21 de noviembre de 2014

Ejercicios


Ejercicio de la Unidad 6
  1. Analice las siguientes expresiones:

  • Range ("A10").Select 
          Este expresa que en la celda "A10" se esta utilizando el Método Select el cual se selecciona esa celda para que este disponible
  •  Range ("C4:G6").Formato
           Este expresa que desde la celda C4 hasta G6 se utiliza el método Formato, dejando la celda disponible
  • Range ("B5").Name
          Este hace referencia al nombre del objeto Range de la celda A5

Ejercicios



Ejercicio de la Unidad 5

  1. Ejemplifique varias diagonales sucesivas a través de la acumulación de texto, con datos introducidos por teclado.

     Private Sub CommandButton1_Click ()

     Dim i As Integer
     Dim j As Integer

     Hoja1.Cells (1, 1) = "BIENVENIDO"
             For i = 2 to 8
                   For j = 1 to i
                         If ( (i + j) Mod 2) = 0 Then
                              Hoja1.Cells (i, j) = Hoja1.Cells (1, 1)
                        End If
                   Next j
             Next i

     End Sub

     2.  Graficar 







Ejercicios



Ejercicios de las Unidades 3 y 4

Realice un vector que contenga los siguientes elementos: nombres, apellidos, dirección, sección y semestre de 5 alumnos de su sección.


Private Sub Vector1_Click()

     Datos Personales "Emily" "Belisario" "Las Garcitas" 1 "cuarto" As String 
     'Es Soltera
     Datos Personales "Wini" "Padrino" "Guamachal" 1 "cuarto" As Srting
     'Es Soltera
     Datos Personales "Blanca" "Moreno" "Los Ilustres" 1 "cuarto" As String 
     'Es Soltera
     Datos Personales "Adrian" "Guerra" "Los Olivos" 1 "cuarto" As String 
     'Es Soltero
     Datos Personales "Erimar" "Figueroa" "Padre Chacín" 1 "cuarto" As String
     'Es Soltera

End Sub



Realice y diseñe un vector que muestre por pantalla los botones de una calculadora (adición, sustracción, multiplicación y división) 


Nuevo Botón

Private Sub Command5_Click()
    
     Text1= "         "
     Text2= "         "
     Text3= "         "
     Text1, set focus

 End Sub

Adición

Private Sub Command1_Click()

     Text3= Val (Text1) + Val (Text2)

 End Sub

Sustracción

Private Sub Command2_Click()

     Text3= Val (Text1) - Val (Text2)

 End Sub

Multiplicación

Private Sub Command3_Click()

     Text3= Val (Text1) x Val (Text2)

 End Sub

División

Private Sub Command4_Click()

     Text3= Val (Text1) / Val (Text2)

 End Sub

Calculadora   



lunes, 28 de julio de 2014

Tutoriales y Ejemplos







Ejercicios Resueltos

1) Crear el diagrama de flujo que de como resultado el tiempo estimado para el llenado de un depósito.

 Solucion Corta:

Existen Muchos programas para Realizar Diagramas de Flujo, uno de los mas populares es "PSEINT", el cual tiene una interfaz muy facil. Aqui tenemos un ejemplo:






Conceptos Fundamentales de Programación en Visual Basic



Definición de programa:


     Cuando hablamos específicamente de programa en informática, estamos haciendo referencia a un software. Se trata de aplicaciones y recursos que permiten desarrollar diferentes tareas en una computadora (ordenador), un teléfono u otros equipos tecnológicos. 


     Para desarrollar un programa informático, se necesita apelar a los lenguajes de programación que posibilitan el control de las máquinas. A través de diversas reglas semánticas y sintácticas, estos lenguajes especifican los datos que transmite el software y que tendrá que operar la computadora.


     Existen diferentes tipos de programas en informática. El software de base, por ejemplo, es aquel que le brinda a la persona el control sobre los elementos físicos de la computadora, que se conocen como hardware. Dentro del software de base puede nombrarse a los sistemas operativos, como Windows o Linux.


     Los programas ofimáticos también son muy importantes. Entre estas herramientas aparecen los procesadores de texto como Microsoft Word y Apache OpenOffice Writer; las hojas de cálculo como Calc, Lotus 1-2-3 y Microsoft Excel; y los programas que permiten gestionar el correo electrónico como Lotus Notes, Microsoft Outlook y Eudora.


Tipos de programas

     Un programa, por lo general, estará compuesto por una secuencia de acciones, algunas de las cuales serán alternativas o repetitivas. En determinados programas sencillos, no se da esta mezcla de acciones, en cuyo caso se pueden clasificar como sigue:
  • Programas lineales: consisten en una secuencia de acciones primitivas (su ejecución es lineal en el orden en que han sido escritas).
  • Programas alternativos: consisten en el anidamiento de acciones alternativas (las tablas de decisión se realizan mediante programas alternativos).
  • Programas cíclicos: son aquellos en los que un conjunto de acciones se repiten un número determinado o indeterminado de veces (un programa de este tipo se denomina bucle).
Otra clasificación relativa a la aplicación desarrollada por el programa es:
  • Programas de gestión: se caracterizan por el manejo de gran cantidad de datos con pocos cálculos (resuelven problemas de gestión).
  • Programas técnicos-científicos: al contrario que los anteriores, realizan gran cantidad de cálculos con pocos datos (revuelven problemas matemáticos, físicos, etc.).
  • Programas de diseño (CAD): se caracterizan por la utilización de técnicas gráficas para resolver problemas de diseño.
  • Programas de simulación: intentan reflejar una situación real, para facilitar su estudio.
  • Programas educativos (EAO): utilizan las ventajas del ordenador para la docencia.
  • Programas de inteligencia artificial: se utilizan para simular el razonamiento humano.
     Como se puede ver en la siguiente imagen, hay muchos tipos de programas:




Partes principales de un programa


     Dentro del bloque de instrucciones de un programa se pueden diferenciar tres partes fundamentales. En algunos casos, estas tres partes están perfectamente delimitadas, pero en la mayoría sus instrucciones quedan entremezcladas a lo largo del programa, si bien mantienen una cierta localización geométrica impuesta por la propia naturaleza de las mismas.


Entrada de datos: la constituyen todas aquellas instrucciones que toman datos de un dispositivo externo, almacenándolos en la memoria central para que puedan ser procesados.


Proceso o algoritmo: está formado por las instrucciones que modifican los objetos a partir de su estado inicial hasta el estado final, dejando éstos disponibles en la memoria central.


Salida de resultados: conjunto de instrucciones que toman los datos finales de la memoria central y los envían a los dispositivos externos.


Instrucciones de control


     Son instrucciones que no realizan trabajo efectivo alguno salvo la evaluación de expresiones, generalmente lógicas, con el objetivo de controlar la ejecución de otras instrucciones o alterar el orden de ejecución normal de las instrucciones de un programa. 


Instrucciones ejecutables


     Instrucciones ejecutables, que inician acciones. Estas instrucciones pueden llamar a un método o función, y pueden repetirse en bloques de código o crear una bifurcación en otro bloque de código. Puedes  recorrer varias instrucciones con un bucle o evaluar una expresión. Las instrucciones ejecutables incluyen instrucciones de asignación, que asignan un valor o expresión a una variable o constante.


Instrucciones de declaración


     Las instrucciones de declaración son aquellas  utilizadas para definir procedimientos, variables, propiedades, matrices y constantes, y asignarles nombre. Cuando se declara un elemento de programación, también se puede definir su tipo de datos, nivel de acceso y ámbito. Sirven para declarar librerías, variables, constantes, arreglos, punteros, estructuras



Constantes


     Son elementos, números, fechas, cadenas de caracteres y expresiones que contienen operadores lógicos o aritméticos, ellas mantienen un valor fijo durante el desarrollo y  la ejecución del programa. 


Características:

Comenzar con una letra.

Poseer un mismo nombre único.

No tener más de 255 caracteres de longitud.

No tener espacios


Variables


     Una variable es una partida de datos cuyo valor puede cambiar en el programa (durante el desarrollo y ejecución).


     Los diferentes tipos de variables dependen del lenguaje de programación, por lo general estas suelen ser enteras, reales, carácter, lógicas y de cadena.


     Tanto las variables como las constantes tienen un nombre o identificador generalmente conformado por caracteres alfanuméricos (ciertos lenguajes de programación admiten el carácter de subrayado ‘_’ como válido en los identificadores), y el primero de éstos debe ser una letra.

Estas son utilizadas para almacenar valores que pueden cambiar durante la ejecución de un programa, existen 3 tipos de variables:

*Variables de objeto

*Variables de entorno

*Variables declaradas 


Características y condiciones:

*Iniciar con una letra.

*No tener espacios.

*Su longitud no debe superar los 245 caracteres.

*Poseer un nombre único dentro de su alcance.


Expresión aritmética


     En informática y lenguajes de programación, se entiende por expresión aritmética a aquella donde los operadores que intervienen en ella son numéricos, el resultado es un número y los operadores son aritméticos. Los operadores aritméticos más comúnmente utilizados son: + , - , * , / y  %.

El signo más (+) se emplea para adicionar dos valores, el signo menos (-) para restar un valor de otro, el asterisco (*) para multiplicar dos valores, la división (/) para dividir un valor por otro, y el signo % para obtener el resto de una división entera. Estos símbolos se conocen como operadores binarios, pues operan sobre dos valores o variables.

Operadores aritméticos:


     Los operadores aritméticos se utilizan para realizar muchas de las operaciones aritméticas habituales que implican el cálculo de valores numéricos representados por literales, variables, otras expresiones, llamadas a funciones y propiedades, y constantes. También se clasifican como operadores aritméticos los operadores de desplazamiento de bits, que actúan al nivel de bits individuales de los operandos y cambian sus modelos de bits a la izquierda o la derecha.

Las operaciones aritméticas son las que operan sobre valores numéricos y entregan otro valor numérico como resultado. Los valores numéricos son los que tienen tipo entero, real o complejo.

Las siguientes son algunas operaciones aritméticas básicas, junto con el operador que las representa en Python:

•             La suma +;

•             La resta -;

•             La multiplicación *;

•             La división /;

•             El módulo % (resto de la división);

•             La potencia ** («elevado a»).


     En general, si los operandos son de tipo entero, el resultado también será de tipo entero. Pero basta que uno de los operandos sea real para que el resultado también lo sea. Esta regla suele causar confusión en el caso de la división. Al dividir números enteros, el resultado siempre es entero, y es igual al resultado real truncado, es decir, sin su parte decimal.


Si uno de los operandos es complejo, el resultado también será complejo.

El operador de módulo entrega el resto de la división entre sus operandos.

Un uso bastante común del operador de módulo es usarlo para determinar si un número es divisible por otro.

Una relación entre / y % que siempre se cumple para los números enteros.

Hay dos operadores aritméticos unarios:

•             El positivo +, y

•             El negativo -.

El positivo entrega el mismo valor que su operando, y el negativo también pero con el signo cambiado


Operaciones de relación


     Las operaciones de relación sirven para comparar valores. Sus operandos son cualquier cosa que pueda ser comparada, y sus resultados siempre son valores lógicos.

Algunas operaciones relacionales son:

•             El igual a == (no confundir con el = de las asignaciones);

•             El distinto a !=;

•             El mayor que >;

•             El mayor o igual que >=;

•             El menor que <;

•             El menor o igual que <=;

Operaciones lógicas


      Los operadores lógicos son los que tienen operandos y resultado de tipo lógico. Los operadores lógicos comparan expresiones Boolean y devuelven un resultado Boolean. Los operadores And, Or, AndAlso, OrElse y Xor son binarios porque toman dos operandos, mientras que el operador Not es unario porque toma un solo operando. Algunos de estos operadores también pueden realizar operaciones lógicas bit a bit en valores enteros.


Operadores lógicos binarios


     El And (Operador, Visual Basic) realiza la conjunción lógica de dos expresiones Boolean. Si ambas expresiones se evalúan como TrueAnd devuelve True. Si al menos una de las expresiones se evalúa como FalseAnd devuelve False.


     El Or (Operador, Visual Basic) realiza la disyunción o inclusión lógicas de dos expresiones Boolean. Si una de las expresiones o ambas se evalúan como TrueOr devuelve True. Si ninguna de las expresiones se evalúa como TrueOr devuelve False.


     El Xor (Operador, Visual Basic) realiza la exclusión lógica de dos expresiones Boolean. Si exactamente una expresión, pero no ambas, se evalúa como TrueXor devuelve True. Si ambas expresiones se evalúan como True o como FalseXor devuelve False

Operador lógivo unario


     El Not (Operador, Visual Basic) realiza la negación lógica en una expresión Boolean. Produce el contrario lógico de su operando. Si la expresión se evalúa como TrueNot devuelveFalse; si la expresión se evalúa como FalseNot devuelve True. Debido a que Object es la clase base de todos los tipos de referencia en .NET Framework, este comportamiento es heredado por los tipos de referencia que no reemplazan el método ToString.



Funciones internas


     Son funciones matemáticas diferentes de las operaciones básicas pero que se incorporan al lenguaje y que se consideran estándar. Dependen del lenguaje. Normalmente se encuentran en la librería de matemáticas del lenguaje de programación.

Ingreso de datos y generación de reporte 

Ingreso de datos: Método InputBox (…)



     En VBA los datos se ingresan usando el método InputBox (…) el cual abre una ventana de diálogo. La sintaxis de este método es:expresión.InputBox(Prompt[,Title][,Default][,XPos][,YPox]  [,HelpFile]  [,Context])



donde


expression:Es el nombre de un determinado objeto Application.

                        Si no se usa, asume Aplication.


Prompt:Cadena de caracteres, requerido. Es usado como información al usuario sobre lo que se le pide que ingrese.


Title: Cadena de caracteres de tipo Variant, opcional. Es usado para colocarlo en la barra de título de la ventana de diálogo.


Default: Es opcional. Es el valor que se asigna a la variable receptora, si no se digita ningún dato.


XPos: Es la posición horizontal (en pixels) a partir de la cual se visualizará la ventana


YPos: Es la posición vertical (en pixels) a partir de la cual se visualizará la ventana.


HelpFile: Es el nombre del archivo de ayuda.


Context: Es la posición o ubicación dentro del tema de la ayuda, relativo a la instrucción.


Emisión de resultados: Función MsgBox (..)


     Para poder emitir o imprimir en pantalla el contenido de una variable o el resultado de un cálculo, se usa la función MsgBox (…), el cual abre una ventana en cual se visualizará todos los resultados emitidos. La sintaxis de este método es el siguiente:

MsgBox (Prompt [,Botones] [,Title] [,HelpFile] [Context])


donde


Prompt: Cadena de caracteres de hasta 1024 bytes. Si ocupa más de una línea se puede separar 
usando el carácter de retorno de carro CHR(13), o un carácter de avance de línea CHR(10) o una combinación de los dos: CHR(13)+CHR(10).


Botones: Permite mostrar u determinado tipo d botón a través de un icono. 
La siguiente tabla muestra la lista de las variables internas usadas para mostrar el icono.

 
El siguiente procedimiento permite ingresar la cantidad y el precio de compra de un producto y luego calcular el monto neto, después de aplicar el impuesto del IGV.


Subrutina


     Una subrutina o subprograma (también llamada procedimiento, función o rutina), como idea general, se presenta como un subalgoritmo que forma parte del algoritmo principal, el cual permite resolver una tarea específica. Algunos lenguajes de programación, como Visual Basic .NET o Fortran, utilizan el nombre función para referirse a subrutinas que devuelven un valor.


     Se le llama subrutina a un segmento de código separado del bloque principal y que puede ser invocado en cualquier momento desde este o desde otra subrutina.


     Una subrutina al ser llamada dentro de un programa hace que el código principal se detenga y se dirija a ejecutar el código de la subrutina, en cambio cuando se llama a una macro, el compilador toma el código de la macro y lo implanta donde fue llamado, aumentando así el código fuente y por consiguiente el objeto.


     Elementos de la declaración de una subrutina


     Las declaraciones de subrutinas generalmente son especificadas por:

•             Un nombre único en el ámbito: nombre de la función con el que se identifica y se distingue de otras. No podrá haber otra función ni procedimiento con ese nombre (salvo sobrecarga o polimorfismo en programación orientada a objetos).

•             Un tipo de dato de retorno: tipo de dato del valor que la subrutina devolverá al terminar su ejecución.

•             Una lista de parámetros: especificación del conjunto de argumentos (pueden ser cero, uno o más) que la función debe recibir para realizar su tarea.

•             El código u órdenes de procesamiento: conjunto de órdenes y sentencias que debe ejecutar la subrutina.


     Un ejemplo de VisualBasic.net