viernes, 26 de octubre de 2012


n= int(input("digite la cantidad de datos a ingresar"))
vec=[0]*n
###y= len(vec)
c=0
while c<n:
  vec[c]= int(input("digite el valor dela casilla: "))
  c+=1
### volvemos a empezar el contador
c=0
c2=0
while c<n:
  posMayor = c
  c2=c
  while c2<n:
      if vec[c2]>vec[posMayor]:
        print(vec[c2], vec[posMayor])
        posMayor = c2
      c2+=1n= int(input("digite la cantidad de datos a ingresar"))
vec=[0]*n
###y= len(vec)
c=0
while c<n:
  vec[c]= int(input("digite el valor dela casilla: "))
  c+=1
### volvemos a empezar el contador
c=0
c2=0
while c<n:
  posMayor = c
  c2=c
  while c2<n:
      if vec[c2]>vec[posMayor]:
        print(vec[c2], vec[posMayor])
        posMayor = c2
      c2+=1
  aux= vec[posMayor]
  vec[posMayor]= vec[c]
  vec[c]= aux
  c+=1
print (vec)
  aux= vec[posMayor]
  vec[posMayor]= vec[c]
  vec[c]= aux
  c+=1
print (vec)

jueves, 11 de octubre de 2012

manejo de subprogramas en python ejemplo de clase


def aprobo(parcial,seguimiento):
    n=(3-(seguimiento*0.5+parcial*0.2))/0.3
    return (n)
def definitiva(parcial,seguimiento,final):
    d= (seguimiento*0.5 + parcial*0.2 + final*0.3)
    return d
def seguimiento(v):
    c=0
    sumador=0
    while c < len(v):
        sumador = sumador + v[c]
        c+=1
    p = sumador/len(v)
    return p
s = 'S'
while s.upper()=='S':
    print('menu')
    print('1 nota minima para ganar')
    print('2 nota definitiva')
    print('3 para seguimiento')
    opc= input('digite opcion')
    if opc =='1':
       a= float(input('parcial'))
       b= float(input('seguimiento'))
       print('necesita para aprobar ',aprobo(a,b))
    if opc =='2':
       a= float(input('parcial'))
       b= float(input('seguimiento'))
       c=float(input('final'))
       print(definitiva(a,b,c))
   
    if opc=='3':
        c=1
        v=[]
        while c==1:
            nota=float(input('digite nota'))
            if nota >=0 and nota<=5:
                v+=[nota]
            c= int(input('digite 1 para continuar con otra nota'))
           
        print('el seguimiento',seguimiento(v))
   
   
    s=input('desea seguir S')


algoritmo que realiza Division con restas


#construir que calcule la division entera de n//m usando solo restas
n= int(input('n: '))
m= int(input('m: '))
contador= 0
while n >=0:
    n=n-m
    if n >=0:
        contador = contador+1
print(contador)

Algoritmo para numeros palindromos


n=int(input('numero'))
y=n
if n<0:
    n=n*(-1)
n=str(n)
m=int(n)
contador=0
numeroinvertido=0
while contador <= len(n)-1:
    ultimo=m%10
    m=m//10
    numeroinvertido = numeroinvertido*10 + ultimo
    contador= contador+1
print ('su numero invertido ',numeroinvertido)
if numeroinvertido==y:
    print('el numero es palindromo')
else:
    print('el numero no es palindromo')

fibonacci con vectores en c sharp


using System;
//3. Generar la serie de Fibonnaci:  0,1,1,2,3,5,8,13,21,34,55……………………
namespace programa
{
    class pauloandres
    {
        private static void Main()
        {
            int n;
           

            Console.WriteLine("digite la cantidad de terminos");
            n = int.Parse(Console.ReadLine());
            int[] vector = new int[n];
            vector[0]=0;
            vector[1]=1;
            Console.WriteLine(vector[0]);
            Console.WriteLine(vector[1]);
            int contador = 2;
            while (contador < n)
            {
                vector[contador] = vector[contador - 2] + vector[contador - 1];
                Console.WriteLine(vector[contador]);
                contador++;
               
               
            }
 
            Console.Read();

        }

    }

}

