24 de fev. de 2013

Algoritmo Visualg imprime nome estudante

39. Dado o nome de um estudante, com o respectivo número de matrícula e as três notas acima mencionadas, desenvolva um algoritmo para calcular a nota final e a classificação de cada estudante. A classificação é dada conforme a tabela abaixo: Visualg - Portugol

Nota Final Classificação
[8,10] A
[7,8] B
[6,7] C
[5,6] D
[0,5] R
Imprima o nome do estudante, com o seu número, nota final e classificação.

Veja abaixo o código do algoritmo: 

algoritmo "ex39"
// Função :
// Autor :
// Data : 1/12/2010
// Seção de Declarações
var
idade, grupo: inteiro
nome, grupoRisco: caractere
inicio
// Seção de Comandos
escreva("Digite o nome: ")
leia(nome)
escreva("Digite a idade: ")
leia(idade)
escreval("Informe o Grupo de risco: ")
escreval("(B)aixo / (M)édio / (A)lto ")
leia(grupoRisco)

se (idade >= 17) e (idade <= 70) entao

se idade <= 20 entao
    escolha grupoRisco
        caso "B"
            grupo <- 1
        caso "M"
            grupo <- 2
        caso "A"
            grupo <- 3
    fimescolha
senao
    se idade <= 24 entao
        escolha grupoRisco
            caso "B"
                grupo <- 2
            caso "M"
                grupo <- 3
            caso "A"
                grupo <- 4
        fimescolha
    senao
        se idade <= 34 entao
            escolha grupoRisco
                caso "B"
                    grupo <- 3
                caso "M"
                    grupo <- 4
                caso "A"
                    grupo <- 5
            fimescolha
        senao
            se idade <= 64 entao
                escolha grupoRisco
                    caso "B"
                        grupo <- 4
                    caso "M"
                        grupo <- 5
                    caso "A"
                        grupo <- 6
                fimescolha
            senao
                escolha grupoRisco
                    caso "B"
                        grupo <- 2
                    caso "M"
                        grupo <- 3
                    caso "A"
                        grupo <- 4
                fimescolha
            fimse
        fimse
    fimse
fimse

senao
    escreval("Idade fora da cobertura!")
fimse

escreval("Nome: ",nome)
escreval("Idade: ",idade)
escreval("Categoria: ",grupo)

fimalgoritmo

Para ver mais exercícios do visualg clique aqui.

17 de fev. de 2013

Algoritmo Visualg notas de curso

38. Em um curso de Ciência da Computação a nota do estudante é calculada a partir de três notas atribuídas,respectivamente, a um trabalho de laboratório, a uma avaliação semestral e a um exame final. As notas variam, de 0 a 10 e a nota final é a média ponderada das três notas mencionadas. A tabela abaixo fornece os pesos:
Avaliação semestral Peso 3
Exame final Peso 5

Veja abaixo o código do algoritmo:
  algoritmo "ex38"
// Função :
// Autor :
// Data : 1/12/2010
// Seção de Declarações
var
nota1, nota2, nota3: real
media: real
nome, classificacao: caractere
matricula: inteiro

inicio
// Seção de Comandos
escreva("Digite o nome: ")
leia(nome)
escreva("Informe a matrícula: ")
leia(matricula)
escreva("Digite a nota do trabalho de laboratório: ")
leia(nota1)
escreva("Digite a nota da avaliação semestral: ")
leia(nota2)
escreva("Digite a nota do exame final: ")
leia(nota3)

media <- ((nota1 * 2) + (nota2 * 3) + (nota3 * 5))/10

se media >= 8.10 entao
    classificacao <- "A"
senao
    se media >= 7.8 entao
        classificacao <- "B"
    senao
        se media >= 6.7 entao
            classificacao <- "C"
        senao
            se media >= 5.6 entao
                classificacao <- "D"
            fimse
        fimse
    fimse
fimse
se media < 5.6 entao
    classificacao <- "R"
fimse

