Pages

15 de nov. de 2010

Lista 5 - Exercício 2

Escreva um algoritmo que leia o nome dos alunos de uma turma de tamanho indefinido (mas não

superior a 60) e sua nota em uma prova (0 a 10; o algoritmo deve verificar se a nota fornecida é

válida). O algoritmo pára de ler quando o nome do aluno fornecido for vazio (""). Para cada aluno,

o algoritmo deve escrever seu nome e sua nota normalizada, dada pela fórmula:

NNi = Ni X 10/Nmax (5.5)

Onde NNi é a nota normalizada do i-ésimo aluno, Ni é sua nota original, e Nmax é a nota máxima obtida dentre todos os alunos da turma.


 

algoritmo "Calcula Média"

// Função :

// Autor :

// Data : 08/11/2010

// Seção de Declarações

var

nome: vetor[1..60] de literal

nota: vetor[1..60] de real

notaNormalizada: vetor[1..60] de real

notaMaxima:real

i,cont, contMedia,contNotasNomes:inteiro

inicio

// Seção de Comandos

i<-0

repita

i<-i+1

escreva("Digite o nome do aluno")

leia(nome[i])

se(nome[i] <> "") entao

escreva("Digite a nota do aluno")

leia(nota[i])

se(nota[i]<0)entao

escreva("Nota inválida")

escreva("Digite a nota do aluno")

leia(nota[i])

senao

fimse

fimse

ate ((i=60) ou (nome[i]=""))


 

notaMaxima <- nota[1]


 

para cont de 2 ate i-1 faca

se(notaMaxima < nota[cont]) entao

notaMaxima<- nota[cont]

fimse

fimpara


 

para contMedia de 1 ate i-1 faca

notaNormalizada[contMedia]<-(nota[contMedia] * 10 )/ notaMaxima

fimpara


 

para contNotasNomes de 1 ate i-1 faca

escreval(nome[contNotasNomes] ,notaNormalizada[contNotasNomes])

fimpara

fimalgoritmo


 

0 comentários:

Postar um comentário