ESTRUCTURAS DE CONTROL
En programación, las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa.
Con las estructuras de control se puede:
De acuerdo con una condición, ejecutar un grupo u otro de sentencias
De acuerdo con el valor de una variable, ejecutar un grupo u otro de sentencias
Ejecutar un grupo de sentencias mientras se cumpla una condición
Ejecutar un grupo de sentencias hasta que se cumpla una condición
Ejecutar un grupo de sentencias un número determinado de veces
Todos los lenguajes de programación modernos tienen estructuras de control similares. Básicamente lo que varía entre las estructuras de control de los diferentes lenguajes es su sintaxis; cada lenguaje tiene una sintaxis propia para expresar la estructura.
ESTRUCTURA CONDICIONAL if
La finalidad de utilizar la estructura condicional es tomar una decisión con base en el valor booleano de una expresión, es decir, determinar si la condición es verdadera o falsa.
De acuerdo a su complejidad se clasifica en:
- Simple. Donde la estructura ejecuta un bloque de instrucciones cuando la condición es verdadera, en caso contrario ignora ese bloque y continúa con la ejecución del resto de las instrucciones.
EJEMPLO
Algoritmo y diagrama de flujo donde se pida la edad del usuario; si es mayor de edad debe aparecer un mensaje indicándolo.
ALGORITMO
- inicio
- declarar(edad)int
- mostar("ingresa tu edad")
- asignar(edad)
- SI(edad >= 18) MOSTAR("eres mayor de edad")
- fin
- Compuesta. Evalúa una condición, si ésta es verdadera ejecuta el bloque de instrucciones más cercano, en caso contrario, realiza acciones alternativas.
EJEMPLO
Se desea escribir un algoritmo y diagarama de flujo para un programa que pida la altura de una persona, si la altura es menor o igual a 150 cm envíe el mensaje: Persona de altura baja; si la altura está entre 151 y 170 escriba el mensaje: Persona de altura media y si la altura es mayor al 171 escriba el mensaje: Persona alta.
ALGORITMO
- inicio
- declara(altura)float
- mostar("ingresa tu altura en metros, ejemplo: 1.59")
- asigna(altura)
- SI(altura <= 1.50) ENTONCES muestra("persona de baja altura") SINO SI(altura <= 1.70) ENTONCES muesta("persona de altura media") SINO SI(altura > 1.70) ENTONCES muestra("persona alta") FINSI FINSI FINSI
- fin
DIAGRAMA DE FLUJO
Quieres ver corriendo el código en JS https://jseditor.io/
var altura;
altura = parseFloat(prompt("ingresa tu altura en metros, ejemplo 1.89"))
if(altura <= 1.50){
alert("persona de baja altura")
}else if(altura <= 1.70){
alert("persona de altura media")
}else if(altura > 1.70){
alert("persona alta")
}
- Múltiple o según sea. Evalúa una condición y dependiendo de su valor booleano elige el bloque de instrucciones a ejecutar de entre varias opciones.
EJEMPLO
Realizar algoritmo y diagrama de flujo para el siguiente problema: Dado un numero entre 1 y 7 escriba su correspondiente día de la semana así: 1- Lunes 2- Martes 3- Miércoles 4- Jueves 5- Viernes 6- Sábado 7- Domingo
ALGORITMO
- inicio
- declara(dia)int
- muestra("Ingrese un número para escribir su día")
- asigna(dia)
- EN CASO DE (dia) HAGA caso 1: mostar("lunes") caso 2: mostar("martes") caso 3: mostar("miércoles") caso 4: mostar("jueves") caso 5: mostar("viernes") caso 6: mostar("sábado") caso 7: mostar("domingo") SINO mostrar("Ingresaste un número fuera del rango 1-7") FIN CASO
- fin
DIAGRAMA DE FLUJO
Quieres ver corriendo el código en JS https://jseditor.io/
var dia;
dia = prompt("Ingrese un número para escribir su día");
dia=parseInt(dia);
switch(dia){
case 1:alert("lunes");
break;
case 2:alert("martes");
break;
case 3:alert("miércoles");
break;
case 4:alert("jueves");
break;
case 5:alert("viernes");
break;
case 6:alert("sábado");
break;
case 7:alert("domingo");
break;
default:alert("debe ingresar un número en el rango de 1-7")
}
ESTRUCTURAS DE CONTROL ITERATIVAS
Las instrucciones de repetición, de iteración o bucles, facilitan la repetición de un bloque de instrucciones, un número determinado de veces o mientras se cumpla una condición.
Por lo general, existen dos tipos de estructuras iterativas o bucles en los lenguajes de programación. Encontraremos un tipo de bucle que se ejecuta un número preestablecido de veces, que es controlado por un contador o índice, incrementado en cada iteración.
Por otro lado, encontraremos un tipo de bucle que se ejecuta mientras se cumple una condición. Esta condición se comprueba al principio o el final de la construcción.
Existen distintos tipos de estructuras como son:
• Para (for). Con ella se establece el número de veces que una serie de instrucciones debe repetirse, lo cual determinas como parte de la solución a un problema en un algoritmo. Sus componentes son:
o Expresión inicial. Indica con qué valor numérico inicia el ciclo.
o Condición. Es la expresión relacional o lógica por evaluar, con ella se determina cuándo se detendrá el ciclo
o Incremento. Indica el valor numérico que se le sumará a la expresión inicial tras completar el ciclo.
Con for, las instrucciones se repiten el número de veces que le decimos, normalmente le ponemos un número ( o el valor de una variable o una constante).
EJEMPLOS:
Elaborar un algoritmo y diagrama de flujo para un programa que cuente del 0 al 10 e imprima dicho conteo.
ALGORITMO
- inicio
- declarar(numero) int
- asignar(numero=0)
- PARA(numero <= 10) mostrar(numero) numero = numero + 1 FIN PARA
- fin
DIAGRAMA DE FLUJO
Elaborar un algoritmo y diagrama de flujo para un programa que cuente desde el 0 hasta el 1000 de dos en dos
ALGORITMO
- inicio
- declarar(numero) int
- asignar(numero=0)
- PARA(numero <= 1000) mostrar(numero) numero = numero + 2 FIN PARA
- fin
DIAGRAMA DE FLUJO
ALERT
Debemos de tratar de no caer en ciclos infinitos porque eso colapsaria nuestro sistema
Algoritmo y diagrama de flujo que imprima el valor de una variable en iteracion.
ALGORITMO
- inicio
- declarar(contador)int
- asignar(contador)
- PARA(contador > 0) mostrar(contador) FIN PARA
- fin
Realizar algorito y diagrama de flujo que solicite un número y que imprima la tabla del multiplicar del 1 al 10 de ese número
ALGORITMO
- inicio
- declarar(numero,contador,resultado)int
- asignar(contador=1)
- mostrar("ingresa el número del que quieres saber su tabla de multiplicar del 1 al 10")
- asignar(numero)
- PARA(contador <= 10) resultado=numero*contador mostar(numero * contador = resutado) contador=contador + 1 FIN PARA
- fin
DIAGRAMA DE FLUJO
Quieres ver corriendo el código en JS https://jseditor.io/
var contador;
var numero;
var resultado;
numero = prompt("ingresa el número del que quieres saber su tabla de multiplicar del 1 al 10")
for(contador = 1;contador <= 10;contador++){
resultado=numero * contador;
document.write(numero + " * " + contador + " = " + resultado + "<br>")
}
Mientras (while). Se emplea para ejecutar un bloque de instrucciones en un ciclo sin necesidad de establecer el número de veces que lo hará. Se compone por una expresión lógica, relacional o aritmética, que es evaluada en una condición.
A diferencia de para, en el ciclo mientras no se sabe necesariamente con exactitud como cambia la variable de control, lo que si se debe saber con precisión es donde comienza el ciclo y donde termina. Por lo tanto, como no se sabe toda esa información, tampoco se sabe el número de iteraciones que realizará el ciclo.
Un bucle while itera o repite un bloque de código mientras una condición tiene el valor true. Se puede escribir de la siguiente manera:
NOTA: EN LA MAYORIA DE LENGUAJES EL BUCLE WHILE PUEDE TAMBIEN TENER UNA VARIABLE CONTADOR
Algoritmo y diagrama de flujo de un programa que imprima los números del 1 al 10
ALGORITMO
- inicio
- declarar(contador)int
- asignar(contador)
- MIENTRAS(contador<=10) mostrar(contador) contador=contador+1 FINMIENTRAS
- fin
DIAGRAMA DE FLUJO
Quieres ver corriendo el código en JS https://jseditor.io/
var contador;
contador=1;
while(contador<=10){
document.write(contador + "<br>")
contador++
}
EJEMPLO
Realizar un algoritmo y diagrama de flujo que imprima en pantalla la palabra “Hola”, mientras se presione número 1.
ALGORITMO
- inicio
- declarar(numero)int
- mostrar("ingresa un número")
- asignar(numero)
- MIENTRAS(numero != 1) mostrar("número incorrecto") mostrar("ingresa un número") asignar(numero) FINMIENTRAS
- mostrar("numero correcto")
- fin
DIAGRAMA DE FLUJO
Quieres ver corriendo el código en JS https://jseditor.io/
var numero;
numero = prompt("ingresa un numero");
while(numero!=0){
alert("numero incorrecto")
numero = prompt("ingresa un numero")
}
alert("numero correcto")
Realiza un algoritmo y diagrama de flujo para un programa que almacene la cadena de caracteres para una contraseña y email, pregunte al usuario por la contraseña y email e imprima por pantalla si la contraseña y el email introducidos por el usuario coincide con los guardadados en las variables, repetir hasta que coincida el dato. ALGORITMO
- inicio
- declarar(email,contra,email_validar,contra_validar)string
- asignar(email_contra)
- asignar(contra_validar)
- mostrar("ingresa tu correo")
- asignar(email)
- mostrar("ingresa tu conraseña")
- asignar(contra)
- MIENTRAS(email != email_validar && contra != contra_validar) mostrar("email o contraseña incorrectos") mostrar("ingresa tu correo") asignar(email) mostrar("ingresa tu conraseña") asignar(contra) FINMIENTRAS
- mostrar("bienvenido")
- fin
DIAGRAMA DE FLUJO
Quieres ver corriendo el código en JS https://jseditor.io/
var contra;
var correo;
var correo_validar;
var contra_validar;
correo = prompt("ingresa tu correo");
contra = prompt("ingresa tu contraseña");
correo_validar="prueba@correo.com";
contra_validar="123456";
while(correo!=correo_validar && contra!=contra_validar){
alert("correo o contraseña incorrecta");
correo = prompt("ingresa tu correo");
contra = prompt("ingresa tu contraseña");
}
alert("Bienvenido(a)");
Hacer Mientras (do...while). Se usa cuando el problema a resolver requiere que se ejecute por lo menos una vez el ciclo. Se compone por una condicional cuya expresión se evalúa después de ejecutar el bloque de instrucciones. El ciclo finaliza cuando la condición se vuelve falsa.
EJEMPLO
Algoritmo y diagrama de flujo de un programa que imprima los números del 1 al 10
ALGORITMO
- inicio
- declarar(numero)int
- asignar(numero)
- HACER mostar(numero) numero=numero+1 MIENTRAS(numero<=10) FIN HACERMIENTRAS
- fin
INGRESA A LA SIGUIENTE PRESENTACION
https://docs.google.com/presentation/d/1HuS9KM8UKOnO84M0GBDz_WBeKo23BVJs34tpq2WZHSU/edit?usp=sharing
No hay comentarios:
Publicar un comentario