domingo, 26 de abril de 2015

EJERCICIO CICLO MIENTAS Y CICLO PARA semana 9

EJERCICIO CICLO MIENTRAS





















CICLO PARA


DEFINICIÓN

El CICLO PARA permite la ejecución repetida de un conjunto de acciones. El número de veces que el bloque es ejecutado está determinado por los valores que puede tomar una variable contadora (de tipo entero), en un rango definido por un límite inferior (inclusive) y un límite superior (inclusive). Después de ejecutar el bloque de acciones en cada iteración, la variable contadora es incrementada en uno (1) automáticamente y en el momento en que la variable sobrepasa el límite superior el ciclo termina.

La principal diferencia de un bucle PARA con respecto a los bucles MIENTRAS y repetitivos , es que puede determinarse al comienzo del bucle cuántas veces se iterará el mismo, lo que muchas veces puede redundar en una optimización del código por parte de los compiladores. Los condicionales constituyen junto con los bucles los pilares de la programación estructurada, y su uso es una evolución de una sentencia de lenguaje ensamblador que ejecutaba la siguiente línea o no en función del valor de una condición.
ESTRUCTURA

PARA id DESDE v_inicial HASTA v_final CON_VARIACION [variable o constante]
Instrucciones
Fin(PARA)


Ejemplo 1
       Algoritmo muestra_numeros
                       Variables:
                                  i: entero
                       INICIO
                                  PARA i DESDE 1 HASTA 10 CON_VARIACION +1
                                                ESCRIBA(i)
                                  Fin(PARA)
                         FIN
                  Fin(muestra_numeros)

Ejemplo 2
        Algoritmo muestra_numeros
                            Variables:
                                      i: entero
                            INICIO
                                 PARA i DESDE 1 HASTA 10 CON_VARIACION +2
                                        ESCRIBA(i)
                                Fin(PARA)
                            FIN
                      Fin(muestra_numeros)

Ejemplo 3
            Algoritmo muestra_numeros
                                           Variables:
                                                    i: entero
                                           INICIO
                                                PARA i DESDE 10 HASTA 1 CON_VARIACION -1
                                                            ESCRIBA(i)
                                                Fin(PARA)
                                            FIN

                                      Fin(muestra_numeros)


APLICACION
Su uso principal se orienta a los vectores, pudiendo modificar, agregar, eliminar o consultar datos que se encuentren según el índice. Por esto último, una condición mínima del vector es que debe ser ordenado, por que si se intenta leer un dato inexistente, esto genera un error de programación.
Tomado de: http://es.wikipedia.org/wiki/Bucle_for

REFERENCIAS
https://eperdomo89.wordpress.com/2009/08/12/dfd-clase11-%E2%80%93-ciclo-para/
http://www.virtual.unal.edu.co/cursos/ingenieria/2001839/modulo3/cap_04/leccion_4.html

Lo anterior se realizo con la ayuda de las notas obtenidas en clase del siguiente link:
 http://www.wiziq.com/online-class/2347661-iav-304-algoritmos-y-programaci%C3%B3n

EJERCICIOS CICLO MIENTRAS semana 8

Ejercicio 1

Elabore un algoritmo que indique si un numero es un numero primo.
Nota:Un numero primo e aquel  numero entero que solo es divisible por el mismo y por la unidad.






















2. Un profesor desea registrar las notas obtenidas por 20 de sus estudiantes, discriminando si son hombres o mujeres.
Se requiere un programa que capture la nota y el sexo (1 para hombres y 2 para mujeres) y realice un promedio para cada uno de los tipos. Al final debe indicar cuál de los dos (hombres o mujeres) tuvo un mejor desempeño 

 Algoritmo notas

                Variables
                         nota, promedioh, promediom, acumh, acumm: reales
                         sexo, numest, conth, contm: entero

              INICIO
                        numest=20
                        i=1 
                       acumh=0
                       acumm=0
                       conth=0
                       contm=0
                       MIENTRAS i<=numest
                                   ESCRIBA(“Ingrese la nota y el sexo”)
                                   LEA(nota, sexo)
                                  SI sexo==1
                                               acumh= acumh+ nota
                                               conth=conth+1
                                   DE_LO_CONTRARIO
                                              acumm= acumm+nota
                                              contm=contm+1
                                   Fin(SI)
                      Fin(MIENTRAS)
                      Promedioh=acumh/conth
                      Promediom=acumm/conth
                      SI promedio>promediom
                             ESCRIBA(“Los hombres son mejores”)
                     DE_LO_CONTRARIO
                            SI promedio > promedioh
                                    ESCRIBA(“Tienen un desempeño igual”)
                         Fin (SI)
                   Fin (SI)
             FIN

