s2daEva_IIT2004_T3 Reciclar vasos

Propuesta de solución en Python: py_pdf, también en versión matlab: m_pdf

Lazo mientras-repita

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# Final II Término 2004. Tema 3. Reciclaje vasos
# Solucion propuesta para 1ra Eval. sin Funciones
n=int(input('Cuantos vasos usados:'))
factor=int(input('nuevos/reciclado:'))

total=0
while (n>=factor):
    reciclado=n//factor
    sobra=n%factor
    total=total+reciclado
    n=reciclado+sobra

print(total)

Lazo repita-hasta

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# Final II Término 2004. Tema 3. Reciclaje vasos
# Solucion propuesta 1ra Eval. sin Funciones
n=int(input('Cuantos vasos usados:'))
factor=int(input('nuevos/reciclado:'))

total=0
while not(n<factor):
    reciclado=n//factor
    sobra=n%factor
    total=total+reciclado
    n=reciclado+sobra

print(total)

s2Eva_IT2005_T3 Adivina palabra (ahorcado)

Propuesta de solución en Python:

# 2Eva_IT2005_T3 Adivina palabra
# Tema 3. Adivina la palabra, Ahorcado

def esvocal(caracter):
    caracter=caracter.upper()
    vocales='AEIOU'
    n=len(vocales)
    encontre = 0
    i = 0
    while not(i>=n):
        if (caracter == vocales[i]):
            encontre = 1
        i=i+1
    return(encontre)

def convertir(palabra):
    cadena = ''
    n = len(palabra)
    i = 0
    while not(i>=n):
        cadena = cadena + str(i+1)
        i = i+1
    return(cadena)

# Juego
# INGRESO
palabra = input('palabra: ')
m = len(palabra)
while not(m<=9):
    palabra =input(' palabra de hasta 9 letras: ')
    m=len(palabra)

# PROCEDIMIENTO
palabra = palabra.upper()
ahorcado = convertir(palabra)
falla=0
maxfalla=m
j=0
while not(j>=m or falla==maxfalla):
    cual=esvocal(palabra[j])
    if (cual==1):
        texto=' es vocal'
    else:
        texto= ' es consonante'
    indicar='la letra '+str(j+1) + texto
    pregunta=indicar + ', una letra: '
    print('ahorcado :',ahorcado)
    print('las fallas: ', falla)
    
    unaletra=input(pregunta)
    
    unaletra=unaletra.upper()
    if (unaletra==palabra[j]):
        mensaje=' **** adivinaste...!'
        j=j+1
        nueva=palabra[0:j]+ahorcado[j:]
        ahorcado=nueva

    else:
        mensaje=' ....fallaste ja ja...'
        falla=falla+1
        
    print(mensaje)

s2Eva_IT2005_T4 Registrar mejores calificaciones

Propuesta de solución en Python: py_pdf, también en versión matlab: m_pdf

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# Final I Término 2005
# Tema 4.  Registrar y calcular mejores calificaciones
# propuesta: edelros@espol.edu.ec
# Se usará menú y diccionario para cada registro
# Tarea: completar opcion 4 con nota mas alta y mas baja
# Tarea: aumentar las opciones para grabar o leer un archivo
# Tarea: Se puede hacer también con listas y sin menu

lista=[]
suma=0

