Está en la página 1de 45

Algoritmos y Programación

Clase 2
1. Estructura básica: Selección lógica:
If…Else…End If
2. Ejemplos de aplicación
3. Elementos del lenguaje VB
1
Estructura Básica
Selección Lógica
 If…Else…End if
 Permite tomar decisiones.
 Seleccionar uno de dos cursos de acción diferentes.
 Es necesario definir una expresión lógica.
 El valor de verdad de una expresión lógica es uno de estos dos
valores lógicos:
 True (Verdadero)
 False ( Falso)

2
Clase 2
Representación estructura
IF…End If

Condicion?
SI NO
Condicion? NO

SI
Acción1 Acción2

Acción1 Acción2

Libre Estructurado
3
Clase 2
Estructura IF…End If
Sintaxis
If Condicion Then
Acción1
Else
Acción2
End if
• Si Condicion es verdadera se ejecuta
Acción1 de lo contrario se ejecuta Acción2

• La cláusula Else es opcional.


4
Clase 2
Ejemplo 1:
Ecuación Cuadrática
Desarrollar un algoritmo para resolver la ecuación cuadrática de la
forma:
AX2 + BX + C = 0

Cuáles son las etapas para el cálculo de las


raíces X1 y X2?

5
Clase 2
Solución de la Ecuación
Cuadrática
Para resolver la ecuación cuadrática de la forma:
AX2 + BX + C = 0

Se hace uso de la siguiente fórmula:

 B  B  4 AC
2
X 1, 2  , si A  0
2A
6
Clase 2
Etapas del proceso

DATOS DE PROCESAMIENTO
• Cálculos SALIDA
ENTRADA (resultados)
• Relaciones lógicas
• Decisiones

A, B, C X1, X2
B B 2  4 AC
X 1, 2  , A 0
2A

7
Clase 2
Algoritmo
Leer A, B, C Inicio

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
8
Clase 2
Fallas del Algoritmo
Qué pasa si…..
 A=0
 A=0yB=0
 B2 - 4AC < 0

Solución  Refinar el Algoritmo!!!!

9
Clase 2
Algoritmo Refinado
Leer A, B, C Inicio

SI SI Mostrar Mensaje:
A=0? B=0? “No hay Ecuación”
NO NO

D=B^2-4*A*C X1=-C/B Mostrar X1

1 Terminar
10
Clase 2
Algoritmo Refinado
1

SI =-B/(2*A)
D<0? =((-D)^(1/2))/(2*A)
NO

X1=(-B+D^(1/2))/(2*A) Mostrar:
X2=(-B-D^(1/2))/(2*A) “X1=” &  & “+” &  & “*i”
“X2=” &  & “-” &  & “*i”

Mostrar X1 y X2 Terminar
11
Clase 2
El esquema anterior representa el
proceso lógico (ALGORITMO)
necesario para obtener las raíces
X1 y X2 (solución de una Ecuación
Cuadrática).

12
Clase 2
Pasos para elaborar un
programa:
1. Entender el problema
2. Identificar las entradas y salidas (datos y
resultados)
3. Identificar las restricciones y relaciones
matemáticas
4. Establecer un algoritmo de solución.
Representar el algoritmo en un diagrama
(opcional) 13
Clase 2
Pasos para elaborar un
programa:
5. Implementar el algoritmo en un Lenguaje
de Programación (Programa)
6. Ejecutar el programa y depurar con base
en el análisis de los resultados

14
Clase 2
Ejemplo 2
 Dadas las longitudes de tres segmentos
de recta, determinar si es posible formar
un triángulo con ellos.
a
b
c

 En caso afirmativo calcular el área del


triángulo
15
Clase 2
Estrategia para la solución
c b

Cada lado del triángulo debe ser menor que


la suma de los otros dos lados:
• c < b+a
• b < c+a
• a < b+c
16
Clase 2
Estrategia para la solución
Si se cumplen las condiciones para formar
el triángulo, se puede usar la fórmula de
Herón de Alejandría para calcular el área
del triángulo, así:
abc
S
2
Área  S ( S  a)( S  b)( S  c)