limpatela
escreval("Nome: ",nome)
escreval("Matrícula: ",matricula)
escreval("Nota final: ",media)
escreval("Classificação: ",classificacao)

fimalgoritmo

Para ver mais exercícios do visualg clique aqui.

10 de fev. de 2013

Algoritmo Visualg classificação dos seguros

40- Uma Companhia de Seguros possui nove categorias de seguro baseadas na idade e ocupação do segurado. Somente pessoas com pelo menos 17 anos e não mais de 70 anos podem adquirir apólices de seguro. Quanto às classes de ocupações, foram definidos três grupos de risco. A tabela abaixo fornece as categorias em função da faixa etária e do grupo de risco. Dados nome, idade e grupo de risco, determinar a categoria do pretendente à aquisição de tal seguro. Imprimir o nome a idade e a categoria do pretendente, e , caso a idade não esteja na faixa necessária, imprimir uma mensagem. Visualg - Portugol


Veja abaixo o código do algoritmo:
algoritmo "ex40"
// Função :
// Autor :
// Data : 1/12/2010
// Seção de Declarações
var
mat1: vetor[1..4,1..4] de inteiro
mat2: vetor[1..4,1..4] de inteiro
x, y: inteiro
soma1, soma2: inteiro

inicio
// Seção de Comandos

// Recebimento dos valores da matriz
para x de 1 ate 4 faca
    para y de 1 ate 4 faca
        escreva("Digite o valor",x,"-",y,": ")
        leia(mat1[x,y])
    fimpara
fimpara

// Troca entre as posições entre duas matrizes
para x de 1 ate 4 faca
    mat2[1,x] <- mat1[4,x]
    mat2[4,x] <- mat1[1,x]
fimpara

para x de 1 ate 4 faca
    mat2[2,x] <- mat1[2,x]
    mat2[3,x] <- mat1[3,x]
fimpara

// Impressão dos valores das matrizes
limpatela
escreval("Matriz original: ")
para x de 1 ate 4 faca
    escreval(mat1[x,1],mat1[x,2],mat1[x,3],mat1[x,4])
fimpara
escreval("Matriz modificada: ")
para x de 1 ate 4 faca
    escreval(mat2[x,1],mat2[x,2],mat2[x,3],mat2[x,4])
fimpara
escreval("")

// Soma entre os termos das matrizes
para x de 1 ate 4 faca
    para y de 1 ate 4 faca
        soma1 <- soma1 + mat1[x,y]
    fimpara
fimpara
para x de 1 ate 4 faca
    para y de 1 ate 4 faca
        soma2 <- soma2 + mat2[x,y]
    fimpara
fimpara

// Resultado final
escreval("")
escreval("Soma da matriz 1 + matriz 2 = ",soma1+soma2)
escreval("Soma dos valores da matriz 1 menos a soma da matriz 2 = ",soma1-soma2)

fimalgoritmo

Para ver mais exercícios do visualg clique aqui.

9 de fev. de 2013

Algoritmo Visualg reajuste de salário

28. Escrever um algoritmo para uma empresa que decide dar um reajuste a seus 584 funcionários de acordo com os seguintes critérios:
a) 50% para aqueles que ganham menos do que três salários mínimos;
b) 20% para aqueles que ganham entre três até dez salários mínimos;
c) 15% para aqueles que ganham acima de dez até vinte salários mínimos;
d) 10% para os demais funcionários.
 
Leia o nome do funcionário, seu salário e o valor do salário mínimo. Calcule o seu novo salário reajustado. Escrever onome do funcionário, o reajuste e seu novo salário. Calcule quanto à empresa vai aumentar sua folha de pagamento. Visualg - Portugol

Veja abaixo o código do algoritmo

