Você está aqui: Portugol ::: Desafios e Lista de Exercícios Resolvidos ::: Matemática e Estatística

Como converter de decimal para números romanos em Portugol - Desafio de Programação Resolvido em Portugol

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

Escreva um algoritmo Portugol que pede para o usuário informar um número inteiro decimal e converta-o para o número romano correspondente.

Sua saída deverá ser parecida com:

Informe um número decimal: 2023
O número romano correspondente é: MMXXIII
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)
----------------------------------------------------------------------

// Converter um número decimal em número romano

programa {
  funcao inicio() {
    // vamos criar um array com os valores decimais possíveis de
    // cada número romano
    inteiro valores_numeros_romanos[] = {1000, 900, 500, 400,
      100, 90, 50, 40, 10, 9, 5, 4, 1}
    // representação dos números romanos
    cadeia numeros_romanos[] = {"M", "CM", "D", "CD",
      "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"}
    inteiro numero
    cadeia resultado

    // vamos pedir para o usuário informar um número decimal
    escreva("Informe um número decimal: ")
    leia(numero)

    // para guardar o resultado
    resultado = "";

    // o número é maior que zero?
    se (numero > 0) {
      // percorremos o array de valores decimais dos números romanos
      para (inteiro i = 0; i <= 12; i++) {
        // enquanto o número informado for maior que o valor do
        // do número romano atual
        enquanto (numero >= valores_numeros_romanos[i]) {
          // reduz o número informado
          numero = numero - valores_numeros_romanos[i]
          // concatena o número romano e continua o cálculo
          resultado = resultado + numeros_romanos[i]
        }
      }
    }
  
    // mostramos o resultado
    se (resultado == "") {
      escreva("O número informado não possui número romano")
    }
    else {
      escreva("O número romano correspondente é: ", resultado)
    }
  }
}


Link para compartilhar na Internet ou com seus amigos:

Portugol ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas

Como calcular o coeficiente angular de uma reta em Portugol dados dois pontos no plano cartesiano

Quantidade de visualizações: 432 vezes
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x.

Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano:



Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é:

\[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \]

Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente.

Veja agora o trecho de código na linguagem Portugol que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos:

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

// Calcular o coeficiente angular de uma reta em Portugol

programa {
  // vamos incluir a biblioteca Matematica
  inclua biblioteca Matematica --> mat
  
  funcao inicio() {
    // coordenadas dos dois pontos
    real x1, y1, x2, y2
    // guarda o coeficiente angular
    real m

    // x e y do primeiro ponto
    escreva("Coordenada x do primeiro ponto: ")
    leia(x1)
    escreva("Coordenada y do primeiro ponto: ")
    leia(y1)

    // x e y do segundo ponto
    escreva("Coordenada x do segundo ponto: ")
    leia(x2)
    escreva("Coordenada y do segundo ponto: ")
    leia(y2)

    // vamos calcular o coeficiente angular
    m = (y2 - y1) / (x2 - x1)

    // mostramos o resultado
    escreva("O coeficiente angular é: ", m) 
  }
}

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

Coordenada x do primeiro ponto: 3
Coordenada y do primeiro ponto: 6
Coordenada x do segundo ponto: 9
Coordenada y do segundo ponto: 10
O coeficiente angular é: 0.6666666666666666

No entanto, fique atento às propriedades do coeficiente angular da reta:

1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0;

2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0;

3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0).

4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe.


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

Exercício Resolvido de Portugol - Um programa que lê três números inteiros e mostra o maior

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

Faça um algoritmo em Portugol que solicita três números inteiros e mostra o maior deles. Exiba uma mensagem caso os três números não forem diferentes. Sua saída deverá ser parecida com:

Informe o primeiro número: 5
Informe o segundo número: 8
Informe o terceiro número: 3
O segundo número é o maior
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)
----------------------------------------------------------------------

