Vetores em algoritmo
CTD141 - Algoritmos e Programação
Emiliana Mara Lopes Simões emiliama.simoes@ict.ufvjm.edu.br Universidade Federal dos Vales do Jequitinhonha e Mucuri setembro 2014
Estruturas Homogêneas (Vetores)
Problema: Fazer um programa para calcular a média das notas de 5 alunos.
COMO RESOLVER???
Solução: Uso de uma variável acumuladora (no exemplo, soma) para ir somando as notas lidas
#i n c l u d e < s t d i o . h> main ( ) { f l o a t nota , soma , media ; int i ; soma = 0 ; f o r ( i = 0 ; i < 5 ; i ++){ p r i n t f ( " D i g i t e a n o t a %d : " , ( i +1) ) ; s c a n f ( "%f " , &n o t a ) ; soma += n o t a ;
}
media = soma / 5 . 0 ; p r i n t f ( "A media d a s n o t a s e : %.2 f " , media ) ;
}
Estruturas Homogêneas (Vetores)
Problema: Fazer um programa para calcular a média das notas de 5 alunos e verificar quantos conseguiram nota acima da média.
COMO RESOLVER???
Dificuldade: No exemplo anterior, após calcular a média não é mais possível recuperar as notas lidas!
#i n c l u d e < s t d i o . h> main ( ) { f l o a t nota , soma , media ; int i ; soma = 0 ; f o r ( i = 0 ; i < 5 ; i ++){ p r i n t f ( " D i g i t e a n o t a %d : " , ( i +1) ) ; s c a n f ( "%f " , &n o t a ) ; soma += n o t a ;
}
media = soma / 5 . 0 ;
//Como v e r i f i c a r q u a n t o s a l u n o s c o n s e g u i r a m
// n o t a acima da media ? ? ? ? ? p r i n t f ( "A media d a s n o t a s e : %.2 f " , media ) ;
}
Solução 1: Cada nota será armazenada em uma variável diferente
#i n c l u d e < s t d i o . h> main ( ) { f l o a t nota1 , nota2 , nota3 , nota4 , nota5 , media ; i n t acimaMedia = 0 ; p r i n t f ( " D i g i t e a nota 1 : " ) ; s c a n f ( "%f " , &n o t a 1 ) ; p r i n t f ( " D i g i t e a nota 2 : " ) ; s c a n f ( "%f " , &n o t a 2 ) ; p r i n t f ( " D i g i t e a nota 3 : " ) ; s c a n f ( "%f " , &n o t a 3 ) ; p r i n t f ( " D i g i t e a nota 4 : " ) ; s c