You are on page 1of 4

Linguagem de programação GO!

: um exemplo de
implementação
José Rhuan de Souza Pereira¹, Carlos Eduardo da Silva Brandão¹, Thiago Correia
Monteiro¹, Victor Sampaio de Macedo¹
1
Universidade Federal do Ceará (UFC)
– Sobral – CE – Brazil
Rhuan@alu.ufc.br, ceduardosbrandao@gmail.com,
thiagocorreiamonteiro@gmail.com, victorsammacedo@gmail.com

Abstract. This paper aims to discuss an example of code implementation in the


GO!, programming language, explaining choices made in the structure of the
software, describing the development environment and execution as well as
explaining results produced by the software.

Resumo. Este artigo tem como objetivo dissertar a respeito de um exemplo de


implementação de código na linguagem de programação GO!, explicando
escolhas feitas na estrutura do programa, descrevendo o ambiente de
desenvolvimento e execução, bem como explicando resultados produzidos
pelo programa.

1. Descrição Geral
O programa tem como objetivo formar um cubo com dimensões dadas a partir dos 3
maiores números de uma array, obtidos através da ordenação de seus componentes.

2. Ambiente de desenvolvimento
Foi escolhida a IDE Goland, que se apresenta como uma extensão da plataforma IntelliJ
da empresa JetBrains.
2.1. Principais Características
Assistência de codificação:
O IDE analisa o código, procurando conexões entre os símbolos, para
fornecer o preenchimento de código, navegação rápida, análise inteligente de erros,
formatação e refatoração.
Design ergonômico:
Juntas, a poderosa análise de código estático e o design ergonômico tornam
o desenvolvimento não apenas produtivo, mas também uma experiência agradável.
Ferramentas integradas:
Ferramentas de missão crítica, como o descanso-corredor, a ferramenta de
cobertura, o depurador completo e a integração de controle de versão, estão à mão - sem
complicação de plug-in incluída.
Ecossistema de plugins IntelliJ:
No caso de ser necessário de algo além do conjunto de ferramentas internas,
o ecossistema de plugins IntelliJ pode ajudar.

Figura 1. Ambiente de desenvolvimento

3. Código e Execução
A seguir é apresentado o código:

package main

import "fmt"

func desenhacubo(desenhaX, desenhaY, desenhaZ int) {


fmt.Printf("Cubo %d %d %d:\n", desenhaX, desenhaY, desenhaZ)
Linhacubo(desenhaY+1, desenhaX, 0, "+-")
for i := 1; i <= desenhaY; i++ {
Linhacubo(desenhaY-i+1, desenhaX, i-1, "/ |")
}
Linhacubo(0, desenhaX, desenhaY, "+-|")
for i := 4*desenhaZ - desenhaY - 2; i > 0; i-- {
Linhacubo(0, desenhaX, desenhaY, "| |")
}
Linhacubo(0, desenhaX, desenhaY, "| +")
for i := 1; i <= desenhaY; i++ {
Linhacubo(0, desenhaX, desenhaY-i, "| /")
}
Linhacubo(0, desenhaX, 0, "+-\n")
}

func Linhacubo(n, desenhaX, desenhaY int, Desenhacubo string) {


fmt.Printf("%*s", n+1, Desenhacubo[:1])
for d := 9*desenhaX - 1; d > 0; d-- {
fmt.Print(Desenhacubo[1:2])
}
fmt.Print(Desenhacubo[:1])
fmt.Printf("%*s\n", desenhaY+1, Desenhacubo[2:])
}
func main() {

x := []int{
0, 6, 6, 8,
5, 2, 3, 7,
3, 3, 2, 7,
1, 1, 9, 1,
}

end := len(x) - 1

for {

if end == 0 {
break
}

for i := 0; i < len(x)-1; i++ {

if x[i] > x[i+1] {


x[i], x[i+1] = x[i+1], x[i]
}

end -= 1

fmt.Println("Os números ordenads são:", x)


fmt.Println("Escolhendo os 3 maiores números do vetor ordenado,
geramos o seguinte cubo:")
//fmt.Println("Entre com as 3 dimensões do cubo : ")//
var l,b,h int
l = x[15];
b = x[14];
h = x[13];
/*fmt.Scanln(&l)
fmt.Scanln(&b)
fmt.Scanln(&h)*/
desenhacubo(l,b,h)

}
Saída:

4. Conclusão
Section titles must be in boldface, 13pt, flush left. There should be an extra 12 pt of
space before each title. Section numbering is optional. The first paragraph of each
section should not be indented, while the first lines of subsequent paragraphs should be
indented by 1.27 cm.

5. Referências
Boulic, R. and Renault, O. (1991) “3D Hierarchies for Animation”, In: New Trends in
Animation and Visualization, Edited by Nadia Magnenat-Thalmann and Daniel
Thalmann, John Wiley & Sons ltd., England.
Dyer, S., Martin, J. and Zulauf, J. (1995) “Motion Capture White Paper”,
http://reality.sgi.com/employees/jam_sb/mocap/MoCapWP_v2.0.html, December.
Holton, M. and Alexander, S. (1995) “Soft Cellular Modeling: A Technique for the
Simulation of Non-rigid Materials”, Computer Graphics: Developments in Virtual
Environments, R. A. Earnshaw and J. A. Vince, England, Academic Press Ltd., p.
449-460.
Knuth, D. E. (1984), The TeXbook, Addison Wesley, 15th edition.

You might also like