Skip to content

Commit

Permalink
feat: adicionar exercícios práticos para o Capítulo 26 do curso Ninja…
Browse files Browse the repository at this point in the history
… Nível 12
  • Loading branch information
fabianoflorentino committed Dec 22, 2024
1 parent 3940f15 commit 0cb82ba
Show file tree
Hide file tree
Showing 3 changed files with 105 additions and 0 deletions.
28 changes: 28 additions & 0 deletions internal/exercicios_ninja_nivel_12/overview.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
description:
name: "Capítulo 26: Exercícios ninja nível 12"
sections:
- title: "Na prática: Exercício #1"
text: |
- Crie um package "cachorro".
- Este package deverá exportar uma função Idade, que toma como parâmetro um número de anos e retorna a idade equivalente em anos caninos. (1 ano humano → 7 anos caninos)
- Documente seu código com comentários, e utilize a função Idade na sua função main.
- Rode seu programa para verificar se ele funciona.
- Rode um local server com godoc e leia sua documentação.
- Solução: https://github.com/ellenkorbes/aprendago/tree/master/c%C3%B3digo/26_exercicios-ninja-12/01_cachorro
- title: "Na prática: Exercício #2"
text: |
- Coloque seu código no GitHub.
- Faça sua documentação aparecer em godoc.org, e tire um screenshot.
- Delete seu código do GitHub.
- Faça um refresh em godoc.org e veja se seu código sumiu.
- Compartilhe seu exercício aqui: https://github.com/ellenkorbes/aprendago/issues/79
- title: "Na prática: Exercício #3"
text: |
- Use godoc na linha de comando para ver a documentação sobre:
- fmt
- fmt Print
- strings
- strconv
27 changes: 27 additions & 0 deletions internal/exercicios_ninja_nivel_12/resolution_exercises.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package exercicios_ninja_nivel_12

import "fmt"

// ResolucaoNaPraticaExercicio1 calculates and prints the age of a dog in dog years
// based on a given human age. The age is hardcoded as 3 years in this example.
func ResolucaoNaPraticaExercicio1() {
idade := 3
idadeCachorro := idadeDeCachorro(idade)

fmt.Printf("A idade do cachorro em anos humanos é: %d", idadeCachorro)
}

func ResolucaoNaPraticaExercicio2() {
fmt.Printf("Não há resolução para este exercício.")
}

func ResolucaoNaPraticaExercicio3() {
fmt.Printf("Não há resolução para este exercício.")
}

// idadeDeCachorro converts a dog's age from human years to dog years.
// It takes an integer representing the dog's age in human years and returns
// the equivalent age in dog years, calculated by multiplying the input by 7.
func idadeDeCachorro(idade int) int {
return idade * 7
}
50 changes: 50 additions & 0 deletions internal/exercicios_ninja_nivel_12/topics.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package exercicios_ninja_nivel_12

import (
"fmt"

"github.com/fabianoflorentino/aprendago/pkg/format"
)

// rootDir represents the relative path to the directory containing
// the exercises for level 11 of the ninja training program.
const (
rootDir = "internal/exercicios_ninja_nivel_12"
)

func ExerciciosNinjaNivel12() {
fmt.Printf("\n\nCapítulo 26: Exercicios: Ninja Nível 12\n")

executeSection("Na prática: Exercício #1")
executeSection("Na prática: Exercício #2")
executeSection("Na prática: Exercício #3")
}

func MenuExerciciosNinjaNivel12([]string) []format.MenuOptions {
return []format.MenuOptions{
{Options: "--na-pratica-exercicio-1 --nivel-12", ExecFunc: func() { executeSection("Na prática: Exercício #1") }},
{Options: "--na-pratica-exercicio-1 --nivel-12 --resolucao", ExecFunc: func() { ResolucaoNaPraticaExercicio1() }},
{Options: "--na-pratica-exercicio-2 --nivel-12", ExecFunc: func() { executeSection("Na prática: Exercício #2") }},
{Options: "--na-pratica-exercicio-2 --nivel-12 --resolucao", ExecFunc: func() { ResolucaoNaPraticaExercicio2() }},
{Options: "--na-pratica-exercicio-3 --nivel-12", ExecFunc: func() { executeSection("Na prática: Exercício #3") }},
{Options: "--na-pratica-exercicio-3 --nivel-12 --resolucao", ExecFunc: func() { ResolucaoNaPraticaExercicio3() }},
}
}

func HelpMeExerciciosNinjaNivel12() {
hlp := []format.HelpMe{
{Flag: "--na-pratica-exercicio-1 --nivel-12", Description: "Apresenta o primeiro exercício prático do curso.", Width: 0},
{Flag: "--na-pratica-exercicio-1 --nivel-12 --resolucao", Description: "Exibe a resolução do primeiro exercício prático.", Width: 0},
{Flag: "--na-pratica-exercicio-2 --nivel-12", Description: "Apresenta o segundo exercício prático do curso.", Width: 0},
{Flag: "--na-pratica-exercicio-2 --nivel-12 --resolucao", Description: "Exibe a resolução do segundo exercício prático.", Width: 0},
{Flag: "--na-pratica-exercicio-3 --nivel-12", Description: "Apresenta o terceiro exercício prático do curso.", Width: 0},
{Flag: "--na-pratica-exercicio-3 --nivel-12 --resolucao", Description: "Exibe a resolução do terceiro exercício prático.", Width: 0},
}

fmt.Printf("\nCapítulo 26: Exercicios Ninja Nível 12\n")
format.PrintHelpMe(hlp)
}

func executeSection(section string) {
format.FormatSection(rootDir, section)
}

0 comments on commit 0cb82ba

Please sign in to comment.