Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1. 2. 2.
Lenguaje de programacin:
Visual Basic
2
Lenguajes de programacin
Visual Basic: VB C C++ Java Fortran Muchos otros...
3
Clase 2
Clase 2
Dim a As Integer
Memoria RAM
5
Clase 2
Declaracin de variables
Las variables se declaran (definen) con la instruccin DIM Ejemplo: Dim B As Single La clusula As define el tipo de datos. Tipos de datos, ejemplos:
Integer: Entero simple Long: Entero largo Single: Real Simple Double: Real doble Boolean: Lgico String: Texto (alfanumrico)
6
Clase 2
Declaracin de constantes
Una constante puede ser un nmero (entero, real), un texto (String), un valor lgico (boolean).
Const Const Const Const N As Integer = 100 Pi As Single = 3.141592 Salir As Boolean = False Mensaje As String = *ERROR*"
7
Clase 2
Operadores
En VB existen diferentes tipos de operadores:
Operadores Aritmticos Operadores Relacionales Operadores Lgicos Operador de Concatenacin Operador de Asignacin
Clase 2
Operadores
Los operadores ARITMTICOS son:
Negacin Suma Resta Multiplicacin Divisin Real Divisin Entera Exponenciacin Mdulo (residuo) + * / \ ^ Mod
Clase 2
Operadores
Los operadores RELACIONALES son:
Mayor que Mayor o igual que Menor que Menor o igual que Igual que diferente de > >= < <= = <> 5>2 5>=2 5<2 5<=2 5=2 5<>2 true true false false false true
10
Clase 2
Operadores
Los operadores LOGICOS son:
Negacin lgica Conjuncin lgica (Y) Disyuncin lgica (O) Exclusin lgica Equivalencia lgica Implicacin lgica Not And Or Xor Eqv Imp
11
Clase 2
Operadores
Resultado de los operadores LOGICOS
P Q Not P P And Q P Or Q P Xor Q
V V F F
V F V F
F F V V
V F F F
Clase 2
V V V F
F V V F
12
Operadores
Operador de CONCATENACION (&):
Ejemplos: Sea A=20, B=10, C= ABC, D=XY
Valor = & A Valor = 20 A&B 2010 B&C 10ABC A+B&C 30ABC D&B XY10 C&A&D& &B ABC20XY 10 D+C XYABC
13
Clase 2
Operadores
Operador de ASIGNACION (=):
Sintaxis: Variable = Expresion Variable: Cualquier nombre de variable Expresion: Cualquier literal numrico o alfanumrico, constante o expresin vlida. Primero se evala Expresion y el resultado se asigna a variable
14
Clase 2
Expresiones
Una EXPRESIN es cualquier combinacin vlida de operandos y operadores. Los operandos pueden ser literales (numricos, alfanumricos, lgicos), constantes, variables, funciones. Las expresiones pueden ser Aritmticas, Relacionales, Lgicas, Alfanumricas, etc dependiendo de los operadores que se usan
15
Clase 2
Expresiones Aritmticas
Una expresin aritmtica es una expresin que puede ser evaluada como un nmero Llamada tambin Expresiones numricas Operandos: Literales numricos, Expresiones numricas, funciones numricas Operadores: Aritmticos Resultado: Valor numrico Ejemplo: Si A=2, entonces 5*A+2/A-3 8
16
Clase 2
Expresiones Relacionales
Llamada tambin Expresin de comparacin Operandos: Expresiones numricas alfanumricas Operadores: relacionales Resultado: Valor lgico (booleano) Ejemplo: Si A=2, entonces 5*A > 3 True ABC <= XYW True 10 > 5 False
17
Clase 2
Expresiones Lgicas
Operandos: Expresiones relacionales lgicas Operadores: lgicos Resultado: Valor lgico (booleano) Ejemplo: Si A = 2 4*A > -1 And X2 = X & A True
18
Clase 2
Instrucciones
19
Clase 2
IF ELSE - ENDIF
20
Clase 2
Condicion?
SI
SI
NO
NO
Accin1 Accin2
Accin2
Accin1
Libre
Clase 2
Estructurado 22
Clase 2
AX2 + BX + C = 0
Cules son las etapas para el clculo de las races X1 y X2?
24
Clase 2
AX2 + BX + C = 0
Se hace uso de la siguiente frmula:
B B 4AC X1,2 = , si A 0 2A
25
Clase 2
A, B, C
X 1, 2 = B B 2 4 AC 2A
, A 0
X1, X2
26
Clase 2
Algoritmo
Leer A, B, C D=B^2-4*A*C X1=(-B+D^(1/2))/(2*A) X2=(-B-D^(1/2))/(2*A) Mostrar X1 y X2 Terminar
27
Inicio
Clase 2
Solucin
Refinar el Algoritmo!!!!
28
Clase 2
Algoritmo Refinado
Leer A, B, C A=0?
NO SI
Inicio B=0?
NO SI
D=B^2-4*A*C
1
X1=-C/B
Terminar
29
Clase 2
Algoritmo Refinado
1
D<0?
NO
SI
=-B/(2*A) =((-D)^(1/2))/(2*A)
Mostrar: X1=(-B+D^(1/2))/(2*A) X2=(-B-D^(1/2))/(2*A) X1= & & + & & *i X2= & & - & & *i Mostrar X1 y X2
Terminar
30
Clase 2
El esquema anterior representa el proceso lgico (ALGORITMO) necesario para obtener las races X1 y X2 (solucin de una Ecuacin Cuadrtica).
31
Clase 2
33
Clase 2
Ejemplo 2
Dadas las longitudes de tres segmentos de recta, determinar si es posible formar un tringulo con ellos.
a b c
Clase 2
Cada lado del tringulo debe ser menor que la suma de los otros dos lados: c < b+a b < c+a a < b+c
35
Clase 2
Clase 2
a, b, c
Algoritmo
1. 2. 3. 4.
Leer los valores de a, b, c Verificar si c < b+a Verificar si b < c+a Verificar si a < b+c
38
Clase 2
Algoritmo
5.
Si se cumplen las relaciones 2, 3 y 4 entonces los tres segmentos forman tringulo y el rea es:
a+b+c S= 2 rea = S ( S a)( S b)( S c)
6.
Clase 2
Diagrama de Flujo
Leer a,b,c
a<b+c y b<a+c y c<a+b?
NO SI
Inicio
Mostrar Mensaje: Forman tringulo
S=(a+b+c)/2 Area=(S*(S-a)*(S-b)*(S-c))^(1/2)
Mostrar Area
Terminar
Clase 2
40
Programacin en lenguaje VB
41
Clase 2
42
Clase 2
43
Clase 2
Programa en ejecucin
44
Clase 2
FOR - NEXT
45
Clase 2
Estructura ForNext
Palabras claves Valor del Valorinicial final Incremento del del contador contador
Conjunto de instrucciones
48
Estructura ForNext
Cuando el incremento es unitario, se puede escribir o no, es decir:
For K = 1 To N Step 1 Next K For K = 1 To N Next K
Instrucciones
Next var
Instrucciones
Libre
Clase 2
Estructurado
50
Ejemplo 1
Escribir un algoritmo que permita calcular y mostrar la raz cuadrada de los primeros 100 nmeros naturales pares.
Inicio I = 2, 200, 2 R = Sqr(I) Mostrar I, R Terminar
Dim I As Integer, R As Single For I = 2 To 200 Step 2 R = Sqr(I) Text1.Text = Text1.Text & I & _ vbTab & R & vbCrLf Next I
51
Clase 2
Ejemplo 2
Una persona invierte $1000 en una cuenta de ahorros al 5% anual. Hacer un algoritmo que permita calcular el saldo de la cuenta en los prximos 20 aos, ao a ao.
a = p (1 + r )
Donde:
n = Nmero de aos p = Cantidad inicial invertida r = Tasa de inters anual a = Cantidad en depsito al final del n-simo ao
Clase 2
52
p,r,plazo
Mostrar n,a
53
Clase 2
r=r/100
a=p*(1+r)^n
n, a Terminar
Clase 2
Next n
54
Interfaz Grfica
55
Clase 2
Acumulador
El Acumulador se emplea para efectuar sumatorias (series, etc), productorias (factorial, etc) Anterior valor El esquema general es:
Se toma el antiguo valor de la variable y el resultado se asigna Nuevo valor y se suma con la Expresion nuevamente a la variable.
- * /
57
Clase 2
Acumulador
Para emular el proceso de acumulacin se emplea una asignacin aritmtica:
Suma = Suma + X
El signo igual significa asignacin El nuevo valor de Suma es el anterior valor ms el valor de X El valor inicial de la variable acumuladora debe ser 0 para sumatorias y 1 para productorias.
58
Clase 2
Contador
El Contador es un caso particular del Acumulador. ste aumenta de uno en uno, o reduce de uno en uno su valor inicial. Ejemplos: I = I + 1 K = K - 1
59
Clase 2
Ejercicios propuestos
Realizar un algoritmo para: Encontrar el mayor de 10 valores numricos Averiguar si un entero es par o impar Averiguar si un entero es divisible por otro Averiguar si un entero es mltiplo de su ltima cifra
60
Clase 2
Ejercicios propuestos
Elaborar e implementar un algoritmo para: Calcular el promedio de los primeros 100 nmeros impares. Calcular el factorial de los 10 primeros nmeros naturales. Calcular los primeros n trminos de la serie:
1 1 1 1 S = 1 + 2 + 3 4 + ... 2 3 4 5
61
Clase 2
Ejercicios propuestos
Elaborar e implementar un algoritmo para: Determinar si un nmero entero es primo. Determinar si un entero es perfecto (es igual a la suma de sus divisores). Calcular la suma de las cifras de un entero.
62
Clase 2
63