Вы находитесь на странице: 1из 20

1

Curso de Introduccin a la programacin de Visual Basic en Excel


El objetivo del curso es aprender a programar en visual basic en excel para
la resolucin de problemas matemtica, estadstica bsicas
Tipos de procesos o estructuras bsicas de control en programacin:
Secuencial: conjunto de proposiciones en un orden
determinado constituye una secuencia.

Decisin e iteracin: cuando se necesita especificar dos
cursos alternativos de accin, que dependern de cierta
condicin, usando el s condicional. Tambin se da el caso de
tener ms de dos opciones, aqu se utiliza la ramificacin de
proceso, el comando: case_of_else.
2
Pasos de programacin

Enunciado del problema o descripcin de la tarea.
Modelo matemtico.
Requerimiento de datos.
Algoritmo: Pseudocdigos
Diagrama de flujo.
Codificacin lenguaje de programacin
Resultados y anlisis (prueba de escritorio).

3
Operadores Aritmticos

Mayor prioridad ( ) ^ mod div
* /
Menor prioridad + -

Operadores relacionales Operadores lgicos
y and
o or
= no not
=

= =
4
Variables simples
Byte, integer, long, char, boolean, double, currency

Variables compuestas
String, dimension, set, object, pointer o apuntadores
Tipo de variables
Variant, puede ser simple o compuesta
Ejemplos:
Integer: nmeros enteros, para numerar las filas y columnas
Long: nmeros enteros, para numerar los habitantes de una ciudad o los
nmeros de telfonos
Boolean: para una variable con slo dos posibles valores (s o no, F o V)
Single: para variables fsicas con decimales que no exijan precisin
Double: para variables fsicas con decimales que exijan precisin
Currency: para cantidades grandes de dinero
5
Tipo de variables
Tipo Descripcin Rango
Boolean Binario True o False
Byte Entero corto 0 a 255
Integer Entero (2 bytes) -32768 a 32767
Long Entero largo (4 bytes) -2147483648 a 2147483647
Single Real simple precisin (4 bytes) -3.40E+38 a 3.40E+38
Double Real o doble precisin (8 bytes) -1.79D+308 a 1.79D+308
Char Carcter alfa-numrico a, b, c,, z, A, B, C,, Z, 1, 2, 3, 4, 5, 6, 7, 8,
9, 0
Currency Nmero con punto decimal fijo
(8 bytes)
-9.22E+14 a 9.22E+14
String
Cadenas de caracteres 0 a 65500 caracteres
Variant Fecha/ hora, reales, enteros,
boolean, o caracteres
Mismo tipo de variable almacenada
6
Abs
Devuelve el valor absoluto de un nmero.
Atn
Devuelve el arcotangente de un nmero. El resultado es un ngulo en
radianes.
cos
Devuelve el coseno de un ngulo en radianes.
^, Exp
E elevado a una potencia.
Int
Fix
Sgn
Round(x, ndec)
Devuelve la parte entera de un nmero (redondea hacia abajo).
Devuelve la parte entera de un nmero
Signo (1, 0, -1)
Redondeo (opcional con decimales)
Log
Devuelve el natural (base e) logaritmo de un nmero.
Rnd Devuelve un nmero aleatorio mayor o igual que 0 y menos de 1.
Sin
Devuelve el seno de un ngulo en radianes.
Sqr
Devuelve la raz cuadrada de un nmero.
Tan
Devuelve la tangente de un ngulo en radianes
Funciones Matemticas
7
Funciones Matemticas
Funcin matemtica Expresin equivalente
Secante Sec(X) = 1 / Cos(X)
Cosecante Cosec(X) = 1 / Sin(X)
Cotangente Cotan(X) = 1 / Tan(X)
Arcoseno Arcsin(X) = Atn(X / Sqr(-X * X + 1))
Arcocoseno Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)
Arcosecante Arcsec(X) = Atn(X / Sqr(X * X 1)) + Sgn((X) -1) * (2 * Atn(1))
Arcocosecante Arccosec(X) = Atn(X / Sqr(X * X - 1)) + (Sgn(X) - 1) * (2 * Atn(1))
Arcocotangente Arccotan(X) = Atn(X) + 2 * Atn(1)
Seno Hiperblico HSin(X) = (Exp(X) - Exp(-X)) / 2
Coseno Hiperblico Hcos(X) = (Exp(X) + Exp(-X)) / 2
Tangente Hiperblica Htan(X) = (Exp(X) - Exp(-X)) / (Exp(X) + Exp(-X))
Secante Hiperblica HSec(X) = 2 / (Exp(X) + Exp(-X))
Cosecante Hiperblica Hcosec(X) = 2 / (Exp(X) - Exp(-X))
Cotangente Hiperblica Hcotan(X) = (Exp(X) + Exp(-X)) / (Exp(X) - Exp(-X))
Arcoseno Hiperblico Harcsin(X) = Log(X + Sqr(X * X + 1))
Arcocoseno Hiperblico Harccos(X) = Log(X + Sqr(X * X - 1))
Arcotangente Hiperblica Harctan(X) = Log((1 + X) / (1 - X)) / 2
Arcosecante Hiperblica Harcsec(X) = Log((Sqr(-X * X + 1) + 1) / X)
Arcocosecante Hiperblica Harccosec(X) = Log((Sgn(X) * Sqr(X * X + 1) +1) / X)
Arcocotangente Hiperblica Harccotan(X) = Log((X + 1) / (X 1)) / 2
Logaritmo en base N LogN(X) = Log(X) / Log(N)
8
Asc Devuelve el cdigo de caracteres ASCII de un carcter.
Chr Devuelve el carcter correspondiente a un cdigo ASCII.
Format Formato a un nmero de acuerdo con un built-in o definidos por el usuario nmero
de expresin de formato. El resultado es una cadena.
lnstr Devuelve la primera aparicin de una subcadena en una cadena. Al igual que en
Excel a encontrar la funcin de hoja de clculo.
Len Devuelve la longitud (nmero de caracteres) en una cadena.
Left Devuelve los caracteres ms a la izquierda de una cadena.
Right Devuelve los caracteres ms a la derecha de una cadena.
Mid Devuelve un nmero especificado de caracteres de una cadena.
LTrim Devuelve una cadena sin espacios iniciales.
RTrim Devuelve una cadena sin espacios.
Trim Devuelve una cadena sin espacios iniciales o finales.
Str
Val
Convierte un nmero en una cadena.
Convierte una cadena en una nmero.
LCase Convierte una cadena en minsculas.
UCase Convierte una cadena en maysculas.
Funciones de Texto
9
IsArray Devuelve True si la variable es una matriz.
IsDate Devuelve True si la expresin es una fecha.
IsEmpty Devuelve True si la variable no est inicializada.
IsError Devuelve True si la expresin devuelve un error.
IsMissing Devuelve True si un valor opcional que no ha sido entregada a una funcin
de procedimiento
IsNull Devuelve True si la expresin es nulo (es decir, no contiene datos vlidos)
IsNumeric Devuelve True si la expresin se puede evaluar a un nmero.
Isobject Devuelve True si la expresin hace referencia a un objeto vlido.
LBound Devuelve el lmite inferior de la dimensin de una matriz.
UBound Devuelve el lmite superior de la dimensin de una matriz.
Funcin Informacin
10
Pseudocdigo,
nombre
Diagrama de
flujo
Codificacin en T.
Pascal
Delphi-console
Codificacin en Delphi Codificacin en
Fortran
Codificacin
en Basic
Lectura o entrada
de datos
leer var1
Read (var1);
Readln(var1,var2);
Var1:=strtofloat(edit1.te
xt);
Read (*,*) var1
Read (*,*) var1, var2
20 imput n
Escritura o salida
de datos
escribir o
imprimir (en
pantalla) var1
Write(letrero,var1+
var2);
writeln(mensaje,
var1);
Form1.edit2.text:=inttos
tr(var1);
Write
(*,*)letrero,var1
Print *,letrero,var2
30 print
letrero; var1
Asignacin o
reemplazo
a := 3 + b;
d := a;
a := 3 + b;
d := a;
A = 3 + b
D = a
40 let f=2*r+1
50 let f=j
Si condicional
Si cond1
entonces act1
If cond1 then acts1
else
Acts2;
If cond1 then acts1 else
Acts2;
If (a.ge.b) act1
endif
60 if v<4 then
100
Transferencia de
control
regresea o ir (a
etiqueta)
(casi no se usa)
Goto etiqueta;

