Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Semana 2: Fundamentos de Dart (ii) Facultad de Ingeniería de Sistema e Informática LENGUAJE DE PROGRAMACIÓN V Ing. Angel Marthans Ruiz, Mg. Objetivos: Al finalizar, el alumno logrará: Conocer las estructuras para control de flujo. Conocer las estructuras para bucles Implementar funciones 2 Temas: Control de Flujo Loops (Bucles) Funciones 3 Control de Flujo 4 Cuando se escribe un programa informático, es necesario poder decirle al ordenador lo que debe hacer en diferentes situaciones. Por ejemplo, una aplicación de calculadora realiza una acción si el usuario pulsa el botón de suma y otra si pulsa el botón de resta. En términos de programación informática, este concepto se conoce como control de flujo, porque puedes controlar el flujo de decisiones que toma el código en múltiples puntos. Control de Flujo 5 Valores Booleanos Un valor booleano puede tener uno de dos estados. Mientras que en general, se podría referir a los estados como sí y no, encendido y apagado, o 1 y 0, la mayoría de los lenguajes de programación, Dart incluido, los llaman verdadero y falso. La palabra booleana debe su nombre a George Boole, pionero de todo un campo de las matemáticas en torno al concepto de verdadero y falso. Dado que los propios ordenadores se basan en circuitos eléctricos que pueden estar en un estado binario de encendido o apagado, las matemáticas booleanas son fundamentales para la informática. Cuando se programa en un lenguaje de alto nivel como Dart, no es necesario entender toda la lógica booleana que está sucediendo a nivel de circuito, pero todavía hay mucho acerca de las matemáticas booleanas que puede aplicar a la toma de decisiones en su propio código. Control de Flujo 6 La sentencia IF La primera y más común forma de controlar el flujo de un programa es mediante el uso de una sentencia if, que permite al programa hacer algo sólo si cierta condición es verdadera. Por ejemplo, considere lo siguiente: Control de Flujo 7 La cláusula ELSE Puede ampliar una sentencia if para proporcionar código que se ejecute en caso de que la condición resulte ser falsa. Esto se conoce como cláusula else. Control de Flujo 8 Cadenas Else-If Puede ir aún más lejos con las sentencias if. A veces querrá comprobar una condición y luego comprobar otra condición si la primera no es verdadera. Aquí es donde entra en juego else-if anidando otra sentencia if en la cláusula else de una sentencia if anterior. Se puede utilizar de esta manera: Control de Flujo 9 Ámbito de las variables Las sentencias if introducen un nuevo concepto denominado ámbito. El ámbito es la medida en que una variable puede ser vista a través de su código. Dart usa llaves {} como marcadores de límite para determinar el ámbito de una variable. Si define una variable dentro de un par de llaves no se le permite usar esa variable fuera de esas llaves. Control de Flujo 1 0 Operador Ternario Has trabajado con operadores que tienen dos operandos. Por ejemplo, en (miEdad > 16) , los dos operandos son miEdad y 16 . Pero también hay un operador que toma tres operandos: el operador condicional ternario. Está relacionado con las sentencias if. Control de Flujo 1 1 Sentencia SWITCH Una forma alternativa de manejar el flujo de control, especialmente para condiciones múltiples, es con una sentencia switch. La sentencia switch tiene la siguiente forma: Control de Flujo 1 2 Control de Flujo 1 3 Tipos Enumerados Los tipos enumerados, también conocidos como enums, funcionan especialmente bien con las sentencias switch. Puede utilizarlos para definir su propio tipo con un número finito de opciones. Se debe crear el enum por fuera del a función main() Bucles 1 4 En lugar de ejecutar un conjunto de instrucciones una sola vez, a menudo resulta útil repetir tareas. La programación informática está tan llena de acciones repetitivas como tu vida. La forma en que puede realizar estas acciones es mediante el uso de bucles. Dart, como muchos lenguajes de programación, tiene bucles while y bucles for. Bucle While Bucle Do - While Bucles 1 5 Comparando While y Do - While Bucles 1 6 Interrumpir un bucle Bucles 1 7 Bucle For La palabra clave CONTINUE Funciones 1 8 Una función es una pequeña tarea, o a veces una colección de varias tareas relacionadas, que puedes utilizar junto con otras funciones para realizar una tarea mayor. Las funciones son como máquinas. Toman algo que les proporcionas, la entrada, y producen algo diferente, la salida. Funciones 1 9 DRY – Don’t Repeat Yourself Suponga que tiene un pequeño trozo de código útil que ha repetido en varios lugares a lo largo de su programa: Ahora, ese código funciona bastante bien, pero repetir ese código en múltiples lugares presenta al menos dos problemas. El primer problema es que estás duplicando esfuerzos al tener este código en múltiples lugares de tu programa. El segundo y más preocupante problema es que si necesitas cambiar la lógica en ese trozo de código más adelante, tendrás que rastrear todas esas instancias del código y cambiarlas de la misma manera. Es probable que cometas un error en alguna parte, o incluso que se te pase cambiar una de las instancias porque no la viste. Funciones 2 0 Con el tiempo, este problema ha dado lugar a un buen consejo para escribir código limpio: no te repitas, abreviado como DRY. Este término se acuñó originalmente en el libro The Pragmatic Programmer (El programador pragmático), de Andrew Hunt y David Thomas. Escribir código DRY evitará que muchos errores se cuelen en tus programas. Las funciones son una de las principales soluciones al problema de duplicación del ejemplo anterior. En lugar de repetir bloques de código en varios lugares, puede simplemente empaquetar ese código en una función y llamar a esa función desde donde sea necesario. Funciones 2 1 Anatomía de una función en Dart En Dart, una función consta de un tipo de retorno, un nombre, una lista de parámetros entre paréntesis y un cuerpo encerrado entre llaves. Funciones 2 2 Funciones 2 3 Parámetros Usando múltiples parámetros Usando parámetros opcionales Funciones 2 4 Estableciendo valores por defecto Estableciendo parámetros con nombre Funciones 2 5 Estableciendo parámetros con nombre requeridos Funciones 2 6 Hacer una sola cosa Los partidarios del "código limpio" recomiendan que las funciones sean pequeñas y lógicamente coherentes. Pequeñas significa sólo un puñado de líneas de código. Si una función es demasiado grande o contiene partes no relacionadas, considere dividirla en funciones más pequeñas. Escribe tus funciones de forma que cada una tenga una única función. Si te encuentras añadiendo comentarios para describir diferentes secciones de una función compleja, eso suele ser una buena pista de que deberías dividir tu función en funciones más pequeñas. En codificación limpia, esto se conoce como Principio de Responsabilidad Única (SRP – Single Responsibility Principle). Además de a las funciones, este principio también se aplica a las clases y bibliotecas. Funciones 2 7 Funciones Flecha Referencias: https://dart.dev/language/built-in-types https://dart.dev/language/control-flow https://dart.dev/language/functions 2 8 https://dart.dev/language/control-flow https://dart.dev/language/control-flow https://dart.dev/language/functions La manera de empezar es dejar de hablar y comenzar a actuar. Walt Disney 2 9 �����Semana 2: Fundamentos de Dart (ii) Objetivos: �Al finalizar, el alumno logrará: Temas: Control de Flujo Control de Flujo Control de Flujo Control de Flujo Control de Flujo Control de Flujo Control de Flujo Control de Flujo Control de Flujo Control de Flujo Bucles Bucles Bucles Bucles Funciones Funciones Funciones Funciones Funciones Funciones Funciones Funciones Funciones Funciones Referencias: La manera de empezar es dejar de hablar y comenzar a actuar.
Compartir