17
Clase 2
Etapas del proceso
DATOS DE PROCESAMIENTO SALIDA
ENTRADA • Cálculos (resultados)
• Relaciones lógicas

a, b, c Verificar si: • Forman


• c < b+a triángulo y
• b < c+a Area
• a < b+c • No forman
triángulo 18
Clase 2
Algoritmo

1. Leer los valores de a, b, c


2. Verificar si c < b+a
3. Verificar si b < c+a
4. Verificar si a < b+c

19
Clase 2
Algoritmo
5. Si se cumplen las relaciones 2, 3 y 4
entonces los tres segmentos forman
triángulo y el área es:
abc
S
2
Área  S ( S  a)( S  b)( S  c)

6. Si no cumple alguna de las tres relaciones 2,


3 y 4 entonces no forman triángulo
20
Clase 2
Diagrama de Flujo
Leer a,b,c Inicio

a<b+c y SI Mostrar Mensaje:


b<a+c y “Forman triángulo”
c<a+b?
S=(a+b+c)/2
NO Area=(S*(S-a)*(S-b)*(S-c))^(1/2)

Mostrar Mensaje: Mostrar Area


“No forman triángulo”

Terminar 21
Clase 2
Etapas para elaborar el
proyecto en VB
 Construir la interfaz gráfica:
 Mecanismos de entrada de datos
Formularios,
 Botón para llevar a cabo el proceso controles y
propiedades
 Mecanismos para salida de resultados

 Programación en lenguaje VB

22
Clase 2
Interfaz de usuario en etapa
de construcción

