Você está aqui: GoLang ::: Desafios e Lista de Exercícios Resolvidos ::: GoLang Básico

Exercícios Resolvidos de Go - Como calcular média ponderada em Golang - Ler o nome de um aluno e as notas de três provas - Exercícios Resolvidos de GoLang

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

Escrever um programa em Go que leia o nome de um aluno e as notas das três provas que ele obteve no semestre. No final informar o nome do aluno e a sua média (ponderada), onde o primeiro e o segundo teste têm pesos de 30% e o terceiro 40%.

Sua saída deverá ser parecida com:

Nome do aluno: MICHELE LEMOS
Informe a primeira nota: 6.7
Informe a segunda nota: 5.4
Informe a terceira nota: 9.5
A média do aluno MICHELE LEMOS é: 7.43 
Resposta/Solução:

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

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

// Algoritmo Golang para calcular média ponderada

// pacote principal
package main
 
// vamos importar o módulo de formatação de
// entrada e saída
import (
  "fmt"
  "bufio"
  "os"
)
   
// esta é a função principal do programa
func main() {
  // variáveis que vamos usar na resolução do problema
  var nome string
  var nota1, nota2, nota3, media float64
  
  // para ler a entrada do nome do usuário
  // sem a quebra de linha no final
  scanner := bufio.NewScanner(os.Stdin)
  
  // vamos ler o nome do aluno
  fmt.Printf("Nome do aluno: ")
  scanner.Scan()
  nome = scanner.Text()
  
  // vamos ler as notas
  fmt.Printf("Informe a primeira nota: ")
  fmt.Scanln(&nota1)
  fmt.Printf("Informe a segunda nota: ")
  fmt.Scanln(&nota2)
  fmt.Printf("Informe a terceira nota: ")
  fmt.Scanln(&nota3)

  // agora vamos calcular a média ponderada
  media = (nota1 * (30 / 100.0)) + (nota2 * (30 / 100.0)) + 
    (nota3 * (40 / 100.0))
  
  // e mostramos a média obtida
  fmt.Printf("A média do aluno: %s é: %f",
    nome, media)
}


Link para compartilhar na Internet ou com seus amigos:

GoLang ::: Desafios e Lista de Exercícios Resolvidos ::: Geometria, Trigonometria e Figuras Geométricas

Exercícios Resolvidos de Golang - Como calcular a área de um losango em Go

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

Um losango é um quadrilátero equilátero, ou seja, é um polígono formado por quatro lados de igual comprimento. Um losango é também um paralelogramo. Alguns autores exigem ainda que nenhum dos ângulos do quadrilátero seja reto para que ele seja considerado um losango.

A área (em metros quadrados) de um losango pode ser calculada usando-se a seguinte fórmula:



Onde D1 é a diagonal maior e D2 é a diagonal menor.

Escreva um programa Golang que leia a diagonal maior e a diagonal menor e calcule a área do losango. Sua saída deverá ser parecida com:

Informe a medida da diagonal maior: 5
Informe a medida da diagonal menor: 10
A área (em metros quadrados) do losango é: 25
Resposta/Solução:

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

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

// pacote principal
package main

// vamos importar o módulo de formatação de
// entrada e saída
import "fmt"
  
// esta é a função principal do programa
func main() {
  // variáveis que vamos usar na resolução do problema
  var diagonal_maior, diagonal_menor int
  var area float32
	
  // vamos ler os valores das diagonais maior e menor
  fmt.Print("Informe a medida da diagonal maior: ")
  fmt.Scanln(&diagonal_maior)
  fmt.Print("Informe a medida da diagonal menor: ")
  fmt.Scanln(&diagonal_menor)
  
  // calcula a area do losango
  area = float32((diagonal_maior * diagonal_menor)) / 2
  // mostra o resultado
  fmt.Printf("A área (em metros quadrados) é: %.2f",
    area)
}



GoLang ::: Fundamentos da Linguagem ::: Laços

Como usar o laço for em GoLang - O laço for da linguagem Go

Quantidade de visualizações: 868 vezes
Como todas (ou praticamente todas) as linguagens de programação, a GoLang também possui o seu laço for, ou loop for. Este laço é usado para repetir uma ou mais instruções quando sabemos exatamente quantas vezes essa repetição ocorrerá.

