TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Algoritmo

Seminário: Algoritmo. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  27/9/2014  •  Seminário  •  1.870 Palavras (8 Páginas)  •  148 Visualizações

Página 1 de 8

algoritmo "CalcularMedia"

// Função : Faça o programa principal e escreva um procedimento que receba o valor

// de 3 notas de alunos e um parâmetro do tipo caractere (letra). Se a letra lida for

// A, o procediemnto calcula a média aritmética das 3 notas, se o parâmetro for P,

// calcula a média ponderada (com os pesos 5, 3 e 2 respectivamente para as notas)

// Autor :

// Data : 18/6/2012

// Seção de Declarações

var

i, j: inteiro //Variáveis de índice que serão utilizadas tanto para os vetores quanto para os contadores.

opcao: caractere //Uma letra que será utilizada para escolher entre as médias aritimética ou ponderada

media: real //Variável global que receberá o cálculo da média

aluno: vetor[1..100] de caractere //Vetor para receber o nome dos alunos, até 100

notas: vetor[1..100, 1..3] de real //Matriz 100x3 que receberá o valor das notas. São 3

//colunas mais o índice: 1 - 100 Índice para

//linkar com o vetor do nome do aluno (100 posições)

//Nota 01, Nota 02, Nota 03

//Procedimento para entrada de dados(nome dos Alunos e notas)

procedimento lerAlunos()

var

inicio

escreval("Quantidade máxima de alunos: 100") //Escreve a mensagem na tela

enquanto (aluno[i] <> "S") e (i <= 100) faca //Enquanto o nome do aluno for diferente de S e "i" for menor ou igual a 100, executa:

escreva("Digite o nome do Aluno ([S] para sair): ") //Solicita a digitação do nome do aluno

leia(aluno[i]) //Faz a leitura e armazena na posição "i" do vetor "aluno"

se aluno[i] <> "S" entao //Se o conteúdo da posição "i" do vetor "aluno" = S, então faça

enquanto (j <= 3) faca //enquanto o índice "j" (a posição da nota no vetor "notas") for menor ou igual a 3,

escreva("Digite a nota número ", j, " do aluno ", aluno[i],": ") //Exibe a mensagem para digitar a nota na posição "j" do aluno na posição "i"

//"j" começa em 1 e vai até 3 (são 3 notas), e aqui é mostrado o valor do vetor aluno na posição "i"

leia(notas[i,j]) //Atribui o valor digitado à posição "i","j", onde "i" será a mesma posição do vetor aluno e "j" é a posição da nota

j <- j + 1 //Incrementa o índice "j" em 1, para passar para a próxima nota

fimenquanto //Termina o procedimento de preenchimento do vetor "nota" quanto j=3 (j<=3)

j <- 1 //"Reseta" o valor de "j" para poder ser utilizado em outros lugares. Como já está fora do laço acima, não cria um loop infinito

senao //Se o vetor "aluno" na posição "i" tiver o S, então executa:

aluno[i] <- "" //Como o índice "i" é incrementado, quando escolhemos a opção "s" o vetor aluno na posição "i" receberá este valor, porém não

//queremos que esta posição contenha dados, então a posição atual recebe um valor vazio, apagando o "s" que estava lá dentro.

interrompa //Comando do Visualg para interromper a execução do laço.

fimse

escreval("Nome do aluno: ", aluno[i]) //Exibe o nome do aluno na posição atual do vetor

i <- i + 1 //Incrementa o índice em 1, para a próxima posição receber um novo dado

fimenquanto

fimprocedimento

//Procedimento para exibir as notas

procedimento mostrarNotas(var opcao: caractere) //Exige um parâmetro do tipo caractere que será passado para o procedimento "calcularMedia",

//para saber qual média calcular (A para aritimetica ou P para ponderada)

var

inicio

i <- 1 //"Reseta" o índice "i" para ser utilizado desde o início

j <- 1 //"Reseta" o índice "j" para ser utilizado desde o início

limpatela //Limpa a tela, para ficar mais claro o resultado

enquanto (aluno[i] <> "") faca //Enquanto o conteúdo do vetor "aluno" na posição "i" não for vazio, executa

escreval("Aluno: ", aluno[i]) //Mostra o conteúdo do vetor "aluno" na posição "i"

escreval("Notas: ") //Mostra apenas o texto "Notas: ", que será incrementado pelos comandos abaixo:

enquanto (j <= 3) faca //Enquanto o índice "j" for menor ou igual a 3 (lembra que resetamos logo acima?), executa:

escreval(j,": ", notas[i,j]) //Escreve na tela a posição j e o conteúdo do vetor notas nas posiçãoes "i,j"

j <- j + 1 //Incrementa "j" para a próxima posição, que está a próxima nota

fimenquanto //Finaliza o laço "enquanto" de j<=3

calcularMedia(opcao, notas[i,1], notas[i,2], notas[i,3])

...

Baixar como (para membros premium)  txt (8.8 Kb)  
Continuar por mais 7 páginas »
Disponível apenas no TrabalhosGratuitos.com