23
Clase 2
Código del programa
Dim a As Integer, b As Integer, c As Integer
Dim mensaje As String, Area As Single, S As Single
a = Val(Text1.Text)
b = Val(Text2.Text)
c = Val(Text3.Text)
If (a < b + c And b < a + c And c < a + b) Then
mensaje = "Forman triángulo"
S=(a + b + c)/2
Area = ((S*(S-a)*(S-b)*(S-c))^(1/2)
Text5.Text = Area
Else
mensaje = "No forman triángulo"
End If
Text4.Text = mensaje
24
Clase 2
Programa en ejecución

25
Clase 2
Lenguaje de programación:

Visual Basic

26
Lenguajes de programación
 Visual Basic: VB
 C
 C++
 Java
 C#
 Muchos otros...
27
Clase 2
Elementos del lenguaje VB

Conjunto básico Variables,


Operadores
de caracteres constantes
Expresiones
(alfabeto) Tipos de datos

Estructura
Instrucciones Básica
If…End If

28
Clase 2
Conjunto básico de
caracteres: Alfabeto
 Dígitos del 0-9.
 Letras de la A-Z (mayúsculas y
minúsculas)
 Caracteres especiales, ejemplos:
()+-*^/\.,;:!”$’%&#@=<>_[]

29
Clase 2
Variables, constantes y
Tipos de datos
 Las variables son abstracciones para manejar
datos en un algoritmo.
 Las variables hacen referencia a “localizaciones

físicas” de memoria interna.


a c
 Toda variable posee: una

declaración, un nombre, un
5 10 2 b tipo de dato.
 Ejemplo:

Dim a As Integer
Memoria RAM 30
Clase 2
Declaración de variables
 Las variables se declaran (definen) con la
instrucción DIM Ejemplo: Dim B As Single
 La cláusula As define el tipo de datos.
 Tipos de datos, ejemplos:
 Integer: Entero simple
 Long: Entero largo
 Single: Real Simple
 Double: Real doble
 Boolean: Lógico
 String: Texto (alfanumérico)
31
Clase 2
Declaración de constantes
Una constante puede ser un número (entero,
real), un texto (String), un valor lógico
(boolean).
 Const N As Integer = 100
 Const Pi As Single = 3.141592
 Const Salir As Boolean = False
 Const Mensaje As String = “*ERROR*"

32
Clase 2
Operadores
 En VB existen diferentes tipos de
operadores:
 Operadores Aritméticos
 Operadores Relacionales
 Operadores Lógicos
 Operador de Concatenación
 Operador de Asignación

33
Clase 2
Operadores
 Los operadores ARITMÉTICOS son:
Negación - -2  -2
Suma + 5+2  7
Resta - 5-2  3
Multiplicación * 5*2  10
División Real / 5/2  2.5
División Entera \ 5\2  2
Exponenciación ^ 5^2  25
Módulo (residuo) Mod 5 Mod 2  1

34
Clase 2
Operadores
 Los operadores RELACIONALES son:
Mayor que > 5>2  true
Mayor o igual que >= 5>=2  true
Menor que < 5<2  false
Menor o igual que <= 5<=2  false
Igual que = 5=2  false
diferente de <> 5<>2  true

35
Clase 2
Operadores
 Los operadores LOGICOS son:
Negación lógica Not
Conjunción lógica (Y) And
Disyunción lógica (O) Or
Exclusión lógica Xor
Equivalencia lógica Eqv
Implicación lógica Imp

36
Clase 2
Operadores
 Resultado de los operadores LOGICOS
P Q Not P P And Q P Or Q P Xor Q P Eqv Q P Imp Q

V V F V V F V V

V F F F V V F F

F V V F V V F V

F F V F F F V V

37
Clase 2
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”
38
Clase 2
Operadores
 Operador de ASIGNACION (=):
Sintaxis:
Variable = Expresion
 Variable: Cualquier nombre de variable
 Expresion: Cualquier literal numérico o
alfanumérico, constante o expresión válida.
 Primero se evalúa Expresion y el resultado
se asigna a variable
39
Clase 2
Expresiones
 Una EXPRESIÓN es cualquier combinación válida
de operandos y operadores.
 Los operandos pueden ser literales (numéricos,
alfanuméricos, lógicos), constantes, variables,
funciones.
 Las expresiones pueden ser Aritméticas,
Relacionales, Lógicas, Alfanuméricas, etc
dependiendo de los operadores que se usan

40
Clase 2
Expresiones Aritméticas
 Una expresión aritmética es una expresión que
puede ser evaluada como un número
 Llamada también Expresiones numéricas
 Operandos:
Operandos Literales numéricos, Expresiones
numéricas, funciones numéricas
 Operadores:
Operadores Aritméticos
 Resultado:
Resultado Valor numérico
 Ejemplo:
Ejemplo Si A=2, entonces 5*A+2/A-3  8

41
Clase 2
Expresiones Relacionales
 Llamada también Expresión de comparación
 Operandos:
Operandos Expresiones numéricas ó
alfanuméricas
 Operadores:
Operadores relacionales
 Resultado:
Resultado Valor lógico (booleano)
 Ejemplo:
Ejemplo Si A=2, entonces 5*A > 3  True
 “ABC” <= “XYW”  True
 “10” > “5”  False
42
Clase 2
Expresiones Lógicas
 Operandos:
Operandos Expresiones relacionales ó lógicas
 Operadores:
Operadores lógicos
 Resultado:
Resultado Valor lógico (booleano)
 Ejemplo: Si A = 2
4*A > -1 And “X2” = “X” & A  True
True And False Or False  False

43
Clase 2
Tareas
 Consultar la jerarquía o prioridad de los
operadores
 Hacer un algoritmo que permita hallar cuál
es el mayor de tres valores numéricos
distintos a, b y c

44
Clase 2
Ejercicios propuestos

Realizar un algoritmo para:


 Encontrar el mayor de 10 valores numéricos

 Averiguar si un entero es par o impar

 Averiguar si un entero es divisible por otro

 Averiguar si un entero es múltiplo de su

última cifra

45
Clase 2

También podría gustarte