Post on 13-Jul-2016
description
Asignatura:
Introducción a la programación
Docente:
Ing. Jorge Alberto Secchi Ruiz
Alumna:
Arias Arizmendi Cynthia Berenice
N° de control:
16230003
Tema:
Ciclos e instrucciones repetitivas, condicionales u optativas.
1
Introducción
Se realizó un trabajo de los ciclos e instrucciones repetitivas, condicionales u
optativas, con la finalidad de identificarlas al programar, ver cuáles son sus
instrucciones que ocuparemos, ver cuáles son sus funciones, en que consiste,
conocer su estructura general.
2
Índice
Ciclos e instrucciones repetitivitos………………………………………………………….. 2
Ciclos e instrucciones condicionales…………………………………………………………9
Ciclos e instrucciones optativas……………………………………………………………...12
Referencias de búsqueda……………………………………………………………………..18
3
Ciclos e instrucciones repetitivas
Las estructuras repetitivas se utilizan cuando se quiere que un conjunto de
instrucciones se ejecuten un cierto número finito de veces, por ejemplo, escribir
algo en pantalla cierta cantidad de veces, mover un objeto de un punto a otro
cierta cantidad de pasos, o hacer una operación matemática cierta cantidad de
veces. Se les llama bucle o ciclo a todo proceso que se repite cierto número de
veces dentro de un pseudocódigo o un programa y las estructuras repetitivas nos
permiten hacerlo de forma sencilla.
For (para)
La estructura repetitiva for (en castellano se traduciría como “para…”) se utiliza
generalmente cuando tenemos bien determinada la cantidad de repeticiones a
realizar. Se diferencia de las anteriores en que se debe incluir en la propia
instrucción una variable de control, la cual se incrementa o decrementa de forma
automática. La estructura de estas instrucciones viene a ser muy similar a la
anterior.
La estructura general o sintaxis habitual de un bucle for es la siguiente:
En este fragmento de código estaríamos indicando que mientras se cumpla la
condición se realizan las sentencias, y en este caso si no se cumpliese la
condición se seguiría ejecutando el programa justo después del cierre de la
instrucción for (}). Todo esto es igual a la instrucción while anteriormente citada,
salvo que en la propia declaración de la estructura se encuentra la variable de
control, que en cada repetición se incrementa automáticamente.
Esta instrucción consta, por tanto, de tres parámetros:
4
Inicialización de la variable que se utilizará en la condición.
Condición que se debe cumplir para permanecer en el ciclo.
Modificación de la variable utilizada en la condición.
Escribe ahora este otro código guárdalo con un nombre de archivo como
ejemplo3.php. A continuación, sube el fichero al servidor y visualiza el resultado.
Este ejemplo muestra a la salida, la misma información que mostraba la
instrucción while. Como podemos observar, el valor inicial y el incremento de la
variable $galletas, van en la propia instrucción
5
While (mientras)
La instrucción while (que en castellano se traduciría como “mientras…”) ejecuta
una porción de programa mientras se cumpla una cierta condición.
Mientras la condición sea verdadera, se ejecutan las instrucciones contenidas en
el while. Cuando deja de cumplirse la condición, se sale del ciclo y se continúa
ejecutando el resto del programa.
Si la condición no se cumple ni la primera vez que se comprueba, las líneas en el
interior del while no se ejecutarán ni una vez.
La estructura general o sintaxis habitual de un bucle while es la siguiente:
En este fragmento de código estaríamos indicando que mientras se cumpla la
condición se realizan las sentencias, y en este caso si no se cumpliese la
condición se seguiría ejecutando el programa o mostrando los contenidos de la
página web justo después del cierre de la instrucción while (que queda
determinado por el símbolo de cierre } ).
Escribe ahora este código y guárdalo con un nombre de archivo como
ejemplo1.php. A continuación, sube el fichero al servidor y visualiza el resultado.
6
En este ejemplo, las instrucciones dentro del while se ejecutarían 10 veces,
mostrando los números de 0 a 9 separados por coma. Hay que tener especial
cuidado en no crear estructuras repetitivas que se ejecuten infinitamente
(bucles infinitos). En el ejemplo anterior, si no incrementamos el valor de la
variable $galletas, la condición del while se cumpliría siempre y tendríamos un
problema porque habríamos creado un bucle infinito, quedando el programa
‘atascado’ en dicho while.
7
Do-While (Hacer mientras)
La estructura repetitiva do-while (en castellano equivaldría a hacer… mientras) es
muy similar a la estructura while, excepto que la expresión verdadera es verificada
al final de cada iteración en lugar de al principio. La diferencia principal con los
bucles while es que está garantizado que se ejecuten las instrucciones que
contienen, al menos una vez (la verificación de si se tiene que repetir el proceso
se realiza al final de la repetición de la estructura.
La estructura general o sintaxis habitual de un bucle do while es la siguiente:
En este fragmento de código estaríamos indicando que se ejecute una primera vez
“sí o sí” las sentencias, y que después se evalúe la condición para comprobar si se
deben ejecutar nuevamente las sentencias. Como vemos, aunque no se cumpla la
condición las sentencias se ejecutarían al menos una primera vez.
Escribe ahora este código y guárdalo con un nombre de archivo como
ejemplo2.php. A continuación, sube el fichero al servidor y visualiza el resultado.
8
9
Ciclos e Instrucciones condicionales
Como todo lenguaje de programación imperativo, Octava dispone de instrucciones
de bifurcación que permiten el control del flujo de ´ordenes de un programa,
bas´andose en decisiones lógicas. Para ello, dispone de estructuras clásicas como
if, if...else, if...else if...else y switch-case1, así como de funciones lógicas
específicas de este lenguaje. Además, la aplicación directa de operadores lógicos
a vectores y matrices resulta mucho más potente que en otros lenguajes, en los
que esta posibilidad ni siquiera existe.
Instrucciones if simple
La instrucción if simple nos permite comprobar si se cumple una cierta condición
antes de ejecutar una serie de órdenes. Su forma general es la siguiente:
if condición instrucciones
end
Es decir, el programa evalúa si la condición es cierta, y en ese caso ejecuta las instrucciones. Si la condición es falsa, las instrucciones se ignoran. El flujo del programa se muestra en la Figura
Veamos un ejemplo sencillo de la utilización de esta instrucción con las siguientes
líneas de código Octave:
Supongamos que g es un escalar. Si g es menor que 50, count se incrementa en 1
y la variable g se muestra por pantalla. En caso contrario, las dos instrucciones del
interior de la estructura if no se tienen en cuenta. Fijémonos en que las
10
instrucciones se encuentran desplazadas hacia la derecha para así entender
mejor el código. Este sangrado de líneas es más que aconsejable para un buen
mantenimiento del programa
Instrucción if...elseif...else
La orden else permite ejecutar un bloque de líneas de código si no es cierta la
condición en una instrucción if. El flujo asociado a una estructura condicional de
este tipo es el siguiente:
if condición instrucciones(1) % si condición VERDADERA else instrucciones(2) % si condición FALSA end
Es decir, el programa evalúa si la condición es cierta, y en ese caso ejecuta las
instrucciones (1). Si la condición es falsa, se ejecutan las instrucciones (2). El flujo
del programa se muestra en la Figura
Como ejemplo, consideremos que tenemos una variable denominada intervalo. Si
el valor de intervalo es menor que 1, asignamos el valor intervalo/10 a la variable
incremento x. En caso contrario (else), le asignamos el valor 0.1. El código Octave
sería el siguiente:
11
Existen ocasiones en que el número de condiciones que debemos comprobar es
mayor que uno, lo cual nos obligaría a utilizar condiciones if...else anidadas. En
estos casos, resulta más conveniente utilizar la condición elseif (que se traduciría
como si no se cumple, entonces sí...). Esta orden puede repetirse tantas veces
como se quiera dentro de una estructura if. El flujo de ejecución en este caso sería
el siguiente.
if condición 1 instrucciones (1) % si condición 1 VERDADERA elseif condición 2 instrucciones (2) % si condición 2 VERDADERA · · · · · · · · · else instrucciones (3) % si condiciones anteriores FALSAS
end
12
Ciclos e instrucciones optativas
Instrucción Case: Con la estructura de control CASE podemos evaluar
una variable y realizar acciones dependiendo del valor de esta. La
diferencia con el IF consiste en que el número de posibilidades de la
evaluación de esta variable no tiene por qué ser sí o no, pudiendo hacer
cosas para un número indeterminado de valores.
La sintaxis es la siguiente:
SELECT CASE (variable)
CASE (valor1):
(acción para caso valor1)
CASE (valor3):
(acción para caso valor2)
CASE (valor3):
(acción para caso valor3)
CASE ELSE:
(accion en caso de que no se cumpla ningun anterior caso)
END SELECT
Funciona asi, primero se evalua la variable, si esa variable tiene como valor el
valor1 realizamos las acciones asociadas al valor1. Si tiene el valor2, ejecutamos
las acciones relacionadas con este valor3. Así con cuantos valores deseemos. Por
último tenemos un ELSE para realizar acciones en caso de que no hubiesen sido
ninguno de los valores anteriores. Este ELSE es opcional.
Veamos con un ejemplo esta sentencia muy sencillito. Lo primero que hace es
solicitar un número y luego informa del día de la semana con el que corresponde.
Si el número no es del uno al siete informa de ello también.
13
dim dia
dia = inputbox ("dime un dia de la semana")
SELECT CASE dia
CASE 1:
msgbox("El dia es LUNES")
CASE 2:
msgbox("El dia es MARTES")
CASE 3:
msgbox("El dia es MIERCOLES")
CASE 4:
msgbox("El dia es JUEVES")
CASE 5:
msgbox("El dia es VIERNES")
CASE 6:
msgbox("El dia es SABADO")
CASE 7:
msgbox("El dia es DOMINGO")
CASE ELSE:
msgbox("Tiene que ser un dia de la semana en número, del 1 al 7")
END
SELECT
14
Break es opcional (pero en general recomendable) y provoca que una vez
encontrada una coincidencia termine la evaluación de casos (provoca un salto
pasando el control del programa o flujo de ejecución a la instrucción inmediata
siguiente fuera del switch). Si no se incluye, se evaluarían el resto de casos
(ejecutándose si fueran ciertos). De no incluirse break, podría producirse que se
ejecuten dos o más casos.
La cláusula default es opcional y representa las instrucciones que se ejecutarán en
caso de que no se verifique ninguno de los casos evaluados. El
último break dentro de un switch (en default si existe esta cláusula, o en el último
caso evaluado si no existe default) también es opcional, pero lo incluiremos
siempre para ser metódicos.
Se permite evaluar tanto números como cadenas de texto o valores booleanos.
switch solo permite evaluar valores concretos de la expresión: no permite evaluar
intervalos (pertenencia de la expresión a un intervalo o rango) ni expresiones
compuestas.
Ejemplo:
Vamos a ver ahora cómo podemos obtener un mismo resultado usando if o
usando switch. Escribe ahora el código de ejemplo de uso de if que mostramos a
continuación y guárdalo con un nombre de archivo como ejemplo1.php. A
continuación, sube el fichero al servidor y visualiza el resultado.
15
Escribe ahora el código de ejemplo de uso de switch hemos mostrado y guárdalo
con un nombre de archivo como ejemplo2.php. A continuación, sube el fichero al
servidor y visualiza el resultado.
El resultado comprobamos que en ambos casos es: $variable es igual a 2.
Si cambiamos $variable=2 por $variable=5 al inicio de código el resultado
sería: $Variable no es igual a 1, 2 o 3.
Una diferencia importante respecto a las instrucciones if ... else if ... else es que se
requiere de la instrucción break para salir del switch al terminar las instrucciones
correspondientes a un case. Sólo podemos especificar un valor en cada case, no
se admite indicar más de un valor. Sin embargo, si dejamos un case en blanco y
omitimos el break, damos lugar a que se ejecuten ciertas instrucciones si el valor
coincide con alguno de los case en juego. Esto lo veremos más claro con un
ejemplo.
Escribe ahora estos otros códigos y guárdalos con nombres de archivo como
ejemplo3.php y ejemplo4.php. A continuación, sube los ficheros al servidor y
visualiza el resultado.
En cualquiera de las dos formas mostradas, la salida obtenida sería: $variable es
igual a 2 o 3.
En este caso, al evaluarse la segunda instrucción case no se encuentra ningún
break por lo que se siguen ejecutando las instrucciones siguientes al tercer case,
aun cuando $variable es diferente de 3, ya que al no existir un break anterior los
casos 2 y 3 quedan “agrupados”. Más aún, si borramos el break del tercer case
16
también se ejecutarán las instrucciones siguientes a default, y la salida sería
entonces:
$variable es igual a 2 o 3.
$variable no es igual a 1, 2 o 3.
Por ello es muy importante que cuando escribas una instrucción switch pongas
break en todos los case, o bien que si dejas algún break sin escribir sea porque
conscientemente quieras hacerlo y no por olvido.
17
Referencias de búsqueda
Microsoft. (2013). Ciclos e instrucciones 2016, de MSDN Sitio web:
https://msdn.microsoft.com/es-es/library/ms173143.aspx
APR. (2005). Ciclos optativos. 2010, de Copyright 2006-2016
aprenderaprogramar.com Sitio web:
http://www.aprenderaprogramar.com/index.php?option=com_content&
view=article&id=553:switch-php-case-break-default-condicional-irangos-
o-intervalos-ejemplos-ejercicios-resueltos-cu00820b&catid=70:tutorial-
basico-programador-web-php-desde-cero&Itemid=193
Microsoft. (2006). Instrucciones. 2009, de MSDN Sitio web:
https://msdn.microsoft.com/es-mx/library/1zea45ac.aspx