18
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.

Ciclos e Instrucciones Repetitivas 2

Embed Size (px)

DESCRIPTION

identificar los ciclos e intrucciones en programacion

Citation preview

Page 1: Ciclos e Instrucciones Repetitivas 2

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.

Page 2: Ciclos e Instrucciones Repetitivas 2

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.

Page 3: Ciclos e Instrucciones Repetitivas 2

2

Índice

Ciclos e instrucciones repetitivitos………………………………………………………….. 2

Ciclos e instrucciones condicionales…………………………………………………………9

Ciclos e instrucciones optativas……………………………………………………………...12

Referencias de búsqueda……………………………………………………………………..18

Page 4: Ciclos e Instrucciones Repetitivas 2

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:

Page 5: Ciclos e Instrucciones Repetitivas 2

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

Page 6: Ciclos e Instrucciones Repetitivas 2

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.

Page 7: Ciclos e Instrucciones Repetitivas 2

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.

Page 8: Ciclos e Instrucciones Repetitivas 2

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.

Page 9: Ciclos e Instrucciones Repetitivas 2

8

Page 10: Ciclos e Instrucciones Repetitivas 2

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

Page 11: Ciclos e Instrucciones Repetitivas 2

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:

Page 12: Ciclos e Instrucciones Repetitivas 2

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

Page 13: Ciclos e Instrucciones Repetitivas 2

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.

Page 14: Ciclos e Instrucciones Repetitivas 2

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

Page 15: Ciclos e Instrucciones Repetitivas 2

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.

Page 16: Ciclos e Instrucciones Repetitivas 2

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

Page 17: Ciclos e Instrucciones Repetitivas 2

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.

Page 18: Ciclos e Instrucciones Repetitivas 2

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