Laços 1
Exemplo 2- Escreva um
algoritmo e um programa em C que dado um Número qualquer, seja calculado e impresso a tabuada desse número.
Algoritmo tabuada
Variáveis: i,n, resp: inteiro. Início algoritmo
escreva (“Qual tabuada deseja imprimir”) Leia (n) i←1. Enquanto ( i 10) faça início resp ← n * i escreva ( resp ). i ← i + 1. fim Fim algoritmo
Laços 2 //Exemplo 2 - prog tabuada
#include <stdio.h> #include <stdlib.h> main() { // inicio programa int i, n, resp; i=1;
printf(“Qual tabuada vc deseja?”); scanf(“%d”,&n); While (i <= 10) { //inicio do while resp=n * i; printf(“%2d*2d=%2d\n”,n,i,resp); i=i+1; } //fim do while system(“pause”); }//fim programa Em linguagem C o algoritmo anterior torna-se
Laços 3 Exemplo 7: Faça um algoritmo e um programa em C que, dadas as notas individuais em três aspectos do ano escolar num curso (Lab, Exame_inter,
Exame_final) para um estudante com nº. de
matrícula Nmatric, calcule a média final com pesos 20%, 30% e 50%, respectivamente. O relatório de saída é uma linha impressa para cada estudante, fornecendo o número do aluno, suas notas
individuais, a média final e dizendo se ele foi aprovado ou reprovado. A entrada é controlada por contador. A variável n_estudantes indica o número
de estudantes a ser processado; a variável contador dá o número de registros já processados. Ambas são
variáveis inteiras. 37
9.1.2 Enla
Laços 4
Algoritmo Relatório
Variáveis Lab, Exame_inter, Exame_final : real Média : real
Nmatric, n_estudantes, contador : inteiro Início
1. [Entrar contador de dados, neste caso, número de estudantes]
Leia (n_estudantes)
2. [Inicializar contador de registros processados]
contador O continua...
9.1.2 Enla
Laços 5
3. [Iniciar repetição controlada por contador] ...continuação pg. anterior
Enquanto (contador < n_estudante) faça início enquanto
3.1 [Ler os registros dos alunos]
Leia (Nmatric, Lab, Exame_inter,Exame_final)
3.2 [Calcular média]
Media 0.2*Lab + 0.3*Exame_inter + 0.5*Exame_final
3.3 [Imprimir resultados]
Escreva (“Número de matrícula:”, Nmatric) Escreva (“Nota Laboratório”,Lab)
Escreva (“Exame Intermediário:”,Exame_inter) Escreva (“Exame Final:”, Exame_final)
Escreva (“Média Final:”, Media) continua....
9.1.2 Enla
Laços 6
Se Média ≥ 5.0
Então Escreva (´Aluno Aprovado`) Senão Escreva (´Aluno Reprovado`)
3.4. [atualizar o contador de registros realmente processados]
contador contador + 1 Fim enquanto 4. [Terminar] Saída Fim Algoritmo ...continuação pg. anterior 9.1.2 Enla
Laços 7
//Prog01_Lacos – Exemplo 7 //usando laços com contador
#include <stdlib.h> #include <stdio.h>
main() {
float Lab, Exame_inter,Exame_final; float Media;
int n_estudante,contador,Nmatric;
//1.Entrar contador de dados, neste caso, número de estudantes]
printf("digite o numero de alunos: "); scanf("%d",&n_estudante);
printf("\n\n" ); continua na próxima pag.
Código em C
9.1.2 Enla
Laços 8
//2.Inicializar contador ...continuação
contador = 0;
//3.Iniciar Laço controlado por contador
while (contador < n_estudante) { // início enquanto
// 3.1 Ler dados dos alunos
printf("digite o numero de matricula do aluno: "); scanf("%d/n",&Nmatric);
printf("digite as notas de Lab, Exame_inter e Exame_final do aluno %d\n",Nmatric);
scanf("%f%f%f",&Lab,&Exame_inter,&Exame_final);
//3.2 [Calcular média]
Media = 0.2*Lab+0.3*Exame_inter+0.5*Exame_final;
9.1.2 Enla
Laços 9
//3.3 Imprimir resultados . . . continuação
printf("\tNumero do estudante:%d\n",Nmatric); printf("\tNota Laboratorio:%5.2f\n",Lab);
printf("\tExame Intermediario:%5.2f\n",Exame_inter); printf("\tExame Final:%5.2f\n",Exame_final);
printf("\tMedia Final:%5.2f ",Media); if (Media <= 5.0)
printf(“\tAluno Reprovado\n”); else printf(“\tAluno Aprovado\n”);
//3.4. Atualizar o contador de registros realmente processados
contador= contador +1 ; } // Fim enquanto
system("pause"); }
9.1.2 Enla
Unesp – Campus de Guaratinguetá
10 – Laços
Curso de Programação Computadores Prof. Aníbal Tavares
Profa. Cassilda Ribeiro
Laços 11
Ex2: Fazer um algoritmo/programa que imprima os números ímpares entre 1 e m. Algoritmo imprime_int_ímpares Variáveis: i, m inteiro; Inicio algoritmo Leia(m); i←1; Enquanto ( i m) faça inicio Se (i % 2 = 1) então escreva ( i ); fim se i ← i + 1; fim Fim algoritmo
// Programa Números Ímpares.
main()
{ int m, i=1;
printf(“Entre com m:”); scanf(“%d”,&m); while (i <= m) { //Início while if (i % 2 == 1) //Ímpar? printf(“%d \n”, i); i=i+1; } //fim do while system(“pause”); }//fim programa 10.1.2 Enla
Laços 12
// Programa Números Ímpares.
main()
{ int m, i=1;
printf(“Entre com m:”); scanf(“%d”,&m); while (i <= m) { //Início while if (i % 2 == 1) //Ímpar? printf(“%d \n”, i); i=i+1; } //fim do while system(“pause”); }//fim programa
Execução para m=2 e i=1
Iter. P1 P2 P3 1 i<=2 (v) (v) “1” 2 i<=2 (v) (f) -3 i<=2 (f) - -P2 P1 P3 P4 P4 i=2 i=3 -Programa em C 1 Resultado na Tela
Laços 13 Ex3: Fazer um algoritmo/programa que imprima de 1 até
m apenas os números ímpares (outra versão !).
Algoritmo imprime_int_ímpares Variáveis: i, m inteiro; Inicio algoritmo Leia(m); i←1; Enquanto ( i m) faça inicio escreva ( i ); i ← i + 2; fim Fim algoritmo
// Programa Números Ímpares.
main() { int m, i=1; printf(“Entre com m:”); scanf(“%d”,&m); while (i <= m) { //Início while printf(“%d \n”, i); i=i+2; // Incremento ! } //fim do while system(“pause”); }//fim programa Só percorre ímpares!
Laços 14
// Programa Números Ímpares.
main()
{ int m, i=1;
printf(“Entre com m:”); scanf(“%d”,&m); while (i <= m) { //Início while printf(“%d \n”, i); i=i+2; // Incremento !!!! } //fim do while system(“pause”); }//fim programa P2 P1 P3
Programa em C Execução para m=5 e i=1
Iter. P1 P2 1 i<=7 (v) “1” 2 i<=7 (v) “3” 3 i<=7 (v) “5” P3 i=3 i=5 i=7 1 3 5 Resultado na Tela 4 i<=7 (f) -
Laços 15 Ex4: Fazer um algoritmo/programa que imprima apenas
os m primeiros números pares.
Algoritmo imprime_int_pares Variáveis: i,k,m inteiro.
Inicio algoritmo Leia(m); i←1; k=1; Enquanto ( k m) faça Se (i % 2 = 0) então escreva ( i ); k ← k + 1; fim se i ← i + 1; fim enquanto Fim algoritmo
// Programa Números Pares.
main()
{ int m, k, i; i = 1; k = 1;
printf(“Entre com m:”); scanf(“%d”,&m); while (k <= m) { //Início while if (i % 2 == 0) //Par? { printf(“%d \n”, i); k = k + 1; } i=i+1; } //fim do while system(“pause"); }//fim programa
Laços 16 Execução: m=2, i=1 e k=0 Iter. P1 P2 P3 1 k<2 (v) (f) -2 k<2 (v) (v) “2” 3 k<2 (v) (f) -P2 P1 P3 P4 P4 -k=1 -Programa em C 2 4 Resultado na Tela
// Programa Números Pares.
main()
{ int m, k, i; i = 1; k = 1;
printf(“Entre com m:”); scanf(“%d”,&m); while (k < =m) { //Início while if (i % 2 == 0) //Par? { printf(“%d \n”, i); k = k + 1; } i=i+1; } //fim do while }//fim programa P5 P5 i=2 i=3 i=4 4 k<2 (v) (v) “4” k=2 i=5 5 k<2 (f) - - -
Laços 17 Ex 5: Dado um valor m, calcular o produto de 1 até m.
Idéia:
i 1 2 m
prod
Observação: A variável i serve para percorrer as variáveis de 1 até m. Cada vez que um valor é
apresentado, ele será multiplicado pelo conteúdo de prod. Portanto, pode-se dizer que i é variável
contadora ao passo que prod é variável acumuladora. Iteração i prod 0 1 1 1 1 1 2 2 2 3 3 6
Laços 18 Ex 5: Dado um valor m, calcular produto de 1 até m.
Algoritmo CalculaProd Variáveis: i, prod: inteiro; Inicio algoritmo
i←1;
prod←1;
Escreva (“digite o valor de m”); Leia(m);
Enquanto ( i < m) faça i ← i + 1;
prod ← prod * i; fim enquanto
Escreva(“produto=“, prod); Fim algoritmo
#include <stdio.h> main()
{ // inicio programa
int i=1, prod=1;
printf(“Valor de m:”); scanf(“%d”,&m); while (i < m) { //inicio do while i=i+1; prod = prod*i; } //fim do while
printf(“Produto=%d”,prod); system(“pause”);
}//fim programa
Programa em C
Laços 19 Observe que o tanto o Ex 5, como o exemplo 5 estão calculando o
fatorial de m. Só que um está calculando de trás para frente e o outro de frente para traz.
#include <stdio.h>
main()
{ // inicio programa
int i=1, prod=1;
printf(“Valor de m:”); scanf(“%d”,&m); while (i < m) { //inicio while i=i+1; prod = prod*i; } //fim while
printf(“Produto=%d”,prod); system(“pause”); }//fim programa Programa Ex 5 #include<stdlib.h> #include<stdio.h> main()
{int N, Produto, Multiplicador;
printf("Digite o numero para se calcular o fatorial\n"); scanf("%d",&N); //Inicializar variáveis Produto= 1; Multiplicador=N; while (Multiplicador >= 1) { // inicio while Produto=Produto * Multiplicador; Multiplicador = Multiplicador-1; } //fim while
printf("Fatorial de %d = %d\n",N,Produto); system("pause");
}//fim programa
Programa Exemplo 5
Laços 20
b)
b) Entrada controlada por sentinelaEntrada controlada por sentinela
Este método é muito utilizado quando não se sabe a priori quantas vezes o laço vai ser executado.
Utiliza-se então, um dado extra no fim do conjunto de dados, de modo que, quando este dado é lido,sabe-se que todos os outros já foram lidos.
Exemplo 8: Refazer o exemplo 7 - página 37, considerando que no final dos dados a respeito dos alunos foi inserido um dado extra com o número do aluno igual 0. Quando for lido o número 0 para um aluno, o programa deve parar de calcular as médias.
Laços 21
Algoritmo Relatório2
Variáveis Lab, Exame_inter, Exame_final, Media : real Nmatric, n_estudantes : inteiro
1. [Ler os dados do primeiro aluno]
Leia (Nmatric, Lab, Exame_inter,Exame_final)
2. [Iniciar repetição controlada por sentinela]
Enquanto (Nmatric ≠ 0) faça Inicio
2.1 [Calcular a média]
Média 0.2*Lab +0.3*Exame_inter + 0.5*Exame_final
Observe aqui, que o primeiro dado deve ser lido antes do laço, para que o teste
condicional possa ser executado.
Laços 22
2.2 [Imprimir resultados]
Escreva (´Numero estudante:`, Nmatric) Escreva (´Nota Laboratório:`, Lab)
Escreva (´Exame Intermediário:`, Exame_inter) Escreva (´Exame Final:`, Exame_final)
Escreva (´Média Final:`, Média) Se Média ≥ 5.0
Então Escreva (´Aluno Aprovado`)
Senão Escreva (´Aluno Reprovado`)
2.3 [Ler dados do próximo aluno]
Leia (Nmatric, Lab, Exame_inter, Exame_final) Fim enquanto
3. [Terminar]
Fim algoritmo
Observe aqui, que o próximo dado deve ser lido antes de terminar o laço, para que o teste
condicional possa ser executado com o novo dado.
Laços 23
//Usando Laços com sentinela
#include <stdlib.h> #include <stdio.h> main()
{
float Lab, Exame_inter,Exame_final; float Media;
int Nmatric;
// 1.Entrar com dados do primeiro aluno
printf("digite o numero do 1o. aluno: "); scanf("%d",&Nmatric);
Código em C
Laços 24
// 3 - Iniciar repetição controlada por sentinela
while (Nmatric != 0)
{ // inicio enquanto
// 3.1 - Inserir notas do aluno
printf(“Digite as notas de Lab, Exame_inicial e ExameF do %d\n",Nmatric);
scanf("%f%f%f",&Lab,&Exame_inter,&Exame_final);
// 3.2 - Calcular média
Media = 0.2 *Lab + 0.3 *Exame_inter + 0.5*Exame_final;
// 3.3 - Imprimir resultados
printf("\tNumero do estudante: %d\n",Nmatric); printf( "\tNota Laboratorio:%5.2f\n",Lab);
Laços 25 printf("\tExame Intermediario:%5.2f\n",Exame_inter);
printf("\tExame Final:%5.2f\n",Exame_final); printf("\tMedia Final:%5.2f\n”,Media);
if (Media >= 5.0)
printf(“\tAluno Aprovado\n”); else printf(“\tAluno Reprovado\n”);
// 3.4 [Ler numero de matricula do proximo aluno
printf("digite o numero do aluno, ou zero (0) para parar "); scanf("%d",&Nmatric);
} // Fim enquanto
printf("Fim do Programa.\n\n"); system("pause");
}
Laços 26 Linguagem Algorítmica Faça comandos enquanto <condição> 10.1.3
10.1.3 Laços com teste no final 10.1.3 Laços com teste no final
Existe um outro tipo de laço condicional onde a
condição é avaliada no final do corpo do laço. Funcionamento deste laço
1. Os comandos, são executados.
2. A condição é avaliada
3. Se o resultado for verdadeiro, volta-se ao ponto 1.
4. Se o resultado for falso,
termina-se o laço e o programa continua na instrução seguinte ao laço.
Laços 27
Sintaxe
em linguagem C do { comandos; } while (condição) F V condição comandos FluxogramaObs: O corpo do laço do_while é executado pelo menos uma vez, enquanto que o laço com teste no início, pode nunca ser executado.
10.1.3
Laços 28
Exemplo 9: Fazer um programa em C para calcular h(n)=1+1/2+1/3+...+1/n, usando o comando do_while
#include <stdlib.h> #include <stdio.h> main() { int n; float h;
printf ("Entre com o valor de n\n"); scanf("%d",&n); printf("Para n = %d,",n); h = 0; do { h = h + 1/float(n); n = n-1; } while (n > 0);
printf(" o valor de h eh:%f\n\n",h);
system("PAUSE"); }
10.1.3
Laços 29 Para algumas aplicações, o controle condicional de
laços, imposto pela construção “enquanto - faça” é
desnecessariamente complicada, pois pode-se desejar um laço um número fixo de vezes, e este número é
conhecido.
Para este tipo de aplicação existe uma construção
repetitiva que tem a seguinte forma:
Exemplo 10: Para ID ← 1, 2, .., 10 faça
valor ← valor + 2
10.2
10.2 Laços Contados
10.2
Laços 30
Exemplo 11: Para J ← 1, 2, .., 30 faça
val ← val * 3
Neste exemplo a variável de controle do laço é ID. A variável ID começa valendo 1.
No corpo do laço a variável valor é incrementada de 2.
Em seguida, ID é automaticamente incrementada de 1, e a
instrução do corpo do laço é executada novamente.
Isto se repete 10 vezes, isto é até o valor de ID=10
10.2
10.2 Laços Contados
Neste exemplo a variável de controle do laço é J. E ela começa
valendo 1.
No corpo do laço a variável val é multiplicada por 3.
Em seguida, J é automaticamente incrementada de 1, e a instrução
do corpo do laço é executada novamente.
Laços 31
Exemplo 12: Para val ← 1, 2, .., N faça
Exemplo 13: Para Index ← 10, 9,..,1 faça
Neste exemplo a variável de controle do laço é val. A variável val começa valendo 1 e é automaticamente
incrementada de 1 a cada vez, até o valor de N. Então este laço se repete N vezes
Neste exemplo a variável de controle do laço é Index.
A variável Index começa valendo 10 e é decrementada de 1 a
cada volta do laço, até que o valor de Index seja 1. Este laço se repete 10 vezes.
10.2
Laços 32
Em cada um dos seguintes segmentos, dê o valor que será impresso para a variável Var. assumir que todas as variáveis são inteiras.
Var = 10
a) Var 0 Para Index = 1, 2, .., 10 Var Var + 1; Escreva ( Var ) b) Var 0 Para Index = 4, 8, .., 36 Var Var + 1; Escreva ( Var ) Var = 9 10.2 10.2 Laços ContadosLaços 33 c) Var 0 Para Index = 10, 9,.., 1 Var Var + 1 Index Index + 1 Escreva ( Var )
Var = infinito, pois o laço não fecha porque o valor da variável Index está sendo alterado dentro do laço
d) Var 0 Para Index = 1, 2,..,15 Para Index2 = 1, 2,.., 8 Var Var + 1 Escreva ( Var )
Var = 120
10.2 10.2 Laços ContadosLaços 34 Linguagem Algorítmica
Para <i; cond; i++> Faça comandos;
Na linguagem C o laço contado é feito pelo comando for.
Em C o comando for é um tipo de laço condicional onde a inicialização do valor da variável contadora, a avaliação
da condição e a atualização do valor da variável contadora estão em um mesmo campo.
Funcionamento deste laço
1. Variável contadora é inicializada. 2. A condição é avaliada:
3. Se o resultado for verdadeiro, realiza-se os comandos.
4. Se o resultado for falso, termina-se o laço e continua-se na instrução seguinte ao laço.
5. Atualiza-se variável contadora e retorna-se para o passo 2.
10.2.1
Laços 35
Sintaxe
em linguagem C for(i=1;i<=n;i++) { comandos; } F V i ≤ n comandos FluxogramaObs: O funcionamento do laço for é semelhante ao do laço while. Note que existem 3 campos separados por “ ; ”. No 1º é realizada a inicialização das variáveis, no 2º é realizada a verificação da
condição lógica e no 3º a atualização dos valores das variáveis.
i=1;
i i+1;
10.2.1
Laços 36 Programa para imprimir os 5 primeiros números
Programa com while #include <stdio.h> main() { int i = 1; while (i <= 5) { printf(“%d \n”,i); i = i + 1; } } P2 P3 P1
Programa com for #include <stdio.h> main() { int i; for (i=1;i<=5;i=i+1) { printf(“ %d \n”,i); } } P2 P3 P1 P4 P4 10.2.1
Laços 37 Execução Programa Iteração P2 P3 P4 1 i<=5 (v) “1” i=2 2 i<=5 (v) “2” i=3 3 i<=5 (v) “3” i=4 4 i<=5 (v) “4” i=5 5 i<=5 (v) “5” i=6 6 i<=5 (f) - -Programa para imprimir os 5 primeiros números
Programa com for #include <stdio.h> main() { int i; for (i=1;i<=5;i=i+1) { printf(“ %d \n”,i); } } P2 P3 P1 P4 10.2.1
Laços 38 Digite um numero: 4 1 4 2 3 3 2 4 1
Ex - 6: Escreva um programa que lê um número e
escreve a seqüência crescente e decrescente entre 1 e esse número conforme o seguinte exemplo:
10.2.1
Laços 39 Programa Ex-6 #include <stdio.h> #include <stlib.h> main() { int i, j;
printf(“Entre com n:”); scanf(“%d”,&n);
for ( i=1, j=n ; i<=n; i++, j-- ) { printf(“ %d %d \n”, i, j); } system(“pause”) } Inicialização em conjunto de i e j. Uso de “,” ! Atualização conjunta de i e j. Uso de “,” ! 10.2.1
10.2.1 Laços Contados: O comando for
Laços 40 Iter. P2 P3 P4 1 i<=5 (v) “1 5” i=2 2 i<=5 (v) “2 4” i=3 3 i<=5 (v) “3 3” i=4 4 i<=5 (v) “4 2” i=5 5 i<=5 (v) “5 1” i=6 6 i<=5 (f) - -Programa que imprime números crescente e decrescente
P2 P3 P4 Execução Programa P1 n = 5, i = 1, j = n P1 10.2.1
10.2.1 Laços Contados: O comando for
Programa Ex-6 #include <stdio.h> #include <stlib.h> main() { int i, j;
printf(“Entre com n:”); scanf(“%d”,&n);
for ( i=1, j=n ; i<=n; i++, j-- ) {
printf(“ %d %d \n”, i, j);
}
system(“pause”)
Laços Não Válido 41
10.3
La
La
ç
ç
os Encaixados
os Encaixados
Assim como temos uma construção “Se_Então_Senão” dentro da outra, podemos ter um laço dentro do outro. O laço mais interno deve estar completamente embutido
dentro do laço externo. Não pode haver sobreposição
Exemplos de laços embutidos válidos e não válidos.
Válidos Válidos
10.3 Enla
Laços 42
Como exemplo de laços encaixados , vamos modificar o Ex2, pág 22 e 23 que calcula a tabuada de um número lido n, para
um programa que dado um numero m qualquer, calcule e
imprima todas as tabuadas de 1 até esse número m.
Para tanto será embutido o laço que calcula a tabuada, num segundo laço que irá determinar qual a tabuada será
calculada. A idéia é a seguinte:
10.3 Enla
10.3 Enlaççamento amento –– LaLaçços Encaixadosos Encaixados
j = 1, 2, ..., m i = 1, 2, ..., 10
tab = i*j
Laço que determina, qual tabuada j será calculada,
para as m tabuadas à serem calculadas.
Laço que calcula cada uma das
Laços 43
j=1
i=1 i=2 i=3 ... i=10 1*1 1*2 1*3 ... 1*10
j=2
i=1 i=2 i=3 ... i=10 2*1 2*2 2*3 ... 2*10
j=m
i=1 i=2 i=3 ... i=10 m*1 m*2 m*3 ... m*10
Deste modo, quando j=1, no
laço externo, o laço interno irá calcular a tabuada do 1.
Quando j=2, no laço externo, o laço interno irá calcular a tabuada do 2.
Quando j=m, no laço externo, o laço interno irá calcular a tabuada do 1.
10.3 Enla
Laços 44
Algoritmo tabuada2
Variáveis: i,n, resp: inteiro.
Inicio algoritmo Leia (n); j←1; Enquanto (j <= n) início i←1; Enquanto ( i <= 10) faça início resp ← j * i; escreva ( resp ); i ← i + 1; fim j ← j + 1; fim Fim algoritmo
Para cada valor de j, são
executados 10 vezes o laço com a variável i.
j=1
i=1 i=2 i=3 ... i=10 1*1 1*2 1*3 ... 1*10
j=m
10.3 Enla
10.3 Enlaççamento amento –– LaLaçços Encaixadosos Encaixados
j=2
i=1 i=2 i=3 ... i=10 2*1 2*2 2*3 ... 2*10
Laços 45
main() // incluir <stdio.h> e stdlib.h ! { int i, j, n, resp; i = 1; j = 1;
printf("Ateh qual tabuada deseja?") scanf("%d",&n);
while (j <= n)
{ // início do 1o. while
printf("\t\ntabuada do %d\n", j); i = 1;
while ( i <= 10)
{ // início 2o. while
resp = j * i;
printf("%d*%d=%d\n",j,i,resp); i = i + 1;
} // fim 2o. while j = j + 1;
} //fim 1o. while } // fim programa
main() // incluir <stdio.h> e stdlib.h ! { int i, j, n, resp;
printf("Ate qual tabuada deseja?") scanf("%d",&n);
for (j=1;j <= n;j++)
{ // início do 1o. for
printf("\t\ntabuada do %d\n", j);
for (i=1; i <= 10; i++) { // início 2o. for
resp = j * i;
printf("%d*%d=%d\n",j,i,resp); } // fim 2o. for
} //fim 1o. for } // fim programa
Programa Tabuada2 - for Programa Tabuada2 - while
10.3 Enla
Laços 46
Unesp-Campus de Guaratinguetá
FIM
Aula 10
Referências dos slides
Curso de Programação de Computadores Prof. Aníbal Tavares
Profa. Cassilda Ribeiro Prof. Décio Mourão
Prof. Galeno Sena 10 – Laços