Em Go, o laço for é composto de três partes: inicialização, teste de continuidade e incremento ou decremento da variável de controle. Na parte da inicialização nós declaramos e inicializamos as variáveis que serão usadas dentro da estrutura. O teste de continuidade é a parte na qual verificamos se o laço deverá continuar repetindo ou encerrar. Finalmente, a parte de incremento ou decremento é usada para ajustarmos a variável de controle do laço.

Veja, por exemplo, como escrever um laço for em GoLang que contará de 1 até 10, escrevendo os números na tela:

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

// pacote principal
package main

// vamos importar o módulo de formatação de
// entrada e saída
import "fmt"

// esta é a função principal do programa
func main() {
  for i := 1; i <= 10; i++ {  
    fmt.Printf("%d  ", i)  
  }  
}

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

1 2 3 4 5 6 7 8 9 10

O laço for da linguagem GoLang nos permite omitir as partes da inicialização e de incremento ou decremento, embora esse tipo de código não seja muito usual.

Veja um trecho de código no qual usamos o laço for da linguagem Go para contar de 10 até 0 (omitindo a parte da inicialização da variável de controle):

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

// pacote principal
package main

// vamos importar o módulo de formatação de
// entrada e saída
import "fmt"

// esta é a função principal do programa
func main() {
  i := 10 // definimos o valor inicial aqui
  
  for ; i >= 0; i-- {  
    fmt.Printf("%d  ", i)  
  }  
}

Ao executarmos este código Go nós teremos o seguinte resultado:

10 9 8 7 6 5 4 3 2 1 0

Veja, agora, uma modificação do código acima. Desta vez eu omiti a parte de incremento ou decremento da variável de controle:

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

// pacote principal
package main

// vamos importar o módulo de formatação de
// entrada e saída
import "fmt"

// esta é a função principal do programa
func main() {
  for i := 10; i >= 0; {  
    fmt.Printf("%d  ", i)
    i--	
  }  
}



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

Como calcular a equação reduzida da reta em GoLang dados dois pontos pertencentes à reta

Quantidade de visualizações: 828 vezes
Nesta dica de Go veremos como calcular a equação reduzida da reta quando temos dois pontos pertencentes à esta reta. Não, nessa dica não vamos calcular a equação geral da reta, apenas a equação reduzida. Em outras dicas do site você encontra como como isso pode ser feito.

Para relembrar: a equação reduzida da reta é y = mx + n, em que x e y são, respectivamente, a variável independente e a variável dependente; m é o coeficiente angular, e n é o coeficiente linear. Além disso, m e n são números reais. Com a equação reduzida da reta, é possível calcular quais são os pontos que pertencem a essa reta e quais não pertencem.

Vamos começar então analisando a seguinte figura, na qual temos dois pontos que pertencem à uma reta:



Note que a reta da figura passa pelos pontos A(5, 5) e B(9, 2). Então, uma vez que já temos os dois pontos, já podemos calcular a equação reduzida da reta. Veja o código GoLang completo para esta tarefa:

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

// pacote principal
package main

// vamos importar o módulo de formatação de
// entrada e saída
import "fmt"
  
// esta é a função principal do programa
func main() {
  // variáveis que vamos usar na resolução do problema
  var x1, y1, x2, y2, m, n float32
  var sinal string

  // vamos ler as coordenadas do primeiro ponto
  fmt.Print("Coordenada x do primeiro ponto: ")
  fmt.Scanln(&x1)
  fmt.Print("Coordenada y do primeiro ponto: ")
  fmt.Scanln(&y1)
    
  // vamos ler as coordenadas do segundo ponto
  fmt.Print("Coordenada x do segundo ponto: ")
  fmt.Scanln(&x2)
  fmt.Print("Coordenada y do segundo ponto: ")
  fmt.Scanln(&y2)
  
  sinal = "+"
  // vamos calcular o coeficiente angular da reta
  m = (y2 - y1) / (x2 - x1)
  // vamos calcular o coeficiente linear
  n = y1 - (m * x1)
 
  // coeficiente linear menor que zero? O sinal será negativo
  if n < 0 {
    sinal = "-"
    n = n * -1
  }
  
  // mostra a equação reduzida da reta
  fmt.Printf("Equação reduzida: y = %.2fx %s %.2f",
    m, sinal, n);
}

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

