Exercícios extras

Laços de repetição

Exercício #01

No Exercício #06 da seção "Exercícios", usamos for range para percorrer uma slice de string que representava uma lista de itens a comprar no mercado. Agora, resolva o mesmo exercício usando a sintaxe básica da instrução for (sintaxe apresentada aqui).

Exercício #02

Considerando os tópicos que já aprendemos até agora: slices, structs ,condicionais e laços de repetição, crie um programa que traga as informações sobre apartamentos de um prédio. Passos:

  1. Crie uma estrutura que representa um apartamento, com campos para representar seu número, o nome da sua proprietária e se tem vaga de garagem

  2. Reúna as estruturas em uma slice que representa um conjunto de apartamentos

  3. Printe as informações de cada unidade, separando por linha, usando for range

    Possível resolução

Exercício #03

Faça um programa que imprima 10 linhas, onde cada linha obedece a seguinte regra: na linha 1 deve ser impresso um valor (1), na linha 2 devem ser impressos dois valores (1 e 2), na linha três devem ser impressos três valores (1, 2, e 3), … na linha 10 devem ser impressos dez valores (1, 2, 3, 4, 5, 6, 7, 8, 9, 10).

A saída do programa deve ser:

1
12
123
1234
12345
123456
1234567
12345678
123456789
12345678910

A função fmt.Printf aceita o formatador %d para imprimir valores numéricos inteiros como decimais e o marcador \n para executar quebra de linha.

Exercício #04

Faça um programa que solicite à usuária que informe um número até que o número informado seja par. Seguindo o fluxo:

Insira um número:
> 3
Insira um número:
> 7
Insira um número:
> 2
Agora sim podemos dividir igualmente entre mim e você!

Em que 3, 7, e 2 são informados pelo usuário.

A função fmt.Fscanf(os.Stdin, “%d”, &v) lê um valor inteiro do teclado e insere esse valor na variável v.

Exercício #05

Faça um programa que, dado um texto inserido pelo usuário, itere nesse texto e conte o número de ocorrências de cada letra. Em seguida imprima em ordem alfabética a letra e o número de ocorrências dela no texto informado.

Exemplo de texto:

esse texto que voce le agora e o texto informado pelo usuario

Nesse exemplo, o programa deverá imprimir:

a => 4, b => 0, c => 1, d => 1, e => 9, f => 1, g => 1, h => 0, i => 2, j => 0, k => 0, l => 2, m => 1, n => 1, o => 9, p => 1, q => 1, r => 3, s => 3, t => 4, u => 3, v => 1, w => 0, x => 2, y => 0, z => 0,

O código a seguir cria a função leiaLinha(), que retorna o texto inserido pelo usuário. Use-a quando estiver no computador, o playground de Go não permite leitura do teclado, se estiver por lá você pode usar uma constante string para simular o texto inserido pelo usuário.

import (
	“os”
	“bufio”
)

func leiaLinha() string {
	sc := bufio.NewScanner(os.Stdin)
	sc.Scan()
	return sc.Text()
}

Last updated