• Nenhum resultado encontrado

esCrIta dos dados de uma matrIz

No documento Fundamentos de Programação (páginas 55-59)

O processo de escrita de uma matriz é bastante parecido com o processo de leitura de seus elementos. Para esta ocorrência deverá ser utilizada a instrução escreva seguida da indicação da variável e seu índice.

Supondo que após a leitura das 6 notas, houvesse a necessidade de apresenta-las antes da apresentação do valor da média. Abaixo são apresentados o fluxograma e a codificação em português estruturado da escrita das 6 notas antes de ser apresentado o cálculo da média.

Codificação em Linguagem C

main( ) { float nota[6]; float soma; float media; int indice; clrscr( ); soma = 0;

for( indice = 0; indice < 6; indice++ ) {

printf ( “digite a nota %d do aluno: “, indice+1 ); scanf ( “%f”, &nota[indice] );

soma = soma + nota[indice]; }

media = soma / 6;

for( indice = 0; indice < 6; indice++ )

printf ( “a nota %d do aluno e: %4.1f \n”, indice+1, nota[índice] ); printf ( “a media do aluno e: %4.1f”, media );

getch( ); }

exemplos de aula

Para demonstrar a utilização de uma matriz em um exemplo um pouco maior, considere como problemas os exemplos apresentados em seguida:

Primeiro exemplo

Desenvolver um programa que efetue a leitura de dez elementos de uma matriz A tipo vetor. Construir uma matriz B de mesmo tipo, observando a seguinte lei de formação: se o valor do índice for par, o valor deverá ser multiplicado por 5, sendo ímpar, deverá ser somado com 5. Ao final mostrar o conteúdo da matriz A e B

algoritmo

Este exemplo de resolução estará mostrando como fazer o tratamento da condição do índice. 1 – Iniciar o contador de índice, variável índice como 1 em um contador até 10;

2 – Ler os 10 valores, um a um;

3 – Verificar se o índice é par se sim multiplica por 5, se não soma 5. Criar a matriz B; 4 – Apresentar o conteúdo das duas matrizes.

Deverá ser verificado se o valor do índice em um determinado momento é par (ele será par quando dividido por 2 obtiver resto igual a zero). Sendo a condição verdadeira, será atribuído na matriz B[índice] a multiplicação do elemento da matriz A[índice] por 5. Caso o valor do índice seja ímpar, será atribuído na matriz B[índice] a soma do elemento da matriz A[índice] por 5.

Codificação em Linguagem C

