Você está na página 1de 3

programa

funcao escreve_quadrado (inteiro n) {


para (inteiro i = 0; i < n; i++) {
escreva("*")
}

para (inteiro i = 0; i < n - 2; i++) {


escreva("*")
para (inteiro j = 0; j < n; j++) {
escreva(" ")
}
escreva("*")
}

para (inteiro i = 0; i < n; i++) {


escreva("*")
}
}

funcao inteiro get_n_asterisco (inteiro n) {


se (n == 0) {
retorne 1
} senao {
retorne 2
}
}

funcao inteiro get_n_espaco (inteiro i) {


inteiro n_espaco
se (i == 0 ou i == 1) {
n_espaco = i
} senao {
n_espaco = 2 * i - 1
}
retorne n_espaco
}

funcao escreva_caracteres (cadeia c, inteiro n) {


para (inteiro i = 0; i < n; i++) {
escreva(c)
}
}

funcao escreve_triangulo_cima (inteiro n) {


inteiro i, j, n_asterisco, n_espaco, n_espaco_antes

/*
para (i = 0; i < n; i++) {
n_asterisco = get_n_asterisco(i)

n_espaco = get_n_espaco(i)

n_espaco_antes = (2 * (n - i) - 1) / 2

escreva_caracteres (" ", n_espaco_antes)


escreva("*")
se (i < n -1) {
escreva_caracteres(" ", n_espaco)
} senao {
escreva_caracteres (" *", n_espaco / 2)
escreva(" ")
}

se (n_asterisco == 2) {
escreva ("*")
}
escreva("\n")
}

para (i = n - 1; i >= 0; i--) {


n_asterisco = get_n_asterisco(i)

n_espaco = get_n_espaco(i)

n_espaco_antes = (2 * (n - i) - 1) / 2

escreva_caracteres (" ", n_espaco_antes)

escreva("*")
se (i < n -1) {
escreva_caracteres(" ", n_espaco)
} senao {
escreva_caracteres (" *", n_espaco / 2)
escreva(" ")
}

se (n_asterisco == 2) {
escreva ("*")
}
escreva("\n")
}
*/

se (n == 1) {
escreva("*")
} senao {
n_espaco_antes = (2 * n - 1) / 2
escreva_caracteres (" ", n_espaco_antes)
escreva("*\n")
para (i = 1; i < n - 1; i++) {
n_espaco_antes = (2 * (n - i) - 1) / 2
n_espaco = get_n_espaco(i)
escreva_caracteres (" ", n_espaco_antes)
escreva("*")
escreva_caracteres (" ", n_espaco)
escreva("*\n")
}
escreva_caracteres ("* ", n / 2 + 1)
escreva("*")
}
}

funcao inicio ()
{
escreve_triangulo_cima(3)
//escreve_quadrado(2)

}
}

Você também pode gostar