2. Estructuras condicionales

Documentos relacionados
3. Estructuras iterativas. 1.2 Análisis: For. 1.1 Problemas iterativos. Fundamentos de Informática Dpto. Lenguajes y Sistemas Informáticos

Motivación. 4: Control de flujo Condicionales. Motivación. Condicionales

3. Estructuras iterativas

5. Subprogramas Fundamentos de Informática

FUNDAMENTOS DE INFORMÁTICA

5. Subprogramas. 1.1 Análisis Coseno. 1. Cálculo de la función Coseno. cos( x) = ( 1) (2)! i

1. Introducción a la programación. Ej01: Diagrama de Flujo

Curso de Java Introducción a la Programación III

Programación en Mathematica

Programa de demostración del uso de funciones

6. Vectores Fundamentos de Informática

Estructuras de Control. Secuencia y Selección

Informática. Prof. María Alejandra Quintero

Donde Condicion es una expresión booleana, es decir, que puede tomar el valor verdadero (true) o falso (false).

Escuela Normal Superior N 40 Mariano Moreno. Cuadernillo Propedéutico 2017 Nivel Superior

6. Vectores. 1. Introducción. 2. Declaración (I) Fundamentos de Informática Dpto. Lenguajes y Sistemas Informáticos.

FUNDAMENTOS DE INFORMÁTICA

Informática. Macros en Excel con VBA. Miguel Ángel Martínez del Amor Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla

Programcaión Básica. Secuencias de Control y Repetición. Arturo Vega González.

Estructuras de Control. Secuencia y Selección

Operaciones aritméticas

Tema 3.- Predicados y sentencias condicionales

Fundamentos de Programación

Programación MATLAB: Programas y Funciones.

Programación MATLAB: Programas y Funciones.

Programación Estructurada

Fundamentos de Informática Laboratorio 1 Primer programa Visual Basic

MODULO II PROGRAMACIÓN ORIENTADA A EVENTOS

Introducción a C# y la plataforma.net

GENERACIÓN DE CÓDIGO ORIENTADO A OBJETOS

Fundamentos de programación clase 3: Booleanos, condiciones y expresiones condicionales

Operadores aritméticos

Sentencias o instrucciones en Visual BASIC

Introducción a la Programación

En esta sección se describen las variables, constantes, tipos de datos, operadores y estructuras de control

Sentencias DO-WHILE EN C++

Repaso Visual Basic Interfaz Gráfica

Fundamentos de Informática

Variables lógicas y sentencia IF. Seminario de Computación Verano de 2009

De cero a experto en 130 horas!

CONTENIDO. Capítulo 1. Capítulo 3. Capítulo 2. Contenido

Seminario de Actualización - Excel Avanzado y Macros. Visual Basic. Conceptos Básicos de Visual Basic para Aplicaciones

Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales.

Tema: Estructuras de Selección en C#.

PHP: Lenguaje de programación

GUIA EXAMEN FINAL/EXTRAORDINARIO

GLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo:

Informática. JavaScript: Lenguaje de programación. Fco J. Martín Mateos Carmen Graciani

Instrucciones Si... Entonces y Si... Entonces SiNo (if then else) en pseudocódigo (CU00142A)

Curso Completo de Visual Basic 6.0

Tema 4. Diseño de Algoritmos. Estructuras de selección 1. Tema 4. Diseño de Algoritmos. Estructuras de selección

Bloque II. Elementos del lenguaje de programación Java

INFORMATICA VISUAL BASIC 2008

ICM Fundamentos de Computación

Tablas de Verdad L Ó G I C A P R O P O S I C I O N A L

Índice general. Capítulo 1 Conceptos básicos. Capítulo 2 Controles básicos I. Pág. N. 1

CONTENIDOS MATEMÁTICA 1ER. AÑO BI Y 1ER AÑO BE

Tema 4. Control de flujo. Programación Programación - Tema 4: Control de Flujo

n de un Diagrama de Flujo

III. Generación de Código orientado a objetos

Programa de resolución de ecuaciones de primero y segundo grado

Introducción a la Programación en Visual Basic y su aplicación en Excel. M.I. Jaime Alfonso Reyes Cortés

4. Operadores Operador asignación

ELEMENTOS BÁSICOS PARA LA PROGRAMACIÓN DE FUNCIONES TIPOS DE DATOS. Constantes

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Estructuras de Control

Unidad I: Introducción a Visual Basic

Programa de saludo 2 (resuelto)

VB - Access Manual Visual Basic para Aplicaciones del Access 2000

GUÍA BÁSICA DE SCHEME v.4

Programa de resolución de ecuaciones de primero y segundo grado

Estructuras de Control Selección o Decisión

Tipos De Datos. Numéricos. Alfanuméricos (string) Arreglos (Vectores, Matrices) Estructurados Registros (Def. Por el Archivos Usuario) Apuntadores

ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.

