18.04.2013 Views

Fundamentos de Programação 1 - Alcides Maya Tecnologia

Fundamentos de Programação 1 - Alcides Maya Tecnologia

Fundamentos de Programação 1 - Alcides Maya Tecnologia

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Fundamentos</strong> <strong>de</strong> <strong>Programação</strong><br />

Leitura <strong>de</strong> dados <strong>de</strong> uma matriz<br />

A leitura <strong>de</strong> uma matriz <strong>de</strong> duas dimensões, assim como das matrizes <strong>de</strong> uma dimensão é processado passo<br />

a passo, um elemento por vez. A instrução <strong>de</strong> leitura é leia seguida da variável mais os seus índices. A seguir,<br />

são apresentados o fluxograma e a codificação em português estruturado da leitura das notas dos alunos, cálculo<br />

da média e a sua apresentação.<br />

Observe que está sendo consi<strong>de</strong>rada a leitura <strong>de</strong> 4 notas <strong>de</strong> 8 alunos. Assim sendo, a tabela em questão<br />

armazena 32 elementos. Um <strong>de</strong>talhe a ser consi<strong>de</strong>rado é a utilização <strong>de</strong> duas variáveis para controlar os dois<br />

índices <strong>de</strong> posicionamento <strong>de</strong> dados na tabela. Anteriormente, utilizamos a variável índice para controlar as<br />

posições dos elementos <strong>de</strong>ntro da matriz, ou seja, a posição em nível <strong>de</strong> linha. Neste exemplo a variável índice<br />

passa a ser tratada como lin, controlando a posição da linha, e a segunda variável será tratada como col,<br />

controlando a posição da coluna. Muitos programadores utilizam i no lugar <strong>de</strong> lin e utilizam j no lugar <strong>de</strong> col.<br />

Analisando o fluxograma, temos a inicialização das variáveis lin e col como 1, ou seja, a leitura será efetuada<br />

na primeira linha da primeira coluna. Em seguida é iniciado em primeiro lugar o looping da variável lin para<br />

controlar a posição em relação às linhas e <strong>de</strong>pois é iniciado o looping da variável col para controlar a posição em<br />

relação às colunas.<br />

Veja que, ao serem iniciados os valores para o preenchimento da tabela, eles são colocados na posição<br />

nota[1,1], lembrando que o primeiro valor <strong>de</strong>ntro dos colchetes representa a linha e o segundo representa a<br />

coluna.<br />

Será digitado então, para o primeiro aluno a primeira nota. Depois é incrementado mais 1 em relação à<br />

coluna, sendo colocada para a entrada a posição nota[1,2], linha 1 coluna 2. Desta forma, será digitado para o<br />

primeiro aluno a segunda nota.<br />

Quando o contador <strong>de</strong> coluna atingir o valor 4, ele será encerrado e será efetuado o cálculo e a apresentação<br />

da média. Em seguida o contador da variável lin será incrementado com mais 1, tornando-se 2. Será então<br />

inicializado novamente o contador col em 1, permitindo que seja digitado um novo dado na posição nota[2,1].<br />

O mecanismo <strong>de</strong> preenchimento esten<strong>de</strong>r-se-á até que o contador <strong>de</strong> linhas atinja o seu último valor, no<br />

caso 8. Esse looping é o principal, tendo a função <strong>de</strong> controlar o posicionamento na tabela por aluno. O segundo<br />

looping, mais interno, controla o posicionamento das notas.<br />

Codificação em Linguagem C<br />

main( )<br />

{<br />

float nota[8][4];<br />

float soma, media, valor;<br />

int lin, col;<br />

clrscr( );<br />

for( lin = 0; lin < 8; lin++ )<br />

{<br />

soma = 0;<br />

for( col = 0; col < 4; col++ )<br />

{<br />

printf ( “digite a nota %d do aluno %d : “, col+1, lin+1 );<br />

scanf ( “%f”, &valor );<br />

nota[lin][col] = valor;<br />

soma = soma + nota[lin][col];<br />

}<br />

61

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!