lunes, 30 de mayo de 2016


[2016-24-05]

CLASE 17:

Se Desarrollaron Algunos ejercicios:




Ejercicio en Pseint:




SEGUNDO EJERCICIO EN Pseint



       

Ejercicios de Repaso Para el Acumulativo:


1. Realizar un programa que le presente un menú al usuario con las siguientes opciones: lo desarrollan todos - 1. Leer dos números enteros positivos únicamente, 2. Sumar los dos números leídos, 3. Restarle al primer número el segundo (siempre y cuando el primero sea mayor que él segundo, en caso contrario indicar con un mensaje que la operación no es posible realizarla y volver al menú principal, 4. Multiplicar los dos números (siempre y cuando ninguno de los números sea igual a cero, en caso contrario indicar con un mensaje que la operación no es posible realizarla y volver al menú principal,), 5. Dividir el primer número dado por el segundo, 6 Salir Nota: Se debe garantizar que el usuario haya ingresado los dos números antes de poder realizar cualquier operación y que no se puede escribir un resultado sin la realización de una operación.



Proceso sin_titulo

numero1 = -1
numero2 = -1
ya_se_digito_los_numeros = "no"
Repetir
Escribir ""
Escribir "****************************************************************"
Escribir "* 1. Leer dos nœmeros enteros positivos unicamente. *"
Escribir "* 2. Sumar los dos nœmeros leidos. *"
Escribir "* 3. Restarle al primer nœmero el segundo. *"
Escribir "* 4. Multiplicar los dos nœmeros. *"
Escribir "* 5. Dividir el primer nœmero dado por el segundo. *"
Escribir "* 6. Salir. *"
Escribir "****************************************************************"
Escribir ""
Leer opciones
Escribir ""
Segun opciones Hacer
1:
Escribir ""
Escribir "1. Leer dos nœmeros enteros positivos œnicamente."
Escribir ""
Escribir "Digite el Primer Numero"
Leer numero1
Escribir "Digite el Segundo Numero"
Leer numero2
ya_se_digito_los_numeros = "no"
Si numero1 > 0 Entonces
Si numero2 > 0 Entonces
ya_se_digito_los_numeros = "si"
Sino
numero1 = -1
numero2 = -1
Escribir "Hace falta digitar un numero entero Positivo en el Segundo Valor"
Fin Si
Sino
numero1 = -1
numero2 = -1
Escribir "Hace falta digitar un numero entero Positivo en el Primer Valor"
Fin Si
2:
Escribir ""
Escribir "2. Sumar los dos nœmeros leidos."
Escribir ""
Si ya_se_digito_los_numeros = "si" Entonces
Escribir "Suma de los dos numeros = ( " numero1 " + " numero2 " = " ( numero1 + numero2 ) " )"
Sino
Escribir ""
Escribir "****************************************************************"
Escribir "* Hace falta digitar los dos numeros *"
Escribir "****************************************************************"
Escribir ""
Fin Si
3:
Escribir ""
Escribir "3. Restarle al primer nœmero el segundo."
Escribir ""
Si ya_se_digito_los_numeros = "si" Entonces
Si numero1 > numero2 Entonces
Escribir "Resta de los dos numeros = ( " numero1 " - " numero2 " = " ( numero1 - numero2 ) " )"
Sino
Escribir "La operaci—n no es posible realizarla."
Fin Si
Sino
Escribir ""
Escribir "****************************************************************"
Escribir "* Hace falta digitar los dos numeros *"
Escribir "****************************************************************"
Escribir ""
Fin Si
4:
Escribir ""
Escribir "4. Multiplicar los dos nœmeros."
Escribir ""
Si ya_se_digito_los_numeros = "si" Entonces
Si numero1 > 0 Entonces
Si numero2 > 0 Entonces
Escribir "Multiplicacion de los dos numeros = ( " numero1 " * " numero2 " = " ( numero1 * numero2 ) " )"
Sino
Escribir "No se puede Multiplicar porque el Segundo Numero es Cero."
Fin Si
Sino
Escribir "No se puede Multiplicar porque el Primer Numero es Cero."
Fin Si
Sino
Escribir ""
Escribir "****************************************************************"
Escribir "* Hace falta digitar los dos numeros *"
Escribir "****************************************************************"
Escribir ""
Fin Si
5:
Escribir ""
Escribir "5. Dividir el primer nœmero dado por el segundo."
Escribir ""
Si ya_se_digito_los_numeros = "si" Entonces
Si numero2 <> 0 Entonces
Escribir "Division de los dos numeros = ( " numero1 " / " numero2 " = " ( numero1 / numero2 ) " )"
Sino
Escribir "No se puede Dividir porque el Segundo Numero es Cero."
Fin Si
Sino
Escribir ""
Escribir "****************************************************************"
Escribir "* Hace falta digitar los dos numeros *"
Escribir "****************************************************************"
Escribir ""
Fin Si
6:
Escribir ""
Escribir "****************************************************************"
Escribir "* HASTA LUEGO. *"
Escribir "****************************************************************"
Escribir ""
De Otro Modo:
Escribir ""
Escribir "****************************************************************"
Escribir "* Opcion No VALIDA. *"
Escribir "****************************************************************"
Escribir ""
Fin Segun
Hasta Que opciones = 6
FinProceso

2. Desarrollar un algoritmo que permita realizar la sumatoria de los primeros 100 números utilizando los 3 ciclos (para, repita, mientras).





Proceso sin_titulo

cantidad_de_numeros = 100
suma = 0
Para i<-0 Hasta cantidad_de_numeros Con Paso 1 Hacer
suma = suma + i
Fin Para
Escribir ""
Escribir "CICLO FOR -> Sumatoria de los primeros " cantidad_de_numeros " es = " suma
Escribir ""
suma = 0
i = 0
Repetir
i = i + 1
suma = suma + i
Hasta Que i > ( cantidad_de_numeros - 1)
Escribir ""
Escribir "CICLO REPETIR HASTA -> Sumatoria de los primeros " cantidad_de_numeros " es = " suma
Escribir ""
suma = 0
i = 0
Mientras i < cantidad_de_numeros Hacer
i = i + 1
suma = suma + i
Fin Mientras
Escribir ""
Escribir "CICLO HACER MIENTRAS -> Sumatoria de los primeros " cantidad_de_numeros " es = " suma
Escribir ""
FinProceso

3. Cree un algoritmo que capture un mes en números y el software muestre un mensaje que indique cuantos días tiene ese mes. Ejemplo: si se digita "07", el algoritmo debe mostrar "Julio, tiene treinta un días". El algoritmo debe también advertir que si se trata de febrero tiene 28 días, pero si el año fuera bisiesto tendría 29.






Proceso sin_titulo
Dimension mes[12]
mes[1]='Enero'
mes[2]='Febrero'
mes[3]='Marzo'
mes[4]='Abril'
mes[5]='Mayo'
mes[6]='Junio'
mes[7]='Julio'
mes[8]='Agosto'
mes[9]='Septiembre'
mes[10]='Octubre'
mes[11]='Noviembre'
mes[12]='Diciembre'
Escribir "Digite un numero entre 1 y 12"
Leer n
es_bisiesto = ""
Si (n>=1) && (n<=12) Entonces
Segun n Hacer
1, 3, 5, 7, 8, 10, 12:
maximo_dia_mes = 31
2:
maximo_dia_mes = 28
es_bisiesto = ", pero si fuera A–o Bisiesto tendria 29 dias."
4, 6, 9, 11 :
maximo_dia_mes = 30
Fin Segun
Escribir mes[n] " tiene " maximo_dia_mes " dias " es_bisiesto
Sino
Escribir "Debe digitar un valor de mes entre 1 y 12"
Fin Si
FinProceso

4. Se requiere que solo con la utilización de ciclos y condicionales, usted pueda convertir un número decimal < a 5000 a número Romano.

Proceso sin_titulo
Escribir "Digite un numero entre 1 y 5000"
Leer decimal
Si (decimal>=1) && (decimal<=5000) Entonces
Escribir "********* Conversion a Romano *********"
Dimension unidad[10]
DImension decenas[10]
Dimension centenas[10] 
Dimension miles[6] 
unidad[1]=''
unidad[2]='I'
unidad[3]='II'
unidad[4]='III'
unidad[5]='IV'
unidad[6]='V'
unidad[7]='VI'
unidad[8]='VII'
unidad[9]='VIII'
unidad[10]='IX'
decenas[1]=''
decenas[2]='X'
decenas[3]='XX'
decenas[4]='XXX'
decenas[5]='XL'
decenas[6]='L'
decenas[7]='LX'
decenas[8]='LXX'
decenas[9]='LXXX'
decenas[10]='XC'
centenas[1]=''
centenas[2]='C'
centenas[3]='CC'
centenas[4]='CCC'
centenas[5]='CD'
centenas[6]='D'
centenas[7]='DC'
centenas[8]='DCC'
centenas[9]='DCCC'
centenas[10]='CM'
miles[1]=''
miles[2]='M'
miles[3]='MM'
miles[4]='MMM'
miles[5]='[IV]'
miles[6]='[V]'
miles_= trunc(decimal/1000) MOD 10
centenas_= trunc(decimal/100) MOD 10
decenas_= trunc(decimal/10) MOD 10
unidades_= decimal MOD 10
Escribir miles[miles_+1] centenas[centenas_+1] decenas[decenas_+1] unidad[unidades_+1]
Sino
Escribir "Lo siento solo sirve la conversion entre numeros de 1 a 5000"
Fin Si
FinProceso


CICLO REPETIR....HASTA

A diferencia del ciclo mientras, el ciclo repetir-hasta ejecuta al menos una vez las sentencias definidas en el cuerpo del ciclo, pues la verificación para continuar o no en el ciclo se realiza al final, como puede apreciarse en la sintaxis:


  1. repetir
  2. sentencias...
  3. hasta ( condición_de_fin )

Debemos observar que la condición de fin va entre paréntesis.

Si bien esta forma de ciclo es utilizado con menor frecuencia que el ciclo mientras, hay situaciones en las que con él, el algoritmo resultante es más sencillo y directo.



CICLO MIENTRAS:

Esta estructura nos permite repetir un bloque de instrucciones con una condición y se repite siempre en cuanto esta condición sea verdadera, sino no entra al ciclo mientras.
La estructura es la siguiente:

INICIO.
INSTRUCCIÓN 1
MIENTRAS( CONDICIÓN LÓGICA) HAGA
INSTRUCCIÓN 2
INSTRUCCIÓN 3
FIN MIENTRAS
INSTRUCCIÓN 4
FIN

El ciclo mientras (while) tiene que tener su final y salirse de él, tiene un límite y su límite es hasta que la condición ya no se cumpla, es decir que sea falsa.

TOMADO DE:http://wwwalgoritmos-jesus.blogspot.com.co/2011/05/estructura-mientras.html

lunes, 23 de mayo de 2016



[2016-17-05]

CLASE 16:


CICLO FOR: 
                      Este tipo de ciclos se utiliza cuando Tenemos conocimiento de la Población.

                      Este ciclo avanza automáticamente de 1 en 1.


DATOS IMPORTANTES:     Suma: Arranca en 0

                                              Multiplicación: Arranca en 1











NÚMEROS FACTORIALES:

La función factorial (símbolo: !) sólo quiere decir que se multiplican una serie de números que descienden. Ejemplos:



  • 4! = 4 × 3 × 2 × 1 = 24
  • 7! = 7 × 6 × 5 × 4 × 3 × 2 × 1 = 5040
  • 1! = 1
Es fácil calcular un factorial desde el valor anterior:


nn!  
1111
22 × 1= 2 × 1!= 2
33 × 2 × 1= 3 × 2!= 6
44 × 3 × 2 × 1= 4 × 3!= 24
55 × 4 × 3 × 2 × 1= 5 × 4!= 120







LISTA DE ALGUNOS FACTORIALES:


nn!
01
11
22
36
424
5120
6720
75.040
840.320
9362.880
103.628.800
1139.916.800
12479.001.600
136.227.020.800
1487.178.291.200
151.307.674.368.000
1620.922.789.888.000
17355.687.428.096.000
186.402.373.705.728.000
19121.645.100.408.832.000
202.432.902.008.176.640.000
2151.090.942.171.709.400.000
221.124.000.727.777.610.000.000
2325.852.016.738.885.000.000.000
24620.448.401.733.239.000.000.000
2515.511.210.043.331.000.000.000.000



TOMADO DE:   
http://www.disfrutalasmatematicas.com/numeros/factorial.html


EJERCICIOS:


5!: 120 =   ( 1 * (2 )* (3) * (4) * 5 ( Variable)  
                       2     6      24   120

Factorial: = 1,1,2,6,24 , 120.
n =  5
X =  1, 2, 3, 4, 5, 6







NÚMEROS FIBONACCI:


 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,  etc....

La sucesión de Fibonacci es la sucesión de números:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ...
Cada número se calcula sumando los dos anteriores a él.

  • El 2 se calcula sumando (1+1)
  • Análogamente, el 3 es sólo (1+2),
  • Y el 5 es (2+3),
  • ¡y sigue!

Ejemplo: el siguiente número en la sucesión de arriba sería (21+34) = 55
¡Así de simple!
Aquí tienes una lista más larga:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, ...


Ejercicio:






Se realizó Evaluación sobre Algoritmos:





Explicación sobre algunos otros ejercicios: