Você está aqui: Portugol ::: Dicas & Truques ::: Matemática e Estatística

Como gerar um número aleatório em Portugol usando a função sorteia() da biblioteca Util

Quantidade de visualizações: 4827 vezes
Em algumas situações nós precisamos gerar números randômicos, ou seja, números aleatórios, para nossos algoritmos Portugol. Se o número randômico a ser gerado for um inteiro, então podemos usar a função sorteia() da biblioteca Util.

Esta função pede dois valores inteiros representando o valor inicial e o valor final e gera um valor randômico nessa faixa, incluindo os próprios valores inicial e final.

Veja um código Portugol Webstudio no qual geramos um número randômico entre 1 e 10:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// um algoritmo Portugol que gera números aleatórios

programa {
  inclua biblioteca Util --> u
  
  funcao inicio() {
    // declaramos a variável que vamos usar
    inteiro numero

    // vamos sortear um número de 1 a 10 (incluindo o
    // 1 e o 10)
    numero = u.sorteia(1, 10)

    // e mostramos o resultado
    escreva("O número sorteado foi: ", numero)
  }
}

Ao executar este código Portugol Webstudio nós teremos um resultado parecido com:

O número sorteado foi: 4

Link para compartilhar na Internet ou com seus amigos:

Portugol ::: Desafios e Lista de Exercícios Resolvidos ::: Portugol Básico

Exercícios Resolvidos de Portugol - Como calcular salário líquido em Portugol - Calculando o salário líquido de um professor

Quantidade de visualizações: 1271 vezes
Pergunta/Tarefa:

Escreva um algoritmo Portugol ou VisuAlg que calcule o salário líquido de um professor. Seu programa deverá solicitar que o usuário informe o valor da hora aula (como real), o número de horas trabalhadas no mês (como inteiro) e o percentual de desconto do INSS (como real). Em seguida mostre o salário líquido.

Sua saída deverá ser parecida com:

Informe o valor da hora aula: 28
Informe o número de horas trabalhadas no mês: 12
Informe o percentual de desconto do INSS: 8
Salário Bruto: R$ 336,00
Total de Descontos: R$ 26,88
Salário Líquido: R$ 309,12
Resposta/Solução:

Veja a resolução comentada deste exercício usando Portugol (na versão Portugol Webstudio):

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// Cálculo de Salário Bruto e Líquido em Portugol
programa {
  funcao inicio() {
    // variáveis usadas para resolver o problema
    real valor_hora_aula
    inteiro horas_trabalhadas
    real percentual_desconto_inss
    real salario_bruto
    real salario_liquido
    real total_desconto

    // vamos ler o valor do hora aula
    escreva("Informe o valor da hora aula: ")
    leia(valor_hora_aula)

    // vamos ler o número de horas trabalhadas no mês
    escreva("Informe o número de horas trabalhadas no mês: ")
    leia(horas_trabalhadas)

    // vamos ler o percentual de desconto do INSS
    escreva("Informe o percentual de desconto do INSS: ")
    leia(percentual_desconto_inss)

    // vamos calcular o salário bruto
    salario_bruto = valor_hora_aula * horas_trabalhadas

    // agora calculamos o total do desconto
    total_desconto = (percentual_desconto_inss / 100) * salario_bruto

    // finalmente calculamos o salário líquido
    salario_liquido = salario_bruto - total_desconto

    // mostramos o resultado
    escreva("\nSalário Bruto: R$ ", salario_bruto)
    escreva("\nTotal de Descontos: R$ ", total_desconto)
    escreva("\nSalário Líquido: R$ ", salario_liquido)
  }
}



Portugol ::: Dicas & Truques ::: Matemática e Estatística

Como resolver uma equação do segundo grau em Portugol - Como calcular Bhaskara em Portugol

Quantidade de visualizações: 2313 vezes
Como resolver uma equação do 2º grau usando Portugol

Nesta dica mostrarei como encontrar as raízes de uma equação quadrática, ou seja, uma equação do 2º usando um algoritmo escrito na ferramenta Portugol Studio, uma das preferidas para o aprendizado de algoritmos e lógica de programação.

Definimos como equação do 2º grau ou equações quadráticas qualquer equação do tipo ax² + bx + c = 0 em que a, b e c são números reais e a ≠ 0. Ela recebe esse nome porque, no primeiro membro da igualdade, há um polinômio de grau dois com uma única incógnita.

Note que, dos coeficientes a, b e c, somente o a é diferente de zero, pois, caso ele fosse igual a zero, o termo ax² seria igual a zero, logo a equação se tornaria uma equação do primeiro grau: bx + c = 0.

Independentemente da ordem da equação, o coeficiente a sempre acompanha o termo x², o coeficiente b sempre acompanha o termo x, e o coeficiente c é sempre o termo independente.

Como resolver uma equação do 2º grau

Conhecemos como soluções ou raízes da equação ax² + bx + c = 0 os valores de x que fazem com que essa equação seja verdadeira. Uma equação do 2º grau pode ter no máximo dois números reais que sejam raízes dela. Para resolver equações do 2º grau completas, existem dois métodos mais comuns:

a) Fórmula de Bhaskara;
b) Soma e produto.

