Ir para conteúdo
Fórum Script Brasil
  • 0

vetores


shadow007

Pergunta

galera to com um exercicios de vetor e estou com uma duvida aew!!!

ele não obedece, o certo era pra ele ir so ate 35 mais ele não para não

e o seguinte galera!!!

Usando a estrutura de dados homogênea unidimensional (Vetor) elabore um algoritmo que leia dois vetores contendo a nota 35 alunos. O Vetor1 contém a nota do 1° bimestre e o Vetor2 contem a nota do 2° bimestre. Em seguida armazene em um Vetor3 a média das notas dois vetores lidos. Calcule a média da turma, o total de alunos que tiraram notas acima da média. Ao final, imprima o vetor resultante, a media da turma, e total de aluno de obtiveram nota acima da média.

desse geito q eu tentei fazer oia....

algoritmo "semnome"
// Função :
// Autor :
// Data : 3/3/2008
// Seção de Declarações 
var

Vnotas1: vetor [1..35] de real
Vnotas2: vetor [1..35] de real
Vmedia: vetor [1..35] de real
Media, soma_media, media_turma: real
i:inteiro
Aprovados: logico

inicio
// Seção de Comandos 
Soma_media <- 0
media <- 0
media_turma <- 0
Para i de 1 ate 35 passo 1 faca
Escreva("nota do primeiro bimestre: ")
Leia (Vnotas1 [i])
Escreva("Nota do segundo bimestre: ")
Leia (Vnotas2 [i])
Media<- (Vnotas1 [i]+ Vnotas2 [i] / 2)
Vmedia[i]<- media
Soma_media<- soma_media + media
FimPara
Media_turma<- soma_media / 35
Para i de 1 ate 35 passo faca
Leia(Vmedia [i])
Aprovado<- 0
Se Vmedia[i] > media_turma então
Aprovado<- aprovado + 1
FimSe
Escreva("media do aluno"Vmedia [i])
FimPara
Escreva("media da turma"media_turma)
Escreva("alunos acima de media"aprovados)
fimpara

fimalgoritmo

o erro q ele não obedece

mais vocês aew acharem outro eu fico muito grato com ajuda de vocês aEw

vlwS

abraçoOOo... :blink:

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0

tente complementar o algoritmo

eu utilizei o laço enquanto

var
Prim_bimestre:vetor [1..10] de inteiro
seg_bimestre : vetor [1..10] de inteiro
media: vetor [1..10] de real
media_turma, soma: real
cont: inteiro
inicio
cont:= 1
enquanto cont<= 10 faca
   escreva ("entre com a nota do primeiro bimestre:  ")
   leia (Prim_bimestre [cont])
   escreva ("entre com a nota do segundo bimestre:  ")
   leia (seg_bimestre [cont])
   media [cont] := (Prim_bimestre [cont]+ seg_bimestre [cont])/2
   soma:= soma + Prim_bimestre [cont]+ seg_bimestre [cont]
   media_turma := soma / cont
   cont:= cont + 1
fimenquanto
fimalgoritm

Editado por nego drama
Link para o comentário
Compartilhar em outros sites

  • 0

eu apenas coloquei no lugar de

Media<- (Vnotas1 [i]+ Vnotas2 [i] / 2)
Vmedia[i]<- media
é a mesma coisa apenas diminuir o numero de linhas
media [cont] := (Prim_bimestre [cont]+ seg_bimestre [cont])/2

se caso queiser usar do seu geito ta certo também

Editado por nego drama
Link para o comentário
Compartilhar em outros sites

  • 0

eu fiz como tú falaou mais ele não faz nenhum calculo

so pede as notas e pronto...

var
Prim_bimestre:vetor [1..10] de inteiro
seg_bimestre : vetor [1..10] de inteiro
media: vetor [1..10] de real
media_turma, soma: real
cont: inteiro
inicio
// Seção de Comandos
cont:= 1
enquanto cont<= 10 faca
   escreva ("entre com a nota do primeiro bimestre:  ")
   leia (Prim_bimestre [cont])
   escreva ("entre com a nota do segundo bimestre:  ")
   leia (seg_bimestre [cont])
   media [cont] := (Prim_bimestre [cont]+ seg_bimestre [cont])/2
   soma:= soma + Prim_bimestre [cont]+ seg_bimestre [cont]
   media_turma := soma / cont
   cont:= cont + 1
fimenquanto

ele fica desse geito, quando copilado:

entre com a nota do primeiro bimestre: 50

entre com a nota do segundo bimestre: 30

entre com a nota do primeiro bimestre: 60