Coordenada x do primeiro ponto: 5
Coordenada y do primeiro ponto: 5
Coordenada x do segundo ponto: 9
Coordenada y do segundo ponto: 2
Equação reduzida: y = -0,75x + 8,75

Para testarmos se nossa equação reduzida da reta está realmente correta, considere o valor 3 para o eixo x da imagem acima. Ao efetuarmos o cálculo:

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

>> y = (-0.75 * 3) + 8.75
y = 6.5000

temos o valor 6.5 para o eixo y, o que faz com que o novo ponto caia exatamente em cima da reta considerada na imagem.


Vamos testar seus conhecimentos em Hidrologia

(UFT 2013) A ocorrência de desmatamentos nas margens do rio Paraíba do Sul é o principal processo responsável pelo assoreamento. Sua vegetação encontra-se bastante alterada devido às diversas formas de ocupação e uso do solo, que resultaram em processos de erosão e assoreamento.

TERRA, L. et al. Conexões: Estudos de Geografia Geral e do Brasil, 2010, p. 248, vol I e II.

Os trechos percorridos por um rio que correspondem respectivamente à jusante e à montante são as:

A) áreas da nascente e da desembocadura do rio.

B) áreas das vertentes direita e esquerda do rio.

C) áreas onde os rios se encontram com o mar.

D) áreas da desembocadura e da nascente do rio.

E) áreas das vertentes esquerda e direita do rio.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

Postura ética profissional

Os engenheiros são profissionais responsáveis por criar soluções para situações do dia a dia que, de certa forma, pareciam impossíveis. Eles otimizaram as formas de transporte, de construção e, principalmente, de produção das indústrias. Diante dessas inovações, é comum que esses profissionais enfrentem situações éticas em que precisem decidir se avançam ou não com tais projetos.

Quanto ao conceito de ética na engenharia, é correto afirmar que:

A) A ética na engenharia é um aspecto que deve ser considerado em segundo lugar ante os benefícios que pode trazer à humanidade.

B) A ética engloba a avaliação racional de ganhos e riscos, definindo as responsabilidades individuais durante a execução de um projeto.

C) A ética engloba a avaliação social dos riscos e das responsabilidades coletivas durante a execução de um projeto.

D) A ética é um conceito que não se aplica à engenharia, somente à medicina, por esta área tratar diretamente da vida de um indivíduo.

E) A ética somente diz respeito à engenharia, pois as descobertas realizadas por tal área englobam um grande número de pessoas.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil

Processos e técnicas construtivas de instalações elétricas e hidráulicas

As instalações hidráulicas consistem nos sistemas de distribuição de água fria e quente, bem como nos sistemas de coleta de esgoto sanitário e águas pluviais. Relacione as colunas a seguir, referentes aos dispositivos empregados em instalações hidráulicas.

1. Tubos rígidos de PVC.

2. Registros de gaveta.

3. Registros de pressão.

4. Sifão.

( ) Dispositivo utilizado para controlar o fluxo de vazão em uma instalação hidráulica.

( ) Dispositivo empregado com o objetivo de impedir o retorno de odores do esgoto sanitário.

( ) Dispositivo utilizado para interromper o fluxo de vazão em uma instalação hidráulica.

( ) Dispositivo de utilização inviável em instalações prediais de água quente.

Assinale a alternativa que apresenta a ordem correta, de cima para baixo.

A) 1 - 2 - 3 - 4.

B) 3 - 4 - 1 - 2.

C) 4 - 3 - 1 - 2.

D) 2 - 1 - 3 - 4.

E) 3 - 4 - 2 - 1.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em JavaScript

Como escrever um condicional if para executar uma ação se o valor de "a" for DIFERENTE de 10?

A) if (a <> 10) {}

B) if a <> 10:

C) if a != 10 then

D) if (a != 10) {}
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Dimensionamento de pilares de canto

A determinação do momento atuante em um pilar de canto é um dos pontos principais no dimensionamento de armaduras.

Analise o pilar do exemplo a seguir:



Qual o valor do momento total na direção mais crítica?

A) Md, total,x = 3.500KN.cm.

B) Md, total,x = 7.352,84KN.cm.

C) Md, total,x = 5.012KN.cm.

D) Md, total,x = 1.569KN.cm.

E) Md, total,x = 2.569KN.cm.
Verificar Resposta Estudar Cards Todas as Questões

Veja mais Dicas e truques de GoLang

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á 17 usuários muito felizes estudando em nosso site.