martes, 31 de mayo de 2016

ACUMULATIVO:

El acumulativo se ralizo de forma oral, mi pregunta fue la siguiente:

¿Qué es pseudocódigo según el manual 66 de la página web?
          Rta: El pseudocódigo es una herramienta utilizada para el diseño de programas que permite             al programador expresar sus pensamientos de una forma clara utilizando su lenguaje                       natural y mostrando el orden de ejecución de las sentencias del programa sin ninguna 
            ambigüedad.

sábado, 28 de mayo de 2016

REFUERZO ACUMULATIVO:

Los siguientes ejercicios fueron publicados en la pagina para solucionar las dudas de los estudiantes:

    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.
Solució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 œnicamente. *"
Escribir "* 2. Sumar los dos nœmeros le'dos. *"
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 le'dos."
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 algoritmos que permita realizar la sumatoria de los primeros 100 números utilizando los 3 ciclos (para, repita, mientras)
Solución:
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.
Solución:
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[11]='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.
Solución:
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

martes, 24 de mayo de 2016

PRUEBA SABER:

 Cree un Algoritmo en imprima una factura con los datos necesarios

Algoritmo sin_titulo
Escribir"Ingrese el valor del producto unitario"
Leer Valor
Escribir "Ingrese la cantidad de productos"
Leer cantidad
Escribir "El valor del producto es" "," Valor
Escribir "La cantidad de productos es" "," cantidad
valor_sin_iva= Valor*cantidad
Escribir"El valor del producto sin iva es" "," valor_sin_iva
valor_iva=valor_sin_iva*0.16
Escribir "El valor del iva es" "," valor_iva
Valor_a_cancelar= valor_sin_iva*1.16
Escribir "El valor a cancelar es" "," Valor_a_cancelar
FinAlgoritmo

martes, 17 de mayo de 2016

FACTORIAL:
Ejercicio:
Realice un programa que saque el factorial de cualquier número:
Algoritmo sin_titulo
Escribir "Ingrese un número y el programa calculará su Factorial";
Leer n;
fact<-1
Para i<-1 Hasta n Con Paso 1 Hacer
fact<-fact*i
FinPara
Escribir "El factorial de" " " n " " "es" " " fact;
fin algoritmo

FIBONACCI:
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, ...
¿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

martes, 3 de mayo de 2016

PSEUDOCODIGO

¿QUÉ ES PSEUDOCODIGO?


La importancia de sistematizar procesos y crear programas de cómputo radica esencialmente en que estos se puedan utilizar como resolución de problemas similares en muchos casos, dicho de otra forma: la resolución del problema por medio de un programa informático debe funcionar para el uso de distintas variables y en diferentes lenguajes de cómputo. Esa es principalmente la función de un pseudocódigo.


La resolución de problemas es una tarea únicamente humana comprobable en todos los casos con los mismos resultados. .


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.


Según Analía Lanzillotta: "Considerado como un lenguaje falso, el pseudocódigo es un lenguaje intermedio entre nuestro lenguaje y el de programación, debido a que quien lo utiliza se guía por una serie de normas pero sin llegar a usar una estructura tan rígida como la del lenguaje de programación.

El objetivo al que apunta es que quien lo pone en práctica se centre más en la solución del algoritmo o el diseño de un software que en el programa que utiliza para crearlo. Y esto es posible porque es más fácil de manipular ya que no tiene que tener en mente el lenguaje en sí y además, más fácil de codificar.

Por ejemplo, si alguien tiene que hacer un software con un fin determinado, utiliza un pseudocódigo propio en donde confluyen frases del lenguaje coloquial y algunas palabras de programación, y una vez que se logra concretar el software, se puede pasar al escalón siguiente que es el de la transformación al lenguaje de programación formal que se vaya a utilizar.

De esta manera, al ser un lenguaje intermedio, no tiene una composición estandarizada por lo que no todos los programadores utilizan la misma sintaxis con exactitud. Pero a la vez, como es una herramienta que está un paso previo al lenguaje formal de programación, es fácil de transformar al que será ejecutado en la computadora.

 
CARACTERÍSTICAS Y PARTES:
Las principales características de este lenguaje son: * Se puede ejecutar en un ordenador * Es una forma de representación sencilla de utilizar y de manipular. * Facilita el paso del programa al lenguaje de programación. * Es independiente del lenguaje de programación que se vaya a utilizar. * Es un método que facilita la programación y solución al algoritmo del programa. Todo documento en pseudocódigo debe permitir la descripción de: * Instrucciones primitivas. * Instrucciones de proceso. * Instrucciones de control. * Instrucciones compuestas. * Instrucciones de descripción. Estructura a seguir en su realización: * Cabecera. * Programa. * Modulo. * Tipos de datos. * Constantes. * Variables. * Cuerpo. * Inicio. * Instrucciones. * Fin.
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.

