Instrucciones de control

Documentos relacionados
Laboratorio de Arquitectura de Redes. Sentencias de control en lenguaje C

Informática Ingeniería en Electrónica y Automática Industrial

Lección 3 Sentencias de control

Programación.Net Lenguaje C#

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

NOTA: Un algoritmo o programa de computadoras está estructurado si en su diseño se hace uso de los siguientes tres métodos o estructuras de control:

Práctica #4: Uso de control de flujo

Programación. Test Autoevaluación Tema 4

ESTRUCTURAS DE CONTROL

Operadores. Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++.

Estructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Sentencias de control de flujo

Estructuras de control selectivas

Tema 2. El lenguaje JAVA

5. Sentencias selectivas o condicionales

Estructura de datos y Programación

Tema 3. Estructuras de control

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

1.9. SENTENCIAS DE CONTROL DE PROGRAMA

Programación Orientada Objetos. Estructuras de control if, If else, switch

Introducción a C++ Algoritmos y Estructuras de datos II Dra. Carmen Mezura Godoy. Febrero 2009

Fundamentos de programación

Construcciones del Lenguaje Java

Java para programadores

Introducción a Java. Introducción a Java. Programación I

Programación 1 Tema 2. Lenguaje de programación y ejecución de un programa

Programación Orientada a Objetos

Bloque II. Elementos del lenguaje de programación Java

6. Sentencias repetitivas o bucles

Repaso Lenguaje C Área de Servicios Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

TEMA 4. ESTRUCTURAS DE CONTROL

1. Cuántas sentencias hay en la secuencia principal del siguiente programa?

Fundamentos PHP. El término puntuación nos referimos a la sintaxis usada en PHP para la terminación de una línea de código (;)

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Palabras reservadas de C++ y C. Una palabra reservada no puede declararse como un identificador, esto haría un conflicto entre conectores y funciones.

Es ambigua, ya que la división y la multiplicación tienen el mismo grado de precedencia, qué parte de la expresión se realiza primero?

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

FUNDAMENTOS PARA LA CONSTRUCCIÓN DEL CÓDIGO A PARTIR DEL ALGORITMO

Objetivos de la práctica: - Trabajar las estructuras de control repetitivas en la realización de programas.

ESTRUCTURAS DE CONTROL

Programación 1 Tema 5. Instrucciones simples y estructuradas

Capítulo 4. Control de flujo. Continuar

Ciclos. Recordando Estructuras de Control Básicas: SELECCIÓN (condición) SECUENCIAL

Introducción a Java 10/02/2011. Tokens. Juan Manuel Fernández Peña Curso Rev Tokens. Tokens

TEMA 4: Programación estructurada

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; }

Estructuras de Control

Programación 1 Tema 5. Instrucciones simples y estructuradas

Sintaxis de C Ing. Jose Maria Sola Dr. Oscar Ricardo Bruno

fundamentos de programación (unidad 4) programación estructurada en Java

Estructura de Selección y Repetición en C#

Microprocesadores. Introducción al Lenguaje C - Parte III. Prof. Luis Araujo. Universidad de Los Andes

Programación I Teoría I.

Tema 06: Estructuras y sentencias de control en C

3.3 Conceptos Básicos del Lenguaje Java

Introducción a la Programación IV. Estructuras de Control. Orden de ejecución. Transferencia de Control. Transferencia de Control II 12/3/10

Programación 1. Tema I. Conceptos y elementos básicos de Programación. Lección 2. Lenguaje de programación y ejecución de un programa

Curso Informática Lección 4. Instrucciones de control

Tema 15: Aserciones 0

Programación: Estructuras de Control

Tema: Estructuras de Selección en C#.

Java. Introducción a la Programación Orientada a Objetos

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

Lenguaje de Programación MSc. Daniel Alejandro Yucra Sotomayor

Estatutos de Control C# Estatutos de Decisión (Selección)

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.

Introducción general al Lenguaje C (2010/2011)

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

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Estructura de Datos Unidad 1: Repaso del Lenguaje Java

Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN

Tema: Estructuras de Repetición en C#.

Guía práctica de estudio 06: Estructuras de repetición

Estructuras de Repetición: Repita Mientras.

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

Programación Estructurada. Sesión 2:El lenguaje de programación C

