Ir para conteúdo
Fórum Script Brasil
  • 0

converter codigo para C


pabllodequeiroz

Pergunta

Boa noite eu preciso converter esse codigo python em C, é um trabalho da faculdade alguém poderia me ajudar?

 

 

import math
import cPickle
from Tkinter import *
from tkMessageBox import *
def crear():
        db = []
        cPickle.dump(db,open("memoria.mem","wb"))
     
matriz = [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]

crear()
memoria = cPickle.load(open("memoria.mem","rb"))
     
def imp(que,rango):#imprimir matriz
            ac = 0
            if ac==1:
                    c = 0
                    c1 = rango
                   
                    print ("==================")
                    for i in range(0,rango):
                            a = que[c:c1]
                            k =  "       ".join(str(o)for o in a)
                            print ("")
                            print (k)
                            c +=rango
                            c1+=rango
                    print ("========================")
            else:
                    pass
def imp2(que,rango):#imprimir matriz auxiliar
        ac = 1
        if ac==1:
                c = 0
                c1 = rango
                   
                print ("==================")
                for i in range(0,rango):
                            a = que[c:c1]
                            k =  "       ".join(str(o)for o in a)
                            print ("")
                            print (k)
                            c +=rango
                            c1+=rango
                print ("========================")
        else:
                pass
     
def neurona(entrada,peso):#Valores de entradas e valores de "peso"
        c = 0                                                            #contador
        multiplicados = []                               #buffer 1
        for entrada1 in entrada:                         #altera sobre as entradas
                analisis1 = entrada1 * peso[c]   #multiplica as entradas pelos pesos
                multiplicados.append(analisis1)  # Analisa buffer
                c +=1                                                    #isto aumenta o contador para ver o peso a medida que se repete o laco
        suma = 0                                                         #buffer de soma       
        for i in multiplicados:                          #intera sobre
                suma+=i                                                  #vai somando a variavel suma para saber o resultado
        peso = math.tanh(suma)               #calculo funcional para reprimir o valor de suma
        if suma == len(entrada):             #se a soma for igual ao quantidade de valores entrada
                return suma                      #devolver suma
        return peso
     
def final():
        global candidatos,y
        candidatos = {}
        z = 0
        for i in memoria:
                peso = neurona(memoria[z],matriz)
                print ("peso:"),peso
                if peso <= 0.9999999999:
                        pass
                else:
                        candidatos[peso] = memoria[z]
                z+=1
               
        y = 0
        for m in candidatos:
                if m > y:
                        y = 0
                        y +=m
                else:
                    pass
                       
        if candidatos == {}:
                print ("não sei o que e")
        else:
                print ("Comparado "),matriz,(" com "),candidatos[y]
                print ("asd:"),matriz
                print ("RESULTADO:")
                imp2(candidatos[y],5)
        print (candidatos)
def aprender():
        def memorizar(palabra,lon):
                matriz=[]
                c = 0
                c1= 0
                for i in range(0,len(palabra)):
                        for i in palabra:
                                matriz.append(palabra[c1]*palabra[c])
                                c+=1
                        c = 0
                        c1+=1
                imp(matriz,lon)
                return matriz
        a =  memorizar(matriz,25)
        memoria.append(a[0:25])
        memoria.reverse()
        print ("Matriz aprendida:")
        for t in memoria:
            print (t)
        cPickle.dump(memoria,open("memoria.mem","wb"))
        resetear_tabla()
 
def analizar():
        final()
        resetear_tabla()
        rellenar()
     
                   
    #################INTERFACE GRAFICA