Etiqueta:
(casi no se usa)
Etiqueta:
..
Goto etiqueta;
goto etiqueta
goto 20
70 goto
etiqueta
70 goto 20
a=3+c
v a r 1
var1
cond1 No Si
Importancia del pseudocdigo y diagrama de flujo ante algunos lenguajes de programacin.
Actividades bsicas:

11
Diagrama de
flujo
Codificacin en
C
Codificacin en C++ Codificacin en Java MS Excel-Visual Basic
Programacin con macros
scanf(%f\n,
var1);
Cin>>a>>b; System.ini.read(var1)
;
S=in.readln(v1);
(texto)
var1=inputbox(valor=,numer
o)
var1=range(b2)
printf(hola \n); Cout<<valor=<<b; System.out.println(va
r1);
System.out.write(int
c);
System.out.print(str);
ActiveShee.activecell.value=nu
mero
Range(c1)=var1
y=y+1;
y++;
z=y;
res=0;
Num=num-1; o
num--;
X=99;
Num=num+1; o
num++;
X=99;
Num=num+1
D = a
if (n= =1) acts1;
else acts2;
if (n= =1) acts1;
else acts2;
if (n= =1) acts1;
else acts2;
If cond1 then acts1 Acts2
Else acts3
end if
(casi no se usa)
Goto etiqueta;
..
Etiqueta:
(casi no se usa)
Goto etiqueta;

Etiqueta:
(casi no se usa)
Goto etiqueta;