Estructuras de Datos Declaraciones Tipos de Datos

Tema 2. El lenguaje de programación Java (Parte 1)

GUÍA DE LABORATORIO #3 ESTRUCTURAS ALGORÍTMICAS CONDICIONALES SIMPLES, DOBLES Y MÚLTIPLES

Transcripción:

Instrucciones de control Instrucciones de control de flujo C# ofrece un conjunto de sentencias similar al de C, C++ o Java. A continuación se estudian muy brevemente cada una de ellas. if if se utiliza para dirigir la ejecución del programa hacia dos caminos diferentes, dependiendo del valor de una expresión. Su estructura es la siguiente: if (expresión_booleana) //BloqueDeCodigoUno else //BloqueDeCodigoDos Si expresión_booleana es True entonces se ejecuta BloqueDeCodigoUno y si es False se ejecuta BloqueDeCodigoDos. No es necesario utilizar siempre la parte else y se puede omitir. Es la instrucción de control más utilizada y no se diferencia de la forma en que se utiliza en Java o C o C++. La única diferencia es que en C# sólo se puede evaluar una expresión booleana. En C# la sentencia siguiente no es válida. int unentero=7; if(unentero) //Codigo En C, se admite esta expresión porque lo que se evalúa es si unentero es cero o distinto de cero. Si el bloque a ejecutar consta de una sola instrucción, no es necesario utilizar las llaves, aunque se puede hacer. En general esto sucede con todas las instrucciones de control. Por ejemplo: if (a<=b) Console.WriteLine( a<=b ); //Sin llaves else Console.WriteLine( a>b ); Console.WriteLine( Esto está dentro del bucle else ); 1/8

Puede, por supuesto, utilizarse sentencias if anidadas. switch. La sentencia switch evalúa una expresión y dependiendo de su valor ejecuta un determinado bloque de código. Proporciona una manera sencilla de ejecutar diferentes partes de código en función del valor de una expresión. Su forma general es: switch (opcion) case valor1: sentencia11; sentencia12;... case valor2: sentencia21; sentencia22;... default: sentenciad1; sentenciad2;... switch funciona de la siguiente manera: el valor de la variable o expresión opcion se compara con cada uno de los valores literales de las sentencias case. Si coincide con alguno, se ejecuta su código asociado. Si ningún valor coincide con el valor de opcion, se ejecuta el código asociado a default. Esta instrucción es también muy parecida en Java, C y C++, pero con un par de diferencias significativas: - No puede omitirse el break correspondiente a cada sentencia case. Daría un error de compilación. Para operar como en C o C++ habría que trabajar con la sentencia goto. Se recomienda al lector que no la utilice. Siempre es posible programar las cosas de tal manera que se omita esta sentencia. - En C#, la sentencia switch permite evaluar int, string, char y enum. Esto proporciona una enorme flexibilidad a esta instrucción. Por ejemplo: void EjecutarMetodo(string comando) switch (comando.tolower()) case "run": DoRun(); case "save": DoSave(); case "quit": DoQuit(); 2/8

default: InvalidCommand(comando); while. Esta instrucción repite un bloque de código mientras una determinada expresión_booleana sea True. Si es False se salta a la instrucción inmediatamente posterior al bloque while. Las llaves no son necesarias si el bloque de código es una sola línea. En esta instrucción, puede no ejecutarse nunca el código del bloque porque expresión_booleana se evalúa antes de ejecutar el bloque y si es False se salta a la sentencia inmediatamente posterior al bloque. Su estructura es la siguiente: while (expresión_booleana) //Codigo class InstruccionWhile int n = 1; while (n < 6) Console.WriteLine("El valor actual de n es 0", n); n++; El bloque de código no se ejecuta si la expresión_booleana es False. La salida de este programa es: 1 2 3 4 5 do-while Esta sentencia es muy parecida a while, con la diferencia de que se evalúa la expresión_booleana después de haberse ejecutado el bloque de código asociado. Por lo tanto, el bloque de código se ejecuta siempre al menos una vez. 3/8

