E-Book 650 Dicas e Truques de Python - PDF com 1.200 páginas
Você está aqui: VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Faça um algoritmo em VisuAlg que leia 9 números inteiros, guarde-os em uma matriz 3x3 e mostre os números pares - Desafio de Programação Resolvido em VisuAlg

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

Faça um algoritmo em VisuAlg que leia 9 números inteiros e guarde-os em uma matriz 3x3. Imprima a matriz no formato tabular, usando a melhor formatação que você conseguir. Em seguida, percorra a matriz novamente e imprima somente os números que são pares, todos na mesma linha e separados por espaço.

Sua saída deverá ser parecida com:

Linha 1 e coluna 1: 8
Linha 1 e coluna 2: 1
Linha 1 e coluna 3: 5
Linha 2 e coluna 1: 3
Linha 2 e coluna 2: 9
Linha 2 e coluna 3: 30
Linha 3 e coluna 1: 7
Linha 3 e coluna 2: 23
Linha 3 e coluna 3: 10

Valores na matriz

    8     1     5 
    3     9    30 
    7    23    10 

Os valores pares são: 8 30 10
Resposta/Solução:

Veja a resolução completa para o exercício em VisuAlg, comentada linha a linha:

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

algoritmo "Um algoritmo que lê uma matriz 3x3"

var
  // variáveis usadas na resolução do problema
  matriz:vetor[1..3, 1..3] de inteiro
  i,j: inteiro

inicio
  // vamos pedir para o usuário informar os valores
  // dos elementos da matriz, uma linha de cada vez
  para i de 1 ate 3 faca
    para j de 1 ate 3 faca
      escreva("Linha", i, "e coluna", j, ": ")
      leia(matriz[i, j])
    fimpara
  fimpara

  // vamos mostrar a matriz da forma que ela foi informada
  escreval()
  escreval("Valores na matriz:")
  escreval()
  para i de 1 ate 3 faca
    para j de 1 ate 3 faca
      escreva(matriz[i, j]:5, " ")
    fimpara
    // passa para a próxima linha da matriz
    escreval()
  fimpara

  // agora vamos percorrer a matriz novamente e mostrar
  // apenas os valores pares
  escreval()
  escreva("Os valores pares são: ")

  para i de 1 ate 3 faca
    para j de 1 ate 3 faca
      // é um número par?
      se matriz[i, j] % 2 = 0 entao
	escreva(matriz[i, j], " ")
      fimse
    fimpara
  fimpara

fimalgoritmo


Link para compartilhar na Internet ou com seus amigos:

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

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

Quantidade de visualizações: 462 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 VisuAlg 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)
----------------------------------------------------------------------

algoritmo "Calcular o coeficiente angular de uma reta em VisuAlg"

var
  // coordenadas dos dois pontos
  x1, y1, x2, y2: real
  // guarda o coeficiente angular
  m: real

inicio
  // 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)

fimalgoritmo 

Ao executar este código VisuAlg 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

Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$):

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

algoritmo "Calcular o coeficiente angular de uma reta em VisuAlg"

var
  // coordenadas dos dois pontos
  x1, y1, x2, y2: real
  // guarda os comprimentos dos catetos oposto e adjascente
  cateto_oposto, cateto_adjascente: real
  // guarda o ângulo tetha (em radianos) e a tangente
  tetha, tangente: real

inicio
  // 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 obter o comprimento do cateto oposto
  cateto_oposto <- y2 - y1
  // e agora o cateto adjascente
  cateto_adjascente <- x2 - x1
  // vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa
  // (em radianos, não se esqueça)
  tetha <- ArcTan(cateto_oposto / cateto_adjascente)
  // e finalmente usamos a tangente desse ângulo para calcular
  // o coeficiente angular
  tangente <- Tan(tetha)

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

fimalgoritmo 

Ao executar este código você verá que o resultado é o mesmo. 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.


VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: Laços

Exercícios Resolvidos de VisuAlg - Como calcular e exibir os 50 primeiros números primos em VisuAlg

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

