Você está aqui: GoLang ::: Desafios e Lista de Exercícios Resolvidos ::: Laços

Exercícios Resolvidos de Go - Um laço for que solicita ao usuário 10 números inteiros e mostra o menor e o maior valor informado - Lista de Exercícios Resolvidos de GoLang

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

Escreva um programa Golang que usa o laço for para solicitar ao usuário que informe 10 números inteiros. Em seguida mostre o maior e o menor valor lido. Não é permitido usar vetores ou matrizes (arrays).

Sua saída deve ser parecida com:

Informe o 1º valor: 5
Informe o 2º valor: 1
Informe o 3º valor: 20
Informe o 4º valor: 6
Informe o 5º valor: 3
Informe o 6º valor: 4
Informe o 7º valor: 7
Informe o 8º valor: 12
Informe o 9º valor: 9
Informe o 10º valor: 8

O maior valor lido foi: 20
O menor valor lido foi: 1
Resposta/Solução:

Veja a solução comentada deste exercício usando a linguagem 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 i int
  var valor int // guarda o valor lido
  var maior, menor int = 0, 0 // variáveis que guardarão
  // o maior e o menor valor lido
  
  // vamos pedir ao usuário que informe 10 valores inteiros
  for i = 0; i < 10; i++ {
    fmt.Printf("Informe o %d.o valor: ", (i + 1))
    fmt.Scanln(&valor)

    // esta é a primeira iteração do laço? se for vamos assumir que o
    // maior e menor valor lido são o primeiro valor informado
    if i == 0 {
      maior = valor
      menor = valor
    }else { // não é a primeira iteração
      // vamos verificar se é maior que o valor atual da
      // variável maior
      if valor > maior {
        maior = valor
      }
      
      // vamos verificar se é menor que o valor atual da  
      // variável menor
      if valor < menor {
        menor = valor
      }
    }
  }
  
  // vamos exibir o maior e o menor valor lido
  fmt.Printf("\nO maior valor lido foi: %d", maior)
  fmt.Printf("\nO menor valor lido foi: %d", menor)
}


Link para compartilhar na Internet ou com seus amigos:

GoLang ::: Dicas & Truques ::: Strings e Caracteres

Como retornar o tamanho de uma string em Golang usando os métodos len() e RuneCountInString()

Quantidade de visualizações: 770 vezes
Em algumas situações nós precisamos obter e retornar o tamanho de uma string, ou seja, a quantidade de caracteres em uma palavra, frase ou texto. Para isso nós podemos duas funções na linguagem Go: len() e RuneCountInString().

O método len() retorna a quantidade de bytes contidos em uma string. Note, porém, que esta função não é recomendada quando estamos lidando com caracteres do conjunto utf8, que requerem dois bytes. Dessa forma, se estivermos certos de que a string não possui acentos ou caracteres especiais, então o método len() é o mais adequado.

Veja um trecho de código Golang no qual pedimos para o usuário informar uma palavra ou frase e em seguida nós informamos a quantidade de caracteres contidos nela:

----------------------------------------------------------------------
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 os módulos necessários
import (
  "bufio"
  "fmt"
  "os"
  "strings"
)
  
// esta é a função principal do programa
func main() {
  // variáveis que vamos usar na resolução do problema
  var frase string
  var tamanho int
  
  // vamos pedir para o usuário informar uma
  // palavra ou frase
  fmt.Print("Informe uma palavra ou frase: ")
  var entrada = bufio.NewReader(os.Stdin)
  frase, _ = entrada.ReadString('\n')  
  frase = strings.TrimSpace(frase)	
	
  // vamos obter o tamanho da string
  tamanho = len(frase)
  
  // e mostramos o resultado
  fmt.Printf("A palavra ou frase contém %d caracteres",
    tamanho)
}

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

Informe uma palavra ou frase: Gosto de Python
A palavra ou frase contém 15 caracteres

Se contarmos a quantidade de caracteres na string informada, realmente veremos que o código retornou o resultado esperado. O problema acontece quando informamos uma palavra ou frase com acentos ou caracteres especiais. Experimente e veja que a função len() começa a retornar uma contagem estranha.