Serie Fibonacci

n= int (input('digite el numero de termino que desea saber de la serie fibonacci'))
contador=0
t1=0
t2=1
if n!=0:
    print(t1)
    while contador<=n-2:
        aux= t1 + t2
        aux2=t2
        t2=t1
        t1=aux
        print(t1)
        contador=contador+1
#por paulo escobar

Llenar un Vector


n = int(input('digite la cantidad de vectores a sumar'))
contador = 0
vector =[0]*n
if n <0:
    n = n*(-1)
while contador < n :
    vector[contador]= int(input('digite el numero que va en esta posicion '))
    contador = contador +1
print (vector)

algoritmo que genera la secuencia 4, 9, 10, 11, 5, 10, 11, 12, 6, 11, 12, 13


#Construir un algoritmo que permita generar n términos de
#la siguiente serie: 4, 9, 10, 11, 5, 10, 11, 12, 6, 11, 12, 13

n = int(input("digite la cantidad de elementos"))
termino = int(input('digite el termino con el cual quiere ejecutar el patron'))
contador = 1


while contador < n :
    if contador <=n:
        print (termino)
        contador  = contador +1
        if contador<=n:
            termino2 = termino +5
            print (termino2)
            contador = contador +1
            if contador <= n:
                termino3 = termino2 + 1
                print (termino3)
                contador = contador +1
                if contador <= n:
                    termino4 = termino3 +1
                    print (termino4)
                    contador = contador + 1
                    termino = termino+1

algoritmo que genera la siguiente secuencia 2, 5, 10, 11, 3, 6, 18, 19, 4, 7, 28, 29


#Construir un algoritmo que permita generar n términos de
#la siguiente serie: 2, 5, 10, 11, 3, 6, 18, 19, 4, 7, 28, 29

n = int(input("digite la cantidad de elementos"))
termino = int(input('digite el termino con el cual quiere ejecutar el patron'))
contador = 1


while contador < n :
    if contador <=n:
        print (termino)
        contador  = contador +1
        if contador<=n:
            termino2 = termino +3
            print (termino2)
            contador = contador +1
            if contador <= n:
                termino3 = termino2 * termino
                print (termino3)
                contador = contador +1
                if contador <= n:
                    termino4 = termino3 +1
                    print (termino4)
                    contador = contador + 1
                    termino = termino+1

algoritmo para resolver la secuencia 0 5 10 1 10 15 2 15 20 3 20 25 4


#algoritmo que genera la secuecia 0 5 10 1 10 15 2 15 20 3 20 25 4

n = int(input('digite la cantidad de elementos'))
contador = 3
terminodeinicio = 0
terminoacumulado = 5
sumatoria = 0
print(sumatoria)
print (terminoacumulado)
while contador <=(n):
    if contador <= n:
        terminoacumulado = terminoacumulado + 5
        print(terminoacumulado)
        contador = contador +1
        if contador <=n:
            sumatoria = sumatoria + 1
            print(sumatoria)
            contador = contador + 1
            if contador <= n:
                print(terminoacumulado)
                contador = contador + 1

digite = input('digite cualquier tecla para finalizar')





# por  paulo andres escobar

algoritmo para resolver la secuencia 4, 2, 3, 7, 5, 6, 10, 8, 9........ apartir de un numero ingresado


##Construir un algoritmo que permita generar n términos de la
##siguiente serie: 4, 2, 3, 7, 5, 6, 10, 8, 9


n=int(input("digte la cantidad de numeros"))
termino=int(input("digite el numero con el cual quiere seguir el patron"))
contador=1
acumulador=1
while contador<=n :
    if contador <= n:
        print(termino)
        contador = contador +1
        if contador <= n:
            termino2 = termino-2
            print(termino2)
            contador = contador +1
            if contador <=n:
                termino3 = termino2 + 1
                print(termino3)
                if contador <= n:
                    termino = termino + 3
                    contador = contador +1
              