Fin (notas)

3. Un ama de casa requiere comprar 15 productos. Realizar un algoritmo que capture el precio  de cada producto y al final indique cuantos productos costaron menos de 10000 y 10000 o más. Además debe indicar el total de la compra.

4. Elabore un programa que imprima la tabla de multiplicar de un numero  que se pida  y vaya desde el 1 hasta el 10.

















Estos  algoritmo son aplicables en situaciones reales,en situaciones y necesidades que se presentan en la vida cotidiana a ejemplo de esto están los anteriores ejercicios.

REFERENCIAS:
https://eperdomo89.wordpress.com/2009/08/09/dfd-clase10-%E2%80%93-ejercicios-de-aplicacion-iv/
https://www.youtube.com/watch?v=rLxBLmM7y2o
http://tecnosite.freeiz.com/index.php/programacion/dfd?showall=&start=1
Lo anterior fue realizado con la ayuda de las notas obtenidas  en la  clase dictada en el siguiente link
 http://www.wiziq.com/online-class/2347661-iav-304-algoritmos-y-programaci%C3%B3n










martes, 14 de abril de 2015

CICLO MIENTRAS semana 7

CICLO MIENTRAS







Gráfica 1

Ejemplo del carro.

Un carro está en una carrera de “n” vueltas (grafica 1). Dicha carrera la inicio  con k cantidad gasolina medida en galones. Se desea saber con cuanta gasolina quedo el carro al terminar la carrera. 







Solución:






























Solución:
Algoritmo_suma
             Variables:
                        n, suma: enteros
INICIO
            i=1
            suma=0
            ESCRIBA(“ingrese el valor de n”)
            LEA(n)
            MIENTRAS i<=n
                        suma = suma + i
                        i= i +1
            Fin (MIENTRAS)
            ESCRIBA(“la suma de los valores es:”,suma)
FIN
Fin(suma).

PRUEBA ESCRITORIO

"La prueba de escritorio no es más que efectuar un proceso de simulación con el algoritmo desarrollado (ver que haría la computadora). Este trabajo se realiza en base a una tabla cuyos encabezados son las variables que se usan en el algoritmo y debajo de cada una de ellas se van colocando los valores que van tomando, paso a paso y siguiendo el flujo indicado por el algoritmo, hasta llegar al final" [1].
[1] Tomado de http://hustariz.cs.umss.edu.bo/algPruEscr.htm















Solución:
algoritmo fibonacci
               variables:
                        i,n,f1,f2,aux: entero
            INICIO
                        ESCRIBA("Ingrese el valor de n - el valor de n debe ser mayor que 2")
                        LEA(n)
                        f1 = 0
                        f2 = 1
                        i = 1
                        MIENTRAS  i <= n
                                   SI i==1
                                               ESCRIBA(f1)
                                    Fin(SI)
                                   SI i == 2
                                               ESCRIBA(f2)
                                   Fin(SI)
                                   SI i > 2
                                               aux = f2
f2 = f2 + f1
                                               f1 = aux
                                               ESCRIBA(f2)
                                   Fin(SI)
                                   i = i + 1
                        Fin(MIENTRAS)
            FIN
Fin(fibonacci).

La variable aux, retiene el valor parcial de F2 para luego asignárselo a F1 a medida que i va cambiando o aumentando, es decir  aux retiene parcialmente el primer valor de F2 y cuando este pasa al siguiente valor F1 pasa al primer valor de F2 el cual está guardado en aux, y así sucesivamente hasta llegar a la cantidad n deseada. Nota: aux cambia conforme cambia F2 por ende igualmente cambia F1,  de allí que aux=F2,  F1 =aux quiere decir que F1 toma la posición o valor en el que estaba F2 y F2 toma el valor en el que está (F2) más el valor de F1 (F2=F2+F1).
Entonces:
Aux=F2………se da la orden de que aux guarde el valor de F2
F2=F2+F1…….se da la orden de que F2 cambie de valor, el cual es el valor en el que está más el valor en el que esta F1.
F1= aux…….se la da la orden a F1 que tome el valor en el que estaba F2.
Y de esta forma las variables van cambiando con un orden con forme cambia i  hasta n números.

El actual blog fue realizado con la ayuda de las notas tomadas en clase  del siguiente link:
Tutor: Anger Rey, Universidad de Antioquia.