Ciclos Repetitivos
MIENTRAS:
El CICLO MIENTRAS ejecuta un bloque de acciones ‘mientras’ que una condición dada se cumpla, es decir, cuando la condición evalúa a verdadero. La condición es evaluada antes de ejecutar el bloque de acciones y si la condición no se cumple, el bloque no se ejecuta. De esta manera es que el número de repeticiones del bloque de acciones sea cero, pues, si la condición la primera vez evalúa a falso, el bloque no será ejecutado alguna vez. La forma general del ciclo mientras es la siguiente:
- Código:
-
mientras (condición) hacer
<bloque de instrucciones>
fin_mientras
Donde, (condición) es la condición que determina si el bloque de acciones
es ejecutado o no. Si la condición evalúa a verdadero el bloque es ejecutado y si evalúa a falso no es ejecutado. Después de ejecutar el bloque de acciones se vuelve a evaluar la condición.
EJEMPLO 1.
Dado un número natural n se desea calcular la suma de los números naturales desde 1 hasta n.
PROCEDIMIENTOS:
Objetos Conocidos un número natural.
Objetos Desconocidos Un número natural.
Condiciones El número buscado es la suma de los naturales empezando en cero hasta el número dado.
ESPECIFICACIÓN:
Entradas n Î Enteros, (n es el número dado).
Salidas suma Î Enteros, (suma es la suma de los primeros n números naturales).
Condiciones
DISEÑO:
Primera Iteración:
1. Leer el número
2. Recorrer los números desde el cero hasta el número dado e irlos sumando.
3. escribir la suma
CODIGO:
- Spoiler:
- Código:
-
inicio
declarar variable entera n /* se define la variable para el número */
declarar variable entera suma /* se define la variable para la suma */
declarar variable entera entera /* se define la variable para recorrer los números entre 0 y n */
escribir "Ingrese el número: "
leer n /* lee el primer número */
suma =0/* inicia la suma en cero */
i =0 /* empieza la variable que recorre los números en 0 */
mientras (i <=n) hacer
suma= suma + i /* en cada iteración suma el número i */
i = i + 1 /* incrementa la variable en 1 para tomar el siguiente número en la próxima iteración */
fin_mientras
escribir "La suma es: ", suma
fin
PARA:
ciclo para, es una estructura de control en la que se puede indicar el número máximo de iteraciones. Está disponible en casi todos los lenguajes de programación imperativos.
Variable de control: prácticamente un mandato impuesto por el uso habitual es utilizar la letra i como variable de control, o bien sus sucesoras en caso de bucles anidados. El uso de esta letra críptica quizás a primera vista es sin embargo una excelente forma de aportar agilidad de lectura al código por su uso tan extensivo. Como raras veces los bucles anidados superan las tres dimensiones (por una sencilla cuestión de explosión exponencial), las letras i, j y k suelen ser las únicas relacionadas con este uso. En C se define en el primer parámetro de la instrucción junto con la inicialización (opcional).
Inicialización de la variable de control: en pseudolenguaje se pide explicitarlo (es la sección := ValorInicial), sin embargo, otros lenguajes más permisivos como C no lo requieren de forma obligatoria. De todos modos, la práctica de utilizar variables de control que no se inicializan en el bucle no es recomendada para la legibilidad del código. En C se define en el primer parámetro del bucle junto con la variable de control.
Condición de control: en pseudolenguaje se ve representado por el valor final que puede tomar la variable de control (la sección A ValorFinal). En C es el segundo parámetro y puede ser cualquier condición (ni siquiera es obligación que esté la variable de control, aunque una vez más, esto no se considera una buena práctica).
Incremento: en pseudolenguaje se toma por defecto el valor 1, aunque puede explicitarse por medio de la sentencia PASO = ValorPaso cualquier número entero (léase bien entero, o sea que técnicamente podemos decrementar). En C es el último parámetro.
Cuerpo: es lo que se hará en cada iteración, pueden ser una o más instrucciones. En pseudolenguaje pesa la restricción de no poder alterar el valor de la variable de control; esto no es requerido en C, pero no se considera una buena práctica.
REPETIR:Sintaxis:
repetir
hasta que
fin repetir
El intérprete ejecutará y a continuación evaluará . De resultar falsa, el intérprete vuelve al principio de y repite el mismo proceso. se ejecutará al menos una vez.
Ejemplo:
- Código:
-
declarar variable entera suma
Suma=0
declarar variable entera Entrada
repetir
imprime "Introduce un número"
lee Entrada
Suma=Suma+Entrada
hasta que Suma>100
imprime "La suma de todas las entradas sobrepasa a 100"
Ejecucion del Programa:
EFECUCION 1
REPETIR
PIDE NUMERO:
99#INGRESAMOS UN NUMERO ENTERO
suma=0+99#GUARDA EN SUMA EL VALOR 99
HASTA QUE SUMA>100 #no se cumple entonces entra de nuevo al ciclo
EJECUCION 2
Repetir
PIDE NUMERO
1
SUMA=99+1#ahora suma es 100
hasta que suma >100 #como 100 no es mayor a 100 sino es igual entonces inicia de nuevo el ciclo
EJECUCION 3
REPETIR
PIDE NUMERO
1
SUMA=100+1# SE INGRESA EL VALOR NUEVO + EL VALOR ANTERIOR
HASTA QUE SUMA > 100 # SI SE CUMPLE Y FIN DE CICLO
SE IMPRIME MENSAJE
La suma de todas las entradas sobrepasa a 100
CONTADORTES Y ACUMULADORES
CONTADOR:
Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante cada vez que se produce un determinado suceso o acción. Los contadores se utilizan con la finalidad de contar sucesos o acciones internas de un bucle; deben realizar una operación de inicialización y posteriormente las sucesivas de incremento o decremento del mismo. La inicialización consiste en asignarle al contador un valor. Se situará antes y fuera del bucle.
Representación:
=nombre del contador> +
Si en vez de incremento es decremento se coloca un menos en lugar del más.
Ejemplo: i = i + 1
ejemplo saber la cantidad de hombres y mujeres, esa funcion seria asi:
- Código:
-
si(sexo='m')
contador_de_hombres=contador_de_hombres+1
sino
contador_de_mujeres=contador_de_mujeres+1
ACUMULADOR O TOTALIZADOR :
Es una variable que suma sobre sí misma un conjunto de valores para de esta manera tener la suma de todos ellos en una sola variable. La diferencia entre un contador y un acumulador es que mientras el primero va aumentando de uno en uno, el acumulador va aumentando en una cantidad variable.
Representación: = +
Ejemplo:
Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado. Se desea resolver el problema usando estructura Desde, Mientras y luego Repetir.
1*- realizar un programa que calcule la nomina de una pequeña empresa sabiendo que el empleado gana por comisiones, si tiene hijos gana se le sumara a su sueldo base 100 bs por cada hijo, si es mujer gana el triple de la mitad del doble de su comision y si es hombre gana un 2.5% de su comision ganada.
.::comisiones::.
si realizo de 5 a 9 ventas gana una comision de 10% (0.1)
si realizo de 10 a 19 ventas gana una comision de 20%(0.2)
si realizo de 20 a 29 venta una comision de 30%(0.2)
si realizo mas de 30 ventas gana una comision del 40%(0.4)
.::DEDUCCIONES::.
sso=20%
lph=10%
lpf=5%
.::NOTA HACER ESTE PROGRAMA CON TODOS LOS CICLOS::.
.::AL USAR EL CLICLO REPETIR Y EL CICLO MIENTRAS USAR CONTADOR Y ACUMULADOR PARA QUE DE UN PROMEDIO DE LOS SUELDO CON TODO Y COMISIONES. Y DAR UN TOTAL DE CUANTOS VENDEDORES::.
.::IMPORTANTISIMO TODOS LOS PORCENTAJES DIBIDIRLOS ENTRE 100 PÀRA QUE DE BIEN EL RESULTADO
MANDARME LOS 3 CODIGOS AL CORREO O SUBIRLOS A UN SERVIDOR Y DEJAR EL LINK EN UN MENSAJE DENTRO DEL TEMA, DEBEN DEJAR UN MENSAJE CON TODA DUDA PARA SER ACLARADA