Anda di halaman 1dari 18

GUÍA DE APRENDIZAJE 2

Programación
Módulo configuración de dispositivos activos

Introducción

La presente guía presenta un acercamiento teórico a las bases que permiten desarrollar
las competencias necesarias para crear un algoritmo, y al final presentan ejercicios que
deben ser entregados como muestra de que ha comprendido la temática presentada.

El acercamiento teórico se da en tres secciones que deben ser estudiadas en forma


secuencial, y que no están atadas a ningún tipo de lenguaje específico por ser de carácter
general.

Su objetivo será permitir el desarrollo en cada aprendiz de la lógica necesaria para


abordar y comprender cualquier programa.

Cualquier inquietud con gusto será resuelta.

SECCIÓN I

Uso de las Estructuras de Control

Los computadores, como cualquier máquina, están diseñados para realizar tareas
repetitivas. Es por ello que nuestros programas pueden aprovecharse de este principio
para realizar una determinada secuencia de instrucciones un cierto número de veces.
Para ello, utilizamos las estructuras de control llamadas en ciclos que nos ayudan, usando
unas pocas líneas, a realizar una tarea incluida dentro del ciclo un cierto número de veces
definido por nosotros mismos.

En sí, las estructuras de control nos permiten cambiar el orden de las declaraciones
ejecutadas en nuestros programas, en donde se exige en muchas ocasiones la repetición
de acciones sucesivas o la elección de una determinada secuencia y no de otra
dependiendo de las condiciones específicas de la ejecución. Es por eso que hay dos tipos
de estructuras de control:

1. Estructuras de iteración o repetición: Nos permite ejecutar secciones específicas


de código una cantidad determinada de veces.
2. Estructuras de selección: Nos permite seleccionar secciones específicas de código
para ser ejecutadas a partir de una condición.

Elaborado por Lina Mckoll Hernández


Instructora Teleinformática
GUÍA DE APRENDIZAJE 2
Programación
Módulo configuración de dispositivos activos

1. Estructuras de iteración o repetición

1.1.Ciclo while

Sin duda el ciclo más utilizado y el más sencillo. Lo usamos para ejecutar las
instrucciones contenidas en su interior siempre y cuando la condición definida sea
verdadera.

Elaborado por Lina Mckoll Hernández


Instructora Teleinformática
GUÍA DE APRENDIZAJE 2
Programación
Módulo configuración de dispositivos activos

1.2.Ciclo do/while

Este tipo de bucle no difiere en exceso del anterior. La sintaxis es la siguiente:

La diferencia con respecto a los bucles while es que este tipo de bucle evalúa la
condición al final con lo cual, incluso si la condición es falsa desde el principio, éste
se ejecuta al menos una vez.

Elaborado por Lina Mckoll Hernández


Instructora Teleinformática
GUÍA DE APRENDIZAJE 2
Programación
Módulo configuración de dispositivos activos

1.3.Ciclo for

Donde:
• expresión1 es la iniciación del bucle. Sólo se ejecuta una vez, al principio,
cuando el flujo del programa llega al bucle.
• expresión2 es la condición. Mientras que expresión2 se evalúe a cierto, el
bucle estará iterando. Se evalúa al inicio de cada iteración, y si no se
verifica la condición la siguiente iteración ya no se realiza y finaliza el
bucle, continuando la ejecución del programa con el resto del código de
después del for.
• expresión3 es el paso de iteración. Se ejecuta después de cada iteración,
y generalmente modifica el valor de alguna variable (separadas por comas
si hay más de una).
• comandos son todas las instrucciones a ejecutar (terminadas en punto y
coma) cuando se cumple la condición de entrada al ciclo.

Esta es la sintaxis:

Elaborado por Lina Mckoll Hernández


Instructora Teleinformática
GUÍA DE APRENDIZAJE 2
Programación
Módulo configuración de dispositivos activos

2. Estructuras de selección

2.1. Las condiciones if

Cuando queremos que el programa, llegado a un cierto punto, tome un camino


concreto en determinados casos y otro diferente si las condiciones de ejecución
difieren, nos servimos del conjunto de instrucciones if, else y elseif. La estructura
de base de este tipo de instrucciones es la siguiente:

