martes, 17 de mayo de 2016

Números fibonacci y factorial

NUMEROS FIBONACCI Y FACTORIAL

En matemáticas, la sucesión de Fibonacci (a veces llamada erróneamente serie de Fibonacci) es la siguiente sucesión infinita de números naturales:
 1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597

La espiral de Fibonacci: una aproximación de la espiral áurea generada dibujando arcos circulares conectando las esquinas opuestas de los cuadrados ajustados a los valores de la sucesión;1 adosando sucesivamente cuadrados de lado 0, 1, 1, 2, 3, 5, 8, 13, 21 y 34.
La sucesión comienza con los números 0 y 1,2 y a partir de estos, «cada término es la suma de los dos anteriores», es la relación de recurrencia que la define.

A los elementos de esta sucesión se les llama números de Fibonacci. Esta sucesión fue descrita en Europa por Leonardo de Pisa, matemático italiano del siglo XIII también conocido como Fibonacci. Tiene numerosas aplicaciones en ciencias de la computación, matemáticas y teoría de juegos. También aparece en configuraciones biológicas, como por ejemplo en las ramas de los árboles, en la disposición de las hojas en el tallo, en las flores de alcachofas y girasoles, en las inflorescencias del brécol romanesco y en la configuración de las piñas de las coníferas.
a 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, ...
¿Puedes encontrar los siguientes números?

La regla

La sucesión de Fibonacci se puede escribir como una "regla" (lee sucesiones y series):
la regla es xn = xn-1 + xn-2
donde:
  • xn es el término en posición "n"
  • xn-1 es el término anterior (n-1)
  • xn-2 es el anterior a ese (n-2)
Por ejemplo el sexto término se calcularía así:
x6 = x6-1 + x6-2 = x5 + x4 = 5 + 3 = 8


Factorial !

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

"4!" normalmente se pronuncia "4 factorial". También se puede decir "factorial de 4"

Calculando desde el valor anterior

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
6etcetc 

Ejemplo: ¿Cuánto es 10! si ya sabes que 9!=362.880 ?

10! = 10 × 9!
10! = 10 × 362.880 = 3.628.800
Así que la regla es:
n! = n × (n-1)!
lo que significa "el factorial de cualquier número es: el número por el factorial de (1 menos que el número", por tanto 10! = 10 × 9!, o incluso 125! = 125 × 124!

Qué pasa con "0!"

El factorial de cero es interesante... se suele estar de acuerdo en que 0! = 1.
Parece raro que no multiplicar ningún número dé 1, pero ayuda a simplificar muchas cuestiones.

¿Dónde se usa el factorial?

Los factoriales se usan en muchas áreas de las matemáticas, pero sobre todo en combinaciones y permutaciones

Una pequeña lista

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
¡Como ves, crecen muy rápido!

Algunas valores muy grandes

70! es aproximadamente 1,1978571669969891796072783721 x 10100, que es un poco más grande que un Gúgol (un 1 seguido de 100 ceros).
100! es aproximadamente 9,3326215443944152681699238856 x 10157
200! es aproximadamente 7,8865786736479050355236321393 x 10374

¿Y los decimales?

¿Puedes calcular factoriales de 0,5 o -3,217?
¡Sí que puedes! Pertienes que usar algo que se llama "función Gamma", y que es mucho más complicado que lo que tratamos aquí.

Factorial de un medio

Lo que sí te puedo decir es que el factorial de un medio (½) es la mitad de la raíz cuadrada de pi = (½)√π, y que los factoriales de algunos "semienteros" son:
nn!
(-½)!√π
(½)!(½)√π
(3/2)!(3/4)√π
(5/2)!(15/8)√π
Y todavía complen la regla deque "el factorial de un número es: el número por el factorial de (1 menos que el número)", por ejemplo
(3/2)! = (3/2) × (1/2)!
(5/2)! = (5/2) × (3/2)!o 

martes, 10 de mayo de 2016

Ciclo for

Ciclo for 
El ciclo For es una de las instrucciones mas sencillas de aprender, y consiste en utilizar mayormente “rangos” en los cuales se define el numero de iteraciones que se pueden hacer en este ciclo.

Declaración y sintaxis

La sintaxis es la siguiente:
1for(inicio;mientras;incremento)
2{
3 //CODIGO A EJECUTAR
4}