opcion = '0'
while not(opcion=='5'):
    print('1. Ingresar registro')
    print('2. Ingresar ponderaciones')
    print('3. Calcular calificaciones')
    print('4. Mostrar lista y extremos')
    print('5. Salir')
    opcion=input('-cual opcion: ')
    
    if (opcion=='1'):
        print('REGISTRO')
        nombre=input('nombre: ')
        leccion=int(input('leccion: '))
        proyecto=int(input('proyecto:'))
        examen=int(input('examen:'))
        estudiante={'nombre':nombre,'leccion':leccion,'proyecto':proyecto,'examen':examen,'calif':0}
        lista.append(estudiante)
        
    elif (opcion=='2'):
        print('PONDERACION')
        pondlecc=int(input('% leccion: '))
        pondproy=int(input('% proyecto:'))
        pondexam=int(input('% examen:  '))
        suma=pondlecc+pondproy+pondexam
        while not(suma==100):
            print('ponderación no suma 100')
            pondlecc=int(input('% leccion: '))
            pondproy=int(input('% proyecto:'))
            pondexam=int(input('% examen:  '))
            suma=pondlecc+pondproy+pondexam
        
    elif (opcion=='3'):
        print('CALCULAR')
        tamano=len(lista)
        if (suma==100):
            for i in range(0,tamano,1):
                prom=(lista[i]['leccion']*pondlecc+lista[i]['proyecto']*pondproy+lista[i]['examen']*pondexam)/100
                lista[i]['calif']=prom
            print('Recalculadas las notas, proceder a mostrar')
        else:
            print('** las ponderaciones no son validas **')
            print('** volver a opcion de ponderaciones **')
        
    elif (opcion=='4'):
        print('LISTA')
        tamano=len(lista)
        print('nombre, leccion, proyecto, examen, calif')
        for i in range(0,tamano,1):
            print(lista[i]['nombre']+', '+str(lista[i]['leccion'])+', '+str(lista[i]['proyecto'])+', '+str(lista[i]['examen'])+', '+str(lista[i]['calif']))
    elif (opcion=='5'):
        print('Gracias por usar el software...')
    else:
        print('** NO es una opcion disponible **')

s2Eva_IT2006_T1 Donaciones defensa civil

Propuesta de solución en Python: py_pdf, también en versión matlab: m_pdf

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 2da Evaluación I Término 2006
# Tema 1. Registrar donaciones para defensa civil
# Propuesta: edelros@espol.edu.ec
# Nombre del Donante, teléfono, Tipo de Donación, Cantidad

donacion=[]
opcion=0
while not(opcion==5):
    print('1. Registro de donacion')
    print('2. Donantes por tipo')
    print('3. Unidades por tipo')
    print('4. Guardar archivo')
    print('5. Salir')
    opcion=int(input('cual opcion: '))
    if (opcion==1):
        print('REGISTRA DONACION')
        nombre=input('nombre: ')
        telefono=input('telefono: ')
        print(' tipo donacion: 1.alimentos 2.medicina 3.dinero')
        tipo=int(input('tipo : '))
        cantidad=float(input('cantidad: '))
        donacion.append([nombre,telefono,tipo,cantidad])
    elif (opcion==2):
        print('DONANTES POR TIPO')
        m=len(donacion)
        qalimento=0
        qmedicina=0
        qdinero=0
        for i in range(0,m,1):
            if (donacion[i][2]==1):
                qalimento=qalimento+1
            if (donacion[i][2]==2):
                qmedicina=qmedicina+1
            if (donacion[i][2]==3):
                qdinero=qdinero+1
        print('donantes alimento: '+str(qalimento))
        print('donantes medicina: '+str(qmedicina))
        print('donantes dinero:   '+str(qdinero))
            
    elif (opcion==3):
        print('UNIDADES POR TIPO')
        m=len(donacion)
        salimento=0.0
        smedicina=0.0
        sdinero=0.0
        for i in range(0,m,1):
            if (donacion[i][2]==1):
                salimento=salimento+donacion[i][3]
            if (donacion[i][2]==2):
                smedicina=smedicina+donacion[i][3]
            if (donacion[i][2]==3):
                sdinero=sdinero+donacion[i][3]
        print('cantidad de alimento: '+str(salimento))
        print('cantidad medicina: '+str(smedicina))
        print('cantidad dinero:   '+str(sdinero))
    elif (opcion==4):
        print('Guardar')
        nombrearchivo=input('nombre archivo: ')
        archivo=open(nombrearchivo+'.txt','w')
        m=len(donacion)
        for i in range(0,m,1):
            registro=str(donacion[i][0])+','+str(donacion[i][1])+','+str(donacion[i][2])+','+str(donacion[i][3])+'\n'
            archivo.write(registro)
        archivo.close()
    elif (opcion==5):
        print('Gracias por usar el software')
    else:
        print('** opcion no existe **')