EJEMPLOS
Ejercicio : Se requiere preguntar dos valores, y a continuación ofrecer un menú con las operaciones básicas (+, -, *, /). Después de presentar el resultado se ofrecerá la posibilidad de una nueva operación. Declaración de variables : Real : X, Y, RESPUESTA Entero : OPCION Carácter : OP Inicio Repetir escribir(‘Primer valor : ’ ) leer(X) escribir(‘Segundo valor : ‘) leer(Y) escribir(‘1) Suma ‘) escribir(‘2) Resta ‘) escribir(‘3) Multiplicación ‘) escribir(‘4) División ‘) escribir(‘Qué operación deseas realizar ? : ‘) leer(OPCION) casos OPCION de 1 : RESULTADO X+Y 2 : RESULTADO X-Y 3 : RESULTADO X*Y 4 : si Y=0 entonces escribir(‘ Error ‘) RESULTADO 0 en caso contrario RESULTADO X/Y escribir (‘Resultado : ‘,RESULTADO) escribir(‘Deseas otro cálculo : [S/N] ‘) leer(OP) Hasta que RES = ‘N’ Fin Ejercicio : Preguntar un nombre y repetirse en pantalla tantas veces como se desee. (preguntar cantidad de repeticiones), indicando el número de repetición. Declaración de variables Cadena : nom entero : x, n Inicio escribir(‘Nombre : ‘) leer(nom) escribir(‘Cuántas veces quieres repetirlo ? : ‘) leer(n) para x 1 hasta n hacer escribir(x’.- ‘, nom)
En los siguientes casos, escribir el pseudocódigo que resuelva los siguientes problemas
1. Con  el pseudocódigo que imprima “Hola Mundo”.
2. Con  el pseudocódigo que imprima los primeros 10 números enteros.
3. Con  el pseudocódigo que pida un nombre y que después lo escriba.
4. Con  el pseudocódigo que pida nombre, edad, registro, y calificación y
que después lo escriba.
5. Con pseudocódigo del juego “un volado” con una moneda.
6. Con  pseudocódigo del juego un volado con una moneda.
7. Con  pseudocódigo que imprima los números pares menores a 20.
8. Hacer un pseudocódigo que admita un número y decida si es par o impar.
9.  Hacer un pseudocódigo para calcular las raíces de una ecuación cuadrática en todos sus casos.
10. Hacer un pseudocódigo para decidir si un número es divisible por 3 o no.
11. Hacer un pseudocódigo para decidir si cual número es mayor si el número de vocales o el número de consonantes.
12. Hacer un pseudocódigo que reciba datos de una persona y le de una categoría según el siguiente criterio:
a) Adulto profesionista, si tiene un título y trabajo y tiene entre 20 y 50 años.
b) Adulto desempleado, si no tiene trabajo y tiene entre 20 y 50 años.
c) Joven estudiante, si estudia y tiene entre 15 y 20 años.
d) Joven desempleado, si no estudia y tiene entre 15 y 20 años.
e) Joven empleado, si no tiene título y trabaja, entre 15 y 20 años de edad.
13. Hacer un pseudocódigo que reciba la fecha de nacimiento y te de su signo del Zodiaco.

DESCARGAR PSEUDOCODIGO: http://pseint.sourceforge.net/index.php?page=portada.php

MANUALES DFD

QUÉ ES DFD?
Un diagrama de flujo de datos (DFD sus siglas en español e inglés) es una representación gráfica del flujo de datos a través de un sistema de información. Un diagrama de flujo de datos también se puede utilizar para la visualización de procesamiento de datos (diseño estructurado). Es una práctica común para un diseñador dibujar un contexto a nivel de DFD que primero muestra la interacción entre el sistema y las entidades externas.
Los diagramas de flujo de datos fueron inventados por Larry Constantine, el desarrollador original del diseño estructurado, basado en el modelo de computación de Martin y Estrin: "flujo gráfico de datos" . Los diagramas de flujo de datos (DFD) son una de las tres perspectivas esenciales de Análisis de Sistemas Estructurados y Diseño por Método SSADM. El patrocinador de un proyecto y los usuarios finales tendrán que ser informados y consultados en todas las etapas de una evolución del sistema. Con un diagrama de flujo de datos, los usuarios van a poder visualizar la forma en que el sistema funcione, lo que el sistema va a lograr, y cómo el sistema se pondrá en práctica. El antiguo sistema de diagramas de flujo de datos puede ser elaborado y se comparó con el nuevo sistema de diagramas de flujo para establecer diferencias y mejoras a aplicar para desarrollar un sistema más eficiente. Los diagramas de flujo de datos pueden ser usados para proporcionar al usuario final una idea física de cómo resultarán los datos a última instancia, y cómo tienen un efecto sobre la estructura de todo el sistema. La manera en que cualquier sistema es desarrollado, puede determinarse a través de un diagrama de flujo de datos.
Los niveles de un DFD son:
  • Nivel 0: Diagrama de contexto
  • Nivel 1: Diagrama de nivel superior
  • Nivel 2: Diagrama de detalle o expansión.

Estos son los manuales de uso de DFD
http://www.profmatiasgarcia.com.ar/uploads/tutoriales/Manual_DFD.pdf
http://www.intenalco.edu.co/Manual_2DFD.pdf

Descargar programa:http://dfd.softonic.com/