Donde el inicio es la declaración de una variable que funciona como un “contador” mientras ejecutamos el ciclo. Continuamente el “mientras” especifica los valores o el rango de valores que puede tomar el contador de “inicio” y el “incremento” especifico cuanto se va a incrementar el contador con cada iteración, lo que indicaría que eventualmente el contador saldría de su posible rango de valores y terminaría el ciclo.
El bucle for o ciclo for es una estructura de control en la que la PC nos muestra el como programar si es que nosotros queremos programar un robot B-bot , en este se puede indicar el modo en la que se puede indicar el número mínimo de iteraciones. Está disponible en casi todos los lenguajes de programación imperativos.

Elementos del bucle


  • 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.'Variable de control': prácticamente un mandato impuesto por el uso habitual es utilizar la letra i Iterador 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).
  • 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.


En dfd


2.CiCLO FOR 

- Se realizo la primera evaluacion del segundo periodo.

martes, 3 de mayo de 2016

Pseudocódigo,Ejercicios

Pseudocódigo


El pseudocódigo (o falso lenguaje) es comúnmente utilizado por los programadores para omitir secciones de código o para dar una explicación del paradigma que tomó el mismo programador para hacer sus códigos, esto quiere decir que el pseudocódigo no es programable sino facilita la programación.

El principal objetivo del pseudocódigo es el de representar la solución a un algoritmo de la forma más detallada posible, y a su vez lo más parecida posible al lenguaje que posteriormente se utilizará para la codificación del mismo

El pseudocódigo utiliza para representar las acciones sucesivas palabras reservadas en inglés (similares a sus homónimos en los lenguajes de programación), tales como star,begin, end, stop, if-then-else, while, repeat-until….etc
Es un lenguaje de especificación de algoritmos. El uso de tal lenguaje hace el paso de codificación final (esto es, la traducción a un lenguaje de programación) relativamente fácil.

El pseudocódigo nació como un lenguaje similar al inglés y era un medio representar básicamente las estructuras de control de programación estructurada. Se considera un primer borrador, dado que el pseudocódigo tiene que traducirse posteriormente a un lenguaje de programación. Cabe señalar que el pseudocódigo no puede ser ejecutado por una computadora.

Instrucción
Significado
algoritmo nombre          
Marca el comienzo de un algoritmo y le adjudica un nombre
Inicio      
Marca el comienzo de un bloque de instrucciones
fin          
Marca el final de un bloque de instrucciones
variables

nombre_var es tipo_de_datos 
Declaración de variables. Indica el identificador y el tipo de las variables que se van a usar en el algoritmo
constantes

nombre_const = expresión        
Declaración de constantes. La expresión se evalúa y su resultado se asigna a la constante. Este valor no puede modificarse a lo largo del programa.
leer (variable)
Entrada de datos. El programa lee un dato desde un dispositivo de entrada (si no se indica otra cosa, el teclado), asignando ese dato a la variable
escribir (variable)
Salida de datos. Sirve para que el programa escriba un dato en un dispositivo de salida (si no se indica otra cosa, la pantalla).
variable = expresión
Asignación. La expresión se evalúa y su resultado es asignado a la variable
si (condición) entonces
inicio
acciones-1
fin
si_no
inicio
acciones-2
fin
Instrucción condicional doble. El ordenador evaluará la condición, que debe ser una expresión lógica. Si es verdadera, realiza las acciones-1, y, si es falsa, las acciones-2.Instrucción condicional simple. Es igual pero carece de la rama “si_no”, de modo que, si la expresión de falsa, no se realiza ninguna acción y la ejecución continúa por la siguiente instrucción
según (expresión) hacer
inicio
valor1: acciones-1
valor2: acciones-2
valor3: acciones-N
si_no: acciones-si_no
fin
Instrucción condicional múltiple. Se utiliza cuando hay más de dos condiciones posibles (verdadero o falso) . Se evalúa la expresión, que suele ser de tipo entero, y se busca un valor en la lista valor1, valor2,… valorN que coincida con ella, realizándose las acciones asociadas al valor coincidente.Si ningún valor de la lista coincide con la expresión del “según”, se realizan las acciones de la parte “si_no”.
mientras (condición) hacer
inicio
acciones
fin
Bucle mientras. Las acciones se repiten en tanto la condición, que debe ser una expresión lógica, sea verdadera. La condición se evalúa antes de entrar al bloque de acciones, de modo que pueden no ejecutarse ninguna vez.
repetir
inicio
acciones
fin
mientras que (condición)
Bucle repetir. Las acciones se repiten en tanto que la condición, que debe ser una expresión lógica, sea verdadera. Se parece mucho al anterior, pero la condición se evalúa al final del bucle, por lo que éste se ejecuta, como mínimo, una vez
para variable desde expr-ini hasta expr-fin hacer
 inicio
 acciones
 fin
