Translate-Traducir

1/6/16

Escribir un algoritmo-programa y crear un menu en python

Escribir un algoritmo-programa y crear un menu en python usando un bucle while que haga lo siguiente:
Mostrar el factorial de un numero en python
Mostrar la suma progresiva de un numero en python
Mostrar numero primo en python
Los cálculos hacerlos definiendo funciones en python
Este es un ejemplo de examen de programacion en python en el que tiene incluido (menu while funciones)de duracion de 1 hora.

Hacer click en las imágenes para  hacerlas grandes




def hacer_a():

suma=0

a=int(input("Introduzca un numero "))

print(" ")

for i in range (1,a+1):

print("+",i,"",end="")

suma=suma+i #cada vez que pase por i se sumara Ej a=5 entonces el rango ira (1,2,3,4,5)

print(" La suma es ",suma) #suma=0+ i=1 entonces 0+1=1 ahora suma=1 y i=2 entonces 1+2=3 ahora suma=3 y i=3 entonces 3+3=6 etc





def hacer_b():

facto=1

b=int(input("Introduzca un numero "))

print(" ")

for i in range (1,b+1):

print("*",i,"",end="")

facto=facto*i

print(" El factorial de ",b," es ",facto)



def hacer_c():

numero = int(input("introduzca un numero ")) #Un numero primo es el que se divide entre la unidad osea 1 y entre si mismo ( solo se divide solo 2 veces)

print(" ")

vecesquesedivide = 0 #Aqui hacemos un contador cada vez que se divida por el for de abajo

verificar= True

for i in range(1,numero+1):#Aqui es una serie de divisiones entre el numero introducido y todos los numeros antes de el hasta llegar a el mismo.

if (numero% i)==0:

vecesquesedivide = vecesquesedivide + 1

if vecesquesedivide >= 3 : #Aqui si se divide mas o igual a 3 veces ya no es un numero primo Ej 15

verificar=False # en un rango (1,15)

break #se divide 15/1=15;15/3=5;15/5=3; 15/15=1 entonces no es un numero primo por que es divisible ente 1,3,5,15



if numero<2:

verificar=False

print("el numero" ,numero,"no es un numero compuesto")

if numero<0:

verificar=False

print("No hay numeros primos con signo negativo ")

if vecesquesedivide==2 or verificar==True:

print ("El numero",numero," es primo")





else:

print ("El numero" ,numero,"no es primo")







def menu():



opcion=0

while(opcion!=4):

print("----------------------------------------------------------------------")

print("PROCESO DE UN NUMERO ,SUMATORIO,FACTORIAL O COMPROBAR SI ES PRIMO ")

print("----------------------------------------------------------------------")

print("1.- SUMATORIO ")

print("2.- FACTORIAL")

print("3.- SABER SI ES PRIMO ")

print("4.- SALIR ")

print("----------------------------------------------------------------------")

opcion=int(input("ELIJE UNA OPCION "))



if(opcion==1):

hacer_a()

if(opcion==2):

hacer_b()

if(opcion==3):

hacer_c()



Aquí les dejo un link  poema costumbrista de mi pueblo

25/5/16

Calculadora html JavaScript



Calculadora Html y JavaScript bueno después de mucho tiempo ya era hora de hacer un nuevo post
en este caso les traigo una calculadora  html y javascript (ojo javascript no es igual que java)
aunque la lógica es igual para todos los lenguajes de programación la sintaxis varia de un lenguaje a otro.

1.-PARTE VISUAL:
Para que se vean los botones de la calculadora y la pantalla donde se insertan los números ,osea la parte visual usamos html (form,table,div,input etc...)
Lo primero  es crear el formulario ya que desde el se enviaran datos a la parte lógica o mejor dicho JavaScript que es de donde se dara el resultado.
En este caso mi formulario se llama micalc----->(<FORM NAME="micalc">)
Y donde se meteran los numeros y los operadores lo llamo meter datos--->(<INPUT TYPE="text" NAME="meterdatos"  SIZE="28" MAXLENGTH="30" >)
Como ven no me he dado muchas vueltas para darles nombres hasta aquí explico lo del html ya que en el código esta comentado. 

2.-PARTE LOGICA:
Usaremos la funcion eval de JavaScript
Con esta funcion de eval de  JavaScritp nos ahorramos programar un monton de codigo 
Aunque  los programadores expertos desaconsejan directamente su uso  (frase  famosa   de Douglas Crockford “eval is evil”, eval es el demonio). 
Nosotros la usaremos para nuestra calculadora con fines de irnos adentrando en la programación ya que si no tendriamos que crear metodos y funciones variables etc..para cada una de las operaciones de la calculadora (suma,resta,multiplicacion,division etc...)

La sintaxis de la función es la siguiente: eval ('cadena de texto') que quiere decir esto por ejemplo si ponemos  eval(7+5) nos devolvera como resultado 12
osea que evalúa la expresión (7+5) y devuelve el valor 12.
Como ven la funcion eval se encarga de hacer los calculos .

Bueno espero se haya entendido abajo dejo el código de después haré un post de calculadora en java.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<HEAD>
<title>Calculadora cientifica</title>

<SCRIPT LANGUAGE="JavaScript">

function Calcular() {
var NUMEROYSIGNO = document.micalc.meterdatos.value;      <!--ME CREO UNA VARIABLE QUE ES IGUAL=document.nombreformulario.dondesemuestra.value-->
document.micalc.meterdatos.value = eval(NUMEROYSIGNO);     <!-- y digo que los datos metidos me lo cualcule la funcion eval(NUMEROYSIGNO)

               }
                  <!---Lo podriamos haber hecho directo pero mejor con una variable independiente NUMEROYSIGNO-->
