funções

funções

por João Cortese -
Número de respostas: 7
Professor,
no meu programa há uma parte consideravelmente extensa que não consigo transformar em funções, e estou preocupado, pois até onde entendi devemos deixar o programa com o máximo de funções possível.
As partes que não consigo transformar em funções são condições de if que envolvem um continue de um laço while (é possível isso? evocar dentro de dentro de um laço while uma função que contenha um 'continue' para o laço?)
E a construção da caixa? Precisa ser uma função ou pode ser uma simples "descrição"?
Obrigado,
João
Em resposta à João Cortese

Re: funções

por Ana Carolina Ribeiro Gomez -
você tentou retornar da função algo que decida se o while continua ou nao e entao colocar o continue no while mesmo?
Eu tive um problema parecido (era com break ao invés de continue) e o professor me disse que o único jeito era esse. Algo do tipo, se a função retornar False: break, senão: continue
Acho que não há nada muito melhor do que isso a se fazer!

ps. longe de mim ter a pretensão de querer responder perguntas no lugar do professor, só estou comentando pq já tinha perguntado algo parecido pra ele.
Em resposta à Ana Carolina Ribeiro Gomez

Re: funções

por Bruno Grizzo Canettieri -
É isso mesmo, para verificarmos se o laço deve ou não continuar basta colocar uma condição if para a saída (ou variáveis alteradas) da função.

A idéia do fórum é essa mesmo pessoal....discussão entre vcs para depois obterem uma resposta do professor (ou monitor)
Em resposta à João Cortese

Re: funções

por Leonardo Batoni Abdalla -
Na verdade eu estou com esse mesmo problema....nao sei ateh onde eu devo ''enfeitar'', ou ''minimizar'' meu programa...
no meu laço while eu escrevi tudo na marra porrem com os devidos comentarios necessarios...
EU gostaria de saber, se é tao importante assim como o joao disse,''deixar o programa com o máximo de funções ''?
Em resposta à Leonardo Batoni Abdalla

Re: funções

por Bruno Grizzo Canettieri -
Na verdade o importante não é deixar o programa com o número máximo de funções, isso seria atingido fazendo cada linha do ep virar uma função (ou então, fazendo cada linha chamar uma função que chama uma função que ... que finalmente executa uma linha do ep)

Obviamente não é o que queremos...

uma boa forma de decidirmos quais funções devem ser separadas é observar para que serve cada parte do seu programa...

Códigos que se repetem constantemente também devem ser colocados em funções (em programas maiores frequentemente blocos de código são repetidos)

Se no seu programa principal, temos uma parte para construir a janela por exemplo, seria legal por essa parte em uma função....que poderia ser chamada por outro programa por exemplo....Outro exemplo seria para verificar se a bola saiu ou não da sala, em vez de simplesmente colocar o código com if's poderiamos chamar uma função bolaSaiu....

Desta forma o programa fica muito mais limpo e fácil de entender.

Observe que isso é muito bom principalmente para verificarmos erros, pois podemos facilmente isolar o problema em uma função...
Em resposta à Bruno Grizzo Canettieri

Re: funções

por Ana Carolina Ribeiro Gomez -
existe algum limite de bom-senso para o número de parâmetros que uma função tem que receber para funcionar? Se eu quisesse implementar o bolaSaiu no meu programa ele ia ter que receber tanta coisa, que eu acho que seria pouco prático.
Em resposta à Ana Carolina Ribeiro Gomez

Re: funções

por Paulo José da Silva e Silva -
Ué para saber se a bola saiu você só precisa passar a posição atual da bola. Não é isso? A minha só tem isso.

Em resposta à Paulo José da Silva e Silva

Re: funções

por Ana Carolina Ribeiro Gomez -

verdade, você tem razão. Acho que eu ainda nao aprendi ainda a pensar com muita simplicidade (bom, isso ficou óbvio pra mim na minha primeira tentativa de fazer o ep, o que também me fez entender o significado de 'se é dificil de explicar, é uma má idéia').

Já fiz a função.