Ir para conteúdo
Fórum Script Brasil

Galbieth

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Sobre Galbieth

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

Galbieth's Achievements

0

Reputação

  1. Eu fiz um, segue abaixo. Creio que seja isso que você necessite. Apenas lembrando que esse algoritmo que eu fiz também dá pra fazer com função/procedimento, usando o valor do salário como uma variável "de verdade", onde o próprio cliente consegue inserir o salário base e, a partir dele, o programa realiza as contas. Acho que você consegue fazer isso se der uma pesquisada em função e procedimento. Usando procedimento/função o código fica MUUUUITO mais legível e "bonitinho"... talvez fique como desafio? EDIT: esqueci de adicionar o REPITA ... ATE resposta = "n". Sem isso, o algortimo não fica recursivo e você só consegue calcular um salário por execução de programa. algoritmo "semnome" var meta, atingimento, porcentagem, acrescimoSalario, salario: real resposta: inteiro continuar: caractere inicio escreva ("Qual a meta da empresa?") leia(meta) escreva ("Qual foi o atingimento da empresa? ") leia(atingimento) porcentagem <- ((atingimento*100)/meta) se (porcentagem >= 100) então escreva ("A meta da empresa foi batida em", porcentagem, "%.") acrescimoSalario <- porcentagem/100 senao escreva ("A meta não foi batida. O atingimento total foi de", porcentagem, "%.") fimse escreval() escreval() escreval ("Escolha um cargo para calcular o salário: ") escreval ("[1] - Assistente") escreval ("[2] - Técnico") escreval ("[3] - Analista") escreval ("[4] - Especialista") leia (resposta) escolha(resposta) caso 1 escreval ("O salário base para esse cargo é de R$1600,00") se (porcentagem <=100) então escreva ("O funcionário irá receber o salário base.") senao salario <- 1600*acrescimoSalario escreval ("O novo salário será de R$", salario) escreval ("O acréscimo de salário foi de", acrescimoSalario) escreval() escreval ("Deseja calcular outro salário? (S/N)") leia(continuar) limpatela() fimse caso 2 escreval ("O salário base para esse cargo é de R$2800,00") se (porcentagem <=100) então escreva ("O funcionário irá receber o salário base.") senao salario <- 2800*acrescimoSalario escreval ("O novo salário será de R$", salario) escreval ("O acréscimo de salário foi de", acrescimoSalario) escreval() escreval ("Deseja calcular outro salário? (S/N)") leia(continuar) limpatela() fimse caso 3 escreval ("O salário base para esse cargo é de R$3500,00") se (porcentagem <=100) então escreva ("O funcionário irá receber o salário base.") senao salario <- 3500*acrescimoSalario escreval ("O novo salário será de R$", salario) escreval ("O acréscimo de salário foi de", acrescimoSalario) escreval() escreval ("Deseja calcular outro salário? (S/N)") leia(continuar) limpatela() fimse caso 4 escreval ("O salário base para esse cargo é de R$4000,00") se (porcentagem <=100) então escreva ("O funcionário irá receber o salário base.") senao salario <- 4000*acrescimoSalario escreval ("O novo salário será de R$", salario) escreval ("O acréscimo de salário foi de", acrescimoSalario) escreval() escreval ("Deseja calcular outro salário? (S/N)") leia(continuar) limpatela() fimse fimalgoritmo
  2. Pessoa, como vão? Seguinte, estou fazendo um curso de lógica on-line e um dos exercícios é criar um jogo da velha usando portugol. Apos poucos estou avançando, porém estou em uma situação que não sei como posso resolver. Eu preciso mostrar o campo do jogo (uma matriz 3x3) realizando uma referência para as casas, que vai de 1 até 9 (exemplo abaixo). Para isso, criei uma matriz do tipo INTEIRO para armazenar os valores e mostrar na tela, até aí tudo bem. 1 | 2 | 3 O problema vem, justamente, quando acontece a primeira jogada do jogador. Na primeira jogada, ele precisa indicar ao programa uma casa (de 1 até 9 - referência na matriz) e, após isso, o programa irá atualizar o valor daquela casa para "X" e não mais o valor de referência. Por exemplo, se o jogador digitar "1" na primeira resposta o número "1" precisará ser trocado para "X", ficando dessa forma: X | 2 | 3 Mas... se a minha matriz é de inteiro, como eu consigo fazer com que um valor do tipo string seja alocado na posição indicada pelo jogador? • Eu tentei alterar a matriz do tipo inteiro para caractere, porém ao fazer isso o mesmo problema acontece: uma variável do tipo caractere não pode receber um valor do tipo inteiro alocado (pensei isso porque se você digitar um número entre aspas ele não é um inteiro ou real, mas vira uma string). Além disso, se mudar a matriz para caractere só consegui pensar em uma forma burra de popular ela com números, que seria, literalmente, escrever cada número para cada posição (por exemplo, matriz[1,1] <- 1; matriz[1,2] <- 2, etc) mas achei isso surreal. Com certeza deve existir uma outra forma de resolver isso, mas infelizmente não sei. Infelizmente parei aqui e não sei como avançar, gostaria de contar com a ajuda de vocês para resolver essa questão algoritmo "Jogo da Velha" var matriz: vetor [1..3, 1..3] de inteiro l, c, cM, numeroJogadas, simbolo, resposta: inteiro acabarJogo: logico procedimento simboloJogada () inicio se simbolo = 1 então escreva ("Qual casa quer jogar [X]?") leia (resposta) simbolo <- simbolo - 1 numeroJogadas <- numeroJogadas + 1 senao escreva ("Qual casa quer jogar [A]?") leia (resposta) simbolo <- simbolo + 1 numeroJogadas <- numeroJogadas + 1 fimse acabarJogo <- numeroJogadas = 9 se acabarJogo então escreva ("9 jogadas foram feitas.") fimse fimprocedimento procedimento teste () inicio escreva ("esse é um teste. numero de jgoadas: ", numeroJogadas) fimprocedimento inicio cM <- 1 simbolo <- 1 // populando a matriz de 1 ate 9 para l <- 1 ate 3 faca para c <- 1 ate 3 faca matriz[l,c] <- cM cM <- cM + 1 fimpara escreval() fimpara // exibindo a matriz populada na tela para l <- 1 ate 3 faca para c <- 1 ate 3 faca se c <= 2 então escreva (matriz[l,c]: 3, "|") senao escreva (matriz[l,3]: 3, "|") fimse fimpara escreval () fimpara // repete a entrada de valores ate acabarJogo ser verdadeiro, ou seja // quando o numero de jogadas for igual a 9 OU // vitória por linha ou colunha (necessario desenvolver) repita simboloJogada() atualizaMatriz() //aqui que estou com problemas ate acabarJogo fimalgoritmo
  3. Não é por causa da acentuação?
×
×
  • Criar Novo...