entre com a nota do segundo bimestre: 90

entre com a nota do primeiro bimestre: 70

entre com a nota do segundo bimestre: 75

entre com a nota do primeiro bimestre: 15

entre com a nota do segundo bimestre: 25

entre com a nota do primeiro bimestre: 34

entre com a nota do segundo bimestre: 78

entre com a nota do primeiro bimestre: 79

entre com a nota do segundo bimestre: 70

entre com a nota do primeiro bimestre: 60

entre com a nota do segundo bimestre: 95

entre com a nota do primeiro bimestre: 70

entre com a nota do segundo bimestre: 85

entre com a nota do primeiro bimestre: 05

entre com a nota do segundo bimestre: 15

entre com a nota do primeiro bimestre: 45

entre com a nota do segundo bimestre: 91

*** Fim da execução.

*** Feche esta janela para retornar ao Visualg.

Link para o comentário
Compartilhar em outros sites

  • 0

calcular a média até que ele calcula, mais me diz uma coisa, onde ele vai mostrar os resultados?

Esse é o bloco de entrada...

escreva ("entre com a nota do primeiro bimestre:  ")
   leia (Prim_bimestre [cont])
   escreva ("entre com a nota do segundo bimestre:  ")
   leia (seg_bimestre [cont])
Esse é o bloco de processamento...
media [cont] := (Prim_bimestre [cont]+ seg_bimestre [cont])/2
   soma:= soma + Prim_bimestre [cont]+ seg_bimestre [cont]
   media_turma := soma / cont

Agora, onde está a saída?

Ele armazena os dados até o fim do enquanto, daí ele não exibi a saída e volta pra calcular o outro aluno... Daí há uma perda de dados (limpeza de Ran) pra outro processamento, mais como você não exibiu na tela, fica tudo perdido...

Faça a saída dos dados da média do aluno e média da turma...

Na Informática, tem um princípio básico de programação, entrada de dados, processamento, e saída de dados...

Sinto em diser, mais esse seu algorítmo está falando a parte principal para o usuário... A saída de dados....

Editado por Paulo_elite
Link para o comentário
Compartilhar em outros sites

  • 0

claro... Pelo que pude analisar, o algorítmo não tem saída de informações, (RESPOSTAS)... Ele está armazendando, calculando, mais não está mostrando o resultado... Ele na prática só fica pedindo as notas do 1º e 2º bimestres... Ele as processa na sua memória RAM mais não tem onde mostrar...

Editado por Paulo_elite
Link para o comentário
Compartilhar em outros sites

  • 0

mas no primeiro algoritmo ele colocou com a saida

acho q você shadow007 so precisa colocar a saida como esta no seu primeiro algoritmo

e outra coisa pra saber quantos obteram acima da media seu questao deve esta faltando alguma coisa

como o valor da media

estou certo?

Link para o comentário
Compartilhar em outros sites

  • 0

Pelo que eu entendi lá no primeiro post... Era pra fazer um programa que leia 35 launos, com suas respectivas notas de primeiro e segundo bimestres, e dar como saída, a média da turma em geral e quantos alunos obtiveram notas acima da média...

Veja se é isso que eu entendi.... coloquei a média valendo 7....

Program SCRIPT_BRASIL_PAULO_ELITE;
Var
nome: array[1..35] of string[40];
nota1: array[1..35] of real;
nota2: array[1..35] of real;
media: array[1..35] of real;
media_aluno,v,media_turma: real;
p,r:integer;
BEGIN
 p:=1;
 r:=0;
   for p:=1 to 35 do
     begin
       writeln('                    SISTEMA DE CALCULO DE MÉDIAS ESCOLARES');
       writeln('__________________________________________________________________________');
       writeln;
       writeln('Digite o nome do aluno: ');
       readln(nome[p]);
       writeln('Informe a primeira nota do aluno, ',nome[p],': ');
       readln(nota1[p]);
       writeln('Insira a segunda nota do aluno, ',nome[p],': ');
       readln(nota2[p]);
       media[p]:=(nota1[p]+nota2[p])/2;
       media_turma:=media_turma+media[p];
        if media[p] >= 7 then
           begin
             r:=r+1;
           end;  
      p:=p+1;         
    end; 
         v:=media_turma/35;      
         writeln('A média obtida entre todos os alunos foi de: ',v:2:1);
         writeln('O número de alunos com média acima da média foi de: ',r,' alunos');
End.

Editado por Paulo_elite
Link para o comentário
Compartilhar em outros sites

  • 0