do //Codigo while (expresión_booleana) ; public class InstruccionDoWhile public static void Main () int x; int y = 0; do x = y++; Console.WriteLine(x); while(y < 5); for. Es una instrucción enormemente poderosa y versátil. La estructura general es: for ( inicializador opt ; condicion opt ; iterador opt ) //Codigo Si sólo tiene una instrucción, no es necesario utilizar las llaves para el bloque. Tanto inicializador opt, como condicion opt como iterador opt son opcionales. // Bucle for public class ClaseFor for (int i = 1; i <= 5; i++) Console.WriteLine(i); Al igual que las anteriores instrucciones de control, seguramente esta instrucción será suficientemente conocida por el lector y no se van a estudiar todas las particularidades de ella. 4/8

foreach. Esta sentencia es nueva pero extremadamente poderosa, flexible y sencilla de utilizar. Se utiliza para recorrer una estructura de datos como puede ser una lista, un array, etc. La sentencia foreach repite un bloque de sentencias para cada elemento de un array u objeto de tipo Collection. Se debe utilizar siempre para obtener un información, es decir, para leer. No debería ser usada para cambiar contenidos del objeto Collection porque puede tener resultados imprevisibles. Su estructura es: foreach (tipo identificador in expresion) //codigo donde: tipo Es el tipo del identificador. identificador Nombre de un iterador que identifica cada elemento del array u objeto Collection. expresion Objeto Collection o array. //codigo El bloque de código que será ejecutado. El código se ejecuta para cada elemento del array o colección. Después, el control pasa a la siguiente sentencia del bloque de código namespace PruebaNamespace class MiClase int[] miarray = new int[]30,62,44,55,76; int i=0; foreach(int elemento in miarray) Console.WriteLine("el lugar 0 tiene 1", i,elemento) ; i++; 5/8

el lugar 0 tiene 30 el lugar 1 tiene 62 el lugar 2 tiene 44 el lugar 3 tiene 55 el lugar 4 tiene 76 Se puede observar que sólo se han leído los elementos del array. Como antes se ha mencionado, pueden generarse errores en tiempo de ejecución si se modifican los elementos del array en el interior del bloque. Sentencias de salto. Las sentencias de salto son las siguientes: break continue goto return break. Su forma general es la siguiente: break ; Esta sentencia permite terminar una secuencia de sentencias, es decir, salir de un determinado bucle. Se utiliza en las sentencias switch. También se utiliza para salir de un bucle for, o while, etc. En general, esta sentencia provoca la salida inmediata del bucle. El control del programa pasa a la siguiente sentencia después del bucle. Por ejemplo: class UnaClase for (int i = 1; i <= 100; i++) if (i == 5) Console.WriteLine(i); Console.WriteLine( Esta sentencia se ejecuta fuera del bucle ); La salida de este programa es: 1 6/8

2 3 4 Esta sentencia se ejecuta fuera del bucle continue. Su forma general es la siguiente: continue ; Es una sentencia que se utiliza para dejar de procesar el resto del código de un bucle cuando, por ejemplo, se dé una determinada condición, pero sin salir del bucle. class ClaseContinue for (int i = 1; i <= 10; i++) if (i < 9) continue; Console.WriteLine(i); La salida de este programa es: 9 10 goto. La sentencia goto realiza un salto a la sentencia etiquetada con goto etiqueta; goto case expresion_constante ; goto default ; goto bilbao; //varias sentencias bilbao: otras_sentencias En el código anterior, al llegar a la sentencia goto bilbao, se salta hasta la etiqueta bilbao. La etiqueta se ignora, pero se comienza a ejecutar las sentencias posteriores a ella. 7/8

return. Su forma general es la siguiente: return expresion opt ; Se utiliza para volver de manera explícita desde un método. Se puede utilizar en cualquier parte de un método para que la ejecución salte y vuelva al punto en que ha sido llamado el método. Provoca que el método finalice inmediatamente. Habitualmente se utiliza expresion opt para devolver un valor al punto de llamada del método. En C# un método puede devolver un valor u objeto de cualquier tipo. namespace PruebaNamespace class Circunferencia public double radio; public const double PI=3.14; public Circunferencia(double radio) this.radio=radio; public double CalcularArea() return PI*radio*radio; Circunferencia c=new Circunferencia(2.2); double area=c.calculararea(); Console.WriteLine("Para radio 0 el area es 1", c.radio,area); La salida de este programa es: Para radio 2.2 el area es 15.1976 8/8