ventana = Tk()
class  nume:
        def una(self):
                matriz[0] = 1
                button1.config(bg="#5BADFF")
                imp(matriz,5)
        def dos(self):
                matriz[1] = 1
                button2.config(bg="#5BADFF")
                imp(matriz,5)
        def tres(self):
                matriz[2] = 1
                button3.config(bg="#5BADFF")
                imp(matriz,5)
        def cuatro(self):
                matriz[3] = 1
                button4.config(bg="#5BADFF")
                imp(matriz,5)
        def cinco(self):
                matriz[4] = 1
                button5.config(bg="#5BADFF")
                imp(matriz,5)
        def seis(self):
                matriz[5] = 1
                button6.config(bg="#5BADFF")
                imp(matriz,5)
        def siete(self):
                matriz[6] = 1
                button7.config(bg="#5BADFF")
                imp(matriz,5)
        def ocho(self):
                matriz[7] = 1
                button8.config(bg="#5BADFF")
                imp(matriz,5)
        def nueve(self):
                matriz[8] = 1
                button9.config(bg="#5BADFF")
                imp(matriz,5)
        def diez(self):
                matriz[9] = 1
                button10.config(bg="#5BADFF")
                imp(matriz,5)
        def once(self):
                matriz[10] = 1
                button11.config(bg="#5BADFF")
                imp(matriz,5)
        def doce(self):
                matriz[11] = 1
                button12.config(bg="#5BADFF")
                imp(matriz,5)
        def trece(self):
                matriz[12] = 1
                button13.config(bg="#5BADFF")
                imp(matriz,5)
     
        def catorce(self):
                matriz[13] = 1
                button14.config(bg="#5BADFF")
                imp(matriz,5)
                   
        def quince(self):
                matriz[14] = 1
                button15.config(bg="#5BADFF")
                imp(matriz,5)
    
        def diesiseis(self):
                matriz[15] = 1
                button16.config(bg="#5BADFF")
                imp(matriz,5)
    
        def diesisiete(self):
                matriz[16] = 1
                button17.config(bg="#5BADFF")
                imp(matriz,5)
     
        def diesiocho(self):
                matriz[17] = 1
                button18.config(bg="#5BADFF")
                imp(matriz,5)
                   
        def diesinueve(self):
                matriz[18] = 1
                button19.config(bg="#5BADFF")
                imp(matriz,5)
        def veinte(self):
                matriz[19] = 1
                button20.config(bg="#5BADFF")
                imp(matriz,5)
    
        def veintiuno(self):
                matriz[20] = 1
                button21.config(bg="#5BADFF")
                imp(matriz,5)
        def veintidos(self):
                matriz[21] = 1
                button22.config(bg="#5BADFF")
                imp(matriz,5)
               
        def veintitres(self):
                matriz[22] = 1
                button23.config(bg="#5BADFF")
                imp(matriz,5)
               
        def veinticuatro(self):
                matriz[23] = 1
                button24.config(bg="#5BADFF")
                imp(matriz,5)
    
        def veinticinco(self):
                matriz[24] = 1
                button25.config(bg="#5BADFF")
                imp(matriz,5)
core = nume()
def resetear_tabla():
        c = 0
        for i in matriz:
                matriz[c] = -1
                c+=1
        for t in botones:
                t.config(bg="#FFFFFF")
def borrarmem():
        memoria = []
        cPickle.dump(memoria,open("memoria.mem","wb"))
 
def rellenar():
        c = 0
        if candidatos == {}:
                return 0
        for i in candidatos[y]:
              
                if c == len(botones):
                        break
                if i == 1:
                        botones[c].config(bg="#01D826")
                if i == -1:
                        pass
                c+=1
     
     
     
     
     
     
     
     
     
     
     
    ###botoes de interacao
ventana2 = Tk()
ventana.title("Mem  by")
ventana.config(bg="#ECFFFF")
ventana2.geometry("180x200+450+350")
ventana2.title("Panel")

