Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gutemberg Alencar

Algoritmo VisualG

Recommended Posts

Sou novo aqui e estou precisando de ajuda na realização do seguinte Algoritmo, não sei mais onde estou errando desde de cedo que tento realizar. Mas sempre ocasiona erro no final "FIMSE."

Atividade: Elaboração de algoritmo
Uma empresa especializada em cursos preparatórios para concursos abriu as suas inscrições para o ano letivo. O curso tem como novidade beneficiar pessoas carentes com renda familiar abaixo de 2 salários mínimos, com desconto especial em suas mensalidades.
Elabore um algoritmo para ler:

  • O valor da mensalidade do curso;
  • O turno do curso escolhido (M para manhã, T para tarde e N para noite);
  • Categoria do aluno (B para baixa renda e N para renda normal);

O algoritmo deve calcular e exibir:

  • Valor total do curso durante 1 ano (valor da mensalidade do curso vezes 12);
  • O valor da mensalidade do aluno. Essa mensalidade poderá sofrer alterações, dependendo do turno escolhido e da categoria do aluno, conforme descrito abaixo:

- Caso o turno escolhido for M (manhã), não haverá nenhum desconto;

- Caso o turno escolhido for T (tarde), será atribuído um desconto de 5%;

- Caso o turno escolhido for N (noite), será atribuído um desconto de 10%;

ATENÇÃO: Para alunos classificados na categoria de renda familiar baixa, será acrescido um desconto adicional de 10%.

Algoritmo:



var
valor, mensalidade: real
duração: inteiro
categoria: literal
turno: literal
porcentagem: real
inicio
// Seção de Comandos
escreval(" Valor da mensalidade do curso: R$ ")
leia(valor)
escreval("Duração do curso em meses: ")
leia(duracao)
escreval("Duração do curso em meses:", 1 * duracao)
escreval("Valor do curso total no período R$:", valor * duracao)
escreval("Turno do curso M|T|N:")
leia(turno)
escreval("Informe as categorias do curso B|N:" )
leia (categoria)
Se (turno="M") entao
escreval(turno=valor * duracao)
se (turno="T") entao
escreval(turno=0.05 * mens_curso)
se (turno="N") entao
escreval(turno=0.1 * mens_curso)

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Toda estrutura deve ser fechada, amigo. Veja:

Se (expressão) entao
  <instruções>
Fimse //Aqui é o fechamento da estrutura 

Se você não fecha cada estrutura "Se" que abriu, vai dar erro.

Procure fechar cada estrutura "Se" utilizando "FimSe", como fiz no exemplo, acima.

 

 

 

Ps 1: Sei que esse teu código veio do Clube do Hardware, porque foi eu que ajudei em alguns detalhes, então procure evoluir esta lógica, porque ainda está incompleta! :lol:

 

Ps 2: Uma coisa que faço para conseguir pensar é utilizar um quadro ou cartolina, na parede. Escrevo as fórmulas e lógicas que acho que podem dar certo e sento em frente, para analisar as possibilidades. Tente por umas duas horas, se não der certo vá se divertir e volte assim que lembrar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ps1: Realmente meu primeiro pensamento não estava lá essas coisas, fui dar uma olhada e achei um compatível, mas ai não deu muito certo e vim pedir ajuda :D .
Cara to a dois dias tentando evoluir, agora que cheguei no quesito dúvida vou tentar terminar de qualquer forma acho que está no rumo. Acho que vou entregar os pontos kkk



Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem que colocar três finalizações

var

valor, mensalidade: real

duração: inteiro

categoria: literal

turno: literal

porcentagem: real

 

 

inicio

// Seção de Comandos

escreval(" Valor da mensalidade do curso: R$ ")

leia(valor)

escreval("Duração do curso em meses: ")

leia(duracao)

escreval("Duração do curso em meses:", 1 * duracao)

escreval("Valor do curso total no período R$:", valor * duracao)

escreval("Turno do curso M|T|N:")

leia(turno)

escreval("Informe as categorias do curso B|N:" )

leia (categoria)

Se (turno="M") entao

escreval(turno=valor * duracao)

se (turno="T") entao

escreval(turno=0.05 * mens_curso)

se (turno="N") entao

escreval(turno=0.1 * mens_curso)

fimse

fimse

fimse

 

Fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, sou novo no ramo e eu desenvolvi esse algoritmo citado acima de forma diferente, demorou 3 dias para ficar pronto (kkkkk) e as explicações de vocês aqui me ajudaram a ter mais visão, mas agora preciso colocar críticas (restrições) nesse algoritmo (no caso no que fiz). Poderiam me ajudar? Eu quero aprender como é, não quero a resposta pronta. Pode ser dicas.

Segue o algoritmo original, para incluir as restrições de valor>0, turno somente aceitar M|T|N e categoria aceitar somente B|N e ler as informações de 5 alunos. Desde já obrigado!

 