/*function Calcular (){document.micalc.meterdatos.value=eval(document.micalc.meterdatos.value)} */        
               
function num(x) {document.micalc.meterdatos.value += x;}    <!--EN ESTA FUNCION METO LOS NUMEROS DEL 1 AL 9--> 
function signo(y){document.micalc.meterdatos.value += y;}   <!--EN ESTA FUNCION METO LOS  SIGNOs + - * / ( ) -->       
function eliminar(){document.micalc.meterdatos.value= document.micalc.meterdatos.value.substring(0, document.micalc.meterdatos.value.length - 1)}

<!---------------------------Funciones donde se ocupa un solo numero--------------------------------------------------------------------------------------->
function derivada() {document.micalc.meterdatos.value = 1/(document.micalc.meterdatos.value);}
function cuadrado() {document.micalc.meterdatos.value = eval(document.micalc.meterdatos.value)*eval(document.micalc.meterdatos.value);}
function     cubo() {document.micalc.meterdatos.value = eval(document.micalc.meterdatos.value)*eval(document.micalc.meterdatos.value)*eval(document.micalc.meterdatos.value);}
function       pi() {document.micalc.meterdatos.value += Math.PI;}
function     raiz() {document.micalc.meterdatos.value = Math.sqrt(document.micalc.meterdatos.value);}
function      cos() {document.micalc.meterdatos.value = Math.cos(document.micalc.meterdatos.value);}
function      sen() {document.micalc.meterdatos.value = Math.sin(document.micalc.meterdatos.value);}
function      tan() {document.micalc.meterdatos.value = Math.tan(document.micalc.meterdatos.value);}
<!---------------------------Funciones donde se ocupa dos numero--------------------------------------------------------------------------------------->
function potencia() {var exponente = prompt('¿Indique el numero de exponente?')
document.micalc.meterdatos.value = Math.pow(document.micalc.meterdatos.value, exponente);
                 }
function porcent () {document.micalc.meterdatos.value= eval(document.micalc.meterdatos.value)/100;}
</script>

</HEAD>
</b>
<BODY style="font-family: Verdana">
<p align="center"><b>CALCULADORA HTML<p>

<center>
<div style="float:none; padding:1em; width:22%; background-color:#BDBDBD; border-radius:15px; box-shadow: 10px 10px 3px #888888;">
<FORM NAME="micalc">
<table>
 <tr>
<INPUT TYPE="text" NAME="meterdatos"  SIZE="28" MAXLENGTH="30" >
</tr>
</table>
<hr><!------------------------------------------------------------------------------------------------------>
<table >
<tr>
<INPUT TYPE="button" VALUE="  1  "  onClick="num(1)"> 
<INPUT TYPE="button" VALUE="  2  "  onClick="num(2)"> 
<INPUT TYPE="button" VALUE="  3  "  onClick="num(3)">
<INPUT TYPE="button" VALUE="  +  "  onClick="signo('+')" >
<INPUT TYPE="button" VALUE="  C  "  onClick="document.micalc.meterdatos.value = ''; " >
</tr>

<hr><!------------------------------------------------------------------------------------------------------>

<tr>
<INPUT TYPE="button" VALUE="  4  "  onClick="num(4)">
<INPUT TYPE="button" VALUE="  5  "  onClick="num(5)"> 
<INPUT TYPE="button" VALUE="  6  "  onClick="num(6)">
<INPUT TYPE="button" VALUE="   -  "  onClick="signo('-')" >
<INPUT TYPE="button" VALUE=" <---"  onClick="eliminar()">
</tr>

<hr><!------------------------------------------------------------------------------------------------------>

<tr>
<INPUT TYPE="button" VALUE="  7  "  onClick="num(7)"> 
<INPUT TYPE="button" VALUE="  8  "  onClick="num(8)"> 
<INPUT TYPE="button" VALUE="  9  "  onClick="num(9)">
<INPUT TYPE="button" VALUE="  x  "  onClick="signo('*')" >
<INPUT TYPE="button" VALUE="  %  "  onClick="porcent()">
</tr>

<hr><!------------------------------------------------------------------------------------------------------>
<tr>
<INPUT TYPE="button" VALUE="  0  "       onClick="num(0)">
<INPUT TYPE="button" VALUE="  .  "      onClick="signo('.')">
<INPUT TYPE="button" VALUE=" Pi  "       onClick="pi()">
<INPUT TYPE="button" VALUE="  /   "      onClick="signo('/')" >
<INPUT TYPE="button" VALUE="  &#8730   " onClick="raiz()" >
</tr>
<hr><!------------------------------------------------------------------------------------------------------>
<tr>
<INPUT TYPE="button" VALUE="  (   "           onClick="signo('(')">
<INPUT TYPE="button" VALUE="  )  "            onClick="signo(')')">
<INPUT TYPE="button" VALUE="1/x "             onClick="derivada()">
<INPUT TYPE="button" VALUE="  ^   "           onClick="potencia()" >
<INPUT TYPE="button" VALUE="  x&sup2  "       onClick="cuadrado()"> 
</tr>
<hr><!------------------------------------------------------------------------------------------------------>
<tr>
<INPUT TYPE="button" VALUE=" Sen  "         onClick="sen()" >
<INPUT TYPE="button" VALUE=" Cos  "         onClick="cos()" >
<INPUT TYPE="button" VALUE=" Tan   "          onClick="tan()" >
 <INPUT TYPE="button" VALUE="  x&sup3  "       onClick="cubo()"> 
</tr>
<hr><!------------------------------------------------------------------------------------------------------>
<tr>
<INPUT TYPE="button" VALUE="                       =                       "   onClick="Calcular()" >
</tr>
</table>

</FORM>
</div>
</center>

</body>

</html>