Um inteiro é um número primo se ele for divisível somente por 1 e por ele mesmo. Assim, 2, 3, 5 e 7 são primos, enquanto 4, 6, 8 e 9 não são. Note que o número 1 não é primo.

Escreva um programa (algoritmo) VisuAlg que usa um laço PARA, ENQUANTO ou REPITA...ATE para calcular e exibir os 50 primeiros números primos.

Sua saída deverá ser parecida com:

50 primeiros números primos:

     2     3     5     7    11    13    17    19    23    29
    31    37    41    43    47    53    59    61    67    71
    73    79    83    89    97   101   103   107   109   113
   127   131   137   139   149   151   157   163   167   173
   179   181   191   193   197   199   211   223   227   229
Resposta/Solução:

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

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

algoritmo "Como exibir os N primeiros números primos em VisuAlg"

var
  // variáveis usadas na resolução do problema
  quantidade, contador, numero, j: inteiro
  primo: logico

inicio
  quantidade <- 50 // quantidade de números primos
  contador <- 0 // quantidade de números primos encontrados
  numero <- 0 // inteiro inicial

  // Lembre-se! O número 1 não é primo
  escreval(quantidade, " primeiros numeros primos:")
  escreval()

  // laço while será executado até encontrar os 50 primeiros números primos
  enquanto contador < quantidade faca
    primo <- verdadeiro

    // se o valor de i for 7, a variável j do laço contará
    // de 2 até 7 / 2 (divisão inteira), ou seja, 3. Se o
    // módulo de 7 por qualquer um dos valores neste intervalo
    // for igual a 0, então o número não é primo
    para j de 2 ate Int(numero / 2) faca
      se numero mod j = 0 entao
        primo <- falso // não é primo
        interrompa
      fimse
    fimpara

    se ((primo = verdadeiro) e (numero > 1)) entao
      escreva(numero:6)
      contador <- contador + 1 // encontramos um número primo

      se contador mod 10 = 0 entao
        escreval()
      fimse
    fimse

    numero <- numero + 1
  fimenquanto

fimalgoritmo



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

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

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

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 VisuAlg, 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 &#8800; 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 VisuAlg 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 VisuAlg. 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)
----------------------------------------------------------------------

Algoritmo "Como resolver uma equação do 2º grau usando VisuAlg"

Var
  // variáveis usadas na resolução do problema
  // os coeficientes
  a, b, c: real
  // as duas raizes, a imaginaria e o discriminante
  raiz1, raiz2, imaginaria, discriminante: real

Inicio
  // 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 então
    raiz1 <- (-b + raizq(discriminante)) / (2 * a)
    raiz2 <- (-b - raizq(discriminante)) / (2 * a)
    escreva("Duas raizes: x1 = ", raiz1, " e x2 = ", raiz2)
  senão
    // a equação possui uma única solução real?
    se discriminante = 0 então
      raiz1 <- -b / (2 * a)
      raiz2 <- -b / (2 * a)
      escreva("Duas raizes iguais: x1 = ", raiz1, " e x2 = ", raiz2)
    // a equação não possui solução real?
    senão
      raiz1 <- -b / (2 * a)
      raiz2 <- -b / (2 * a)
      imaginaria <- raizq(-discriminante) / (2 * a)
      escreva("Existem duas raízes complexas: ")
      escreva("x1 = ", raiz1, " + " ,imaginaria, " e x2 = ", raiz2, " - ", imaginaria)
    fimse
  fimse

Fimalgoritmo

Ao executar este código VisuAlg 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


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

Exercício Resolvido de VisuAlg - Um algoritmo em VisuAlg que testa se um triângulo é equilátero, isósceles ou escaleno

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

Escreva um algoritmo que lê três valores para os lados de um triângulo. O algoritmo deve verificar se o triângulo é equilátero (todos os lados iguais), isósceles (dois lados iguais) ou escaleno (todos os lados diferentes).

Sua saída deverá ser parecida com:

Informe o lado 1 do triângulo: 6
Informe o lado 2 do triângulo: 8
Informe o lado 3 do triângulo: 2
O triângulo é escaleno
Resposta/Solução:

