Cristian Miercalm 0 Denunciar post Postado Dezembro 4, 2008 Olá, eu sou novo aqui, mas eu estou precisando de uma ajuda pra tentar fazer um programa em visualg, que não sei muito bem ainda como fazer, segue ele abaixo, se alguem conseguir me ajudar desde ja agradeço. • O programa deve ter um menu com 8 opções de escolhas, no qual o usuário deverá digitar um valor de 1 a 8 para ativar essas escolhas: 1. Calcular o Fatorial de um Numero 2. Gerar série de Fibonacci 3. Calcular Média de 4 notas 4. Somar duas matrizes 5x5 5. Multiplicar duas Matrizes 4x4 6. Converter segundos em hr:min:seg 7. Calcular MDC de dois números 8. Sair http://forum.imasters.com.br/public/style_emoticons/default/natal_biggrin.gif Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Dezembro 4, 2008 ql a duvida? Compartilhar este post Link para o post Compartilhar em outros sites
Cristian Miercalm 0 Denunciar post Postado Dezembro 4, 2008 fera, eu não estou conseguindo fazer o item 6 e o item 7. Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Dezembro 5, 2008 você tentou algo?? sobre o MDC deve ter varios links no google, agora sobre os segundos, tente algo q eu te ajudo ... []s Compartilhar este post Link para o post Compartilhar em outros sites
Cristian Miercalm 0 Denunciar post Postado Dezembro 8, 2008 fera, to tentando, o de converter ja fiz só esse de mdc que ta dando erro axo q ja to fazendo tudo errado toda hora aparece um erro diferente http://forum.imasters.com.br/public/style_emoticons/default/natal_dry.gif algoritmo "mdc" var n1,n2:inteiro inicio escreval("Escreva o primeiro numero.") leia(n1) escreval("Escreva o segundo numero.") leia(n2) se(n1<n2)ou (n2<n1)entao escreva ("Escreva o resultado.") fimse se (n1<n2/n2) e (n2<n1/n1) entao escreva("n1 for menor que n2 /n2", n1/n2) escreva("n2 for menor que n1/n1",n2/n1) fimse fimprocedimento fimalgoritmo me passaram esse tipo de modelo, o meu ta parecido só que eu axo q ta tudo errado, pois da erro de cara. se tu conseguir me da uma mão nesse ai Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Dezembro 8, 2008 cara me explica essa linha: se (n1<n2/n2) e (n2<n1/n1) entao []s Compartilhar este post Link para o post Compartilhar em outros sites
Cristian Miercalm 0 Denunciar post Postado Dezembro 8, 2008 fera, ja até deletei essa ai, to tentando fazer de outra maneira só q não ta saindo nada^^ a cabeça ja não ta pensando em nada to começando de novo, esse ai. Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Dezembro 8, 2008 vamos fazer assim.. coloque matematica como q [e o MDC, assim a gente vai desenvolvendo o algoritmo junto.. []s Compartilhar este post Link para o post Compartilhar em outros sites
Cristian Miercalm 0 Denunciar post Postado Dezembro 8, 2008 Escolhe-se dois numeros quaisquer; pega-se o maior numero e divide-se pelo menor; se o resultado desta divis?o for um n?mero inteiro, então o menor numero é o m.d.c. Se houver mais de dois valores a divisão deve ser feita entre o maior valor e o segundo maior e assim sucessivamente. to seguindo essa linha de raciocinio. Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Dezembro 8, 2008 vamos entaum analizar o primeiro caso: * divisao gerar um numero inteiro logo de cara: leia n1, n2; se (n1 > n2) n3 <- n1 / n2; senao n3 <- n1 / n2; if ((n3 / trunca(n3)) == 1) mdc <- n3; senao .. . . entendeu? []s Compartilhar este post Link para o post Compartilhar em outros sites
Cristian Miercalm 0 Denunciar post Postado Dezembro 8, 2008 hummm esse ai ja resolve um tanto da questão dxa eu tentar aqui então Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Dezembro 8, 2008 tranquilo.. editei um pedacinho do codigo q achei necessario.. []s Compartilhar este post Link para o post Compartilhar em outros sites
Cristian Miercalm 0 Denunciar post Postado Dezembro 8, 2008 outra coisa que ta me dando trabalho é fazer todos eles rodarem junto, aparece uns erros bobos só que não consigo resolver vo posta eles aki, só que ta sem o do mdc ainda algoritmo "Trabalho_de_DP" var op:inteiro procedimento menu var inicio escreval("******Menu de Opções******") escreval("1-Calcular Fatorial de um numero.") escreval("2-Gerar Série de Fibonacci.") escreval("3-Calcular Media de 4 Notas.") escreval("4-Somar duas matrizes 5x5.") escreval("5-Multiplicar duas matrizes 4x4.") escreval("6-Converter segundos em hr:min:seg.") escreval("7-Calcular MDC de dois némeros.") escreval("8-Sair") escreval("Digite uma Opção:") fimprocedimento inicio repita limpatela menu leia(op) se(op=1) entao fatorial se(op=2) entao fibonacci se(op=3)entao calcular_media se(op=4)entao somar_duas_matrizes5x5 se(op=5)entao mutiplicar_duas_matrizes4x4 se(op=6)entao converter_segundos_em_hr:mnt:seg se(op=7)entao calcular_mdc_dois_numeros se(op=8)entao sair fimse procedimento Fatorial var x:inteiro inicio escreva("Digite um número:") leia(x) valor <- x se v <= 2 entao retorne v senao retorne v * fatorial(v-1) fimse fimfuncao inicio obtervalor escreva("O fatorial de ",valor," é ",fatorial(valor)) fimprocedimento inicio repita limpatela menu leia(op) se(op=1) entao fatorial se(op=2) entao fibonacci se(op=3)entao calcular_media se(op=4)entao somar_duas_matrizes5x5 se(op=5)entao mutiplicar_duas_matrizes4x4 se(op=6)entao converter_segundos_em_hr:mnt:seg se(op=7)entao calcular_mdc_dois_numeros se(op=8)entao sair procedimento fibonacci var a,b,c,cont,n,numfib:inteiro inicio limpatela escreval("Entre com o numero para ver a sequencia de Fibonacci.") leia(numfib) n <- numfib-2 a <- 1 b <- 1 cont <- 1 escreva(a,B) enquanto cont <- n faca c <- a + b escreva © a <- b b <- c cont <- cont + 1 fimprocedimento inicio repita limpatela menu leia(op) se(op=1) entao fatorial se(op=2) entao fibonacci se(op=3)entao calcular_media se(op=4)entao somar_duas_matrizes 5x5 se(op=5)entao mutiplicar_duas_matrizes 4x4 se(op=6)entao converter_segundos_em_hr:mnt:seg se(op=7)entao calcular_mdc_dois_numeros se(op=8)entao sair procedimento calcular_media var soma,nota1,nota2,nota3,nota4: real inicio escreval("nota1:") leia(nota1) escreval("nota2:") leia(nota2) escreval("nota3:") leia(nota3) escreval("nota4:") leia(nota4) soma <- ((nota1+nota2+nota3+nota4)/4) escreva(soma) fimprocedimento inicio repita limpatela menu leia(op) se(op=1) entao fatorial se(op=2) entao fibonacci se(op=3)entao calcular_media se(op=4)entao somar_duas_matrizes5x5 se(op=5)entao mutiplicar_duas_matrizes4x4 se(op=6)entao converter_segundos_em_hr:mnt:seg se(op=7)entao calcular_mdc_dois_numeros se(op=8)entao sair procedimento somar_duas_matrizes5x5 var matriz a,matriz b,matriz c:inteiro vetor [1..5,1..5] de inteiro i,j:inteiro inicio para i de 1 ate 5 faca para j de 1 ate 5 faca escreva("Digite a posição:["i","j"]") leia(matriz a[i,j]) fimpara para i de 1 ate 5 para para j de 1 ate 5 para escreva("Digite a posição:["i","j"]") leia(matriz b[i,j]) matriz([i,j]<-matriz a[i,j]+ matriz b[i,j]) fimpara fimpara para i de 1 ate 5 faca para j de 1 ate 5 faca escreva(matriz[i,j]:5) fimpara escreva© fimpara fimprocedimento inicio repita limpatela menu leia(op) se(op=1) entao fatorial se(op=2) entao fibonacci se(op=3)entao calcular_media se(op=4)entao somar_duas_matrizes5x5 se(op=5)entao mutiplicar_duas_matrizes4x4 se(op=6)entao converter_segundos_em_hr:mnt:seg se(op=7)entao calcular_mdc_dois_numeros se(op=8)entao sair fimprocedimento procedimento Multiplicar_duas_matrizes4x4 var matriz a,matriz b,matriz c: vetor[1..4,1..4] i,j:inteiro inicio para i de 1 ate 4 faca para j de 1 ate 4 faca escreva("Digite a posição:["i","j"]") leia(matriz b[i,j]) matriz c [i,j]<-matriz a[i,j]*matriz b[i,j] fimpara fimpara para i de 1 ate 5 faca para j de 1 ate 5 faca escreva( matriz c[i,j]:5) fimpara escreva() fimpara fimprocedimento inicio repita limpatela menu leia(op) se(op=1) entao fatorial se(op=2) entao fibonacci se(op=3)entao calcular_media se(op=4)entao somar_duas_matrizes5x5 se(op=5)entao mutiplicar_duas_matrizes4x4 se(op=6)entao converter_segundos_em_hr:mnt:seg se(op=7)entao calcular_mdc_dois_numeros se(op=8)entao sair fimprocedimento procedimento var seg,min,hs:inteiro inicio escreval("Digite o numero em segundos:") leia(seg) hs <- seg\3600 min <-(seg mod 3600)\60 seg <- seg mod 60 escreva (hs,"hs",min,"min",seg,"seg") fimprocedimento inicio repita limpatela menu leia(op) se(op=1) entao fatorial se(op=2) entao fibonacci se(op=3)entao calcular_media se(op=4)entao somar_duas_matrizes5x5 se(op=5)entao mutiplicar_duas_matrizes4x4 se(op=6)entao converter_segundos_em_hr:mnt:seg se(op=7)entao calcular_mdc_dois_numeros se(op=8)entao sair fimprocedimento procedimento calcular_mdc var fimprocedimento inicio repita limpatela menu leia(op) se(op=1) entao fatorial se(op=2) entao fibonacci se(op=3)entao calcular_media se(op=4)entao somar_duas_matrizes5x5 se(op=5)entao mutiplicar_duas_matrizes4x4 se(op=6)entao converter_segundos_em_hr:mnt:seg se(op=7)entao calcular_mdc_dois_numeros se(op=8)entao sair fimprocedimento fimalgoritmo fimse da uma olhada e veja oq tu axa, que esta dando errado Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Dezembro 8, 2008 caraca velho naum sei mecher no visualg, sempre aprendi no portugol no papel.. + vamos lah.. quais erros aparecem. []s Compartilhar este post Link para o post Compartilhar em outros sites
Cristian Miercalm 0 Denunciar post Postado Dezembro 8, 2008 velho eu monto td e da erro logo na linha 6 na VAR não sei o pq Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Dezembro 8, 2008 tente compilar o programa por partes.. tipo primeiro um procedimento, depois o outro.. depois o principal e assim por diante vamos tentar isolar o problema.. []s Compartilhar este post Link para o post Compartilhar em outros sites
Cristian Miercalm 0 Denunciar post Postado Dezembro 8, 2008 ja tinha até feito isso, e não tinha dado nada, mais vou tentar de novo, vai que eu deixei passar algo ^^ ja retorno Compartilhar este post Link para o post Compartilhar em outros sites
Cristian Miercalm 0 Denunciar post Postado Dezembro 8, 2008 procedimento Fatorial var x:inteiro inicio escreva("Digite um número:") leia(x) valor <- x < - aqui acontece problema se v <= 2 entao retorne v senao retorne v * fatorial(v-1) fimse fimfuncao inicio obtervalor escreva("O fatorial de ",valor," é ",fatorial(valor)) fimprocedimento este outro algoritmo "5x5" // Função : // Autor : // Data : 8/12/2008 // Seção de Declarações var matriz a,matriz b,matriz c:inteiro < - aqui vetor [1..5,1..5] de inteiro i,j:inteiro inicio para i de 1 ate 5 faca para j de 1 ate 5 faca escreva("Digite a posição:["i","j"]") leia(matriz a[i,j]) fimpara para i de 1 ate 5 para para j de 1 ate 5 para escreva("Digite a posição:["i","j"]") leia(matriz b[i,j]) matriz([i,j]<-matriz a[i,j]+ matriz b[i,j]) <- aqui tbm fimpara fimpara para i de 1 ate 5 faca para j de 1 ate 5 faca escreva(matriz[i,j]:5) fimpara escreva© fimpara fimalgoritmo este algoritmo "4x4" // Função : // Autor : // Data : 8/12/2008 // Seção de Declarações var matriz a,matriz b,matriz c: vetor[1..4,1..4] i,j:inteiro inicio para i de 1 ate 4 faca para j de 1 ate 4 faca escreva("Digite a posição:["i","j"]") leia(matriz b[i,j]) matriz c [i,j]<-matriz a[i,j]*matriz b[i,j] fimpara fimpara para i de 1 ate 5 faca para j de 1 ate 5 faca escreva( matriz c[i,j]:5) fimpara escreva() fimpara fimalgoritmo este algoritmo "conversor" // Função : // Autor : // Data : 8/12/2008 // Seção de Declarações var < - este aqui seg,min,hs:inteiro inicio escreval("Digite o numero em segundos:") leia(seg) hs <- seg\3600 min <-(seg mod 3600)\60 seg <- seg mod 60 escreva (hs,"hs",min,"min",seg,"seg") fimprocedimento inicio repita limpatela menu leia(op) se(op=1) entao fatorial se(op=2) entao fibonacci se(op=3)entao calcular_media se(op=4)entao somar_duas_matrizes5x5 se(op=5)entao mutiplicar_duas_matrizes4x4 se(op=6)entao converter_segundos_em_hr:mnt:seg se(op=7)entao calcular_mdc_dois_numeros se(op=8)entao sair fimalgoritmo e são esses os erros. ja to pra larga isso, só não largo por ser prova de faculdade^^ Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Dezembro 9, 2008 bom vamos ver oq eu percebi: valor <- x < - aqui acontece problemanesse procedimento a variavel valor naum foi declarada. matriz a,matriz b,matriz c:inteironesse acho q naum pode ter nomes separados assim, tente algo como: matrizA, matrizB, matrizC : inteiro matriz a,matriz b,matriz c: vetor[1..4,1..4]nesse a msm coisa q o de cima.. esse outro ai at[e agora naum vi o motivo.. + veja esses outros e me de um retorno. []s Compartilhar este post Link para o post Compartilhar em outros sites
Cristian Miercalm 0 Denunciar post Postado Dezembro 9, 2008 Fera, valeu pela ajuda ta terminhado o programa agora só alguns ajustes vlws Compartilhar este post Link para o post Compartilhar em outros sites