Ir ao conteúdo
  • Cadastre-se

devair1010

Membro Pleno
  • Posts

    6.249
  • Cadastrado em

  • Última visita

Tudo que devair1010 postou

  1. @ET Bilu no inicio dentro loop l na hora de ler as notas coloque uma informação para o usuário saber o que fazer, assim: escreva(" Digite a ",l," nota do ",c," aluno ") leia(notas[c,l]) media[c,5]:=media[c,5]+notas[c,l] fimpara // L media[c,5]:=media[c,5]/l como a media para cada aluno é uma só, então pode usar uma coordenada fixa e o somatório também é um só então use uma coordenada fixa também para facilitar. coloque por exemplo : somatorio[1,5]<-somatorio[1,5]+media[c,5] e no final, antes do fimalgoritmo, para ver a media da classe pode colocar alguma coisa tipo isso: escreval(" Média Da Classe ",somatorio[1,5]/c
  2. @sml1151 você que sabe, só acho que para se fazer um bom trabalho é preciso estar confortável.
  3. @sml1151 melhor montar em cima de uma mesa ou bancada, para não prejudicar a coluna.
  4. @sml1151 não , não precisa estar aterrado não.
  5. @sml1151 Quando fui montar meu primeiro pc, também fiquei preocupado com essa tal estática ai fui em uma oficina e perguntei ao técnico sobre isso e ele respondeu debochando, disse que não existe energia estática. Mas se você está preocupado com isso, o que você pode fazer é segurar firme em alguma parte metálica do gabinete, toda vez que for manusear uma peça do pc, assim a energia estática será descarregada e não danificará a peça.
  6. @RafaelLittleo mas é isso que estou dizendo, aqui ele manteve todos os cadastros e pesos e alturas, tanto no relatório como no monitoramento. no caso ai não sei o que está acontecendo. Você já copiou e colou o código que enviei, para testar.
  7. @RafaelLittleo testei varias vezes e não vi ele substituir o último valor não, então coloquei esse vetor para armazenar o peso: peso : vetor [1..100] de real e no monitoramento no inicio depois de escreval ("ALTURA: ", alt[n]) coloque isso: escreval("Peso Anterior = ",peso[n]) e depois de ler o peso coloque: peso[n]:=p e no cadastro depois de ler o peso coloque: peso[t]:=p pois o último valor dado no monitoramento é o peso e com esse vetor pode-se ver que o valor se mantém.
  8. @RafaelLittleo Aqui eu testei e está funcionando bem, está guardando todos os dados corretamente, pode ser que tenha ficado alguma variável para ser atualizada, vou mandar o seu código com as correções: Algoritmo "imc4" Var nome : vetor [1..100] de caractere m,n,t,x,y,op,k: inteiro alt : vetor [1..100] de real imc2 : vetor [1..100] de real procedimento "cadastro" var imc: real p : real inicio escreval (" CADASTRO") escreval ("___________________________________") escreval ("digite o nome do paciente: ") leia (nome[t]) escreval ("digite a altura do paciente: ") leia (alt[t]) escreval ("digite o peso do paciente: ") leia (p) imc:=p/(alt[t]*alt[t])//imc2[1,1]:=1 imc2[t] <- p/(alt[t]*alt[t]) k:=k+1 se k > 100 então escreval("Só pode cadstrar 100 pacientes") interrompa fimse escreval ("IMC: ", imc) se (imc<17) então escreval (" MUITO ABAIXO DO PESO.") fimse se (imc>17) e (imc< 18.49) então escreval ("ABAIXO DO PESO") fimse se (imc>18.50) e (imc<24.99) então escreval ("PESO NORMAL") fimse se (imc>25) e (imc<29.99)então escreval ("ACIMA DO PESO") fimse se (imc>30) e (imc<34.99)então escreval ("OBESIDADE 1") fimse se (imc>35) e (imc<39.99)então escreval ("OBESIDADE 2 (SEVERA)") fimse se (imc>40)então escreval ("OBESIDADE 3 (MÓRBIDA)") fimse escreval() t<-t + 1 fimprocedimento procedimento "monitoramento" var p: real inicio escreval (" MONITORAMENTO") para n de 1 ate t-1 faca //para m de 1 ate w-1 faca escreval ("_____________________________________") escreval ("NOME: ", nome[n]) escreval ("ALTURA: ", alt[n]) escreval ("O peso atual do paciente é: ") leia (p) escreval ("O imc atual é: ") imc2[n]<- p/(alt[n]*alt[n]) escreval ("IMC: ", imc2[n]) se (imc2[n]<17) então escreval (" MUITO ABAIXO DO PESO.") fimse se (imc2[n]>17) e (imc2[n]< 18.49) então escreval ("ABAIXO DO PESO") fimse se (imc2[n]>18.50) e (imc2[n]<24.99) então escreval ("PESO NORMAL") fimse se (imc2[n]>25) e (imc2[n]<29.99)então escreval ("ACIMA DO PESO") fimse se (imc2[n]>30) e (imc2[n]<34.99)então escreval ("OBESIDADE 1") fimse se (imc2[n]>35) e (imc2[n]<39.99)então escreval ("OBESIDADE 2 (SEVERA)") fimse se (imc2[n]>40)então escreval ("OBESIDADE 3 (MÓRBIDA)") fimse //fimpara fimpara fimprocedimento procedimento "relatorio" var linha, g,h: inteiro inicio escreval (" RELATÒRIO") escreval ("_________________________") escreval (" TABELA DE MONITORAMENTO") para y de 1 ate t-1 faca escreval("PacienTe ",nome[y]," Com IMC = ",imc2[y]:5:2) se g > 30 então escreval("Tecle Enter Para ProsseguiR") leia(g) limpatela fimse fimpara fimprocedimento procedimento "menu" inicio escreval ("___________________________") escreval ("1.CADASTRO DO PACIENTE") escreval ("2.MONITORAMENTO DO PACIENTE") escreval ("3.RELATÒRIO") escreval ("4.SAIR") escreval("____________________________") leia (op) se (op=1) então cadastro fimse se (op=2) então monitoramento fimse se (op=3) então relatorio fimse fimprocedimento Inicio m<-1 t<-1 n<-1 k:=1 enquanto (op<>4) faca menu fimenquanto se(op=4) então escreval ("FIM") fimse Fimalgoritmo
  9. @RafaelLittleo esse vetor imc: vetor[1..5,1..5] de inteiro bidimensional não está dando certo não, melhor usar vetor normal e coloque assim: imc2: vetor [1..100] de real pois você já está usando a variável imc. E mude esse vetor em todo o código onde ele estiver como bidimensional. no cadastro coloque: imc:=p/(alt[t]*alt[t])//imc2[1,1]:=1 imc2[t] <- p/(alt[t]*alt[t]) no monitoramento coloque: imc2[n]<- p/(alt[n]*alt[n]) e em todos os SE também. no relatório coloque: para y de 1 ate t-1 faca //escreval (" ") escreval("PacienTe ",nome[y]," Com IMC = ",imc2[y]:5:2) g:=g+1 se g > 30 então escreval("Tecle Enter Para ProsseguiR") leia(g) g:=0 limpatela fimse fimpara o restante do código está certo
  10. @RafaelLittleo no procedimento cadastro , o imc sendo uma matriz é preciso especificar as duas posições em que se deve guardar o valor. e no procedimento relatorio você colocou imc[n,m] mas seria imc[x,y].
  11. @ET Bilu parece que você colocou o fimescolha dentro do repita nos casos 1 2 e 3, remova-os para que funcione certo.
  12. @ET Bilu Este código ficou bom, está funcionando bem.
  13. @ET Bilu seu código está certo, você apenas colocou o fimescolha dentro do repita. Então delete esses dois fimescolha e o caso 1 que está dentro do repita, e coloque o fimescolha depois do ate esc2=2. e para voltar ao menu é preciso colocar isso tudo dentro de um repita; ficaria assim: Algoritmo "comando repita" Var esc,esc2,cont:inteiro nome:vetor[1..10] de caractere inicio repita escreval(" 1 - Cadastrar cartões") escreval(" 2 - Consultar cadastro") escreval(" 3 - Inserir dinheiro na conta") escreval(" 4 - Sacar dinheiro") escreval(" 5 - sair") leia(esc) escolha esc caso 1 repita limpatela cont<-cont+1 escreva("NOME COMPLETO: ") leia(nome[cont]) escreva("IDADE: ") //leia(idade[cont]) escreva("CEP: ") //leia(cep[cont]) escreva("CPF: ") //leia(cpf[cont]) escreva("TELEFONE: ") //leia(tel[cont]) limpatela escreval("DADOS CADASTRADOS, o código do cliente ",nome[cont]," é ", cont,".") escreval("CADASTRAR MAIS CARTÕES?") escreval("1 - SIM") escreval("2 - NÃO") leia(esc2) //caso 1 limpatela //outrocaso escreval("") //fimescolha //fimescolha ate esc2=2 fimescolha ate esc=5 Fimalgoritmo
  14. @RafaelLittleo o calculo que você fez está certo . Mas você vai precisar de mais algumas variáveis; Coloque estas: v,vi : real y,g : inteiro altura : caractere e logo depois do inicio na linha de baixo coloque: g:=10 e no loop y coloque essas linhas: para y de 0 ate 55 passo 5 faca altura:=numpcarac(55-y) se 55-y < 10 então altura:="0"+altura fimse // 5 é a qtd de caracteres incluindo o ponto v:=raizq(vi^2+2*g*y) // 2 é a qtd de caracteres depois da virgula escreval("a ",altura," MT de altura a velocidade é = ",v:5:2," M/S")
  15. @Kaio Gomes no primeiro leia está faltando colocar a dimensão do vetor que está sendo lido coloque assim: leia (v1[i]) para ler o documento procurado não pode ser no vetor v1, use outra variável por exemplo o x assim: leia(x) Em seguida coloque um loop com a variável i para procurar no vetor de acordo com a quantidade de elementos do vetor, e dentro desse loop coloque assim: se v1[i]=x então//x>0]) e (x<5]) então escreva("o Numero do documento é: ",x," encontrado na posição ",i," do vetor" ) fimse
  16. @Kevin Neres se você tiver o blitz basic 3d instalado, você pode usar este algoritmo aqui para fazer esta função que você pretende: Graphics3D 1280,720 ;tamanho da tela grafica SetBuffer BackBuffer() ;bufer de fundo da tela tex=CreateTexture(380,160) ;cria uma textura HidePointer ;esconde a setinha do mouse cubo=CreateCube() ;cria um cubo tridimensional PositionEntity cubo,0,0,0 ;coloca o cubo na posição x=0 e y=0 e z=0 camera=CreateCamera() ;cria uma camera para ver o mundo 3d luz=CreateLight() ;cria uma luz no mundo 3d para ver os objetos MoveEntity camera,0,0,-5 ;move a camera 5 unidades para trás tempo=600 ;do jeito que está 600 é igual a 20 segundos ClsColor 255,255,255 ;cor de fundo para a textura font=LoadFont("book antiqua",55) ;tipo e tamanho das letras fant=LoadFont("book antiqua",25) ;tipo e tamaho das letras Repeat ;fica repetindo tempo=tempo-1 ;decrementa o tempo c=GetKey() ;verifica qual tecla foi pressionada, se nada for pressionada então é c=0 TurnEntity cubo,2,2.2,1.2 ;gira o cubo nos três eixos: X Y Z SetBuffer TextureBuffer(tex) ;para mostrar o que está no bufer de texturas EntityTexture cubo,tex ;isso escreve os nomes no cubo RenderWorld ;renderiza e mostra os objetos do mundo 3d Cls SetFont fant ;tamanho das letras na tela igual a 25 Print "Digite A Resposta E Tecle Enter" Print "Em Que Ano Foi Descoberto O Brasil ?" ;escreve na tela If c <> 0 And (c > 47 And c < 58) Then ;se pressionou alguma tecla e ela for de 0 até 9 b$=b$+Chr$(c) ;armazena ela na variável b$ d=d+1 ;incrementa o contador EndIf ;fim das comparações If KeyHit(14) Then ;se presionou a tecla backspace If d > 0 Then d=d-1 ;se o contador for maior que zero b$=Mid$(b$,1,d) ;apaga o último número EndIf ;fim da comparação Print "RespostA = "+b$ ;escreve o número na tela Color 1,1,1 ;cor preta para as letras SetFont font ;tamanho das lstras no cubo = 55 Text 130,100,Int(tempo/30)+" SegundoS" ;escreve no cubo Color 255,255,255 ;cor branca para as letras Flip ;mostra tudo que está no bufer da tela Until KeyHit(28) Or tempo=00 ;até apertar enter ou o tempo esgotar SetFont fant ;tamanho das letras ao fundo da tela = 25 For f=1 To Len(b$) ;um loop de acordo com a quantidade de números em b$ x=x+Mid$(b$,f,1) ;calculando a resposta Next ;fim do loop If tempo = 00 Then ;se o tempo esgotou Print"Tempo Esgotado" ;escreve na tela If x<>0 Then Print " Você Não Teclou Enter" ;se deu uma resposta If x=0 Then Print "E Você Não Deu Nenhuma Resposta.";se não responder e o tempo acabar If x<>0 And x<>1500 Then Print "E A Propósito, A Resposta Está Errada";se respondeu mas não teclou enter If x=1500 Then Print "Mas A Resposta Estaria Certa Se Tivesse Teclado Enter";se respondeu certo mas não teclou enter Else If x=1500 Then ;se a resposta estiver certa Print "Resposta Certa" ;escreve na tela Else ;se a resposta não estiver certa If x<> 0 Then Print "Resposta Errada" ;escreve na tela If x=0 Then Print " Nenhuma Resposta Foi Digitada";se não respondeu nada EndIf ;fim da comparação EndIf ;fim da comparação Delay 1000 ;espera um segundo ;End
  17. @Wallysson Santos basicamente esses loop vai pegar cada numero e testar se ele é menor que o outro numero; o A aponta para o primeiro numero e B aponta para o segundo numero, depois o terceiro e assim até o décimo, e ele vai comparando o primeiro numero com todos eles a partir do segundo, e se for menor ele troca eles de posição, colocando o menor antes do maior. Depois o A passa a apontar para o segundo numero e B aponta para o terceiro, fazendo as mesmas comparações, e indo assim até A apontar para o nono numero já que B só vai até dez, então quando A for dez o B não será executado, mas isso não dá nenhum erro e passa sem problema. aqui está o desenho do vetor numero em cada posição desse vetor ficará um dos números digitados por exemplo assim os números estão todos desorganizados então esses dois loops vão colocar os números organizados de acordo com cada posição.
  18. @Wallysson Santos se você fizer com vetores fica mais fácil. coloque esse vetor lá nas variáveis numero :vetor [1..10] de inteiro e dentro do repita depois do leia coloque numero[cont]:=num e depois do ate (cont=10) na linha de baixo coloque para a de 1 ate 10 faca para b de a+1 ate 10 faca c:=numero[b] se c < numero[a] então numero[b]:=numero[a] numero[a]:=c fimse fimpara escreval(a," numero --> ",numero[a]) fimpara no vetor numero estará os números digitados em ordem crescente então podes imprimir o maior numero assim escreval("O maior número digitado foi: ",numero[10])// Maior1) o menor numero estará na primeira posição do vetor numero. e a média é a soma de numero[3] até numero[8] dividido por 6
  19. @RafaelLittleo É para retirar apenas o loop para m de 1 ate t-1 faca que está no procedimento monitoramento. E no procedimento CADASTRO, toda vez que faz um cadastro ele volta para o menu e isso é ruim porque é preciso digitar 1 e teclar enter novamente para fazer outro cadastro, então se colocar um repita lá no inicio do procedimento cadastro, pode se cadastrar quantas vezes quiser e quando terminar aí sim sair. essas linhas é para colocar no procedimento RELATÓRIO, dentro do loop para y de 1 ate t-1 faca este aqui: procedimento "relatorio" var linha : inteiro g : caractere inicio escreval (" RELATÒRIO") escreval ("_________________________") escreval (" TABELA DE MONITORAMENTO") para x de 1 ate 1 faca escreval (" ") para y de 1 ate t-1 faca escreval("PacienTe ",nome[y]," Com IMC = ",imc[y,1]:5:2) linha:=linha+1 se linha>25 então escreval("Tecle Para Continuar") leia(g) linha:=0 limpatela fimse fimpara escreval fimpara se t=1 então escreval("Não Tem Nenhum Paciente Cadastrado") fimse escreval("Tecle Enter Para ContinuaR") leia(g) fimprocedimento
  20. @RafaelLittleo coloque um repita no procedimento cadastro para poder fazer vários cadastro sem que fique voltando ao menu toda hora. No monitoramento retire o loop para m de 1 ate t-1 faca e o fimpara desse mesmo loop. E no procedimento relatório no começo coloque essa variável var linha : inteiro e dentro do loop para y de 1 ate t-1 faca coloque essas linhas. escreval("PacienTe ",nome[y]," Com IMC = ",imc[y,1]:5:2) linha:=linha+1 se linha>25 então escreval("Tecle Para Continuar") leia(g) linha:=0 limpatela fimse escreval se t=1 então escreval("Não Tem Nenhum Paciente Cadastrado") fimse escreval("Tecle Enter Para ContinuaR") leia(g) assim enquanto estiver rodando ele armazena todos os dados, mas se sair, os dados serão perdidos.
  21. olá @hoffmano não tem como criar uma variável a partir do valor de outra variável. O que se pode é fazer uma variável igual a outra variável, por exemplo: a:=10 e aí b:=a Quanto ao banco de dados, creio que no visualg isso não seja possível, porque o visualg é apenas para aprendizado; Então para isso você pode ir de mysql, java, delphi....
  22. @Higor Duarte de Oliveira porque você colocou esses 3v aí? se o teste é com 12v.
  23. @linker1124 Pode instalar o WindowS XP sp3 que vai funcionar muito bem.
  24. @Kevin Neres Creio que no visualg não terá como fazer isso, porque nele só tem o comando leia para a entrada de dados, e quando o programa encontra esse comando ele fica parado esperando que seja digitado alguma coisa e tecle enter, então não tem como ele saber quanto tempo se passou. isso pode ser feito em outros programas como o c++, blitz basic 3d, java, c#...

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!