Elaborado por Lina Mckoll Hernández


Instructora Teleinformática
GUÍA DE APRENDIZAJE 2
Programación
Módulo configuración de dispositivos activos

Llegados a este punto, el programa verificará el cumplimiento o no de la condición.


Si la condición es cierta las instrucciones 1 y 2 serán ejecutadas. De lo contrario
(else), se ejecutará la instrucción X.

Esta estructura de base puede complicarse un poco más si tenemos cuenta que
no necesariamente todo es blanco o negro y que muchas posibilidades pueden
darse. En estos casos hablamos por lo tanto de “condiciones anidadas” que
tendrían una estructura del siguiente tipo:

Elaborado por Lina Mckoll Hernández


Instructora Teleinformática
GUÍA DE APRENDIZAJE 2
Programación
Módulo configuración de dispositivos activos

Si la condición1 se cumple se ejecutarán las instrucciones 1 y 2, de lo contrario


(elseif) se pregunta si es cierta la condición2, en cuyo caso se harán las
instrucciones A y B, y si tampoco es cierta la condición2 (else) se ejecutará la
instrucción X.

Elaborado por Lina Mckoll Hernández


Instructora Teleinformática
GUÍA DE APRENDIZAJE 2
Programación
Módulo configuración de dispositivos activos

De este modo podríamos introducir tantas condiciones como queramos dentro de


una condición principal.
Sin embargo cuando empezamos a tener varias condiciones anidadas, como
acabamos de ver, puede ser más recomendable emplear la estructura switch
debido a que esta no genera tantos retardos.

2.2. Estructura switch

El flujo procede linealmente de arriba a abajo, comparando el valor de la variable


con cada valor de los case, y ejecutando el código asociado si se cumple la
condición. Es decir si el valor de variable es valor1 se ejecutarán los comandos1,
los cuales son una o más instrucciones terminadas en punto y coma.

Si variable no es igual al valor1 el flujo de programa comparará con valor2, y


seguirá comparando hasta que encuentre una coincidencia.

En caso de que no se cumpla ninguna, se ejecuta el código asociado a la cláusula


default. El comportamiento sería similar a tener un if por cada case, uno detrás del
otro.

Hay que destacar que cuando se termina de ejecutar el código de un case, si no


se finaliza el switch explícitamente con un break, se continúa ejecutando el código
del siguiente case aunque no se cumpla la condición, hasta que se llegue al final
del bloque switch o se finalice este con un break. Por eso siempre se debe
terminar un case con un break.

Su sintaxis es:

Elaborado por Lina Mckoll Hernández


Instructora Teleinformática
GUÍA DE APRENDIZAJE 2
Programación
Módulo configuración de dispositivos activos

Elaborado por Lina Mckoll Hernández


Instructora Teleinformática
GUÍA DE APRENDIZAJE 2
Programación
Módulo configuración de dispositivos activos

SECCIÓN II

Uso de los diagramas de flujo y ejemplos

Hasta el momento ya se ha visto como es la representación de las estructuras de control


en diagramas de flujo, sin embargo al momento de diseñar un programa son necesarios
otros símbolos que se describen a continuación:

Símbolo Descripción
Indica el inicio y el final de nuestro diagrama de flujo. También puede ser
un poco más ovalado.

Indica la entrada y salida de datos.

Símbolo de proceso y nos indica la asignación de un valor en la memoria


(asignación a una variable) y/o la ejecución de una operación aritmética.

Indica la salida de información por impresora.

Conector dentro de página. Representa la continuidad del diagrama


dentro de la misma página.
Conector fuera de página. Representa la continuidad del diagrama en
otra página.
Indica la salida de información en la pantalla o monitor.

Símbolo de decisión. Indica la realización de una comparación de


valores.

Ejemplos:

Elaborado por Lina Mckoll Hernández


Instructora Teleinformática
GUÍA DE APRENDIZAJE 2
Programación
Módulo configuración de dispositivos activos

1. Función que suma 2 números:


2. Función que hace una operación aritmética según el valor de la variable
día, que contiene los días de la semana, y muestra el resultado:
Lunes: suma, Martes: resta
Miércoles: multiplica Jueves: No calcula ningún valor
Viernes: Divide Sábado y domingo: Muestra el resultado en 0
Esta función usa la estructura Switch.
3. Función que suma los 5 primeros números pares de manera acumulativa y
muestra el resultado si son mayores que 5.
Esta función usa las estructuras For e If .

Elaborado por Lina Mckoll Hernández


Instructora Teleinformática
GUÍA DE APRENDIZAJE 2
Programación
Módulo configuración de dispositivos activos

Inicio de la función que suma

El usuario ingresa el primer número y se


guarda en una variable llamada num1

El usuario ingresa el primer número y se


guarda en una variable llamada num2

Se realiza la operación entre los números


num1 y num2 almacenados en memoria,
y se guarda en otra variable llamada
suma.

Se muestra en pantalla el resultado de la


operación almacenado en una variable
llamada suma

Símbolo de fin (se omitió)

Elaborado por Lina Mckoll Hernández


Instructora Teleinformática
Di día es miércoles se multiplican los números y se va
mostrar Result=15

Si día es jueves no se hace ningún proceso y se va a


mostrar Result=15. Result no cambia porque es una
variable a la que ya se le había asignado el valor 15
anteriormente, y hasta no reescribir otro valor, este no
cambiará.

Si día es vienes se dividen los números y se va a mostrar


Result=1.66

Si día no es ninguno de los anteriores el flujo del programa


va a la default que es llevar un cero a Result. Luego se va a
mostrar este resultado.

Se muestra el valor de Result, el cual cambia dependiendo


del día. Se termina con el símbolo de fin.

Después de que el usuario ingresa los números (ejemplo sea 5 y 3):


Si el día es lunes se suman los números y se va amostrar Result=
8.

Si día es martes se restan los números y se va a mostrar Result=2


En esta función las variables implicadas son “i” y “pares”.
Una vez el programa inicie esperará hasta que la “i” tenga
el valor de 0 (expresion1 según el ejemplo de la pagina3).
Primer ciclo i=0:
Cuando esta condición se cumpla preguntará si la i es
menor que 5 (expresion2 según el ejemplo de la pagina3),
y como esta condición es verdadera pues i=0 en la primera
iteración, el programa ingresará y le llevará a pares el
valor 2 (pares=2*i + 2 = 2*0 +2).
Después preguntará si el valor de pares es mayor que 5, lo
cual es falso porque pares=2. Por tanto pasa a
incrementar el valor de i en una unidad, es decir i=1
(expresión 3 del ejemplo de la página 4).
Segundo ciclo i=1:
Nuevamente el programa preguntará si la i es menor que 5
(expresion2 según el ejemplo de la pagina3), y como esta
condición es verdadera pues i=1 en la segunda iteración,
el programa ingresará y le llevará a pares el valor 4
(pares=2*i + 2 = 2*1 +2).
Después preguntará si el valor de pares es mayor que 5, lo
cual es falso porque pares=4. Por tanto pasa a
incrementar el valor de i en una unidad, es decir i=2
(expresión 3 del ejemplo de la página 4).
Tercer ciclo i=2:
Nuevamente el programa preguntará si la i es menor que 5
(expresion2 según el ejemplo de la pagina3), y como esta
condición es verdadera pues i=2 en la tercera iteración, el
programa ingresará y le llevará a pares el valor 6
(pares=2*i + 2 = 2*2 +2).
Después preguntará si el valor de pares es mayor que 5, lo
cual es verdadero porque pares=6. Por tanto mostrara el
valor de pares y pasará luego a incrementar el valor de i
en una unidad, es decir i=3 (expresión 3 del ejemplo de la
página 4).
Cuarto ciclo i=3:
Nuevamente el programa preguntará si la i es menor que 5
(expresion2 según el ejemplo de la pagina3), y como esta
condición es verdadera pues i=3 en la cuarta iteración, el
programa ingresará y le llevará a pares el valor 8
(pares=2*i + 2 = 2*3 +2).
Después preguntará si el valor de pares es mayor que 5, lo
cual es verdadero porque pares=8. Por tanto mostrará el
valor de pares y pasará luego a incrementar el valor de la
“i” en una unidad, es decir i=4 (expresión 3 del ejemplo de
la página 4).
Quinto ciclo i=4:
Nuevamente el programa preguntará si la i es menor que 5 (expresion2 según el ejemplo
de la pagina3), y como esta condición es verdadera pues i=4 en la quinta iteración, el
programa ingresará y le llevará a pares el valor 10 (pares=2*i + 2 = 2*4 +2).
Después preguntará si el valor de pares es mayor que 5, lo cual es verdadero porque
pares=10. Por tanto mostrara el valor de pares y pasará luego a incrementar el valor de i
en una unidad, es decir i=5 (expresión 3 del ejemplo de la página 4).
Sexto ciclo i=5:
Nuevamente el programa preguntará si la i es menor que 5 (expresion2 según el ejemplo
de la pagina3), y como esta condición es falsa pues i=5 en la sexta iteración, el programa
NO ingresará por lo que no habrá un sexto ciclo, y se termina la función.

