Ir ao conteúdo
  • Cadastre-se

VisualG codigo não funciona por quê?


Posts recomendados

Galerinha, eu tenho uma atividade para fazer, é a seguinte:

 

Elaboração de algoritmo

 

Uma empresa decidiu auxiliar os funcionários e seus dependentes oferecendo uma bonificação para os estudos. Elabore um algoritmo para ler:

·         o valor da mensalidade

·         o nível do curso (I para educação Infantil, B para educação Básica ou M para ensino Médio)

·         o tipo de aluno (F para funcionário ou D para dependente)

 

O algoritmo deve calcular:

·         Valor total do curso (valor da mensalidade vezes 12 mensalidades)

·         O valor mensal da bonificação. Este valor é calculado sobre o valor mensal do curso, sendo: 50% para funcionário e 30% para dependente.

Obs.: Para curso da educação infantil ou do ensino médio, conceder uma bonificação adicional de 5%.

 

e o algoritmo que eu escrevi foi:


 

algoritmo "Soma de números"
// Função :      somar números
// Autor :      Thállyson Victório
// Data : 14/10/2017
// Seção de Declarações
var
   mens: real
   nivel, tipo, I, M, D, F, B: literal
   
inicio
// Seção de Comandos
  escreval ("Valor da mensalidade: ")
     leia (mens)
  escreval ("I = educação Infantil, B = educação Básica ou M = ensino Médio / Nível do curso: ")
     leia (nivel)
  escreval ("F para funcionário ou D para dependente / Tipo de aluno: ")
     leia (tipo)
// Calculos
  escreval ("Valor total do curso", mens*12)
// Bonificação
se ((nivel =I) OU (nivel =M)) E (tipo =F) então
escreval ("Bônus Funcionário +  Médio/Infantil: ", mens*0,55)
senao
se ((nivel <>I) OU (nivel <>M)) E (tipo =F) então
escreval ("Bônus Funcionário: ", 50/100*mens)
senao
se ((nivel =I) OU (nivel =M)) E (tipo =D) então
escreval ("Bônus Dependente +  Médio/Infantil: ", mens*0,35)
senao
se ((nivel =I) OU (nivel <>M)) E (tipo=D) então
escreval ("Bônus Dependente: ", 0,30*mens)
fimse
fimse
FIMSE
FIMSE
fimalgoritmo

só que a partir de "se" ele parece não funcionar, eu escrevi algo errado?

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá @Thállyson Victório. Seja bem vindo ao Fórum do Clube do Hardware.

 

1 hora atrás, Thállyson Victório disse:

só que a partir de "se" ele parece não funcionar, eu escrevi algo errado?

 

O quê que não funciona? está acontecendo o quê e como deveria acontecer?

 

 

Alguns pontos:

 

1) VARIÁVEIS RESERVADAS

O termo "tipo" é reservado à linguagem, ou seja, não pode (ou não deveria poder) ser utilizado para outro fim... No Visualg é chamado de "palavra-chave". Assim como o var, para, se, então etc.

 

 

 

2) COMPARAÇÃO DE CARACTERES

Para comparar caracteres, usam "", no seus se você está comparando com variáveis.

Ex.:

1 hora atrás, Thállyson Victório disse:

se ((nivel =I) OU (nivel =M)) E (tipo =F) então

Traduzindo seria: "se o conteúdo da variável nível for igual ao conteúdo da variável I OU o conteúdo da variável nível for igual ao conteúdo da variável M) etc....

 

O que você precisa comparar é o caractere, algo como:

se ((nivel="I") OU (nivel="M") E (tipo="F")

Traduzindo seria: "se conteúdo da variável nivel for igual ao caractere I..... "

 

 

Pode apagar essas variáveis...

 

 

***

 

Uma dica interessante é para sempre fazer pequenos testes durante a construção do código, ou seja, não precisa testar quando tudo estive feito.. Como por exemplo testar só com o primeiro se... ver se a resposta está saindo corretamente. A medida que vai ganhando experiência, vai implementando mais coisas ao mesmo tempo...

 

Por ai vai...

 

No aguardo.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

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

Entrar agora

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...