Quando nossas strings possuem caracteres especiais ou com acentos, a função a ser usada é RuneCountInString(). Veja:

----------------------------------------------------------------------
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 os módulos necessários
import (
  "bufio"
  "fmt"
  "os"
  "unicode/utf8"
  "strings"
)
  
// esta é a função principal do programa
func main() {
  // variáveis que vamos usar na resolução do problema
  var frase string
  var tamanho int
  
  // vamos pedir para o usuário informar uma
  // palavra ou frase
  fmt.Print("Informe uma palavra ou frase: ")
  var entrada = bufio.NewReader(os.Stdin)
  frase, _ = entrada.ReadString('\n')  
  frase = strings.TrimSpace(frase)	
	
  // vamos obter o tamanho da string
  tamanho = utf8.RuneCountInString(frase)
  
  // e mostramos o resultado
  fmt.Printf("A palavra ou frase contém %d caracteres",
    tamanho)
}

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

Informe uma palavra ou frase: Código
A palavra ou frase contém 6 caracteres


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: 910 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: 861 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--	
  }  
}



Vamos testar seus conhecimentos em

Características do concreto armado

Sabe-se que o controle adequado da retração é fundamental no projeto e na construção de estruturas de concreto para evitar problemas como fissuração e para garantir a integridade da estrutura ao longo do tempo.

Marque a alternativa correta a respeito desse fenômeno.

A) A retração química pode levar à formação de produtos de hidratação que ocupam mais espaço do que os materiais originais.

B) A retração plástica ocorre após o endurecimento do concreto e está relacionada à perda contínua de umidade.

C) A retração por secagem ocorre durante o estado fresco do concreto, enquanto ele ainda está sendo moldado e antes de começar a endurecer.

D) A retração térmica ocorre devido a reações químicas dentro do concreto, causando expansão especialmente em estruturas expostas a condições ambientais extremas.

E) A retração por secagem é comum em superfícies de concreto expostas ao Sol ou ao vento durante a fase de cura, ou seja, no seu processo de endurecimento.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

A coleção Set da linguagem Python permite itens repetidos.

A) Verdadeiro

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

Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira

Estrutura e propriedade dos materiais

Os materiais podem ser de várias classes de acordo com as suas propriedades.

O objetivo de estudar suas tecnologias consiste em:

A) controlar precisamente e individualmente os átomos para fabricar materiais com propriedades e desempenho específicos.

B) fabricar materiais com novas propriedades.

C) controlar as propriedades dos materiais.

D) estudar e produzir materiais a nível macro para fabricar materiais com propriedades específicas.

E) controlar os átomos, em geral, para fabricar materiais com desempenho específico.
Verificar Resposta Estudar Cards Todas as Questões

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

Água Fria: Reservatórios

Orienta-se que a limpeza de um reservatório seja feita a cada 6 meses para garantir a qualidade da água armazenada. Sobre o procedimento de limpeza é correto afirmar:

A) Deve-se fechar o registro de entrada de água no reservatório, de preferência em dia de menor consumo, e aproveitar a água existente no reservatório para a limpeza.

B) Havendo iodo em excesso, esvaziar o reservatório através da tubulação de recalque, abrindo o seu respectivo registro de fechamento.

C) Após a primeira etapa da limpeza deve-se abrir o registro de distribuição da rede predial e soltar a água da lavagem pelas torneiras da edificação.

D) A limpeza deve ser feita com sabão ou detergente líquido para garantir a eficiência.

E) Para desinfecção final do reservatório deve-se adicionar água sanitária e encher normalmente o reservatório para utilização.
Verificar Resposta Estudar Cards Todas as Questões

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

Fórmula de Chézy

Um canal reto e retangular tem 2,1m de largura e 1,2m de profundidade e está com uma declividade de fundo de 3°.

Sendo o fator de atrito igual a 0,022, a vazão para escoamento uniforme será:

A) 23,97m3/s.

B) 25,78m3/s.

C) 30,87m3/s.

D) 37,00m3/s.

E) 37,55m3/s.
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á 9 usuários muito felizes estudando em nosso site.