ventana.geometry("300x300+100+100")
aprender=Button(ventana2,text='Aprender',command=aprender,width=455).pack()
aprender=Button(ventana2,text='Analizar',command=analizar,width=455).pack()
aprender=Button(ventana2,text='Resetear valores',command=resetear_tabla,width=455).pack()
Label(ventana2,text="_____________________________").pack()
aprender=Button(ventana2,text='Apagar memoria',command=borrarmem,width=455).pack()
#######5
button25=Button(ventana,text='25',command=core.veinticinco,bg="#FFFFFF")
button25.place(relx=0.73, rely=0.77, relwidth=0.13, relheight=0.15)
button24=Button(ventana,text='24',command=core.veinticuatro,bg="#FFFFFF")
button24.place(relx=0.58, rely=0.77, relwidth=0.13, relheight=0.15)
button23=Button(ventana,text='23',command=core.veintitres,bg="#FFFFFF")
button23.place(relx=0.43, rely=0.77, relwidth=0.13, relheight=0.15)
button22=Button(ventana,text='22',command=core.veintidos,bg="#FFFFFF")
button22.place(relx=0.28, rely=0.77, relwidth=0.13, relheight=0.15)
button21=Button(ventana,text='21',command=core.veintiuno,bg="#FFFFFF")
button21.place(relx=0.12, rely=0.77, relwidth=0.13, relheight=0.15)
#######4
button20=Button(ventana,text='20',command=core.veinte,bg="#FFFFFF")
button20.place(relx=0.73, rely=0.60, relwidth=0.13, relheight=0.15)
button19=Button(ventana,text='19',command=core.diesinueve,bg="#FFFFFF")
button19.place(relx=0.58, rely=0.60, relwidth=0.13, relheight=0.15)
button18=Button(ventana,text='18',command=core.diesiocho,bg="#FFFFFF")
button18.place(relx=0.43, rely=0.60, relwidth=0.13, relheight=0.15)
button17=Button(ventana,text='17',command=core.diesisiete,bg="#FFFFFF")
button17.place(relx=0.28, rely=0.60, relwidth=0.13, relheight=0.15)
button16=Button(ventana,text='16',command=core.diesiseis,bg="#FFFFFF")
button16.place(relx=0.12, rely=0.60, relwidth=0.13, relheight=0.15)
#######3
button15=Button(ventana,text='15',command=core.quince,bg="#FFFFFF")
button15.place(relx=0.73, rely=0.43, relwidth=0.13, relheight=0.15)
button14=Button(ventana,text='14',command=core.catorce,bg="#FFFFFF")
button14.place(relx=0.58, rely=0.43, relwidth=0.13, relheight=0.15)
button13=Button(ventana,text='13',command=core.trece,bg="#FFFFFF")
button13.place(relx=0.43, rely=0.43, relwidth=0.13, relheight=0.15)
button12=Button(ventana,text='12',command=core.doce,bg="#FFFFFF")
button12.place(relx=0.28, rely=0.43, relwidth=0.13, relheight=0.15)
button11=Button(ventana,text='11',command=core.once,bg="#FFFFFF")
button11.place(relx=0.12, rely=0.43, relwidth=0.13, relheight=0.15)
#######2
diez = button10=Button(ventana,text='10',command=core.diez,bg="#FFFFFF")
button10.place(relx=0.73, rely=0.26, relwidth=0.13, relheight=0.15)
nueve = button9=Button(ventana,text='9',command=core.nueve,bg="#FFFFFF")
button9.place(relx=0.58, rely=0.26, relwidth=0.13, relheight=0.15)
ocho = button8=Button(ventana,text='8',command=core.ocho,bg="#FFFFFF")
button8.place(relx=0.43, rely=0.26, relwidth=0.13, relheight=0.15)
siete = button7=Button(ventana,text='7',command=core.siete,bg="#FFFFFF")
button7.place(relx=0.28, rely=0.26, relwidth=0.13, relheight=0.15)
seis = button6=Button(ventana,text='6',command=core.seis,bg="#FFFFFF")
button6.place(relx=0.12, rely=0.26, relwidth=0.13, relheight=0.15)
#######1
cinco1 = button5=Button(ventana,text='5',command=core.cinco,bg="#FFFFFF")
button5.place(relx=0.73, rely=0.09, relwidth=0.13, relheight=0.15)
cuatro1 = button4=Button(ventana,text='4',command=core.cuatro,bg="#FFFFFF")
button4.place(relx=0.58, rely=0.09, relwidth=0.13, relheight=0.15)
tres1 = button3=Button(ventana,text='3',command=core.tres,bg="#FFFFFF")
button3.place(relx=0.43, rely=0.09, relwidth=0.13, relheight=0.15)
dos1 = button2=Button(ventana,text='2',command=core.dos,bg="#FFFFFF")
button2.place(relx=0.28, rely=0.09, relwidth=0.13, relheight=0.15)
uno1 = button1=Button(ventana,text='1',command=core.una,bg="#FFFFFF")
button1.place(relx=0.12, rely=0.09, relwidth=0.13, relheight=0.15)
botones = [button1,button2,button3,button4,button5,button6,button7,button8,button9,button10,button11,button12,button13,button14,button15,button16,button17,button18,button19,button20,button21,button22,button23,button24,button25]
ventana2.mainloop()
ventana.mainloop()
 
 

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...