Story Transcript
FUNDAMENTOS DE INFORMÁTICA Tema 2 Expresiones, operadores y estructuras de control Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo
Fundamentos de Informática. Departamento de Ingeniería de Sistemas y Automática.
Actualización Septiembre 2005
1
Expresiones, operadores y estructuras de control
Operadores TIPO Aritméticos
OPERACIÓN Exponenciación Cambio de signo Multiplicación División División entera Resto de división entera Suma Resta De comparación Igual Distinto Menor Mayor Comparar dos cadena de caracteres De concatenación Enlazar cadenas Lógicos Negación And Or inclusiva (Or) Or exclusiva (Xor) Equivalencia (opuesto a Xor) Implicación Fundamentos de Informática. Departamento de Ingeniería de Sistemas y Automática.
OPERADOR ^ * / \ mod + = < > like & not and or xor eqv imp Actualización Septiembre 2005
2
1
Expresiones, operadores y estructuras de control
Operadores ¬ Los operadores aritméticos son utilizados para realizar cálculos matemáticos. media = (numero1 + numero2) / 2
¬ Los operadores de comparación comparan dos expresiones dando como resultado True o False. 45 < 35 ' Devuelve False 45 = 45 ' Devuelve True 45 35 ' Devuelve True
¬ Los operadores lógicos realizan las operaciones clásicas del álgebra de Boole entre operandos de tipo binario (True o False). A = 10: B = 8: C = 6: ' Inicializa variables A > B And B > C ' Devuelve True B > A Or C > B ' Devuelve False Fundamentos de Informática. Departamento de Ingeniería de Sistemas y Automática.
Actualización Septiembre 2005
3
Expresiones, operadores y estructuras de control
Sentencias ¬ Una sentencia en Visual Basic es una línea de texto que indica las operaciones a realizar. Total = cantidad * precio
¬ La sentencia más común es la de asignación. Su forma general es: variable = expresión variable toma el valor de expresión
Fundamentos de Informática. Departamento de Ingeniería de Sistemas y Automática.
Actualización Septiembre 2005
4
2
Expresiones, operadores y estructuras de control
Sentencias de asignación ¬ La sentencia de asignación indica que el valor que resulte de evaluar la expresión tiene que ser almacenado en la variable especificada. ' Declaración de variables Dim Cont As Integer Dim Intereses As Double, Capital As Double Dim TantoPorCiento As Single Dim Mensaje As String '... ' Ejemplos de sentencias de asignación Cont = Cont + 1 Intereses = Capital * TantoPorCiento / 100 Mensaje = “Los intereses son ” & Intereses & “€uros”
Fundamentos de Informática. Departamento de Ingeniería de Sistemas y Automática.
Actualización Septiembre 2005
5
Expresiones, operadores y estructuras de control
Ejemplo declaraciones y asignaciones Dim pvp As Double, costetotal As Double Const margen
As Integer = 20
Dim factor As Double Dim costemanodeobra As Double, costematerial As Double Dim costeingenieria As Double costemanodeobra = 2568.09 costematerial = 23444 costeingenieria = 120000 costetotal = costemanodeobra + costematerial + costeingenieria factor = 1 + (margen / 100) pvp = costetotal * factor Fundamentos de Informática. Departamento de Ingeniería de Sistemas y Automática.
Actualización Septiembre 2005
6
3
Expresiones, operadores y estructuras de control
Instrucciones de control ¬ Las instrucciones de control permiten tomar decisiones y realizar un proceso repetidas veces. Visual Basic dispone de las siguientes instrucciones de control: • • • • • • •
If ... Then If ... Then ... Else Select Case For ... Next While ... Wend Do ... Loop With ... End With
SINTAXIS: Cualquier expresión entre corchetes -[]- es opcional. De las expresiones entre llaves -{}- se puede elegir una, la necesaria según el caso. Fundamentos de Informática. Departamento de Ingeniería de Sistemas y Automática.
Actualización Septiembre 2005
7
Expresiones, operadores y estructuras de control
Instrucción “if “if”” ¬ Permite tomar una decisión de la acción a ejecutar en un proceso basándose en el resultado booleano (verdadero o falso) de una condición. Su sintaxis es: If condición Then acción1 [Else acción2] end if ¬ condición debe ser una expresión numérica, relacional o lógica (el resultado que se obtiene al evaluar la condición es True o False). ¬ acción1 y acción2 son una o más sentencias. ¬ Si la condición es verdadera, se ejecuta la acción1 y si es falsa se ejecuta la acción2, en el caso de que sea especificada. Fundamentos de Informática. Departamento de Ingeniería de Sistemas y Automática.
Actualización Septiembre 2005
8
4
Expresiones, operadores y estructuras de control
Ejemplos de instrucción “if “if”” If x Then b = a / x end if .... If a < b Then a = a + 1 end if .... If a > b And b > c Then Print a end if ....
If a = b *5 Then x = 4 a = a + x Else b = 0 end if .... If a > b Then msgbox “a es mayor que b” Else msgbox “b es mayor o igual que a” end if ....
Fundamentos de Informática. Departamento de Ingeniería de Sistemas y Automática.
Actualización Septiembre 2005
9
Expresiones, operadores y estructuras de control
Ejemplos de instrucciones “if “if”” anidadas Dim pvp As Double, coste As Double,factor As Double Const margenalto As Integer = 20 Const margenbajo As Integer = 15 coste = InputBox("Introduzca coste") factor = 1 + (margenalto / 100) pvp = coste * factor If pvp < 20000 Then factor = 1 + (margenbajo / 100) Else If pvp >= 20000 And pvp < 30000 Then factor = 1 + (margenbajo / 100) - 0.03 Else factor = 1.1 End If End If pvp = coste * factor Fundamentos de Informática. Departamento de Ingeniería de Sistemas y Automática.
Actualización Septiembre 2005
10
5
Expresiones, operadores y estructuras de control
Instrucción “select “select”” ¬ La instrucción Select permite ejecutar una de varias acciones en función del valor de una expresión. ¬ Es una alternativa a la sentencia If cuando lo que se necesita es comparar la misma expresión con diferentes valores. ¬ Su sintaxis es: Select Case expresión Case lista-1 [sentencias-1] [Case lista-2 [sentencias-2]] ... [Case Else [sentencias-n]] End Select Fundamentos de Informática. Departamento de Ingeniería de Sistemas y Automática.
Actualización Septiembre 2005
11
Expresiones, operadores y estructuras de control
Instrucción “select “select”” ¬ expresión puede ser numérica o alfanumérica. ¬ lista-1, lista-2 pueden tener cualquiera de las formas siguientes: •
expresión [, expresión] ...
•
expresión To expresión
•
Is operador-de-relacion expresión
¬ o una combinación de las anteriores separadas por comas. ¬ Por ejemplo: Case Case Case Case Case
3 3, 4, 5 3 To 5 Is < x Is >= 10, 5 To 8, 2
Fundamentos de Informática. Departamento de Ingeniería de Sistemas y Automática.
Actualización Septiembre 2005
12
6
Expresiones, operadores y estructuras de control
Instrucción “select “select”” ¬ Ejemplo de instrucción Select : numero = InputBox("Introducir valor") Select Case numero Case 1 MsgBox("Has introducido un 1") Case 2, 3 MsgBox("Has introducido un 2 o un 3") Case 4 To 9 MsgBox("Has introducido un número entre 4 y 9") Case Else MsgBox("Has introducido un valor inferior a 1 o superior a 9") End Select
Fundamentos de Informática. Departamento de Ingeniería de Sistemas y Automática.
Actualización Septiembre 2005
13
Expresiones, operadores y estructuras de control
Ejemplos de instrucción “select “select”” curso = InputBox("Introduce número de curso") Select Case curso Case 1, 2, 3 estudios = "Primer Ciclo" Case 4, 5 estudios = "Segundo Ciclo" Case Else estudios = "Tercer Ciclo" End Select MsgBox estudios
Fundamentos de Informática. Departamento de Ingeniería de Sistemas y Automática.
Actualización Septiembre 2005
14
7
Expresiones, operadores y estructuras de control
Instrucción “for “for ... next” next” ¬ La instrucción For da lugar a un bucle, y permite ejecutar un conjunto de sentencias cierto número de veces. ¬ Su sintaxis es: For contador = principio To fin [Step incremento] [sentencias] [Exit For] [sentencias] Next [contador]
¬ La instrucción Exit For permite salir del bucle For ... Next antes de que éste finalice normalmente.
Fundamentos de Informática. Departamento de Ingeniería de Sistemas y Automática.
Actualización Septiembre 2005
15
Expresiones, operadores y estructuras de control
Funcionamiento de la instrucción For ¬ El incremento puede ser positivo o negativo. El valor del argumento incremento determina la manera en que se procesa el bucle, como se muestra a continuación: Valor
El bucle se ejecuta si
Positivo o 0
contador = fin
¬ Una vez que se inicia el bucle y se han ejecutado todas las instrucciones en el bucle, incremento se suma a contador. En este punto, las instrucciones del bucle se pueden ejecutar de nuevo (si se cumple la misma prueba que causó que el bucle se ejecutara inicialmente) o bien se sale del bucle y la ejecución continúa con la instrucción que sigue a la instrucción Next. Fundamentos de Informática. Departamento de Ingeniería de Sistemas y Automática.
Actualización Septiembre 2005
16
8
Expresiones, operadores y estructuras de control
Sugerencias sobre de la instrucción For ¬ Se debe de evitar la sentencia Exit For . Hace difícil su lectura y depuración. ¬ No se aconseja cambiar el valor de contador mientras se está dentro de un bucle. Hace difícil su lectura y depuración. ¬ Es totalmente aconsejable indicar el contador en la instrucción Next [contador].
Fundamentos de Informática. Departamento de Ingeniería de Sistemas y Automática.
Actualización Septiembre 2005
17
Expresiones, operadores y estructuras de control
Ejemplos de la instrucción For ¬ Suma de números impares entre 1 y 9: Dim i As Integer, suma As Integer For i = 1 To 9 Step 2 suma = suma + i Next i
¬ Suma de números impares entre 1 y 9 : Dim i As Integer, Suma As Integer For i = 9 To 1 Step-2 suma = suma + i Next i
Fundamentos de Informática. Departamento de Ingeniería de Sistemas y Automática.
Actualización Septiembre 2005
18
9
Expresiones, operadores y estructuras de control
Bucles anidados ¬ Un bucle For ... Next puede colocarse dentro de otro bucle For ... Next. Se dice entonces que están anidados. ¬ En este caso, cada bucle debe tener un contador diferente y la sentencia Next para el bucle interior debe aparecer antes que la del bucle exterior. For contador1 = principio1 To fin1 For contador2 = principio2 To fin2 [sentencias] Next contador2 Next contador1
Fundamentos de Informática. Departamento de Ingeniería de Sistemas y Automática.
Actualización Septiembre 2005
19
Expresiones, operadores y estructuras de control
Ejemplos de instrucción For Dim suma As Integer Dim fila As Integer, columna As Integer suma = 0 For fila = 1 To 10 For columna = 1 To 5 suma = suma + 1 Next columna Next fila
Fundamentos de Informática. Departamento de Ingeniería de Sistemas y Automática.
Actualización Septiembre 2005
20
10
Expresiones, operadores y estructuras de control
Instrucción “while “while ... wend” wend” ¬ Una instrucción While da lugar a un bucle que repite la ejecución de un conjunto de sentencias especificado mientras una determinada condición sea cierta. ¬ La condición se verifica antes de ejecutar el conjunto de sentencias. ¬ Su sintaxis es: While condición [sentencias] Wend
¬ donde condición es cualquier expresión de tipo numérico, relacional o lógico. Fundamentos de Informática. Departamento de Ingeniería de Sistemas y Automática.
Actualización Septiembre 2005
21
Expresiones, operadores y estructuras de control
Funcionamiento de la instrucción While...Wend ¬ La ejecución de un bucle While funciona del siguiente modo: 1. Se evalúa la condición. 2. Si el resultado de la evaluación es Falso, las sentencias que forman el cuerpo de While no se ejecutan y se pasa el control a la sentencia que sigue a Wend. 3. Si el resultado de la evaluación es Verdadero, se ejecutan las sentencias que forman el cuerpo de While y el proceso descrito se repite desde el punto 1.
Fundamentos de Informática. Departamento de Ingeniería de Sistemas y Automática.
Actualización Septiembre 2005
22
11
Expresiones, operadores y estructuras de control
Ejemplos de la sentencia While...Wend ¬ Suma de números impares entre 1 y 9: Dim i As Integer, suma As Integer i = 1 While i 12 n = InputBox("Número incorrecto.Introduce un número entre 1 y 12 ambos incluidos") Wend Fundamentos de Informática. Departamento de Ingeniería de Sistemas y Automática.
Actualización Septiembre 2005
23
Expresiones, operadores y estructuras de control
Ejemplos de la instrucción While...Wend ¬ Los bucles While...Wend también pueden anidarse a cualquier nivel: cada Wend se emparejará con el While más reciente. Dim n As Integer, respuesta As String respuesta = "s" While respuesta = "s" Or respuesta = "S" n = InputBox("Introduce un número entre 1 y 12 ambos incluidos") While n < 1 Or n > 12 n = InputBox("Número incorrecto.Introduce un número entre 1 y 12 ambos incluidos") Wend respuesta = InputBox("¿Deseas continuar. (S/N)?") Wend
Fundamentos de Informática. Departamento de Ingeniería de Sistemas y Automática.
Actualización Septiembre 2005
24
12
FUNDAMENTOS DE INFORMÁTICA Tema 2 Expresiones, operadores y estructuras de control Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo
Fundamentos de Informática. Departamento de Ingeniería de Sistemas y Automática.
Actualización Septiembre 2005
25
13