# por paulo andres escobar

Poligono regular


algoritmo para calcular vertices y angulos internos de un poligono regular en lenguaje python

#sumar angulo internos de un poligono regular
#calcular el numero de diagonales de un poligono
#numero de diagonales desde un vertice
#angulo exterior

n = float (input ("digite el numero de lados que tiene su poligono regular: "))
anguloexterior = 360 / n
numdiagonales = ((n**2)-(3*n))/2
diagonalesdelvertice = n-3
ainternos = (180*(n-2))
angulointerno = (180*(n-2))/n
print("su angulo exterior es de ", anguloexterior)
print("numero total de diagonales es: ", numdiagonales )
print("el numero de diagonales desde un vertice es: ", diagonalesdelvertice )
print("la suma de los angulos internos es", ainternos)
print ("el valor de cada angulo de su poligono regular es ", angulointerno)
terminar=input("digite cualquier tecla para terminar")

algoritmo para calcular lo que necesitas sacar en tu examen final de la universidad catolica de oriente

#cuanto necesitas en el final para  ganar la materia, debes de tener el seguimiento y el parcial
#para salir bien 
#para salir exelente
continuar = '1'
print('!!!!!!!!!!! Calcula cuanto necesitas para el final !!!!!!!!!!!!')
while  continuar == '1':
    seguimiento = float(input('ingresa la nota de seguimiento\n '))
    parcial = float(input('nota del parcial:\n'))
    resultadoganar=(3-( (seguimiento*0.5)+(parcial*0.2)))/0.3
    resultadobien = (4-( (seguimiento*0.5)+(parcial*0.2)))/0.3
    resultadoexelente=(4.5-( (seguimiento*0.5)+(parcial*0.2)))/0.3
    print('lo que necesitas para sacar 3 es: ',resultadoganar)
    print('lo que necesitas para sacar 4 es: ',resultadobien) 
    print('lo que necesitas para sacar 4.5 es: ',resultadoexelente)
    if resultadoganar > 5:
        print('lo siento mucho pero creo que es mejor cancelar la materia\n!!!!!!eres un burro(a)!!!!!!!!!!')
    if resultadoganar < 5 and resultadoganar >0:
        print('!!!!!!!!animo puedes hacerlo!!!!!!!!!!')
    if resultadoganar < 0:
        print('!!!!!!!!!!! felicitaciones  puedes estar tranquilo todo esta bien!!!!!!!!!!!  ')
    continuar=input('digite 1 para volver a intentarlo o cualquier otra tecla para terminar    ')


#paulo andres escobar

juego de dados


#juego de casino
from random import*
print('=============Casino TheBestBet============')
print('++++++++++++++++++++++++++++++++++++++++++')
print('ooooooooooooo_____DiCeGaMe___ooooooooooooo')
plata= int(input('cantidad de dinero que quieres comparar'))
apuesta=int(input('Ingresa tu apuesta'))
contador = 0
respuesta=1
sw =0
while apuesta > plata:
    apuesta=int(input('Ingresa tu apuesta'))
