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 VisuAlgQuantidade 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 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 |
![]() |
VisuAlg ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o coeficiente angular de uma reta em VisuAlg dados dois pontos no plano cartesianoQuantidade 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 VisuAlgQuantidade 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 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 VisuAlgQuantidade 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 ≠ 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 escalenoQuantidade 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 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 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 |
![]() Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
|
![]() 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 |
Códigos Fonte |
![]() 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 |
![]() 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 |