Ir para conteúdo
Entre para seguir isso  
doom_master

Tópico da Programação

Publicações recomendadas

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 por ZeroZeroPeras

Compartilhar este post


Link para o post

É 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

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

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

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

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 por pedropereir

Compartilhar este post


Link para o post

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

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

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

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

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

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

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

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.

ke9enm.png

 

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 por 3rR0r

Compartilhar este post


Link para o post

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

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

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 por shelton

Compartilhar este post


Link para o post

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

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

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

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

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

Crie uma conta ou entre para comentar

Você precisa de ser membro desta comunidade para poder comentar

Criar uma conta

Registe-se na nossa comunidade. É fácil!

Criar nova conta

Entrar

Já tem uma conta? Faça o login.

Autentique-se agora
Entre para seguir isso  

×
×
  • Criar Novo...