while respuesta == 1:  
    dado1= randint(1,6)
    dado2=randint(1,6)
    print('al tirar tu primer dado te salio el',dado1)
    print("al tirar tu segundo dado salio el ", dado2)
    if  dado1 == dado2 and dado1%2 ==0 and dado2%2==0 :
        ganancia = apuesta*7
        print('en hora buena has ganado 7 veces lo que apostaste ')
        print('tu nuevo saldo es ')
        plata = plata + ganancia - apuesta
        print(plata)
        sw =1
    if dado1 == dado2 and sw !=1:
        ganancia = apuesta*5
        print('en hora buena has ganado 5 veces lo que apostaste ')
        print('tu nuevo saldo es ')
        plata = plata + ganancia -apuesta
        print(plata)
    if dado1%2 ==0 and dado2%2==0  and sw!=1:
        ganancia = apuesta*2
        print('en hora buena has ganado 2 veces lo que apostaste ')
        print('tu nuevo saldo es ')
        plata = plata + ganancia - apuesta
        print(plata)

    if dado1 != dado2 and (dado1%2 !=0 or dado2%2!=0):
        plata = plata - apuesta
        print('lo siendo has perdido tu apuesta')
        print('tu nuevo saldo es ', plata)
        if plata <=0:
            print('!!!!!!!!!!!GAME OVER!!!!!!!!!!!!!!!')
            tecla= input('digite cualquier tecla para finalizar')
            respuesta = 2          
    if respuesta !=2:
        respuesta =int(input('1.para volver a apostar.. 2. para salir '))
        if respuesta ==1 and plata>0:
            sw =0
            apuesta=int(input('ingresa tu nueva apuesta'))
            while apuesta > plata:
                apuesta=int(input('ingresa un numero menor o igual que tu saldo '))

#paulo andres escobar

martes, 11 de septiembre de 2012

ejemplo de while y if


contador=0
cp=0
nu =int (input ("numero de personas"))
while contador< nu:
    n = int(input("digite el numero de hijos"))
    nombre = input('digite el numbre')
    if n==2:
        cp+=1
    if n ==1:
        print(nombre,"tiene un solo hijo")
    contador = contador+1
print(cp,"es la cantidad de personas que tienen dos hijos")

viernes, 17 de agosto de 2012

ejercicio de turtle en python


from turtle import*
#construir un programa que pueda sumar dos fraccionarios ingesados por el usuario.
#el sistema da la respuesta en fraccionario.
n1= numinput("numero","digite numero1")
n2= numinput("numero","digite numero2")
n3= numinput("numero","digite numero3")
n4= numinput("numero","digite numero4")
top = (n1*n4) + (n2*n3)
down= n2*n4
write(n1)
goto(0,0)
fd(10)
pu()
goto(0,-20)
write(n2)
goto(20,0)
write("+")
goto(40,0)
write(n3)
goto(40,0)
pd()
fd(10)
pu()
goto(40,-20)
write(n4)
goto(60,0)
write("=")
goto(80,0)
write(top)
goto(80,0)
pd()
fd(10)
pu()
goto(80,-20)
write(down)


done()

martes, 14 de agosto de 2012

ejercicios de algoritmos de 3 pasos


##una persona pasa el 34% de su vida durmiendo
##dado el ano de nacimiento y el actual y el nombre
##imprimir cuantos dias a dormido

nacimiento = int(input('digite ano de nacimiento'))
actual= int(input('digite ano actual'))
edad = actual - nacimiento
porcentaje = edad*0.34
cantidaddediasdormidos = porcentaje*365//1 # se divide entero por 1 esto es para que devuelva solo la parte entera
print(cantidaddediasdormidos)              #se multiplica por 365 por que la cantidad de dias de un ano

Algoritmos de 3 pasos


#una persona por cada ano de vida
#debe consumir 8 kg de fruta
#dada la edad de una persona
#imprimir cuantos gramos de fruta a consumido
#y adicionalmente si una manzana pesa en promedio 4 gramos
#determinar cuantas manzanas a consumido

edad = int (input('digite su edad')) #se le asigna a la variable edad un valor de tipo entero y lo que sale entre ' ' es lo que se va a preguntar. esto es en el lenguaje Python. 
GramosTotal= edad*8*1000
manzanas= GramosTotal//4
print ("los gramos de fruta consumidos son ", GramosTotal)# esto es para que imprima en consola un mensaje
print("la cantidad de manzanas son ",manzanas)

lunes, 13 de agosto de 2012

orden de los operadores

