Logo Studenta

02 Semana_2_Fundamentos_Dart_ii

¡Este material tiene más páginas!

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.

Otros materiales