velho na saida é porque esta em pascal mas vou tentar traduzir

so o q mudol foi o seguinte primeiro estipulou uma media no caso 7 então no seu algoritmo você vai colocar

se (media [cont]  >  7 ) então
aluno_acima_media := aluno_acima_media + 1 {inclua mais uma variavel do tipo inteiro pra indicar quantidade de aluno acima da media}
fimse
e abaixo de fimenquanto colocou
media_turma := media_turma / 35
escreva ("O número de alunos com média acima da média foi de:  ",aluno_acima_media)
escreva ("  A média obtida entre todos os alunos foi de:  ",media_turma,"    alunos")

Link para o comentário
Compartilhar em outros sites

  • 0
kara eu não entendi muito sobre q vocês estavam falando

não entendi sobre a saida dos dados

?como seria essa saida ?

e sobre seu algoritmo "paulo_elite" eu não estudei sobre isso ainda

algoritmo em inglês, mais vlw a ajuda...

Me desculpe... é que escrevi ele em pascal... Me desculpe, esqueci que precisa mesmo é do alorítmo, apenas da lógica... Me desculpe...

mais...

O nego drama traduziu ele aí pra você entender melhor....

Me desculpe pelo deslize... :wacko:

Da próxima vez faço ele em Portugol pra você, okj? e não em Pascal...

ah.. obrigado a você nego drama, por ter traduzido o código, ok? :rolleyes:

Abraços...

Paulo!!!

Link para o comentário
Compartilhar em outros sites

  • 0

kara eu modifei eu acho q ficou bom olha aew... :)

algoritmo "semnome"
// Função :
// Autor :
// Data : 19/3/2008
// Seção de Declarações 
var
Prim_bimestre:vetor [1..35] de inteiro
seg_bimestre : vetor [1..35] de inteiro
media: vetor [1..35] de real
media_turma, soma: real
cont,aluno_acima_media : inteiro

inicio
// Seção de Comandos 
cont<- 1
enquanto cont<= 35 faca
   escreva ("entre com a nota do primeiro bimestre:  ")
   leia (Prim_bimestre [cont])
   escreva ("entre com a nota do segundo bimestre:  ")
   leia (seg_bimestre [cont])
   media [cont] <- (Prim_bimestre [cont]+ seg_bimestre [cont])/2
   soma:= soma + Prim_bimestre [cont]+ seg_bimestre [cont]
   media_turma <- soma / cont
   se (media [cont]  >  7 ) então
aluno_acima_media <- aluno_acima_media + 1
   cont<- cont + 1
   fimse
   media_turma <- media_turma / 35
escreval ("O número de alunos aprovado foi de:  ",aluno_acima_media)
escreval ("  A média obtida entre todos os alunos foi de:  ",media_turma,"    alunos")
 fimenquanto

se não tiver bom podi falar!!!!

falou entaum

Te+

Link para o comentário
Compartilhar em outros sites

  • 0

velho eu não achei bom não

quando você modificar analise primeiro se ficou bom, tente observar antes de mandar pro forum

o seu algoritmo esta calculando normal esta mostrando saida ta ok

mas como disse os racionais msc "meio certo não existe"

você colocou o fimse abaixo do contador que é um erro

outra coisa seria onde você colocou o fim enquanto abaixo da linhas escreval ou seja ele vai ta mostrado o resultado a todo momento

no seria legal se ele mostrase o resultado no final da operação, não ficaria mais organizado?

então eu te aconcelho reforça o seu base de logica, e tentar facilitar o seu trabalho

var
Prim_bimestre:vetor [1..35] de inteiro
seg_bimestre : vetor [1..35] de inteiro
media: vetor [1..35] de real
media_turma, soma: real
cont,aluno_acima_media : inteiro
inicio
cont<- 1
enquanto cont<= 10 faca
   escreva ("entre com a nota do primeiro bimestre:  ")
   leia (Prim_bimestre [cont])
   escreva ("entre com a nota do segundo bimestre:  ")
   leia (seg_bimestre [cont])
   media [cont] <- (Prim_bimestre [cont]+ seg_bimestre [cont])/2
   soma:= soma + Prim_bimestre [cont]+ seg_bimestre [cont]
   se (media [cont]  >  7 ) então
      aluno_acima_media <- aluno_acima_media + 1
   fimse
   cont <- cont + 1
fimenquanto
media_turma <- soma / 10
escreval ("O número de alunos aprovado foi de:  ",aluno_acima_media)
escreval ("A média obtida entre todos os alunos foi de:  ",media_turma,"    alunos")
fimalgoritmo

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...