Prioridad
Símbolo
Nombre técnico
Operación
DescripciónEjemplo
1** en python
doble asterisco
Potenciación y Radicación.
Permite elevar un número denominado base, a otro número denominado exponente.  La base se ubica al lado izquierdo del símbolo y el exponente al lado derecho.
2 ** 8 Resultado 256.
4 ** (1/2,0) Resultado 2, esta notación del exponente es la notación radical para realizar las operaciones de potenciación.
2/ división con resultado decimal // división entera
Raya vertical

División
Identifica la división de dos cantidades.5/2 Resultado 2.5
a/2 Resultado depende del valor y tipo de la variable a. 5//2 Resultado 2
2*
Asterisco
Multiplicación
Realiza la operación de multiplicación entre dos elementos numéricos, el multiplicando se ubica al lado izquierdo del símbolo y al lado derecho el  multiplicador.3 * 3 Resultado 9
2* 2.5 Resultado 5
10 * 0.1 Resultado 1
A*8 resultado depende del valor que se le asigne a la variable A.
 
2%
Porcentaje
Modulo
Esta operación permite recuperar  el residuo que da como resultado la división entera de dos elementos numéricos. El dividendo se ubica al lado izquierdo, el divisor al lado derecho y la operación arroja el residuo de la división entera.
5 % 2 Resultado 1
2.5 % 2 Resultado 0.5
3 % 5 Resultado 3
-7 % 3 resultado -1
3+
Suma
Adición
Permite realizar la operación de adición entre dos elementos numéricos, el primer elemento se coloca luego el símbolo y por último el siguiente elemento.1+2 Resultado 3
A+B+12 Resultado depende de los valores dados para las variables, esto es igual que en el algebra.
3-
Resta
Substracción
Realiza la operación de substracción entre dos elementos numéricos, cada elemento numérico se ubica a lado y lado del símbolo.1-2 Resultado -1
33-0.5 Resultado 32.5
a - b Resultado depende de los valores dados a las variables a, b se debe asociar a la forma en que se evalúa una expresión en el algebra.

caracteristicas de python

Entradas de pantalla

NombreDeUnaVariable= (tipo de variables(input("lo que se desea que diga en pantalla"))) 

#leer por teclado en una variables
los tipos de variables principales que usaremos en python son

bool variables de tipo falso o verdadero
int variables de tipo entero
float variables de tipo decimal
string variables de tipo caracter o texto

ejemplo de uso


Dato = int (input("digite un dato entero"))



Palabras reservadas de Python.

print("")= para imprimir en pantalla.

input()=para obtener lo digitado por teclado

if(condicion), else, elif, son condicionales

while(condicion) para repetir instrucciones

for(variables, condicion,incremento) para repetir instrucciones

Lentamente vamos a ver el uso apropiado para cada uno.

3 Tips de Programación

Es bueno siempre:

  1.  poner comentarios  para poder saber que es que en el algoritmo.
  2.  nombrar las variables asociadas a lo que representan.
  3. cuando abras comillas, llaves o corchetes cierra inmediatamente  y mas bien pones el cursor en la mitad. Esto es por que muchas veces se olvida cerrarlas lo que puede producir resultados no deseados o lo mas probable un error.
  4. estudiar algoritmos famosos con pruebas de escritorio.
  5. siempre siempre trabajar de manera tabulada.

!!!!!!!!!!!!!!Bienvenidos¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡

De antemano un cordial saludo a todos .
mi nombre es Paulo Andrés para los que no me conocen.
Este Blogspot  es con la intención de facilitar la solución de algunas de las preguntas que surgen en las monitorias de algoritmos1 o algoritmos para principiantes.

La plataforma de trabajo será Python(GUI).
vamos a ver algunos vídeosque nos sirvan de ayuda tratare que sean en español pero la gran mayoría son en ingles.

por que  python??
es un lenguaje de alto nivel que permite que desarrollemos la lógica de programación de una manera fácil
y ademas tiene la librería de turtle graphics con la que desarrollaremos unos ejercicios que nos ayudara a ser mas ágiles a la hora de programar.