var
valor, totaldocurso: real
mensalidadeMB, mensalidadeMN, mensalidadeTB, mensalidadeTN: real
mensalidadeNB, mensalidadeNN: real
categoria: caractere
turno: caractere
inicio
// Seção de Comandos
escreva("Valor da mensalidade do curso: R$ ")
leia(valor)
escreva("Turno do curso M|T|N: ")
leia(turno)
escreva("Categoria do Aluno B|N: ")
leia(categoria)
mensalidadeMN:= valor
mensalidadeMB:= mensalidadeMN - mensalidadeMN * 0.10
mensalidadeTN:= mensalidadeMN - mensalidadeMN * 0.05
mensalidadeTB:= mensalidadeTN - mensalidadeTN * 0.10
mensalidadeNN:= mensalidadeMN - mensalidadeMN * 0.10
mensalidadeNB:= mensalidadeNN - mensalidadeMN * 0.10
Se ((turno="M") E (categoria="N"))entao
escreval("Valor da mensalidade no Turno da Manhã para Renda Normal é: R$ ", mensalidadeMN)
escreva("Valor do curso total no Turno da Manhã para Renda Normal é: R$ ", mensalidadeMN * 12)
fimse
Se ((turno="M") E (categoria="B"))entao
escreval("Valor da mensalidade no Turno da Manhã para Baixa Renda é: R$ ", mensalidadeMB)
escreva("Valor do curso total no Turno da Manhã para Baixa Renda é: R$ ", mensalidadeMB * 12)
fimse
Se ((turno="T") E (categoria="N"))entao
escreval("Valor da mensalidade no Turno da Tarde para Renda Normal é: R$ ", mensalidadeTN)
escreva("Valor do curso total no Turno da Tarde para Renda Normal é: R$ ", mensalidadeTN * 12)
fimse
Se ((turno="T") E (categoria="B"))entao
escreval("Valor da mensalidade no Turno da Tarde para Baixa Renda é: R$ ", mensalidadeTB)
escreva("Valor do curso total no Turno da Tarde para Baixa Renda é: R$ ", mensalidadeTB * 12)
fimse
Se ((turno="N") E (categoria="N"))entao
escreval("Valor da mensalidade no Turno da Noite para Renda Normal é: R$ ", mensalidadeNN)
escreva("Valor do curso total no Turno da Noite para Renda Normal é: R$ ", mensalidadeNN * 12)
fimse
Se ((turno="N") E (categoria="B"))entao
escreval("Valor da mensalidade no Turno da Noite para Baixa Renda é: R$ ", mensalidadeNB)
escreva("Valor do curso total no Turno da Noite para Baixa Renda é: R$ ", mensalidadeNB * 12)
fimse
fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ps1: Cara, também não estou com muito sucesso relacionado a essa parte de restrições, estou perdido em relação a estrutura de repetição PARA.

O algoritmo deverá ler:

  • O valor da mensalidade do curso. Fazer crítica (restrição)para que não seja aceito o valor 0 (zero) ou negativo.
  • O turno do curso escolhido (M para manhã, T para tarde e N para noite). Fazer crítica (restrição) para aceitar apenas os níveis M para manhã, T para tarde ou N para noite.
  • A categoria do aluno (B para baixa renda e N para renda normal). Fazer crítica (restrição)para aceitar apenas os tipos B para renda familiar baixa ou N para renda familiar normal.

    ATENÇÃO: Para alunos classificados na categoria de renda familiar baixa, será acrescido um desconto adicional de 10%, independentemente do turno escolhido.No final o algoritmo deve informar quantos alunos são de baixa renda e quantos tem renda familiar normal.

    Estava estudando esse algoritmo, mas ai ainda falta muito. Lá vai:
    var
    mens_curso: real
    turno_curso: literal
    categ_aluno: literal
    duracaocurso: inteiro

    mensdescturnoT,mensdescturnoN: real
    inicio
    // Seção de Comandos
    escreval("Informe o valor da mensalidade:R$")
    leia(menscurso)
    escreval("Duração do curso em meses: ")
    leia(DuracaoCurso)
    escreval("Digite a duração do Curso em meses:", 1* duracaocurso)
    escreval("Valor do curso total no período R$:", Menscurso * duracaocurso)
    escreval("Digite o turno M(manhã), T(tarde)ou N(noite):")
    leia(Turnocurso)
    MensDescTurnoT<- Menscurso * 0.05
    MensDescTurnoN<- Menscurso * 0.10
    Se (Turnocurso="M") entao
    escreva(Turnocurso= Menscurso
    fimse
    Se (Turnocurso="T") entao
    escreval("Valor da mensalidade com desconto é R$ ",(Turnocurso =((Menscurso * 0.05) - Menscurso)
    fimse
    Se (Turnocurso="N") entao
    escreval("Valor da mensalidade com desconto é R$ ",(Turnocurso =((Menscurso * 0.10) - Menscurso)) )
    fimse
    escreval("Categoria de Renda B(baixa)ou N(normal):")
    leia(Categaluno)
    Se (Categaluno="B") e (Turnocurso="T") entao
    escreval("Valor da mensalidade com desconto adicional é R$ ",(Categaluno = (( MensDescTurnoT * 0.10))))

    fimse

    fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.