ZeroZeroPeras Publicado 30 Janeiro 2013 (editado) Gostei dos teus posts neste tópico. ;) Já agora posso perguntar em que trabalhas? ;) Trabalho em investigação, num grupo de investigação em Inteligência Artificial (engenharia do conhecimento e apoio à decisão). No meu grupo de trabalho abordamos o problema de escalonamento de produção dinâmico, e usamos Sistemas Multi-Agente para modelar um sistema de fabrico, Meta-heurísticas para obter uma solução quase-óptima em relativamente pouco tempo, e conceitos de Autonomic Computing para tornar o sistema mais robusto e autónomo. Na minha tese de Mestrado comecei a incorporar conceitos de aprendizagem, particularmente para melhorar a eficácia e eficiência das Meta-heurísticas, cujo desempenho depende muito dos parâmetros de entrada. Assim, propus o uso de uma metodologia de Case-based Reasoning para a escolha e afinação das Meta-heurísticas. Na minha tese de Doutoramento estou a continuar esse trabalho e a estudar outras perspectivas, de modo a melhorar a abordagem que proponho. (desculpem se não perceberam nada :) deixei o link da Wikipedia em cada um dos conceitos se quiserem aprofundar) Gostaria de continuar em investigação (em coisas relacionadas com IA), mas cá em Portugal actualmente é quase impossível. Acabando o Doutoramento, vou procurar empresas cá em Portugal que apostem nisso mas vou incidir mais a procura no estrangeiro. Tive um contacto da Noruega de uma empresa que usa o Case-based Reasoning na indústria petrolífera, mas ficou em águas de bacalhau. Há que salientar que é muito importante saber comentar (também é uma boa parte de ser um bom programador). É um pouco difícil perceber isto, mas basicamente é evitar aqueles comentários do tipo "nesta linha aqui estou a somar 2 mais 2". Como disseste mais vale por os comentários em pedaços de código mais complexos (como o "cabeçalho" de uma função ou algoritmo). Também referir que as linguagens de programação têm as suas "guidelines" de organização de código (code standards). Por exemplo, em Java, começar o nome de uma variável com letra minúscula. E sim, o Google é o nosso melhor amigo. Isso e o Stack Overflow :prayer: Acabo por ir dar quase sempre ao Stack Overflow quando quero encontrar uma solução para qualquer coisa ISTO É MESMO IMPORTANTE! Eu que trabalho com vários programadores, e cada um tem a sua forma de programar, é muito importante os comentários serem explícitos e diretos de forma a que consigamos saber o que está feito e o que tem que ser feito. Podes crer, trabalhei com um colega que vinha da área da mecânica e eletrónica e não teve uma base sólida em programação. Então aqueles algoritmos até metem dó, variáveis que tornam o código ilegível e comentários nem vê-los... Ele foi-se embora e nós vemo-nos à nora para perceber o que raio ele fez. Editado 30 Janeiro 2013 por ZeroZeroPeras Compartilhar este post Link para o post
Kanye Publicado 30 Janeiro 2013 É em que linguagem?Old school :prayer:/> PHP Hugo. Vou usar o Drupal, mas sou alto noob a mexer naquilo. Btw, alguém aqui anda na católica do Porto? Compartilhar este post Link para o post
Reddish Ruse Publicado 30 Janeiro 2013 Erm...tens aí um OK a mais :mrgreen: + a falta dos ; pelo que percebi era suposto termos escrito uma mensagem na 2ª linha :mrgreen: já tentei por a mensagem como console.log mas nada os ; não resolveu também :-| não fazem diferença neste "programa", mas também não deram indicação que eram necessários.de qualquer forma vou começar a user Compartilhar este post Link para o post
Naitch Publicado 30 Janeiro 2013 Tenho a confessar que os comentários já me salvaram a pele em muitas situações. E falo por experiência porque já me passaram coisas pelas mãos de código com variáveis com nomes completamente random e depois sem um único comentário em mais de 200 linhas de código. Foi uma trabalheira para decifrar aquilo tudo e a encomenda ainda me diz, no final, que tinha um ficheiro à parte com os comentários para não sobrecarregar o index principal... Escusado será dizer que só não foi a voar pelo 2º andar abaixo porque depois quem se lixava era eu. Compartilhar este post Link para o post
ZeroZeroPeras Publicado 30 Janeiro 2013 pelo que percebi era suposto termos escrito uma mensagem na 2ª linha :mrgreen:/> já tentei por a mensagem como console.log mas nada os ; não resolveu também :-|/> não fazem diferença neste "programa", mas também não deram indicação que eram necessários.de qualquer forma vou começar a user Tenta colocar // antes do OK. Eles pedem para escreveres um comentário, logo penso que seja isso Compartilhar este post Link para o post
Reddish Ruse Publicado 30 Janeiro 2013 (editado) Tenta colocar // antes do OK. Eles pedem para escreveres um comentário, logo penso que seja isso era mesmo isto :compinchas: cheguei agora ás funções :medinho: não percebi o que são returns. alguem me pode explicar? Editado 30 Janeiro 2013 por pedropereir Compartilhar este post Link para o post
doom_master Publicado 30 Janeiro 2013 Ontem esqueci-me de referir uma coisa muito importante, na minha opinião: por favor, comentem o vosso código! Usem e abusem de comentários, nem que seja para dizer coisas simples como "este ciclo procura o valor mais baixo de um array" ou "este método faz um bubble sort" Os comentários são úteis tanto para vocês como para as outras pessoas que vejam e usem o código. A nível académico, os professores não são obrigados a perceber à primeira o que vocês codificaram, logo é importante dizer o que querem fazer. A nível profissional, os vossos colegas agradecem imenso que o código esteja comentado (se for uma equipa/empresa internacional, usem o inglês) Além disso, sejam explícitos nos nomes que dão a variáveis, métodos e classes. Não chamem por favor coisas do género "xpto" "xyz" "aaa".... é que fica uma salgalhada do caraças :D/> E caso não utilizem um editor apropriado (p.e. caso usem notepad), identem o código, torna-o mais legível. Os editores mais comuns já o fazem automaticamente e até têm ferramentas para optimizar o código Uma vez mais, na mouche. Felizmente a nós deram-nos muito na cabeça ao início para fazermos isso :mrgreen: Compartilhar este post Link para o post
Naitch Publicado 30 Janeiro 2013 não percebi o que são returns. alguem me pode explicar? If called from within a function, the return statement immediately ends execution of the current function, and returns its argument as the value of the function call. Posso estar a atirar completamente ao lado mas o return, se bem me lembro, é a sintaxe que usas para mostrar o que fizeste na função. A maneira como se escreve varia um pouco de linguagem para linguagem portanto não vale a pena tar aqui a colocar exemplos mas, e tentando explicar melhor, se fizeres uma function para te apresentar uma coisa qualquer, vais usar o return para te apresentar isso no final da função. Sim, está confuso mas foi o melhor que consegui fazer, desculpa :lol: Compartilhar este post Link para o post
NIkeL Publicado 30 Janeiro 2013 Já aprendi Assembly, C, Java, SQL, VB.net, Haskell, Prolog, PHP, HTML. As que me sinto mais à vontade neste momento são Java, VB.net e SQL. era mesmo isto :compinchas:/> cheguei agora ás funções :medinho:/> não percebi o que são returns. alguem me pode explicar? O return é para devolver o "resultado" da função. Se tens uma função que recebe 2 inteiros e os soma, no return metes o resultado. de forma muito simplificada algo como: função soma que devolve int (recebe x, y){ int soma = x+y return soma } mais simples ainda é o corpo da função ser logo return x+y Compartilhar este post Link para o post
doom_master Publicado 30 Janeiro 2013 Epá, lol. Tinha de calcular a soma de todos os números primos abaixo de 2 milhões. Coisa simples e tal. Faço o algoritmo, corro, vou a ver se o resultado está correcto e.. não está :| Estranho. Dou a volta ao algoritmo, de alto abaixo e não encontro nada. Faço outro diferente. Dá-me o mesmo resultado. Faço um terceiro diferente. Igual. Altero-o para ficar com o pior desempenho, o que fez com que demorasse 14 minutos a correr. Ainda igual. Qual era o erro? O valor da soma era demasiado grande para caber num int, tinha de estar num long :facepalm: Compartilhar este post Link para o post
JackBauerPT Publicado 30 Janeiro 2013 Já que falas disso acho que uma vez um foguetão ou algo relacionado explodiu porque houve overflow numa variável de inteiro. Compartilhar este post Link para o post
Kratosthegod Publicado 30 Janeiro 2013 Este tópico está a pedir isto: http://www.youtube.com/watch?v=1S1fISh-pag Compartilhar este post Link para o post
Morrissey Publicado 30 Janeiro 2013 C++ aqui. Comecei Java, mas tou a zeros completamente. :( Compartilhar este post Link para o post
Naitch Publicado 30 Janeiro 2013 Qual era o erro? O valor da soma era demasiado grande para caber num int, tinha de estar num long :facepalm: :lol: Compartilhar este post Link para o post
Rei_Patricio Publicado 30 Janeiro 2013 Qual era o erro? O valor da soma era demasiado grande para caber num int, tinha de estar num long :facepalm:/> Não saquei um 20 numa cadeira por causa disso. :( Compartilhar este post Link para o post
3rR0r Publicado 31 Janeiro 2013 (editado) Dos melhores tópicos dos últimos tempos... Bem eu com linguagens de programação posso dar uma ajuda em C++, JavaScript, PHP e SQL. Linguagens WEB - HTML e CSS. Deixo o link de um programinha, uma calculadora (fraquinha :lol:/>) para ajudar quem precise a passar uns módulos, aulas o que quer que seja. Link para download: http://speedy.sh/bAkAH/Calculadora-C-AMBIENTE-GRAFICO.rar Os links com os trabalhos assim mais fáceis podiam ser colocados na página principal pode ser que ajudem alguém. Editado 31 Janeiro 2013 por 3rR0r Compartilhar este post Link para o post
doom_master Publicado 31 Janeiro 2013 Posso fazer isso, também. Digam-me só em que linguagem estão os trabalhos/manuais/wtv que forem metendo aqui que eu organizo. Compartilhar este post Link para o post
Sobreira Publicado 31 Janeiro 2013 Ora aqui está um bom tópico, dá sempre jeito para tirar algumas dúvidas com o pessoal. Para já o meu conhecimento é: Académico Avançado -> C Académico Médio -> SQL, C++, Java, Datalog Médio aprendido autonomamente -> HTML, CSS, Javascript Bases -> PHP, Ruby Compartilhar este post Link para o post
shelton Publicado 31 Janeiro 2013 (editado) Se és Eng. Informático devias saber que HTML e CSS não são linguagems de programação. Eu não disse que HTML e CSS são linguagens de programação. Disse que programo em várias linguagens. HTML e CSS são linguagens, não são é de programação. Editado 31 Janeiro 2013 por shelton Compartilhar este post Link para o post
Grillo Publicado 31 Janeiro 2013 Alguém me explica porque é que isto Module Module1 Dim var3 As Integer = 2 Sub Main() Dim var1 As Integer = 4 var3 = MyFunction(var1) Console.WriteLine(CStr(var3 + var1)) Console.ReadLine() End Sub Function MyFunction(ByRef var1 As Integer) Dim var2 As Integer = 7 var2 = var2 * var1 + var3 var1 = 10 Return var2 End Function End Module retorna 40? Compartilhar este post Link para o post
ZeroZeroPeras Publicado 31 Janeiro 2013 Alguém me explica porque é que isto Module Module1 Dim var3 As Integer = 2 Sub Main() Dim var1 As Integer = 4 var3 = MyFunction(var1) Console.WriteLine(CStr(var3 + var1)) Console.ReadLine() End Sub Function MyFunction(ByRef var1 As Integer) Dim var2 As Integer = 7 var2 = var2 * var1 + var3 var1 = 10 Return var2 End Function End Module retorna 40? Quando ali em cima referi o cuidado com identação e nomes de variáveis era mesmo para estas situações :mrgreen: (coloquei em code e já ficou melhorzinho) Para responder à tua questão, o função MyFunction retorna 30 para a var3 (resultado de 7*4+2) e define o valor de var1 = 10. Depois somas a var3 com a var1, o que dá 40 Compartilhar este post Link para o post
doom_master Publicado 31 Janeiro 2013 Faz-me tanta confusão ver código sem indentação, ou mal indentado :lol: Já agora, vou semear aqui o pânico: quando usam chavetas { } abrem-nas na mesma linha ou na linha seguinte? :mrgreen: Compartilhar este post Link para o post
Reddish Ruse Publicado 31 Janeiro 2013 var userChoice = prompt("Do you choose rock, paper or scissors?"); var computerChoice = Math.random(); if (computerChoice <0.34){ computerChoice = "rock"; }else if(computerChoice <=0.67){ computerChoice = "paper"; }else{ computerChoice = "scissors"; } var compare = function (choice1,choice2){ if (choice1 === choice2) { return "The result is a tie!"}; }; if (choice1 === "rock"){ if (choice2 === "scissors"){ return "rock wins"; } else { return "paper wins"; } } o que está mal? Compartilhar este post Link para o post
doom_master Publicado 31 Janeiro 2013 Nunca trabalhei com essa linguagem, mas convém dizeres o que acontece. Compartilhar este post Link para o post
wolfking Publicado 31 Janeiro 2013 Ehh tópico novo. Por aqui é C e C++, sei umas quantas coisas de Java (embora não lhe toque há bastante tempo) e dou uns toques em Python. Compartilhar este post Link para o post