GUÍA DE TRABAJO N 1 C# Ing. Néstor Raúl Suarez Perpiñan Página 1 de 13

Introducción a la Informática Estructuras de control. Secuencial y selectiva

Transcripción:

2. Estructuras condicionales Fundamentos de Informática Dpto. Lenguajes y Sistemas Informáticos Curso 2012 / 2013

Índice Estructuras condicionales 1. Ej07: Cond. simple 2. Ej08: Cond. doble 3. Ej09: Cond. anidada 4. Ej10: Cond. cascada 5. Recomendaciones 6. Resumen 7. Operadores relacionales 8. Operadores booleas o lógicos 2

Ej07: Cond. simple Ejemplo 07 Título: Condicional simple Nombre cmd07_click Descripción Leer una variable entera, calcular su valor absoluto (en la misma variable) y mostrar el resultado Observaciones Condicional simple 3

Conditionals Ej07: Diagrama de Flujo Ej07: Cond. simple cmd07_click n: entero n LeeEntero n < 0 Condicional simple n - n Escribe n Fin 4

Ej07: Codificación VB Conditionals Ej07: Cond. simple cmd07_click n: entero n LeeEntero Sub cmd07_click() Dim s As String Dim n As Integer n < 0 n - n s = InputBox ("Introduce número") n = CInt (s) If n < 0 Then n = -n MsgBox "Valor absoluto: " & CStr (n) End Sub Escribe n Fin 5

Ej08: Cond. doble 2. Ejemplo 08 Título: Condicional doble Nombre cmd08_click Descripción Leer una variable entera, calcular su valor absoluto en otra variable, y mostrar el resultado Observaciones Condicional doble 6

Ej08: Diagrama de Flujo Ej08: Cond. doble cmd08_click n, a: entero n LeeEntero n < 0 Condicional doble a n a - n Escribe n, a Fin 7

Ej08: Codificación VB Sub cmd08_click() Dim s As String Dim n As Integer Dim a As Integer Condicionales cmd08_click n LeeEntero n < 0 Ej08: Cond. doble s = InputBox ("Número:") a n a - n n = CInt (s) If n < 0 Then a = -n Escribe n, a Else a = n Fin MsgBox "Valor absoluto de " & CStr (n) & _ " es " & CStr (a) End Sub n, a: entero 8

Ej09: Cond. anidada 3. Ejemplo 09 Título: Condicional anidada Nombre cmd09_click Descripción Leer tres variables enteras, calcular cuál es la mayor de ellas y mostrar el resultado Observaciones Condicional anidada (condicional dentro de una condicional) 9

Ej09: Diagrama de Flujo Ej09: Cond. anidada Condicional anidada n2 > n3 cmd09_click n1 LeeEntero n2 LeeEntero n3 LeeEntero n1 > n2 n1, n2, n3: entero m: entero n1 > n3 Condicional anidada m n3 m n2 m n3 m n1 Escribe n1, n2, n3, m Fin 10

Ej09: Codificación VB (I) Ej09: Cond. anidada Sub cmd09_click() Dim s As String Dim n1 As Integer, n2 As Integer, n3 As Integer Dim m As Integer s = InputBox ("Introduce primer número: ") n1 = CInt (s) s = InputBox ("Introduce segundo número: ") n2 = CInt (s) s = InputBox ("Introduce tercer número: ") n3 = CInt (s) MsgBox "El mayor de " & CStr (n1) & ", " & _ CStr (n2) & " y " & CStr (n3) & _ " es: " & CStr (m) End Sub 11

Ej09: Codificación VB (II) Ej09: Cond. anidada n3 = CInt (S) If n1 > n2 Then If n1 > n3 Then m = n1 Else m = n3 Else If n2 > n3 Then m = n2 Else m = n3 MsgBox "El mayor de " & CStr (n1) & ", " & _ 12

Ej10: Cond. cascada 4. Ejemplo 10 Título: Condicional en cascada Nombre cmd10_click Descripción (Mismo problema que el ejemplo anterior) Leer tres variables enteras, calcular cuál es la mayor de ellas y mostrar el resultado Variante distinta de la solución Observaciones Condicional en cascada Tras la alternativa Else inmediatamente viene una nueva condición, convirtiendose en ElseIf 13

Ej10: Diagrama de Flujo Ej10: Cond. cascada cmd10_click n1, n2, n3: entero m: entero n1 LeeEntero n2 LeeEntero n3 LeeEntero n2 > n3 n1 > n2 n1 > n3 m n3 m n2 m n1 Escribe n1, n2, n3, m Único punto de fin Fin 14