Escrito a manera de programa, este ejemplo queda de la siguiente manera:


1 Function ejemplo( )
2 {
3 for(i=0;i<5;i++)
4 {
5 Pares=(2*i)+2;
6 if (pares>5)
7 {
8 document.write(pares);
9 }
10 i=i+1;
11 }
12 }
1 Declaración de la función
2 Llave que abre la función
3 Declaración del for: Se inicia cuando i sea 0,
Se repetirá hasta cuando i deje de ser menor que 5
Cada que se ejecute una vez el ciclo la i aumentara en 1.
(Esta última línea se puede omitir pues ya está en en 10)
4 Llave que abre el for
5 Asignación a la variable Pares
6 Declaración de condicional que se ejecutara solo si pares es mayor que 5
7 Llave que abre el if.
8 comando para publicar en pantalla un mensaje, variable, etc. Con él se
muestra el valor de pares.
9 Llave que cierra el if
10 Tercera expresión de la declaración del for en la línea 3. Con esto
incrementamos la i en una unidad. i=i+1 es lo mismo que tener i++.
11 Llave para cerrar el for.
12 Llave para cerrar la función.

SECCIÓN III

Otros ejemplos…Análisis de flujo


Variable:
Las variables son identificadoras que hacen referencia a un lugar de la memoria en donde
se almacena un dato. Una variable está asociada a un tipo de datos, el cual y en función
del tamaño del mismo determina la cantidad de bytes que serán necesarios para
almacenar la variable. Generalmente las variables se definen al comienzo de un
programa.

Función:
Una función es un conjunto de líneas de código que realizan una tarea específica y puede
retornar un valor. Las funciones pueden tomar parámetros que modifiquen su
funcionamiento. Las funciones son utilizadas para descomponer grandes problemas en
tareas simples y para implementar operaciones que son comúnmente utilizadas durante
un programa y de esta manera reducir la cantidad de código.

A continuación se muestra un algoritmo que asigna ciertos valores a las variables, y cuya
finalidad es solo su entrenamiento en el seguimiento del flujo de un programa
determinado:
var x=4; //declaración de las variables implicadas en el algoritmo y
var y=0; //su inicialización en un valor determinado, este valor se
var z=0; //asigna la primera vez carga el programa
var m=100;

for (i=0; i<=20; i++) //declaración del for: inicia cuando i=0
{ //y continuara ejecutándose hasta que i no sea <=20
x=x+1; //asignación a variable: a x le llevamos el valor de x+1
y=x+10; //note que todas las asignaciones terminan en “;”
z=y-1;
switch (x) //switch que dependerá del valor de la variable x
{
case 8: //cuando x vale 8 tomara hará que
m=10; //m sea 10 y luego buscará¡ la palabra break
break; //cuando encuentra break se sale del caso x=8 y se
//va al final del switch, es decir donde se cierra
case 9: //la llave del switch
y=y-10;
z=y;
break;

case 10:
x=0:
break;

default: //cuando x no es ninguno de los casos anteriores


m=m-1; //entra acá y a m le lleva el valor de m -1
} //en esta línea se cierra el switch con la llave

if (x=y) //este if también hace parte del bucle for, acá


{ //preguntamos si los valores de x y de y son iguales
i=20; //en caso de que sea cierto el algoritmo hará i=20 y
} // no preguntara por el else que significa "sino"
else //si x no es igual a y, viene acá y entra a ejecutar lo
{ //que este entre las llaves, es decir m=m+10.
m=m+10; //cuando solo se va a ejecutar una instrucción se
} //pueden omitir las llaves

} //justo antes de terminar un ciclo del bucle for, la variable