O primeiro método é bastante mecânico, o que faz com que muitos o prefiram. Já para utilizar o segundo, é necessário o conhecimento de múltiplos e divisores. Além disso, quando as soluções da equação são números quebrados, soma e produto não é uma alternativa boa.

Como resolver uma equação do 2º grau usando Bhaskara

Como nosso algoritmo Portugol vai resolver a equação quadrática usando a Fórmula de Bhaskara, o primeiro passo é encontrar o determinante. Veja:

\[\Delta =b^2-4ac\]

Nem sempre a equação possui solução real. O valor do determinante é que nos indica isso, existindo três possibilidades:

a) Se determinante > 0, então a equação possui duas soluções reais.
b) Se determinante = 0, então a equação possui uma única solução real.
c) Se determinante < 0, então a equação não possui solução real.

Encontrado o determinante, só precisamos substituir os valores, incluindo o determinante, na Fórmula de Bhaskara:

\[x = \dfrac{- b\pm\sqrt{b^2- 4ac}}{2a}\]

Vamos agora ao código Portugol (escrevi e testei no Portugol Webstudio). Nossa aplicação vai pedir para o usuário informar os valores dos três coeficientes a, b e c e, em seguida, vai apresentar as raizes da equação:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// "Como resolver uma equação do 2º grau usando Portugol
programa {
  // inclui a biblioteca Matematica
  inclua biblioteca Matematica --> mat

  // função principal do programa
  funcao inicio() {
    // variáveis usadas na resolução do problema
    // os coeficientes
    real a, b, c
    // as duas raizes, a imaginaria e o discriminante
    real raiz1, raiz2, imaginaria, discriminante

    // vamos pedir para o usuário informar os valores dos coeficientes
    escreva("Valor do coeficiente a: ")
    leia(a)
    escreva("Valor do coeficiente b: ")
    leia(b)
    escreva("Valor do coeficiente c: ")
    leia(c)

    // vamos calcular o discriminante
    discriminante = (b * b) - (4 * a * c)

    // a equação possui duas soluções reais?
    se (discriminante > 0) {
      raiz1 = ((b * -1) + mat.raiz(discriminante, 2.0)) / (2 * a)
      raiz2 = ((b * -1) - mat.raiz(discriminante, 2.0)) / (2 * a)
      escreva("Duas raizes: x1 = ", raiz1, " e x2 = ", raiz2)
    }
    // a equação possui uma única solução real?
    senao se (discriminante == 0){
      raiz1 = (b * -1) / (2 * a)
      raiz2 = (b * -1) / (2 * a)
      escreva("Duas raizes iguais: x1 = ", raiz1, " e x2 = ", raiz2)
    }
    // a equação não possui solução real?
    senao{
      raiz1 = (b * -1) / (2 * a)
      raiz2 = (b * -1) / (2 * a)
      imaginaria = mat.raiz((discriminante * -1), 2.0) / (2 * a)
      escreva("Existem duas raízes complexas: ")
      escreva("x1 = ", raiz1, " + " ,imaginaria, " e x2 = ", raiz2, " - ", imaginaria)
    }
  }
}

Ao executar este código Portugol nós teremos o seguinte resultado:

Valor do coeficiente a: 1
Valor do coeficiente b: 2
Valor do coeficiente c: -3
Existem duas raizes: x1 = 1.0 e x2 = -3.0


Portugol ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle

Exercício Resolvido de Portugol - Como testar se um ano é bissexto em Portugol - Um programa que lê um ano com quatro dígitos e informa se ele é bissexto ou não

Quantidade de visualizações: 1442 vezes
Pergunta/Tarefa:

Chama-se ano bissexto o ano ao qual é acrescentado um dia extra, ficando ele com 366 dias, um dia a mais do que os anos normais de 365 dias, ocorrendo a cada quatro anos (exceto anos múltiplos de 100 que não são múltiplos de 400). Isto é feito com o objetivo de manter o calendário anual ajustado com a translação da Terra e com os eventos sazonais relacionados às estações do ano. O último ano bissexto foi 2012 e o próximo será 2016.

Um ano é bissexto se ele for divisível por 4 mas não por 100, ou se for divisível por 400.

Escreva um programa Portugol que pede ao usuário um ano com quatro dígitos e informa se ele é bissexto ou não.

Sua saída deverá ser parecida com:

Informe o ano: 2024
O ano informado é bissexto.
Resposta/Solução:

Veja a resolução comentada deste exercício usando Portugol Webstudio:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// Como testar se um ano é bissexto em Portugol
programa {
  funcao inicio() {
    // variáveis usadas na resolução do problema
    inteiro ano

    // vamos solicitar que o usuário informe um ano
    escreva("Informe o ano: ")
    leia(ano)

    // vamos verificar se o ano informado é bissexto
    se (((ano % 4 == 0) e (ano % 100 != 0)) ou (ano % 400 == 0)) {
      escreva("O ano informado é bissexto.")
    }
    senao {
      escreva("O ano informado não é bissexto.")
    }
  }
}



Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Portugol

Veja mais Dicas e truques de Portugol

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 72 usuários muito felizes estudando em nosso site.