Bucle para. Se evalúa la expresión expr-ini, que debe ser de tipo entero, y se asigna ese valor a la variable. Dicha variable se incrementa en una unidad en cada repetición de las acciones. Las acciones se repiten hasta que la variable alcanza el valor expr-fin.



Tomado de:http://informaticabachilleratoitea.blogspot.com.co/p/pseudocodigo.html
CORRECCION DE EJERCICIOS Y ACLARACION DE DUDAS
1. Algoritmo que te pregunta tu nombre y a continuación te saluda.

1SALUDO

Algoritmo ALG
      Escribir N;
      Leer N;
      escribir 'hola',N;
FinAlgoritmo

2. Algoritmo que lee dos números y escribe el mayor de ellos.

2 NUMERO MAYOR
     
Algoritmo ALG
      Leer a,b
      Si a>b Entonces
            Escribir 'el numero mayor es',a
      Sino
            Escribir 'el numero mayor es',b
      Fin Si
FinAlgoritmo

3. Algoritmo que lee dos numeros y realiza las operaciones básicas: suma, resta, multiplicar y dividir.

3 OPERACIONES BASICAS

Algoritmo alg
      Escribir 'las cuatro operaciones basicas'
      Escribir 'ingrese el primer valor'
      Leer a
      Escribir 'ingrese el segundo valor'
      Leer  b
      c<-a+b
      Escribir 'la suma es',c
      d<-a-b
      Escribir 'la resta es',d
      e<-a*b
      Escribir 'la multiplicaciones',e
      f<-a/b
      Escribir 'la divisiones',f
     
FinAlgoritmo
4. Algoritmo que lee 3 números y si el primero es positivo, calcula el producto de los otros dos, si no calcula la suma.

4SUMA O MULTIPLICACION

Algoritmo ALG
      Escribir 'Ingrese el primer valor'
      Leer a
      escribir' Ingrese el segundo valor'
      leer b
      escribir 'Ingrese el tercer valor'
      leer c
      Si a>0 Entonces
            P<-b+c
            Escribir P
      Sino
            N<-b*c
            escribir N
      Fin Si
     
FinAlgoritmo 
5. Algoritmo que lee un número e imprime si dicho número es positivo, negativo.
5POSITIVO O NEGATIVO
Algoritmo ALG
      Escribir'ingrese el valor'
      leer a
      Si a>0 Entonces
            Escribir 'positivo'
      Sino
            Escribir 'negativo'
      Fin Si
     
FinAlgoritmo
6. Algoritmo que calcula el área de un triangulo. A = ( b x h ) / 2

6 AREA DEL TRIANGULO

Algoritmo ALG
      Escribir 'Ingrese la altura'
      leer h
      escribir 'ingrese la base'
      leer b
      area<-b*h/2
      escribir 'el area es', area
     
FinAlgoritmo

7. Algoritmo que calcula la Conversión Fahrenheit a Celsius. C = ( F - 32 ) x ( 5 / 9 ) 
7FARENHEIT A CELSIUS
Algoritmo ALG
      Escribir'ingrese los grados Farenheit'
      leer F
      C<-(F-32)*(5/9)
      Escribir F,'Farenheit equivalen a',C,'Celsius'
FinAlgoritmo
 8. Algoritmo que calcula la Conversión Celsius a Fahrenheit . F = C x ( 9 / 5 ) + 32.
8 CELSIUS A FARENHEIT

Algoritmo ALG
      Escribir 'Ingrese los Grados Celsius'
      Leer C
      F<-C*(9/5)+32
      Escribir C,'Celsius equivalen a',F,'Farenheit'
     
FinAlgoritmo
9. Algoritmo que lee una nota definitiva del periodo e imprime si paso o no la materia. Se pasa la materia con una nota >= 70.
9APROBO O NO APROBO
Algoritmo ALG
      Escribir 'Ingrese su nota'
      Leer N
      Si n>=70 Entonces
            Escribir 'APROBO'
      Sino
            Escribir 'NO APROBO'
      Fin Si
     
FinAlgoritmo 
10. Algoritmos leer el valor de un producto cualquiera y calcular el iva del producto, imprimir sólo el valor del iva y el valor del producto con iva.

10 IVA

Algoritmo ALG
      Escribir'Ingrese el valor del cual quiere conocer el iva'
      Leer V
      Iva<-V*0.16
      Escribir Iva,'es el valor añadido'
      IVAV<-V*1.16
      Escribir 'Por lo tanto el valor masiva es de',IVAV
     
FinAlgoritmo