You are on page 1of 29

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA

FACULTAD DE INGENIERA
ESCUELA DE MECANICA ELECTRICA
INGENIERIA ELECTRONICA

REPORTE EXAMEN FINAL

RONALD ALBERTO ALDANA SANDOVAL


201314122
PROYECTOS DE COMPUTACION AIE
Ing. Jos Anibal Silva de los Angeles

I
NDICE GENERAL

1. OBJETIVOS.................................................................................................1
2. PROGRAMACION................................................................................2 - 25
3. CONCLUSIONES.......................................................................................26
4. RECOMENDACIONES..............................................................................27

II
1. OBJETIVOS

Aplicar los conocimientos de programacin adquiridos a lo largo


del curso.

Poder manejar bases de datos en Postgresql desde PG ADMIN 4.

1
2. CDIGO DE LOS PROGRAMAS

Ejercicio 1
# -*- coding: cp1252 -*-
from Tkinter import * #llama el modo grafico en python tkinter
from tkMessageBox import * #llama del modo grafico los mensajes emergente
class Aplication(Frame):
global lista
global lisUsurame
lista = list()
lisUsu = list()
# define los registros
class registro:
codigo = ""
Talla = ""
genero = ""
Marca = ""
Tipo = ""
Precio = ""
existencia = ""
# define al usuario y su clave
class Usuario:
rut = ""
clave = ""

def registrarzapato():
print "Registro de zapato"
import psycopg2
conn = psycopg2.connect(host="localhost", database="zapateria", user="postgres",
password="pgadmin4")
print("Ingrezando Zapato")
print("")

a = registro()
a.codigo = raw_input("Ingrese codigo: ")
a.talla = raw_input("Ingrese talla: ")

2
a.genero = raw_input("Ingrese genero M/F ")
a.marca = raw_input("Marca: ")
a.tipo = raw_input("Tipo: ")
a.color = raw_input("Color: ")
a.precio = raw_input("precio: ")
a.existencia = raw_input("unidades existentes: ")

cur=conn.cursor()
cur.execute("INSERT INTO zapatito (codigo,talla,genero,marca,tipo,color,precio,existencia)
VALUES('"+a.codigo+"','"+a.talla+"','"+a.genero+"','"+a.marca+"','"+a.tipo+"','"+a.color+"','"+a.precio+"','"+a.e
xistencia+"')");
conn.commit()
print ("zapato registrado")
conn.close()

lista.append(a)

def listarproducto():
print "Listado de existencias"
import psycopg2
conn = psycopg2.connect(host="localhost", database="zapateria", user="postgres",
password="pgadmin4")
cur=conn.cursor()
cur.execute("SELECT * FROM zapatito");
print("Lista de Calzado")
print("")
print ("\t codigo\t talla\t genero\t marca\t tipo\t color\t precio\t existencia")
print ("))===============================================================")
for zapatito in cur:
alu='\t'+str(zapatito[0])+'\t'+str(zapatito[1])+'\t'+str(zapatito[2])+'\t'+str(zapatito[3])+'\t'+str(zapatito[4])
+'\t'+str(zapatito[5])+'\t'+str(zapatito[6])+'\t'+str(zapatito[7])
print(alu)
conn.commit()
conn.close()

def eliminar():
print "Eliminar"
import psycopg2

3
conn = psycopg2.connect(host="localhost", database="zapateria", user="postgres",
password="pgadmin4")
cur=conn.cursor()
cur.execute("SELECT * FROM zapatito");
print("Eliminar zapato")
print("")
print ("\t codigo\t talla\t genero\t marca\t tipo\t color\t precio\t existencia")
print ("))==============================================================")
for zapatito in cur:
alu='\t'+str(zapatito[0])+'\t'+str(zapatito[1])+'\t'+str(zapatito[2])+'\t'+str(zapatito[3])+'\t'+str(zapatito[4])
+'\t'+str(zapatito[5])+'\t'+str(zapatito[6])+'\t'+str(zapatito[7])
print(str(alu))
print('')

cod=raw_input("Digite el codigo a eliminar")


sql= "DELETE FROM zapatito WHERE codigo="+cod
cur.execute(sql)

print("El zapato ha sido eliminado")


print("")
conn.commit()
conn.close()
menu()
def salir():
print "Gracias por preferirnos"

def menu():
op = 0

while op != 4:
# mostrar el menu
print "Men"
print "1.- Registrar zapato"
print "2.- Registro del producto"
print "3.- Eliminar del registro"
print "4.- Salir"
op = input("seleccione la opcin que desea: ")

if op == 1:
registrarzapato()
elif op == 2:
listarproducto()

4
elif op == 3:
eliminar()
elif op == 4:
salir()

def registrarUsuarios():

u1 = Usuario()
u2 = Usuario()

u1.rut = "zapato"
u1.clave = "333"

lisUsu.append(u1)

def main():
registrarUsuarios()
print "---------------------"
print "BASE DE DATOS"
print "---------------------"
con = 0
i=3
while con != 3:
print"ZAPATERIA EL BUEN CALZADO"
rut = raw_input("USER: ")
clave = raw_input("PASSWORD: ")
con = con + 1
existe = False
for u in lisUsu:
if u.rut == rut and u.clave == clave:
existe = True
break

if existe == True: # tierno


menu()
else:
i=i-1
print "que triste"
print "Quedan", i, "intentos."

5
if i == 0:
print "ya valiste"

main()

tabla base de datos

Ejercicio 2

6
# -*- coding: cp1252 -*-
from Tkinter import * #llama el modo grafico en python tkinter
from tkMessageBox import * #llama del modo grafico los mensajes emergente
class Aplication(Frame):
global lista
global lisUsurame
lista = list()
lisUsu = list()
# define registros
class registro:
codigo = ""
nombre = ""
categoria = ""

# definir los atributos de un usuario


class Usuario:
rut = ""
clave = ""

def registrarcliente():
print "Registro cliente"
import psycopg2
conn = psycopg2.connect(host="localhost", database="eje2", user="postgres", password="pgadmin4")
print("Ingresando al Cliente")
print("")

a = registro()
a.codigo = raw_input("Codigo: ")
a.nombre = raw_input("Nombre: ")
a.categoria = raw_input("Valores de 1 a 5: ")
a.telefono = raw_input("Telefono: ")
cur=conn.cursor()
cur.execute("INSERT INTO cliente (codigo,nombre,categoria,telefono)
VALUES('"+a.codigo+"','"+a.nombre+"','"+a.categoria+"','"+a.telefono+"')");
conn.commit()
print ("Cliente registrado")
conn.close()

lista.append(a)

7
def listarcliente():
print "Registro de clientes"
import psycopg2
conn = psycopg2.connect(host="localhost", database="eje2", user="postgres", password="pgadmin4")
cur=conn.cursor()
cur.execute("SELECT * FROM cliente");
print("Lista de clientes")
print("")
print ("\ codigo \ nombre \t \ categoria \ telefono ")
print ("))=======================================================")
for cliente in cur:
alu='\t'+str(cliente[0])+'\t'+str(cliente[1])+'\t\t'+str(cliente[2])+'\t'+str(cliente[3])
print(str(alu))
conn.commit()
conn.close()

def eliminar():
print "Eliminar"
import psycopg2
conn = psycopg2.connect(host="localhost", database="eje2", user="postgres", password="pgadmin4")
cur=conn.cursor()
cur.execute("SELECT * FROM cliente");
print("Eliminar cliente")
print("")
print ("\ codigo \ nombre \t \ categoria \ telefono ")
print ("))==================================================")
for cliente in cur:
alu='\t'+str(cliente[0])+'\t'+str(cliente[1])+'\t\t'+str(cliente[2])+'\t'+str(cliente[3])
print(str(alu))
print('')

cod=raw_input("Digite el codigo a eliminar")


sql= "DELETE FROM cliente WHERE codigo="+cod
cur.execute(sql)

print("El cliente ha sido eliminado")


print("")
conn.commit()

8
conn.close()
menu()
def salir():
print "Gracias por preferirnos"

def menu():
op = 0

while op != 4:
# despliega el menu de opciones
print "Men"
print "1.- Registrar un cliente"
print "2.- Registro de clientes"
print "3.- Eliminar un cliente"
print "4.- Salir"
op = input("Seleccione una opcion del menu: ")

if op == 1:
registrarcliente()
elif op == 2:
listarcliente()
elif op == 3:
eliminar()
elif op == 4:
salir()

def registrarUsuarios():

u1 = Usuario()
u2 = Usuario()

u1.rut = "cliente"
u1.clave = "333"

lisUsu.append(u1)

def main():
registrarUsuarios()
print "---------------------"

9
print "BASE DE DATOS"
print "---------------------"
con = 0
i=3
while con != 3:
print"REGISTRO DE CLIENTES"
rut = raw_input("USER: ")
clave = raw_input("PASSWORD: ")
con = con + 1
existe = False
for u in lisUsu:
if u.rut == rut and u.clave == clave:
existe = True
break

if existe == True:
menu()
else:
i=i-1
print "que mal vos"
print "Quedan", i, "intentos."
if i == 0:
print "GG"

main()

tabla base de datos

10
Ejercicio 3

# -*- coding: cp1252 -*-


from Tkinter import * #llama el modo grafico en python tkinter
from tkMessageBox import * #llama del modo grafico los mensajes emergente
class Aplication(Frame):
global lista
global lisUsurame
lista = list()
lisUsu = list()
# define las especificaciones requeridas del carro
class registro:
codigo = ""
marca = ""
modelo = ""
color = ""
kilometraje = ""
detalle = ""
estado = ""
precio = ""
# define al usuario y su contrasea
class Usuario:
rut = ""
clave = ""

11
def registrarcarro():
print "Registrar Vehiculo"
import psycopg2
conn = psycopg2.connect(host="localhost", database="eje3", user="postgres", password="pgadmin4")
print("Registrando vehiculo")
print("")

a = registro()
a.codigo = raw_input("Codigo: ")
a.marca = raw_input("Marca: ")
a.modelo = raw_input("Modelo: ")
a.color = raw_input("Color del vehiculo: ")
a.kilometraje = raw_input("Kilometraje: ")
a.detalle = raw_input("Detalle: ")
a.estado = raw_input("Estado: ")
a.precio = raw_input("Precio: ")
cur=conn.cursor()
cur.execute("INSERT INTO vehiculo(codigo,marca,modelo,color,kilometraje,detalle,estado,precio)
VALUES('"+a.codigo+"','"+a.marca+"','"+a.modelo+"','"+a.color+"','"+a.kilometraje+"','"+a.detalle+"','"+a.estad
o+"','"+a.precio+"')");
conn.commit()
print ("vehiculo registrado correctamente")
conn.close()

lista.append(a)

def listarcarro():
print "Listado de vehiculos en existencias"
import psycopg2
conn = psycopg2.connect(host="localhost", database="eje3", user="postgres", password="pgadmin4")
cur=conn.cursor()
cur.execute("SELECT * FROM vehiculo");
print("Catalogo de vehiculos")
print("")
print ("\t codigo\t marca\t modelo\t color\t km\t detalle\t estado\t precio")
print
("))======================================================================================
====")
for vehiculo in cur:

12
alu='\t'+str(vehiculo[0])+'\t'+str(vehiculo[1])+'\t'+str(vehiculo[2])+'\t'+str(vehiculo[3])+'\t'+str(vehiculo[4])
+'\t'+str(vehiculo[5])+'\t'+str(vehiculo[6])+'\t'+str(vehiculo[7])
print(str(alu))
conn.commit()
conn.close()

def eliminarcarro():
print "Eliminar"
import psycopg2
conn = psycopg2.connect(host="localhost", database="eje3", user="postgres", password="pgadmin4")
cur=conn.cursor()
cur.execute("SELECT * FROM vehiculo");
print("Eliminar vehiculo")
print("")
print ("\t codigo\t marca\t modelo\t color\t km\t detalle\t estado\t precio")
print
("))======================================================================================
=")
for vehiculo in cur:
alu='\t'+str(vehiculo[0])+'\t'+str(vehiculo[1])+'\t'+str(vehiculo[2])+'\t'+str(vehiculo[3])+'\t'+str(vehiculo[4])
+'\t'+str(vehiculo[5])+'\t'+str(vehiculo[6])+'\t'+str(vehiculo[7])
print(str(alu))
print('')

cod=raw_input("Digite el codigo a eliminar: ")


sql= "DELETE FROM vehiculo WHERE codigo="+cod
cur.execute(sql)

print("El vehiculo eliminado correctamente")


print("")
conn.commit()
conn.close()
menu()

def salir():
print "Gracias por preferirnos"

def menu():
op = 0

13
while op != 4:
# despliega el menu de opciones
print "Men"
print "1.- Registrar un Vehiculo"
print "2.- Catalogo de Vechiculos"
print "3.- Eliminar un Vehiculo"
print "4.- Salir"
op = input("Elegir una opcion del menu: ")

if op == 1:
registrarcarro()
elif op == 2:
listarcarro()
elif op == 3:
eliminarcarro()
elif op == 4:
salir()

def registrarUsuarios():

u1 = Usuario()
u2 = Usuario()

u1.rut = "carrito"
u1.clave = "333"

lisUsu.append(u1)

def main():
registrarUsuarios()
print "---------------------"
print "BASE DE DATOS"
print "---------------------"
con = 0
i=3
while con != 3:
print"REGISTRO DE VEHICULOS"
rut = raw_input("USER: ")

14
clave = raw_input("PASSWORD: ")
con = con + 1
existe = False
for u in lisUsu:
if u.rut == rut and u.clave == clave:
existe = True
break

if existe == True:
menu()
else:
i=i-1
print "Que mal"
print "Quedan", i, "intentos."
if i == 0:
print "Ya valiste"

main()

tabla base de datos

Ejercicio 4

15
import psycopg2 as pgq

def safe(name, days, mes1, mes2, mes3, mes4, mes5, mes6, indemni):
datos = (name, days, mes1, mes2, mes3, mes4, mes5, mes6, indemni)
try:
conn = pgq.connect(host="localhost", database="eje4", user="postgres", password="pgadmin4")
print "Data base conected"
except:
print "Data base dont conect"

try:
cur = conn.cursor()
cur.execute("INSERT INTO indemni(nombre, dia, pri, seg, ter, cua, qui, sex, inde)VALUES(%s,%s,%s,%s,
%s,%s,%s,%s,%s)",datos);
print "Data safe succesfully"
conn.commit()
conn.close()
except:
print "Data dont safe"

def main():
print "Calculo de la indemnizacion de un empleado"
print "Ingrese el nombre completo del empleado"
name = raw_input()
print "Ingrese el sueldo de los ultimos 6 meses"
print "Primer mes"
mes1 = input()
print "segundo mes"
mes2 = input()
print "tercer mes"
mes3 = input()
print "cuarto mes"
mes4 = input()
print "quinto mes"
mes5 = input()
print "sexto mes"
mes6 = input()
print "Cantidad de dias laborados por el empleado"
days = input()

prom = (mes1+mes2+mes3+mes4+mes5+mes6)/6
promedio = (prom*14)/12

16
indemni = days * (promedio/365)

safe (name, days, mes1, mes2, mes3, mes4, mes5, mes6, indemni)
print "Empleado:", name
print "Su monto de indemnizacion es de:", indemni
main()

tabla base de datos

Ejercicio 8

import random
import psycopg2 as psq

def guardar(dato1,dato2,dato3,dato4,A,B,estado):
datos = (dato1,dato2,dato3,dato4,A,B,estado)
try:

17
con = psq.connect(host="localhost", port="5432", database="eje8", user="postgres",
password="pgadmin4")
print "conectado a base datos exitosamente"

except (Exception, psq.DatabaseError) as error:


print (error)

try:
cur = con.cursor()
cur.execute("INSERT INTO juego(monto, num1, num2, num3, numgen, monto1, estado)VALUES(%s,%s,
%s,%s,%s,%s,%s)",datos);
con.commit()
except:
print"fallo al tratar de guardar"
finally:
if con is not None:
con.close()
print "Database conexion ha sido cerrada"

def generador():
B = random.randint(1, 20)
return B

def main():
z=0
print "Ingrese el monto de la apuesta que va a realizar"
dato1 = input()

print "Ingrese el primer numero con cual quiere apostar"


while(z!=1):
dato2 = input()
if dato2<21:
print "El numero esta en el rango"
z=1
else:
print "ingres un numero que este en el rango indicado"

print "Ingrese el segundo numero con el cual quiere apostar"


z=0
while(z!=1):
dato3 = input()

18
if dato3<21:
print "El numero esta en el rango"
z=1
else:
print "ingres un numero que este en el rango indicado"

print "Ingrese el tercer numero con el cual quiere apostar"


z=0
while(z!=1):
dato4 = input()
if dato4<21:
print "El numero esta en el rango"
z=1
else:
print "ingres un numero que este en el rango indicado"

print ("Monto apostado ="), dato1


print ("Primer Numero ="), dato2
print ("Segundo Numero ="), dato3
print ("Tercer Numero ="), dato4

A = generador()

if dato2 == A:
B = dato1+(dato1*0.80)
print "Numero Generado =", A
print "Aumento de un 80% a su apuesta"
print "Su nuevo monto es de:", B
estado = "aumento 80%"
elif dato3 == A:
B = dato1+(dato1*0.50)
print "Numero Generado =", A
print "Aumento de un 50% a su apuesta"
print "Su nuevo monto es de:", B
estado = "aumento 50%"
elif dato4 == A:
B = dato1+(dato1*0.30)
print "Numero Generado =", A
print "Aumento de un 30% a su apuesta"
print "Su nuevo monto es de:", B
estado = "aumento 30%"
else:

19
B = dato1-(dato1*0.50)
print "Numero Generado =", A
print "Disminucion de un 50% a su apuesta"
print "Su nuevo monto es de:", B
estado = "disminuye 50%"

guardar(dato1,dato2,dato3,dato4,A,B,estado)

main()

tabla base de datos

Ejercicio 9

20
import psycopg2 as psq

def guardar(dis, tan):


datos = (dis, tan)
try:
conn = psq.connect(host="localhost", port="5432", user="postgres", password="pgadmin4",
database="motos")
print "Conexion a base de datos"
except:
print "Error en la conexion con base de datos"

try:
cur = conn.cursor()
cur.execute("INSERT INTO mototaxi(km, saldo) VALUES(%s,%s)", datos);
conn.commit()
conn.close()
print "Datos almacenados exitosamente"
except:
print 'No se pudo guardar los datos'
def main():
h=0
while(h!=1):
print "1) Calcular el monto a pagar por la distancia recorrida"
print "2) Salir"
entrada = input()
if entrada == 1:
print "introduzca la distancia recorrida"
dis = input()
b = dis

if dis <= 3:
tan = 15
elif dis > 3:
tan = 15
while(b!=3):
tan = tan + 2.50
b=b-1

print "Saldo total a cancelar", tan


guardar(dis, tan)

21
elif entrada == 2:
h=1

else:
print "Ingrese una de las opciones del menu"
main()

tabla base de datos

Ejercicio 10

22
import psycopg2 as psq

def guardar(act, vi, an, mes, dia):


datos =(act, vi, an, mes, dia)

try:
conn = psq.connect(host="localhost", port="5432", database="valor", user="postgres",
password="pgadmin4")
print "Conexion a base de datos"
except:
print "fallo en la conexion con base de datos"

try:
cur = conn.cursor()
cur.execute("INSERT INTO depre(valact, vidut, anual, mensual, dia) VALUES(%s,%s,%s,%s,%s)", datos);
conn.commit()
conn.close()
except:
print "No se almacenaron los datos"

def main():
h=1
while(h!=0):
print "Depreciacion de activos. Elija la opcion que desea"
print "1) Depreciacion Anual"
print "2) Dreciacion Mensual"
print "3) Depreciacion Diaria"
print "4) Salir"

a = input()
if a == 1:
print "Ingrese el valor activo"
act = input()
print "Ingrese vida util asignada del activo"
vi = input()
an = act/vi
mes = 0
dia = 0
print an
elif a == 2:

23
print "Ingrese el valor activo"
act = input()
print "Ingrese vida util asignada del activo"
vi = input()
print "Ingrese cantidad de meses"
no = input()
mes = (act*no)/(vi*12)
an = 0
dia = 0
print mes
elif a == 3:
print "Ingrese el valor activo"
act = input()
print "Ingrese vida util asignada del activo"
vi = input()
print "Ingrese cantidad de dias"
no = input()
dia = (act*no)/(vi*360)
an = 0
mes = 0
print dia
elif a == 4:
h=0
else:
print "introduzca una opcion que se encuentre en el menu"

guardar(act, vi, an, mes, dia)

main()

tabla base de datos

24
25
3. CONCLUSIONES

Se aplicaron los conocimientos adquiridos en clase generando


los programas en Python conectndose con una base de datos
en PG ADMIN 4.

Se crearon tablas y bases de datos en Postgresql desde PG


ADMIN 4 haciendo eficiente el almacenar los datos para futuros
usos.

26
4. RECOMENDACIONES

Es preferible trabajar en C# para crear de forma formal una


tabla desde PG ADMIN4

27

You might also like