Etiqueta:
Goto etiqueta_o_lnea
a=3+c
cond1 No Si
v a r 1
var1
Actividades bsicas:
12
Pseudocdigo, nombre
Diagrama de flujo
Codificacin en T. Pascal,
Delphi-console
Codificacin en Delphi Codificacin en Fortran
Codifi
cacin
en
Basic
Ramificacin de procesos:
Case_of_else
Caso segn opcin
1- acts1
2- acts2
Case opcion of
1:acts1;
2:actc1
else acts2;
end;
Case opcion of
1:acts1;
2:actc1
else acts2;
end;
En F77:
Goto (etiq1,etiq2,etiq3)var1
En F90, Digital F,:
Select case (var1)
Case(1)
Actividades1
Case(2)
Actividades2
End select

Circuito de clculo:
Para vi hasta vf hacer acts1


For i:=1 to n do acts1; For i:=1 to n do acts1; do i = 1, n
acts1
enddo
50 for
j=0 to 49


90 next j
Circuito de convergencia con
condicin al inicio.
Mientras cond1 hacer acts1

While cond1 do acts1; While cond1 do acts1; En F90, Digital F,:
do while (expr lgica)
actividades
enddo
En F77:(se estructura as):
etiq if (expr lgica) then
actividades
goto etiq
endif
Circuito de convergencia con
condicin al final
Repetir acts1 hasta cond1 o
Hacer acts1 hasta cond1

Repeat
Acts1; acts2;
Until cond1;
Repeat
Acts1; acts2;
Until cond1;
En F77:( se estructura as):
etiq continue
actividades
if (expr lgica) goto etiq
cond1
No
si
Vi=1,n,1
Vi
cond1
S
cond1
si
Actividades derivadas:
13
Diagrama de flujo
Codificacin en
C
Codificacin en C++ Codificacin en
Java
MS Excel-Visual
Basic
Programacin con
macros
Switch(opcion)
{
1:acts1; break;
2:actc1; break;
}
Switch(opcion)
{
1:acts1; break;
2:actc1; break;
default: cout<<mensaje;
}
Switch(opcion)
{
1:acts1;
2:actc1;
default: acts3; }
Select case opcion
Case v1:acts1
Case v2:acts2
Case else acts3
End select


For (i:=1;I<n
;I++)
{ acts1; acts2;}
For (i:=1;I<n ;I++)
{ acts1; acts2;}
For (i:=1;I<n ;I++)
{ acts1; acts2;}
For i=1 to n
Acts1
Acts2
Next i


While
(num<=10)
{ acts1; acts2; }
While (num<=10)
{ acts1; acts2; }
While (num<=10)
{ acts1; acts2; }
Do while (cond1)
Acts1
Acts2
loop

Do {
Acts1; acts2; }
While (x<=10);
Do {
Acts1; acts2; }
While (x<=10);
Do {
Acts1; acts2; }
While (x<=10);
Do acts1
Acts2
loop while cond1
Do acts1
Acts2
loop until cond1
cond1
No
si
Vi=1,n,1
Vi
cond1
S
cond1
si
Nota: Hay que considerar que cada lenguaje tiene su propia estructura de programacin.
Actividades derivadas:
14
indice
conector de diagrama
en la misma pgina
procesos
predef inidos
procedimientos
o subrutinas funcion nombre(par1,par2)
comentarios
internos o
anotaciones
inicio fin
A
conector de diagrama
en diferente pgina
B
funcion nombre(par1,par2)
o
datos
entrada manual
tarj eta
almacenamien
to de datos
mostrar en
pantal l a
acceso
secuencial
de datos
Diagramas complementarios
15
Cuadro evolutivos de los lenguajes de programacin ms comunes:
16
Cuadro evolutivos de los lenguajes de programacin ms comunes, en programacin orientada a objetos:
17
Fortran
Pascal, Turbo Pascal
Basic,Turbo Basic
C, C++
Ada
Modula
Java
Cobol
Algol
Cobol
...
Lisp
---------------
Bases de datos
Clipper, Foxpro,
Dbase, SQL, Oracle,
...
Lenguajes y software/paquetera
Versiones
actualizadas
de lenguajes
de
programacin
Sistemas operativos
Internet (redes)
Paquetes: Microsoft office,
Works, Corel-wordperfect
Educativos
Matemticos
Dibujadores, imgenes, fotografa
Arquitectura, diseo grfico
Administracin y contadura
Ingenieras, Simuladores
Control, Robtica
Comunicaciones
Electrnica, Antivirus-virus
Computacin, Industria
Entretenimientos, juegos
Salud
...
Versiones actualizadas
18

Leer dos variables, A, B y desplegar el valor de B en A y viceversa

Sumar dos variables

Dividir dos variables, que pasa si una variable es cero?


Ejercicios:
Selecciona celdas o reas
Mueve celda o reas seleccionadas
copia el contenido de la celda o reas seleccionadas
19
20
Explicacin dada en clase por el profesor....

Вам также может понравиться