Ej10: Codificación VB (I) Ej10: Cond. cascada Sub cmd10_click() Dim s As String Dim n1 As Integer, n2 As Integer, n3 As Integer Dim m As Integer s = InputBox "Introduce primer número: " n1 = CInt (s) s = InputBox "Introduce segundo número: " n2 = CInt (s) s = InputBox "Introduce tercer número: " n3 = CInt (s) MsgBox "El mayor de " & CStr (n1) & ", " & _ CStr (n2) & " y " & CStr (n3) & _ " es: " & CStr (m) End Sub 15

Ej10: Versión anidada (II) Ej10: Cond. cascada n3 = CInt (S) If n1 > n2 And n1 > n3 Then m = n1 Else If n2 > n3 Then m = n2 Else m = n3 Dos puntos de fin MsgBox "El mayor de " & CStr (n1) & ", " & _ 16

Ej10: Versión en cascada (III) Ej10: Cond. cascada n3 = CInt (S) If n1 > n2 And n1 > n3 Then m = n1 ElseIf n2 > n3 Then m = n2 Else Único punto de fin m = n3 MsgBox "El mayor de " & CStr (n1) & ", " & _ 17

5. Recomendaciones (I) 5. Recomendaciones El cuerpo de las instrucciones condicionales rmalmente irá sangrado dos espacios en cada anidamiento, a añadir al cuerpo del subprograma Es por legibilidad, ya que Visual Basic lo entenderá de igual manera Ejemplo: Sub ejemplo ()... If a > b Then t = a a = b b = t End Sub 18

5. Recomendaciones (II) 5. Recomendaciones Para facilitar la programación es conveniente identificar conjuntos disjuntos y la condición que las distingue Es mejor volver a verificar condiciones excluidas Ejemplo: If ta < 5 Then cal = "suspenso" ElseIf ta < 7 Then cal = "aprobado" ElseIf ta < 9 Then cal = "table" Else cal = "sobresaliente" No volvemos a mirar si es mayor o igual a 5 19

5. Recomendaciones (III) 5. Recomendaciones Cuando hay dos condiciones a las que queremos asociar la misma acción se agruparán en una sola c1 A1 c2 c1 c2 A1... A1... 20

5. Recomendaciones (IV) 5. Recomendaciones Cuando han de cumplirse dos condiciones simultaneas pondremos dos instrucciones condicionales si una sola con la conjunción de las condiciones c1 c2 c1 c2 A1 A1 21

6. Resumen (I) Condicionales 6. Resumen Condicional simple If condición Then... condición...... condición Condicional doble If condición Then... Else... condición...... condición...... 22

6. Resumen (II) Condicionales 6. Resumen Condicional anidada If condición Then... Else If condición Then... Else... Condicional en cascada If condición Then... ElseIf condición Then... Else... condición condición......... condición condición......... 23

6. Resumen (III) Condicionales 6. Resumen Condicional simple incorrecta If condición Then Else... Negar la condición y OK condición...... condición Representaciones incorrectas (confusión con bucles) condición condición............ 24

7. Relacionales 7. Operadores relacionales Comparan valores y tienen resultado lógico True ó False Los operadores relacionales son 6 DdF VB Descripción > > Mayor >= Mayor o igual = = Igual <> Distinto < < Mer <= Mer o igual Hay que tener cuidado porque se pueden formar expresiones matemáticas de acotamiento 25

7. Booleanas 7. Operaciones booleanas o lógicas Relacionan expresiones lógicas El resultado es de tipo lógico (Boolean): True ó False Los operandos lógicos son 4: DdF VB Descripción Not Negación, And Conjunción, y Or Disyunción, o Xor Disyunción exclusiva, o exclusiva 26

7. Booleanas Operadores booleas o lógicos El resultado se expresa mediante tablas de verdad DdF VB Descripción Not Cambia de cierto a falso y viceversa And Cierto sólo si ambos operandos son ciertos Or Cierto si algún operando o ambos son ciertos Xor Cierto si los operandos son distintos Negación Conjunción Disyunción Disyunción exclusiva a a b a b a b a b Not a a And b a Or b a Xor b Falso Falso Cierto Falso Falso Falso Falso Cierto Cierto Falso Cierto Cierto Cierto Falso Falso Falso Cierto Cierto Cierto Cierto Falso Cierto Cierto Falso 27

7. Booleanas Leyes de De Morgan (Augustus De Morgan 1806-1871) La negación de la disyunción es equivalente a la conjunción de la negaciones (cambia por ) (a b) a b Not (a Or b) Not a And Not b Ejemplo: DdF: (a > 0 b > 0) a 0 b 0 VB: Not (a>0 And b>0) a<=0 Or b<=0 La negación de la conjunción es equivalente a la disyunción de las negaciones (cambia por ) (a b) a b Not (a And b) Not a Or Not b Ejemplo: DdF: (a 0 b > 0) a < 0 b 0 VB: Not (a >= 0 And b > 0) a < 0 Or b <= 0 28