//que lo controla, es decir la "i" se incrementa en 1 porque
//escribimos i++ en la declaración inicial del for.
//Después de incrementar la variable controladora del for
//el programa vuelve a la declaración del for (arriba) y se
//preguntará si el valor de la variable i que tiene
//almacenada en memoria cumple la condición de ser menor o
//igual 20, si esto no se cumple no ejecutará nuevamente
el //for y el bucle termina.

Cada una de las variables tiene un espacio asignado en memoria, el cual irá cambiando
dinámicamente según el flujo del programa. A continuación se muestra una tabla con los
valores de las variables. El valor más a la derecha indica el último asignado.

Variable\Ciclo 0 1 2 3 4 5 6
i 0 0/1 1/2 2/3 3/4 4 /20/21
x 4 5 6 7 8 9
y 0 15 16 17 18 19/9
z 0 14 15 16 17 18/9
m 100 99/109 108/118 117/127 137 137

Observaciones:

La situación más interesante se presenta en la columna del 5° ciclo. En ella la “i” tenia
inicialmente el valor de 4, que se obtuvo al termina el ciclo 4°.

Las primeras instrucciones ejecutadas dentro del for son las asignaciones a las variables
“x”, “y” y “z”, donde se otorgan los valores 9, 29 y 18 respectivamente.

Al entrar al switch, se cumple el segundo caso en el que x=9 ejecutándose las


instrucciones asociadas. De ahí que “y” y “z” también queden con el valor de 9.

La última estructura incluida en el for es un if, que pregunta si “x” y “y” tienen el mismo
valor. Esta condición es verdadera, pues se acabaron de modificar los valores de “y” y
“z”, por tanto se realiza la instrucción asociada a esta condición: llevarle a “i” el valor 20.

Siguiendo el flujo del programa nos encontramos con la llave que cierra el for, por tanto no
hay nada más para ejecutar.
Pero recuerde que antes de finalizar el ciclo siempre se incrementa la variable
controladora que en este caso en “i”, “i” actualmente vale 20, así que al incrementarla
quedará valiendo 21.

Después de hacer el incremento en la variable controladora del for, el flujo del programa
vuelve a la declaración del for para evaluar la segunda expresión o condición: “i<=20”, ¿se
cumple? ¡Claro que no!,” i “ya ha sobrepasado este valor y una nueva repetición no podrá
darse, el bucle for ha llegado a su fin.

SECCIÓN IV

Ejercicios

• Llene la tabla con los estados de las variables si x=5, y =10, z=0, y m=10. Bajo
estas condiciones, ¿cuántos ciclos tendrá el bucle for?
• Cree un diagrama de flujo para representar el algoritmo que permite multiplicar un
par de números ingresados por un usuario. Los números deben multiplicarse
usando sumas sucesivas. Es decir 2*4=2+2+2+2.
Cuando el resultado ya haya sido calculado mostrarlo en pantalla.
Escriba el programa representado por el diagrama de flujo.

• Cree el diagrama de flujo que permite operar dos números ingresados por el
usuario, y mostrar el resultado. Usted tiene ya las funciones que se encargan de
sumar, restar, multiplicar y dividir. Puede considerar cada una como un bloque de
proceso.
Nota: el usuario sigue la siguiente secuencia para ingresar los datos:
Primer numero
Signo de la operación
Segundo numero
Signo de igual.
Escriba el programa representado por el diagrama de flujo.

Anda mungkin juga menyukai