Sou estudante de Ciência da Computação na Unifor/Ceará.
Sou novo aqui no GUJ e não sei se esta é a seção certa para minha dúvida. Caso contrário favor mover.
Estou fazendo a cadeira de logica de programação. O professor usa portugol na sala de aula, e Java no laboratorio.
Eu ja tinha feito um curso de java basico antes de entrar na faculdade, então a sintaxe e noções de OO não são um problema para mim.
Mas aula passada, o professor passou um problema, e eu logo abri o eclipse e fui querer resolver, escrevendo código java. Na certa não me dei bem.
O monitor da turma me disse o seguinte: esquece o java, pega uma caneta e papel, pensa em como resolver o problema, sem pensar em código, que tudo se resolve".
Alguma dica para um novato? Acho que esse deve ser um erro comum para quem esta iniciando.
[quote=thiagoponte]Sou estudante de Ciência da Computação na Unifor/Ceará.
Sou novo aqui no GUJ e não sei se esta é a seção certa para minha dúvida. Caso contrário favor mover.
Estou fazendo a cadeira de logica de programação. O professor usa portugol na sala de aula, e Java no laboratorio.
Eu ja tinha feito um curso de java basico antes de entrar na faculdade, então a sintaxe e noções de OO não são um problema para mim.
Mas aula passada, o professor passou um problema, e eu logo abri o eclipse e fui querer resolver, escrevendo código java. Na certa não me dei bem.
O monitor da turma me disse o seguinte: esquece o java, pega uma caneta e papel, pensa em como resolver o problema, sem pensar em código, que tudo se resolve".
Alguma dica para um novato? Acho que esse deve ser um erro comum para quem esta iniciando.[/quote]
Essa dica que o seu monitor te deu é a melhor! Realmente é isso, esquece o Java, pega papel e caneta e faz.
Tenta criar instâncias pequenas do seu problema e resolve-las manualmente, por exemplo, se envolve vetores, com 1 elemento, depois com 2, 3 e assim por diante até vc se sentir confortável com a ressolução. Depois tenta entender o que você tá fazendo pra resolver o problema e transformar isso em passos, feito isso, passe esses passos pra algoritmo e pronto!!
Realmente concordo com seu monitor e com o amigo acima. Divida o problema para resolver. Pense em partes, em passos.
Lembre-se: dividir para conquistar!
Papel e caneta realmente são importantes ae, pois você pode visualizar melhor o seu problema. Passe o algoritmo para o papel, e reproduza a execução por partes. Isso te dará visão da resolução do problema.
Se aceita mais uma dica: compre uma prancheta!
Sério, me ajudou absurdamente!
Uso a mesma prancheta desde a disciplina de Estrutura de Dados, onde fiz meus testes de mesa e desenvolvimento do raciocínio de “milhares” de códigos, já tem até um valor sentimental =P (a prancheta to poder! ooooooooooOOOOOOOOOOOOHHH!!)
Ai ja prefiro fazer na mão, particularmente eu perderia muito tempo usando essa régua pra esboços e como ninguém mais faz os fluxogramas (quando fazem) na mão acabaria servindo de enfeite na minha mesa =P
Não se preocupe. Com a experiência, esse tipo de recurso diminui para algoritmos mais simples.
Entretanto, quando a coisa pega, a gente sempre volta pra ele. Nós aprendemos a pensar em portguês desde pequeno. E java é uma linguagem de programação, não uma natural. É por isso que não conseguimos exprimir certas complexidades diretamente em Java.
Eu mesmo escrevo pseudocódigo diretamente no lugar onde deveria ter o programa, em forma de comentários.
Depois, para cada linha do pseudo-código, eu vou divindo em novas linhas, detalhando, refinando. em determinado momento, o algoritmo está ali, claro, na minha frente. Então vasta escrever as instruções correspondentes aos comentários logo abaixo deles e voilá! Temos um algoritmo comentado, de quebra!