Upload
vukhuong
View
235
Download
1
Embed Size (px)
Citation preview
13/08/2014
1
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO
PROF. FABIANO TAGUCHIhttp://fabianotaguchi.wordpress.com
AULA 08
MATRIZES
EXERCÍCIOS
13/08/2014
2
Uma matriz é uma estrutura de dadosmultidimensional, que necessitam de pelo menosdois índices para acesso, diferentemente dosvetores.
A declaração é feita da seguinte forma:
tipo nomedamatriz[indiceX][indiceY};
MATRIZES
MATRIZES
13/08/2014
3
MATRIZES
SEG TER QUA QUI SEX SAB
1ª MAT. PORT. MAT. HIST. FIS. FIS.
2ª MAT. PORT. MAT. HIST. FIS. FIS.
3ª PORT. INGL. GEO. GEO. HIST.
4ª PORT. INGL. GEO. GEO. HIST.
Você precisa realizar uma pesquisa de campo, eprecisa tabular os seguintes dados de cadapessoa:
• Sexo;• Idade;• Altura;• Peso.
SEGUNDA SITUAÇÃO PRÁTICA
13/08/2014
4
SEGUNDA SITUAÇÃO PRÁTICA
SEXO IDADE ALTURA PESO
1ª MASC. 18 1.82 82
2ª FEM. 22 1.67 67
3ª FEM. 21 1.69 59
4ª MASC. 19 1.75 80
#include <stdio.h>#include <stdlib.h>int main () {
int e = 0; //Auxilia a fazer referência a um entrevistadoint d = 0; //Auxilia a fazer referência aos dados de um entrevistadoint entrevistados[50][4]; /* declaração de uma matriz bidimensional de 50 linhas e 4 colunas: as linhas representam os entrevistados (ex. entrevistados[0], entrevistados[1], ..., entrevistados[49]), enquanto que as colunas representam cada dado de um entrevistado: (entrevistados[e][0] é seu sexo: 0 para sexo feminino e 1 para sexo masculino; entrevistados[e][1] é sua idade: um inteiro maior que zero; entrevistados[e][2] é sua altura em centímetros: um inteiro maior que zero; entrevistas[e][3] é o peso em gramas: um inteiro maior que zero *//* Código do restante do programa */
system(“PAUSE”);}
13/08/2014
5
entrevistados[0][0] //Sexo do 1º entrevistadoentrevistados[0][1] //Idade do 1º entrevistadoentrevistados[0][2] //Altura do 1º entrevistadoentrevistados[0][3] //Peso do 1º entrevistado...entrevistados[49][3] /*Peso do 50º entrevistado
REFERENCIANDO DADOS
O problema agora é que você precisa ler as 05notas de 07 alunos (identificados de 0 a 6), ecalcular a média de cada aluno. Para isso serãonecessárias 42 variáveis (6X7)
TERCEIRA SITUAÇÃO PRÁTICA
13/08/2014
6
11
0 1 53 42
0
1
2
3
4
5
6
notas, matriz bidimensional,armazena para 7 ALUNOS, suas 5 NOTAS mais a MÉDIA
Representação espacial
Cada elemento desta matriz necessita de dois índices para ser especificado--> notasé portanto uma matriz bidimensional
5.4
notas[3] [1]
#include <stdio.h>
#include <stdlib.h>
void main()
{
float matriz [2][2];
float media, quant;
matriz[0][0] = 9.0;
matriz[0][1] = 8.0;
matriz[1][0] = 7.0;
matriz[1][1] = 7.0;
quant = matriz[0][0] + matriz[0][1] + matriz[1][0] + matriz[1][1];
media = quant / 4.0;
printf (“ A média dos 4 números é: %f.”, media);
system (“PAUSE”);
}
MATRIZ EM LINGUAGEM C
13/08/2014
7
#include <stdio.h>#include <stdlib.h>void main (){
float matriz [2][4];float media[2], soma;int cont1, cont2;
for ( cont1 = 0; cont1 < 2; cont1 = cont1 + 1 ){
soma = 0.0f;for ( cont2 = 0; cont2 < 4; cont2 = cont2 + 1 ){
printf ( “ Digite a nota posição %i, %i da matriz: ”, cont1, cont2 );scanf ( “%f”, &matriz[cont1][cont2] );soma = soma + matriz[cont1][cont2] ;
}media[cont1] = quant / 4.0;printf ( “ A média dos números da linha %d da matriz é: %f.”, cont1, media[cont1]);
}printf(“\nE a média geral entre todos os números é: %2.2f\n”,
(media[0]+media[1])/2.0f);system (“pause”);}
Escreva um programa em C que leia valores e preencha umamatriz 3 X 4 com valores inteiros entre 0 e 10, a partirdisso, indique:
1) Quantas vezes aparece o número 9;
2) Quantas vezes aparece o número 7.
EXERCÍCIO
13/08/2014
8
Elabore um programa que manipule os dados para uma salade 40 alunos. O programa deve receber como entrada (vialeitura de teclado):
- Os nomes dos alunos (máximo 50 caracteres).- As duas notas parciais.O programa deve calcular e imprimir, numa mesma
linha, para cada aluno com o nome e a média final.
E também deve apresentar:- A maior média da turma, e a menor média da turma.- A quantidade de alunos aprovados e reprovados a
partir da média 7.
EXERCÍCIO
AULA 09
FUNÇÕES
EXERCÍCIOS
13/08/2014
9
Consistem em trechos de códigos que possuem umnome e podem ser chamados sempre quandonecessário pela função main.
Uma função divide grandes tarefas em tarefas menores, além de reaproveitar um trecho de
código sem precisar reescreve-lo.
FUNÇÕES