1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ajuda - Programa para entregar em 24 horas.

Discussão em 'Programação' iniciada por Psico_Mind, 14 de Novembro de 2006. (Respostas: 18; Visualizações: 2125)

  1. Psico_Mind

    Psico_Mind Banido

    Oi, tudo bem? Tenho um daqueles trabalhos que temos 24 horas para fazer. Ou seja, os professores são tão espertos que nem nos dão tempo para perguntar dúvidas. Por isso, se pudesse contar convosco, agradecia. Vou colocar o enunciado e um resumo, tipo topics do que eu considero que é para fazer em cada alinha. Depois tenho umas dúvidas que agradecia se alguém soubesse responder.

    Enunciado: http://ip.dcti.iscte.pt/enunciados/Problema2.html

    Meu resumo(ainda muito artesanal ):
    Perguntas:
    1º - Como faço para na string, separar o A do número? ( Sei que string.charat(0) dá a constante, mas o inteiro são dois números, como faço?
    2º - Não percebi NADA da 3º coisa do enunciado. Inicializo as variáveis da coordenada? Mas supostamente já fiz isso na 1º parte.
    3º - Na 6 não percebi que raio quer dizer: "que devolve verdadeiro se a coordenada dada como argumento tiver a mesma linha e a mesma coluna que a instância implícita (o objecto que executa a função).". Afinal vou verificar se a linha e coluna são iguais ao quê?


    E a pergunta mais importante: Em nenhum destes 7 topics vejo a dizerem para desenhar o referencial com o T. Eu devo ser muito burro e peço desculpa. :'(
     
    Última edição: 14 de Novembro de 2006
  2. Lancaster

    Lancaster To fold or to FOLD?

    Heyas all...

    Vai para aí uma confusão dos diabos..

    Vamos a ver se te consigo explicar isto minimamente bem..


    Não é bem isso...esquece o quadrado envolvente por enquanto...

    Vamos às perguntas:

    Embora eu já não me lembro muito de java, mas de certeza que há funções para fazer split's a strings, nem disso precisas, sabes sempre que vem no formato LETRANÚMERO, basta fazer um substr de 0 a 1 e ficas com a letra, e de 1 até ao tamanho da string LETRANÚMERO...

    O que ele/ela te quer dizer, é para criares um novo objecto do tipo Coordenada através de cópia, pegando no exemplo deles:
    Código:
    // Teste do construtor de cópia
    Coordenada copia = new Coordenada(coordenadas[0]);
    
    O objecto Coordenada copia, vai ficar com o valor do objecto coordenadas[0]....

    Esta também é fácil...pegando no código deles:
    Código:
    coordenadas[0].éIgualA(new Coordenada(2,2));
    
    O que eles querem saber é se a coordenada que estás a usar como argumento, é igual à do objecto...ou seja se o coordenadas[0] é igual á new Coordenada(2,2)...

    Para finalizar, voltamos à questão do quadrado:
    Olhando para o código dado outra vez:
    Código:
    Coordenada inicio = new Coordenada(1, 1);
    		Coordenada fim = new Coordenada(10, 10);
    
    		// Teste da função entre(Coordenada, Coordenada)
    		for (int c = 0; c != coordenadas.length; ++c) {
    			if (coordenadas[c].entre(inicio, fim)) {
    				System.out.println("A coordenada " + coordenadas[c].toString() + " está dentro do quadrado " + inicio.toString() + " -> " + fim.toString());
    			} else {
    				System.out.println("A coordenada " + coordenadas[c].toString() + " está fora do quadrado " + inicio.toString() + " -> " + fim.toString());
    			}
    			assert coordenadas[c].entre(inicio, fim);
    		}
    
    Eles criam ali 2 coordenadas, a inicio e a fim, isto define-te uma matriz certo? E o que eles querem saber é quais são as coordenadas que estão dentro dessa matriz...só isto e mais nada...

    E está tudo, espero que tenhas percebido...

    E a meu ver é relativamente rápido de fazer, isso fazes na boa ( na boa é como quem diz), em 1/2 horas...

    E tens que olhar também para o código exemplo que eles dão, consegues tirar muita coisa de lá...pelo enunciado, consegue-se tirar praticamente tudo, mas com o exemplo tiras o resto, e fica fácil fazer o trabalho..

    Hasta all [[]]

    PS: Isto parece-se mesmo com a Classe Point do Pedro Guerreiro ( P2 C++ na FCT em LEEC ), mas quando fiz esta história, também me vi à rasca com estas coisas, construtores por cópia e o camandro...ah..bons velhos tempos..
     
    Última edição: 14 de Novembro de 2006
  3. Psico_Mind

    Psico_Mind Banido

    Obrigado pela ajuda. :) Deves perceber muito disto para eu estar a apanhar do ar e dizeres que é facil. :lol:
    Ora bem, a 1º pergunta já está feita. Por acaso, algumas é só saber para que serve aquele comando.
    Aqui está:
    linha = string.substring(0, 1));
    coluna = testes.substring(1, testes.length());

    Agora as perguntas em relação à 3 e 6, li, li, reli e reli e nada :'( Aqui vão as minhas dúvidas em relação ao que explicaste:
    Quer isto dizer que passo a ter um objecto chamado coordenada copia que é IGUALZINHO mas a qual? Aquele "new Coordenada(coordenadas[0]);", não percebi o coordenadas[0].

    E basta fazer aquilo e pronto, está feito?

    Para esclarecer, coordenada é uma matriz bidimensional onde x é a linha e y a coluna certo?
    Ou seja, nós pedimos 2 coordenadas e eles comparam com a matriz que já ESTÁ FEITA, para ver se a coordenada que fizemos está lá "dentro"? ( Neste caso, verificam se a coordernada deles 2,2 é igual a que nos demos, caso seja afirmativo diz que acertamos ).
    Agora o problema está que faltei a 2 aulas práticas e não estou a perceber muito bem o uso do coordenadas[0]. Peço desculpa pela ignorância.

    Também não percebi muito bem aquele if (coordenadas[c].entre(inicio, fim)) {

    Ou seja, está a chamar a rotina entre que está inserida na classe coordernadas. Eu tenho de escrever algo na rotina entre para verificar se pertence. Mas o que não estou a perceber é como funciona esse if. Não verifica nada. Só diz: If ( classe.rotina[parametros] ).

    Isto faz-me sentir burro. lol Obrigado.
     
    Última edição: 14 de Novembro de 2006
  4. Lancaster

    Lancaster To fold or to FOLD?

    Heyas all..

    Exactamentes...

    Vai ser exactamente igual, ao que é passado por argumento, ou seja o coordenadas[0], se vires mais em cima, no ficheiro de exemplo que eles dão, a variável coordenadas é um vector, em que cada posição do vector, vai ter um objecto do tipo Coordenada.

    Código:
    Coordenada copia = new Coordenada(coordenadas[0]);
    
    O valor do objecto copia é igual, sem tirar nem por ao objecto coordenadas[0]...

    Nopes, nada disso... coordenada é um ponto num espaço bidimensional, tipo um referecencial ortonormado, (x,y)...

    Voltando outra vez à matriz:

    Tu com 2 coordenadas consegues "construir" uma matriz, pelo exemplo deles:
    Código:
    Coordenada inicio = new Coordenada(1, 1);
    Coordenada fim = new Coordenada(10, 10);
    
    Temos 2 pontos ( coordenadas, se for preciso desenha mesmo um gráfico x,y que é para teres uma ideia da coisa, ainda hoje faço montes de bonecada em papel quando tento perceber alguma coisa ), um dos pontos é o (1,1) e o outro é (10,10), com estes 2 pontos constróis um quadrado certo? Tens 2 cantos, basta fazeres rectas paralelas aos dois eixos (x,y), e ficas com um quadrado...certo?

    Ou seja se tivermos um ponto por exemplo (2,2) ele vai estar dentro do quadrado, se for (1,12) vai estar fora certo?

    Atenção, não é classe mas sim objecto: objecto.rotina(argumentos), vamos lá partir isto:

    coordenadas é um vector com objectos do tipo coordenada.
    rotina é a função que "chamas do" objecto.
    argumentos como é lógico é o que entra na função.

    Ao fazer coordenadas[c].entre(inicio,fim), estás a chamar a função entre(argumento1,argumento2), em que ambos os argumentos são do tipo coordenada...

    Agora como é que se vê se um determinado ponto está dentro de um quadrado? Isto já tens de descobrir sozinho...e isto é fácil, é matemática de 9º ano ou coisa parecida...


    Pois...essas 2 aulas que faltaste, fazem muita falta.. estás a precisar de teoria de classes, á grande é à francesa...

    O uso do coordenadas[0] já deves ter ficado com a noção do que é...

    Ignorantes somos todos...até eu sou, ninguém nasce ensinado, e mais importante ainda, ninguém sabe tudo!!!

    Uns conselhos de última hora, não tenhas medo de fazer bonecada em folhas, eu sempre que tenho problemas é sacar da caneta e papel e siga para bingo, nas aulas no trabalho é em todo o lado, e ajuda bastante a compreender as coisas, passar para o papel dá-te sempre outra perspectiva do algoritmo que estás a trabalhar..

    Hasta all e boa sorte com isso.. [[]]
     
  5. Psico_Mind

    Psico_Mind Banido

    Obrigado. Deixaste-me quase 100 % esclarecido. O problema é estes *** meterem isto em 24 horas. Se fosse para entregar até domingo estudava isto a 100 %. É que desta forma nem nos obrigam a estudar... fica bem.
     
  6. Psico_Mind

    Psico_Mind Banido

    Após muitas horas a "rebentar" a cabeça, a martelar e a ler isto umas 50x, consegui fazer algo. E está a funcionar! Não acredito loool

    Queria agradecer ao user Lancaster com com a sua preciosa ajuda fez-me perceber o que era um objecto e uma classe. Como é um projecto é fácil de perceber que não posso meter aqui a solução. ( isto vai ser usado no projecto final )

    Fiquem bem.
     
    Última edição: 15 de Novembro de 2006
  7. Lancaster

    Lancaster To fold or to FOLD?

    Heyas all...

    Eu ainda vi o código a seguir à hora de almoço :P

    Então pelos vistos conseguiste entregar isso a horas...menos mal...

    Sempre às ordens..

    Hasta [[]]
     
  8. Psico_Mind

    Psico_Mind Banido

    eHEH, nada de divulgar lolol. Mas aquele ainda tinha bastantes erros. Fica bem e mais uma vez obrigado.
     
  9. RuiSetsFire

    RuiSetsFire Power Member

    parece que ja foi tudo dito...
    Realmente IP é uma cadeira bem puxada para quem entra no 1º ano e apanha com aquilo do nada. é lixado...
    So agora e que vi aqui as duvidas de prog. Vai deixando ai duvidas que dps se puder ajudo..
    Boa sorte ai

    PS: quem e o teu proF??
     
  10. Psico_Mind

    Psico_Mind Banido

    Sinceramente estou a odiar aquilo pois é uma disciplina onde não temos liberdade. Nas aulas copiamos programas completos! Dá-nos 5 minutos ( óbvio que não fazemos nada ) e depois toca a copiar o código O_o

    P.s. É o Farinha nas práticas e o Nunes nas teóricas ( a essas não vou ;x ).
     
  11. RuiSetsFire

    RuiSetsFire Power Member

    ahh pois...isso ja sofreuuma grande reestruturação desde o meu tempo...
    boa sorte ai com isso...e vai postando aqui cenas...
     
  12. Psico_Mind

    Psico_Mind Banido

    Vou ter mais um trabalho deste tipo, depois é só o final que é a batalha naval. Enfim. lol

    fica bem.
     
  13. RuiSetsFire

    RuiSetsFire Power Member

    batalha naval??? fixe...no meu ano foi o hora de ponta (labirinto com carros)

    La isso continua a mesma cena...
    Esse batalha naval nao deve ser grande problema..deves ter montes de exemplos na net...o prob é que eles sao bue maricas na maneira como aquilo vai..Exigem-te uma programação bue toda bonita :s
     
  14. Psico_Mind

    Psico_Mind Banido

    E convêm perceberes para justificar a nota eheh :-D A ver se começo a marrar mais nisto.

    Fica bem.
     
  15. EnterSandman

    EnterSandman Power Member

    De facto a estrotura de IP está muito reforçada, para uma introdução á programação está completamente deslocada...Já deram objectos e tudo! Acho que os profs não vao conseguir q os alunos aprendam uma base solida de conhecimentos d programação. O que é muito importante!
    Tb tou no dcti, 2º ano lei.
    Vale a pena ;)
    marra nisso :P
     
  16. Psico_Mind

    Psico_Mind Banido

    Na minha opinião só vão passar uns 10. Gostava de saber em que sítio aquilo é Introduçãoà programação. :lol:

    Um da minha turma já disse que vai mudar de curso que não fazia ideia que a programação ia ser assim ( neste caso também acho que é burro, podia ter-se informado melhor ).

    Bem, fica bem e obrigado pelo apoio ;P
     
  17. Psico_Mind

    Psico_Mind Banido

    Bem, só para dizer que tive 19. :) Ainda há mais um trabalho, vou fazê-lo só porque é preciso usá-lo no trabalho final porque nem vai contar para nada.
     
  18. RuiSetsFire

    RuiSetsFire Power Member

    ah, sempre os que desistem...no meu 1º ano também desistiram uns poucos a pala de IP..lol
    a nossa sala nem dava para toda a "assistencia"..na altura até me assustei..havia la ppl ja finalista..é uma cadeira que tem o seu poder..
     
  19. Psico_Mind

    Psico_Mind Banido

    Lol, no final do semestre venho aqui dizer quantos vão desistir do curso por causa de ip :002:
     

Partilhar esta Página