Veja a resolução deste algoritmo em VisuAlg:

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

Algoritmo "Testa se um triângulo é equilátero, escaleno ou isósceles"

Var
  // variáveis usadas na resolução do problema
  lado1, lado2, lado3: real

Inicio
  // vamos ler os lados do triângulo
  escreva("Informe o lado 1 do triângulo: ")
  leia(lado1)
  escreva("Informe o lado 2 do triângulo: ")
  leia(lado2)
  escreva("Informe o lado 3 do triângulo: ")
  leia(lado3)

  // vamos testar se o triângulo é equilátero
  // os três lados iguais
  se (lado1 = lado2) e (lado2 = lado3) entao
    escreval("O triângulo é equilátaro.")
  senao
    // vamos testar se o triângulo é escaleno
    // os três lados diferentes
    se (lado1 <> lado2) e (lado1 <> lado3) e (lado2 <> lado3) entao
      escreval("O triângulo é escaleno")
    senao
      // vamos testar se o triângulo é isósceles
      // dois lados iguais e um diferente
      se (lado1 = lado2) ou (lado1 = lado3) ou (lado2 = lado3) entao
        escreval("O triângulo é isósceles")
      fimse
    fimse
  fimse
Fimalgoritmo



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

Exercícios Resolvidos de VisuAlg - Uma loja está concedendo desconto de 20% para clientes do sexo feminino com idade entre 18 e 35 anos (ambas incluídas)

Quantidade de visualizações: 294 vezes
Exercícios Resolvidos de VisuAlg - Uma loja está concedendo desconto de 20% para clientes do sexo feminino com idade entre 18 e 35 anos (ambas incluídas)

Pergunta/Tarefa:

Uma loja está concedendo desconto de 20% para clientes do sexo feminino com idade entre 18 e 35 anos (ambas incluídas). Para os demais clientes o desconto é 5% apenas. Leia o valor do produto, o nome, sexo e a idade do cliente e aplique o desconto correspondente.

Sua saída deverá ser parecida com:

Informe o valor do produto: 520
Informe o nome do cliente: FABRICIA DE CASTRO
Informe a idade: 23
Informe o sexo: F
FABRICIA DE CASTRO, você ganhou o desconto de 20%
Valor a pagar: 416.0

Informe o valor do produto: 830
Informe o nome do cliente: OSMAR SLVA
Informe a idade: 38
Informe o sexo: M
OSMAR SLVA, você ganhou apenas o desconto de 5%
Valor a pagar: 788.5
Resposta/Solução:

Veja a resolução deste exercício em VisuAlg:

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

algoritmo "Ler o valor do produto, o valor do produto, o sexo..."
var
  valor: real
  nome, sexo: caractere
  idade: inteiro

inicio
  //  vamos ler o valor do produto
  escreva("Informe o valor do produto: ")
  leia(valor)

  // agora vamos ler o nome do cliente
  escreva("Informe o nome do cliente: ")
  leia(nome)

  // agora vamos ler a idade
  escreva("Informe a idade: ")
  leia(idade)

  // e finalmente vamos ler o sexo do cliente
  escreva("Informe o sexo: ")
  leia(sexo)

  // vamos verificar se o cliente faz jus ao desconto
  // de 20%
  se ((idade >= 18) e (idade <= 35) e (sexo = "F")) entao
    valor <- valor - (valor * (20 / 100))
    escreval(nome, ", você ganhou o desconto de 20%")
    escreval("Valor a pagar: ", valor)
  senao
    valor <- valor - (valor * (5 / 100))
    escreval(nome, ", você ganhou apenas o desconto de 5%")
    escreval("Valor a pagar: ", valor)
  fimse
  
fimalgoritmo



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

Veja mais Dicas e truques de VisuAlg

Dicas e truques de outras linguagens

Quem Somos

Osmar J. Silva
Programador Freelancer
WhatsApp +55 (062) 98553-6711

Goiânia-GO
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
José de Angelis
Programador Freelancer
WhatsApp +55 (062) 98243-1195

Goiânia-GO
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..

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

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


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