main( ) { int matriza[10]; int matrizB[10]; int indice; int resp; clrscr( );

for( indice = 0; indice < 10; indice++ ) {

printf ( “digite um valor numerico inteiro: “ ); scanf ( “%d”, &matriza[indice] );

}

for( indice = 0; indice < 10; indice++ ) { resp = indice %; if ( resp == 0 ) matrizB[indice] = matriza[indice] * 5; else matrizB[indice] = matriza[indice] + 5; }

for( indice = 0; indice < 10; indice++ )

printf ( “\nConteudo da matriz a indice %d = %d”, indice, matriza[indice] ); for( indice = 0; indice < 10; indice++ )

segundo exemplo

Desenvolver um programa que efetue a leitura de dez elementos de uma matriz A do tipo vetor. No final, apresente o total da soma de todos os elementos que sejam ímpares.

algoritmo

Perceba que em relação ao primeiro exemplo, este apresenta uma diferença: o primeiro pedia para verificar se o índice era par ou ímpar. Neste exemplo, está sendo solicitado que analise a condição do elemento e não do índice. Já foi alertado anteriormente para se tomar cuidado para não confundir elemento com índice. Vamos a solução:

1 – Iniciar o contador de índice, variável índice como 1 em um contador até 10; 2 – Ler os 10 valores, um a um;

3 – Verificar se o elemento é ímpar; se sim efetuar a soma dos elementos; 4 – Apresentar o total somado de todos os elementos ímpares da matriz.

Observe que quando se faz menção ao índice indica-se a variável que controla o contador de índice, e no caso do exemplo anterior, a variável índice. Quando se faz menção ao elemento, indica-se matrizA[índice] pois desta forma está se pegando o valor armazenado e não a sua posição de endereço.

Codificação em Linguagem C

main( ) { int matriza[10]; int indice; int resp; int soma; clrscr( ); soma = 0;

for( indice = 0; indice < 10; indice++ ) {

printf ( “digite um valor numerico inteiro: “ ); scanf ( “%d”, &matriza[indice] );

}

for( indice = 0; indice < 10; indice++ ) {

resp = matriza[indice] % 2; if ( resp == 1 )

soma = soma + matriza[indice]; }

printf ( “\na soma dos elementos ímpares é: %d” , soma ); getch( );

exercícios de Fixação

1 – Desenvolva os algoritmos, seus respectivos fluxogramas e proceda a codificação em português estruturado os seguintes programas:

2. Faça um programa para ler 10 elementos de uma matriz tipo vetor e apresenta-los

3. Faça um programa para ler 8 elementos em uma matriz A tipo vetor. Construir uma matriz B de mesma dimensão com os elementos da matriz A multiplicados por 3. O elemento B[1] deverá ser atribuído pelo elemento A[1] * 3, o elemento B[2] atribuído pelo elemento A[2] * 3 e assim por diante, até 8. Apresentar a matriz B.

4. Faça um programa para ler duas matrizes A e B com 20 elementos. Construir uma matriz C, onde cada elemento de C é a soma do elemento correspondente de A com B. Apresentar a matriz C.

5. Faça um programa que leia 15 elementos de uma matriz A do tipo vetor. Construir uma matriz B de mesmo tipo, observando a seguinte lei de formação: “Todo elemento de B deverá ser o quadrado do elemento de A correspondente”. Apresentar as matrizes A e B.

6. Faça um programa para ler uma matriz A do tipo vetor com 15 elementos. Construir uma matriz B de mesmo tipo, sendo que cada elemento da matriz B seja o fatorial do elemento correspondente da matriz A . Apresentar as matrizes A e B.

7. Faça um programa para ler duas matrizes A e B com 15 elementos cada. Construir uma matriz C, sendo esta a junção das duas outras matrizes. Desta forma C deverá ter o dobro de elementos, ou seja 30. Apresentar a matriz C.

8. Faça um programa para ler duas matrizes do tipo vetor, sendo A com 20 elementos e B com 30 elementos. Construir uma matriz C, sendo esta a junção das duas outras matrizes. Desta forma C deverá ter a capacidade de armazenar 50 elementos. Apresentar a matriz C.

9. Faça um programa para ler 20 elementos de uma matriz A tipo vetor e construir uma matriz B de mesma dimensão com os mesmos elementos da matriz A, sendo que deverão estar invertidos. Ou seja, o primeiro elemento de A passa a ser o último de B, o segundo elemento de A passa a ser o penúltimo de B e assim por diante. Apresentar as matrizes A e B.

10. Faça um programa para ler três matrizes (A, B e C) de uma dimensão com 5 elementos cada. Construir uma matriz D, sendo esta a junção das três outras matrizes. Desta forma D deverá ter o triplo de elementos, ou seja 15. Apresentar os elementos da matriz D.

11. Faça um programa para ler uma matriz A do tipo vetor com 20 elementos. Construir uma matriz B do mesmo tipo da matriz A, sendo que cada elemento de B seja o somatório do elemento correspondente da matriz A . Se o valor do elemento de A[1] for 5, B[1] deverá ser 10, se o valor do elemento de A[2] for 7, B[2] deverá ser 14 e assim por diante.

12. Faça um programa para ler uma matriz A do tipo vetor com 10 elementos. Construir uma matriz B do mesmo tipo da matriz A, sendo que cada elemento de B deverá ser o valor negativo do elemento correspondente da matriz A . Desta forma, se o valor do elemento de A[1] for 8, B[1] deverá ser -8, se o valor do elemento de A[2] for 3, B[2] deverá ser -3 e assim por diante.

13. Faça um programa para ler uma matriz A tipo vetor com 10 elementos. Construir uma matriz B de mesmo tipo, sendo que cada elemento de B deverá ser a metade de cada elemento de A . Apresentar os elementos das matrizes A e B.

14. Faça um programa que efetue o cálculo de uma tabuada de um número qualquer e armazene os resultados em uma matriz A de uma dimensão para 10 elementos. Apresentar os valores armazenados na matriz.

15. Ler 20 elementos (valores reais) para temperaturas em graus Celsius em uma matriz A de uma dimensão do tipo vetor. O programa deverá apresentar a menor, a maior e a média das temperaturas lidas.

16. Ler 25 elementos (valores reais) para temperaturas em graus Celsius em uma matriz A de uma dimensão do tipo vetor. Construir uma matriz B de mesmo tipo e dimensão, em que cada elemento da matriz B deverá ser a conversão da temperatura em graus Fahrenheit do elemento correspondente da matriz A . Apresentar os elementos das matrizes A e B.

17. Ler 12 elementos inteiros para uma matriz A de uma dimensão do tipo vetor. Construir uma matriz B de mesmo tipo e dimensão, observando a seguinte lei de formação: “Todo elemento da matriz A que for ímpar deverá ser multiplicado por 2 e armazenado na matriz B; caso contrário, o elemento da matriz A deverá ser armazenado na matriz B sem nenhum cálculo”. Apresentar os elementos das matrizes A e B.

18. Ler 15 elementos reais para uma matriz A de uma dimensão do tipo vetor. Construir uma matriz B de mesmo tipo e dimensão, observando a seguinte lei de formação: “Todo elemento da matriz A que possuir índice par deverá ter seu elemento dividido por 2; caso contrário, o elemento da matriz A deverá ser multiplicado por

19. Faça um programa que leia uma matriz numérica de 10 elementos. No final apresentar quantos números são positivos e quantos são negativos

20. Faça um programa que leia uma matriz numérica de 10 elementos. No final encontrar nesta matriz o maior valor lido, apresentando a sua posição na matriz e o seu valor.

21. Faça um programa que leia uma matriz numérica de 10 elementos. No final encontrar nesta matriz o menor valor lido, apresentando a sua posição na matriz e o seu valor.

22. Faça um programa que leia uma matriz numérica de 10 elementos. No final encontrar nesta matriz o maior valor lido e o menor valor lido

23. Faça um programa que leia uma matriz numérica chamada notas de 10 elementos. Ler valores para o vetor e, após ter lido, determinar a media dos valores contidos no vetor

24. Em uma Escola Técnica de Informática, há um professor que faz 6 provas. Faça um programa que leia as notas destas provas para um vetor notas. No final calcular e apresentar a média do aluno e o resultado obtido conforme a tabela a seguir:

[00,05) - Reprovado [05,07) - Recuperação [07,09) - Satisfatório [09,10] - Ótimo

No documento Fundamentos de Programação (páginas 55-59)

Documentos relacionados