algoritmo "ex28"
// Função : Escrever um algoritmo para uma empresa que decide dar um reajuste a seus 584 funcionários de acordo com os
            // seguintes critérios:
               // a) 50% para aqueles que ganham menos do que três salários mínimos;
               // b) 20% para aqueles que ganham entre três até dez salários mínimos;
               // c) 15% para aqueles que ganham acima de dez até vinte salários mínimos;
               // d) 10% para os demais funcionários.
            // Leia o nome do funcionário, seu salário e o valor do salário mínimo. Calcule o seu novo salário reajustado. Escrever o
               // nome do funcionário, o reajuste e seu novo salário. Calcule quanto à empresa vai aumentar sua folha de pagamento.
// Autor :
// Data : 1/12/2010
// Seção de Declarações
var
salarioMinimo, novoSalario, reajuste, reajusteTotal, folha, novaFolha, calc, salario: real
nome, opc: caractere
x: inteiro

inicio
// Seção de Comandos
opc <- "x"
escreval("<><><><><> Sistema de reajuste salarial <><><><><>")
escreva("Digite o valor atual do salário mínimo: ")
leia(salarioMinimo)
para x de 1 ate 584 faca
    limpatela
    escreva("Digite o nome: ")
    leia(nome)
    escreva("Digite o salário: ")
    leia(salario)
    calc <- salarioMinimo * 3
    se salario < calc entao
        reajuste <- 0.50 // Reajuste de 50%
        reajusteTotal <- reajuste + (reajuste * salario) // Valor total de reajuste
        folha <- folha + salario // Folha de pagamento antiga
        novoSalario <- salario + (reajuste * salario) // Salário reajustado
        novaFolha <- novaFolha + novoSalario // Nova folha de pagamento
       
        limpatela
        escreval(">>> Nome: ",nome)
        escreval(">>> Reajuste = 50%: ",reajuste*salario)
        escreval(">>> Novo salário: ",novoSalario)
        escreval(">>> Tecle enter para continuar...")
        leia(opc)
    senao
        calc <- salarioMinimo * 10
        se salario <= calc entao
            reajuste <- 0.20 // Reajuste de 20%
            reajusteTotal <- reajuste + (reajuste * salario) // Valor total de reajuste
            folha <- folha + salario // Folha de pagamento antiga
            novoSalario <- salario + (reajuste * salario) // Salário reajustado
            novaFolha <- novaFolha + novoSalario // Nova folha de pagamento

            limpatela
            escreval(">>> Nome: ",nome)
            escreval(">>> Reajuste = 20%: ",reajuste*salario)
            escreval(">>> Novo salário: ",novoSalario)
            escreval(">>> Tecle enter para continuar...")
            leia(opc)
        senao
            calc <- salarioMinimo * 20
            se salario <= calc entao
                reajuste <- 0.15 // Reajuste de 15%
                reajusteTotal <- reajuste + (reajuste * salario) // Valor total de reajuste
                folha <- folha + salario // Folha de pagamento antiga
                novoSalario <- salario + (reajuste * salario) // Salário reajustado
                novaFolha <- novaFolha + novoSalario // Nova folha de pagamento

                limpatela
                escreval(">>> Nome: ",nome)
                escreval(">>> Reajuste = 15%: ",reajuste*salario)
                escreval(">>> Novo salário: ",novoSalario)
                escreval(">>> Tecle enter para continuar...")
                leia(opc)
            senao
                reajuste <- 0.10 // Reajuste de 10%
                reajusteTotal <- reajuste + (reajuste * salario) // Valor total de reajuste
                folha <- folha + salario // Folha de pagamento antiga
                novoSalario <- salario + (reajuste * salario) // Salário reajustado
                novaFolha <- novaFolha + novoSalario // Nova folha de pagamento

                limpatela
                escreval(">>> Nome: ",nome)
                escreval(">>> Reajuste = 10%: ",reajuste*salario)
                escreval(">>> Novo salário: ",novoSalario)
                escreval(">>> Tecle enter para continuar...")
                leia(opc)
            fimse
        fimse
    fimse
fimpara
escreval("")
escreval("A empresa aumentou a folha de pagamento em:",novaFolha - folha," Reais")

fimalgoritmo

Para ver mais exercícios do visualg clique aqui.