// Um programa que lê três números inteiros e mostra o maior
programa {
  funcao inicio() {
    // variáveis usadas na resolução do problema
    inteiro num1, num2, num3 
    
    // vamos solicitar os três números inteiros
    escreva("Informe o primeiro número: ")
    leia(num1)
    escreva("Informe o segundo número: ")
    leia(num2)
    escreva("Informe o terceiro número: ")
    leia(num3)
    
    // o primeiro número é o maior?
    se (num1 > num2 e num1 > num3) {
      escreva("O primeiro número é o maior")
    }
    senao {
      // o segundo número é o maior?
      se (num2 > num1 e num2 > num3) {
        escreva("O segundo número é o maior")
      }
      senao{
        // o terceiro número é o maior?
        se (num3 > num1 e num3 > num2) { 
          escreva("O terceiro número é o maior")
        }
        // os número não são diferentes
       senao {
         escreva("Os três números não são diferentes")
       }
    }
  }
}



Portugol ::: Dicas & Truques ::: Cadeias e Caracteres

Como testar se uma sub-cadeia está contida em uma cadeia de caracteres em Portugol usando a função posicao_texto()

Quantidade de visualizações: 190 vezes
Nesta dica mostrarei como podemos verificar se uma substring está contida em uma string em Portugol. Para isso nós vamos usar a função posicao_texto() da biblioteca Texto.

A função posicao_texto() pede a sub-cadeia a ser pesquisada, a cadeia na qual a pesquisa será feita e o índice do primeiro caractere a partir do qual a sub-string será pesquisada.

Se a substring for encontrada, a função retorna a posição do primeiro caractere. Caso contrário o valor -1 será retornado.

Veja o código completo para um programa Portugol no qual testamos se uma palavra está contida em uma frase:

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

programa {
  // vamos importar a biblioteca Texto
  inclua biblioteca Texto --> tx
  
  funcao inicio() {
    // vamos criar uma frase
    cadeia frase = "Gosto de programar em Portugol"
    // vamos criar uma sub-cadeia
    cadeia palavra = "Portugol"

    // vamos verificar se a sub-cadeia está contida na cadeia
    se (tx.posicao_texto(palavra, frase, 0) != -1) {
      escreva("A substring está contida na string")   
    }
    senao {
      escreva("A substring não está contida na string") 
    }
  }
}

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

A substring está contida na string.


Vamos testar seus conhecimentos em AutoCAD Civil 3D

Survey Points e COGO Points

Survey points não podem ser movidos ou editados sem acessar a base de dados do levantamento e sem usar comandos especializados para a edição de pontos de levantamento.

A) Verdadeiro

B) Falso
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em AutoCAD Civil 3D

Questões de Certificação em AutoCAD Civil 3D

Quando selecionamos um objeto do Civil 3D na janela de desenho, uma nova aba (ou ribbon) é exibida, com opções relacionadas ao tipo de objeto selecionado.

Estamos falando da aba:

A) Modify tab.

B) Insert tab.

C) Context tab.

D) Manage tab.

E) Analyze tab.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Empuxo

O princípio elaborado por Arquimedes diz que a força de flutuação sobre um corpo submerso em um fluido é igual ao peso do fluido deslocado pelo corpo.

À luz desse princípio, calcule a carga total que um navio no mar (1,03g/cm3) pode carregar sem afundar, supondo que ele tem um volume de 200m3.

A) 150.000kg.

B) 190.000kg.

C) 106.000kg.

D) 200.000kg.

E) 206.000 kg.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em JavaScript

Analise o seguinte código JavaScript

const verdadeiro = true == [];
const falso = true == ![];
document.write(verdadeiro + falso);

Qual o resultado de sua execução?

A) "true"

B) 1

C) false

D) 0

E) "false"
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

Instalações prediais de águas pluviais

Os cálculos para a vazão de entrada, por vezes, podem ser simplificados. A NBR 10844 permite simplificações para pequenas áreas que agilizam o trabalho e possibilitam a não utilização de curvas IDF. Tendo isso em mente, considere que uma casa tem projeção em planta de 90m2 e um telhado com duas águas com largura de 6m, comprimento de 10m e altura de 1,20m. Qual será a vazão utilizada para o cálculo da calha?

A) 165L/min.

B) 125L/min.

C) 150L/min.

D) 190L/min.

E) 145L/min.
Verificar Resposta Estudar Cards Todas as Questões

Desafios, 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: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



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