Ir ao conteúdo
  • Cadastre-se

VisualG visulag, estou com dificuldade na logica: vetores


Posts recomendados

bom , to tentando usar vetores nesse exercicio e to com dificuldades , alguém pode me ajudar a notar o erro, segundo o visualg o problema esta aqui:

para cont <- 1 ate 5 faca
       escreval( nome[cont], nota[cont])

vou mandar o codigo por completo, na verdade eu testei de dois jeitos o 1 com apenas um contador

algoritmo "corrigeprovas"

var gabarito: vetor[1..5] de caractere
    resp: vetor[1..5] de caractere
    nome: vetor [1..3] de caractere
    nota: vetor [1..3] de real
    cont: inteiro

    media, soma : real

inicio
      cont<-1

      soma<-0
      escreval("cadastro de gabarito")
      escreval("====================")
  para cont <- 1 ate 5 faca
     escreva("questão " , cont, ": ")
       leia(gabarito[cont])
   fimpara

   limpatela
    escreval("====================")
    escreval("cadastro das respostas provas")

    
    para cont <- 1 ate 3 faca
    escreval("====================")
    escreval("Aluno", cont)
    escreval("====================")
         escreva("nome do aluno:")
         leia(nome[cont])
         nota[cont]<-soma
         escreval("respostas dadas")

      para cont <- 1 ate 5 faca
             escreva("questão", cont, ": " )
               leia(resp[cont])
      se ( resp[cont] = gabarito[cont]) entao
        soma<-soma + 2

       fimse
      fimpara
    fimpara
     escreval( "RESULTADOS")
     escreval("===============")
     para cont <- 1 ate 5 faca
       escreval( nome[cont], nota[cont])

     fimpara
      media<-soma/3
      escreval("media da turma é : " , media)
fimalgoritmo

e o segundo com dois contadores

algoritmo "corrigeprovas"

var gabarito: vetor[1..5] de caractere
    resp: vetor[1..5] de caractere
    nome: vetor [1..3] de caractere
    nota: vetor [1..3] de real
    cont, cont2: inteiro

    media, soma : real

inicio
      cont<-0
      cont2<-1
      soma<-0
      escreval("cadastro de gabarito")
      escreval("====================")
  para cont <- 1 ate 5 faca
     escreva("questão " , cont, ": ")
       leia(gabarito[cont])
   fimpara

   limpatela
    escreval("====================")
    escreval("cadastro das respostas provas")

    
    para cont2 <- 1 ate 3 faca
    escreval("====================")
    escreval("Aluno", cont2)
    escreval("====================")
         escreva("nome do aluno:")
         leia(nome[cont2])
         nota[cont2]<-soma
         escreval("respostas dadas")

      para cont <- 1 ate 5 faca
             escreva("questão", cont, ": " )
               leia(resp[cont])
      se ( resp[cont] = gabarito[cont]) entao
        soma<-soma + 2

       fimse
      fimpara
    fimpara
     escreval( "RESULTADOS")
     escreval("===============")
     para cont <- 1 ate 5 faca
       escreval( nome[cont], nota[cont])

     fimpara
      media<-soma/3
      escreval("media da turma é : " , media)
fimalgoritmo

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Olá @kalline !

 

Eu consegui achar o erro!

Na linha 27:

1 hora atrás, kalline disse:
para cont <- 1 ate 5 faca
       escreval( nome[cont], nota[cont])

 

Troque por:

para cont <- 1 ate 3 faca
       escreval( nome[cont], nota[cont])

 

Fazendo essa alteração eu obtive o seguinte resultado do seu código: 

image.png.5081c4371779f0a1acea4fc55f2bd29a.png

  • Obrigado 2
Link para o comentário
Compartilhar em outros sites

  • Membro VIP
2 horas atrás, thefill disse:

Na linha 27:

 

Só um detalhe: seria linha 47.

 

 

Basicamente os vetores nome e nota tem apenas 3 posições, mas o para está indo até 5... o erro ocorre quando o programa tenta acessar a posição 4 do vetor nome, que não existe. Mudando o para para ir até 3, resolve!

 

 

Adendo 1:
Seria interessante utilizar nomenclaturas de variáveis mais "semânticas". Por exemplo, para os vetores, ficaria melhor deixar no plural ou algo que remeta a um coletivo. Ex.:

 

var
   gabarito: vetor[1..5] de caractere
   respostas: vetor[1..5] de caractere

   nomes: vetor [1..3] de caractere
   notas: vetor [1..3] de real

   cont: inteiro

   media, soma : real

 

Observe que "gabarito" não vai para o plural, pois é um gabarito só... que meio que se traduz para um "conjunto das respostas corretas". Usar "gabaritos" faria sentido para uma matriz, ou seja, um vetor de vetores... no caso para caso tivesse vários gabaritos diferentes... (Ex.: O Enem, que tem, sei lá, 3 gabaritos diferentes.)
 

 

 

Adendo 2:

Por quê você não separa a etapa da "leitura das respostas" da etapa de "correção da prova"? Primeiro ler a respostas, depois calcular o resultado... Daí, você pode corrigir a prova logo após ler todas respostas do aluno. Outra possibilidade seria ler todas as respostas, de todos os alunos, e só após corrigir tudo de uma vez, mas talvez precisaria utilizar o tal um vetor de vetores (matriz / vetores de 2 coordenadas)... já que seria "uma posição para cada conjunto de respostas"... uma coordenada seria o código do aluno, a outra seria cada uma das notas desse aluno.

 

Observação: no caso, do jeito que você fez, já lendo cada resposta e corrigindo, as respostas não precisariam ser um vetor, já que não tem necessidade de armazená-los individualmente, bastaria uma variável simples.

 

resposta: caractere

e faria:

se (resposta = gabarito[cont]) entao

 

Concorda?

 

*Perceba a importância de um uso mais "semântico" para as nomenclaturas variáveis... "reposta" no singular de cara remete que seria "uma resposta".. que não é um vetor... já "respostas" daria um ar de "mais de uma resposta", que no caso seria "um vetor de respostas".

 

 

 

Adendo 3:

O cálculo das notas e também da média estão errados... mas sugerido você primeiro testar e tentar corrigir sozinho... (você não teria visto ainda já que o código estava com erro na coordenada do para).

  • Amei 1
Link para o comentário
Compartilhar em outros sites

@Simon Viegas, realmente a média e o cálculo das notas estão erradas. 🥲

 

13 horas atrás, Simon Viegas disse:

Adendo 3:

O cálculo das notas e também da média estão errados... mas sugerido você primeiro testar e tentar corrigir sozinho... (você não teria visto ainda já que o código estava com erro na coordenada do para).

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

@kalline, espero que, quando retorne, já tenha adiantado mais coisas no teu código... Abaixo fiz um esboço com alguns ajustes e sugestões:

 

algoritmo "corrigeprovas"
var
   gabarito: vetor[1..5] de caractere
   resposta: caractere

   nomes: vetor [1..3] de caractere
   notas: vetor [1..3] de real

   cont1, cont2: inteiro
   media, notaAluno :real

   temp: caractere
inicio
   escreval("Cadastro de Gabarito")
   escreval("====================")

   para cont1 <- 1 ate 5 faca
      escreva("Questão ", cont1:1, ": ")
      //leia(gabarito[cont1]) {se quiser ler do usuário via teclado}
      gabarito[cont1] <- NumPCarac(RandI(5)+1) {se quiser gerar de 1 a 5}
      //gabarito[cont1] <- Carac(RandI(5)+65) {se quiser gerar de A a E}
      escreval(gabarito[cont1]) //exibir a resposta gerada caso usando RandI()
   fimpara

   escreval("")
   escreval("====================")
   escreval("Cadastro das Respostas das Provas")

   para cont1 <- 1 ate 3 faca
      escreval("")
      escreval("====================")
      escreval("Aluno ", cont1:1)
      escreval("====================")
      escreva ("Nome do aluno:")
      leia(nomes[cont1])
      escreval("Respostas dadas")

      notaAluno <- 0
      para cont2 <- 1 ate 5 faca
         escreva ("Questão ", cont2:1, ": " )
         //leia(resposta) {se quiser ler do usuário via teclado}
         resposta <- NumPCarac(RandI(5)+1) {se quiser gerar de 1 a 5}
         //resposta <- Carac(RandI(5)+65) {se quiser gerar de A a E}
         escreval(resposta) //exibir a resposta gerada caso usando RandI()

         se (resposta = gabarito[cont2]) entao
            notaAluno <- notaAluno+1
         fimSe
      fimPara
      
      escreval("Nota: ", notaAluno:1)
      
      
   fimPara
fimAlgoritmo


Nesse código, o Gabarito e as Respostas podem ser geradas automaticamente. Isso é bom para facilitar os testes, e não ficar precisando digitar um monte de valores a cada tentativa (isso é chato e é uma grande perda de tempo... fora que cansa a mente, o que pode tirar o foco)... Após os testes ficarem mais ou menos certos, aí só alterar para ler via teclado...

 

Nele ajustei para cada acerto valer 1 ponto. Se atente ao detalhe que, para cada aluno, a soma precisa ser zerada... para deixar mais "semântico", alterei de soma para notaAluno, pois essa variável seria especificamente para "nota do aluno".

 

Daí, o que precisaria para calcular a média? No caso a soma das notas dos alunos. Poderia criar uma nova variável, por exemplo: somaNotas. Nela vai acumulando a soma, algo como:

 

      notaAluno <- 0
      para cont2 <- 1 ate 5 faca
         escreva ("Questão ", cont2:1, ": " )
         //leia(resposta) {se quiser ler do usuário via teclado}
         resposta <- NumPCarac(RandI(5)+1) {se quiser gerar de 1 a 5}
         //resposta <- Carac(RandI(cont)+65) {se quiser gerar de A a E}
         escreval(resposta) //exibir a resposta gerada caso usando RandI()

         se (resposta = gabarito[cont2]) entao
            notaAluno <- notaAluno+1
         fimSe
      fimPara
      
      somaNotas <- somaNotas+notaAluno
      escreval("Nota: ", notaAluno:1)


Por aí vai. 

ADENDO: observe que nessa parte do cadastro das respostas, existe um para dentro do outro, no caso, de fato precisa de 2 contadores distintos... uma para cada para. (Mesmo que usando um só venha a não apresentar erro no VisualG.)

 

ADENDO 2: sempre mantenha o seu código indentado. No VisualG, basta pressionar Ctrl+G para auto-indentar. 95% das vezes funciona bem.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
2 horas atrás, kalline disse:

poderia me dizer porque aqui ele recebe gabarito[cont2],se la em cima é gabarito[cont1]?


Vou tentar detalhar...


 

A primeira coisa que precisa entender é que não existe relação técnica entre variáveis nos programas... simplesmente tem-se uma variável do tipo vetor de caractere, e simplesmente tem-se outras variáveis do tipo inteiro... assim como pode ter tantas variáveis quanto quiser e nenhuma vai ter relações entre si... Relacionar uma variável com outra não passa de abstração, ou seja, seria apenas devido a uma necessidade de criar comportamentos no programa, de modo que gere um resultado desejado...

 

Veja: para utilizar um para, necessariamente precisa ter o ate , ter o faca e também ter o fimPara. Esses "comandos" estão intimamente ligados e precisam estar em determinada ordem e tal... fazem parte da sintaxe de estrutura lá desse laço de repetição... todo "para" vai ter esses comandos, entende? Já no caso do vetor, simplesmente existe a necessidade de acessar uma determinada posição dele... seja para inserir valores nesse vetor, seja para ter acesso a valores que estão nele...

 

Quando uma variável global é criada no VisualG, ela automaticamente é inicializada. O próprio VisualG já insere um valor padrão, no caso, para um vetor de caracteres, vai inserir um texto em branco. ATENÇÃO: isso não é um comportamento comum na maioria da linguagem de programação do mercado.. que de um modo geral "exigem" que o próprio programador dê o valor inicial.. (se não inicializar uma variável manualmente, ou o código não compila, ou o compilador dá um alerta, ou a variável fica com um "lixo de memória"...)

 

Veja o trecho abaixo:

 

algoritmo "corrigeprovas"
var
   gabarito: vetor[1..5] de caractere

 

Como deve saber, o VisualG vai executando "da esquerda para direita, de cima para baixo", assim como "nós do ocidente lemos textos". Ao terminar de executar essa terceira linha acima, o vetor deve ficar assim:

 

image.png

 

Na posição 1, tem "", na posição 2 tem "" etc.

 

Daí, pelo contexto do exercício, se faz necessário preencher o vetor com dados. Mas que dados vou inserir lá? Oras! o vetor foi criado para armazenar os valores de um gabarito, logo faz sentido preencher com dados que remetam a um gabarito... (Mas isso é uma abstração do contexto. Um vetor de caractere é simplesmente um vetor de caractere.)

 

Como preencho um vetor? Simplesmente insiro o valor na posição desejada, exemplo:

 

gabarito[1] <- "1"
gabarito[4] <- "5"
gabarito[2] <- "4"
gabarito[5] <- "3"
gabarito[3] <- "1"

 

Oh! Lá em cada posição ficou com o valor que eu atribuí:

image.png

 

 

Veja que não importa a ordem de atribuição.. entenda que uma variável é simplesmente uma variável... algo que armazena dados e pronto.. "entender que essa variável vai funcionar como um gabarito não passa de uma abstração do programador". Eu preciso de algo que represente um gabarito e preciso que essa estrutura seja utilizável de algum forma....

 

Tá! Mas eu quero preencher lendo do teclado:

Poderia fazer assim:

leia(gabarito[1])
leia(gabarito[3])
leia(gabarito[5])
leia(gabarito[2])
leia(gabarito[4])

 

Pronto, eu estou, eventualmente, lendo os 5 valores do teclado e inserindo em cada uma das 5 posição... Reforço: propositalmente coloquei para preencher o vetor fora de ordem.. justamente porque isso não importa! Ler numa ordem também não passaria de uma conveniência para o contexto do exercício...

 

Ah! Mas se fossem 1000 posições, teria que ter 1000 leia()? Se você quiser, SIM! Teria que ir fazer um a um... Mas daí que pode surgir o laço repetição, simplificando o processo.

 

   para i de 1 ate 5 faca
      leia(gabarito[i])
   fimPara

 

Observe que ali no parâmetro do vetor agora tem outra variável... essa variável pode ter qualquer nomenclatura... Utilizar i, ou cont , ou qualquer outro termo nada mais é por conveniência ou padrões de uso... eu poderia fazer assim:

 

   para navio de 1 ate 5 faca
      leia(gabarito[navio])
   fimPara

 

O importante é que essa variável seja de um tipo compatível que a coordenada do vetor precisa, que para o caso é inteiro. Exemplo:

 

var
   gabarito: vetor[1..5] de caractere
   i: inteiro

 

Entende?

 

Perceba que eu também poderia fazer assim:

i <- 1
leia(gabarito[i])
i <- 2
leia(gabarito[i])
i <- 3
leia(gabarito[i])
i <- 4
leia(gabarito[i])
i <- 5
leia(gabarito[i])

 

Vai dar na mesma (lembrando que acima deixei em ordem porque eu quis..)... entretanto, a ideia de utilizar uma variável para posicionar o vetor vem justamente para simplificar a implementação... por isso fica melhor utilizando o para para controlar o valor da variável. :)

 

 

CONCLUSÃO

Tudo isso simplesmente para dizer: eu poderia utilizar qualquer variável do tipo inteiro em um para ou no outro.... mas porque não utilizar o cont1 em ambos já que ela foi criada justamente para "contar algo" lá no contexto do exercício? Simplesmente porque cont1 já esta sendo utilizado para contar os nomes lá naquele trecho! Daí, o cont2 está sendo utilizado para contar as questões!!

 

Se atente que a verificação das questões está DENTRO da leitura de cada nome, ou seja, é um laço de repetição dentro do outro... por isso NÃO poderia utilizar a mesma variável!!! Pois, na lógica da coisa, a contagem de um laço iria atrapalhar contagem da outro.

 

Adendo 1 !importantíssimo!: no VisualG meio que não vai dar erro se utilizar a mesma variável, por exemplo, cont1 para os 2 laços.. eu suponho que foi implementando algum recurso pelo autor do projeto do VisualG para que diferencie uma variável da outra (meio que a variável é duplicada)... Na minha opinião, isso mais atrapalha que ajuda, já que normalmente isso não vai ocorrer em outras linguagem de programação. (obs.: VisualG não é uma linguagem de programação.)

 

 

COMPLEMENTAÇÃO:

cont1 e cont2 são utilizados como contadores quaisquer. Num momento o cont1 é utilizado para preencher o vetor do gabarito, num outro o próprio cont1 é utilizado para percorrer o vetor de nomes, e daí foi utilizado cont2 para percorrer as questões, já que um para está dentro do outro.

 

"Ah! mas não faria mais sentido deixar o cont1 apenas para questões e deixar o cont2 para os nomes?". Talvez sim! Mas observe que nos para, as variáveis são sempre reinicializadas, ou seja, passando a começarem com 1... logo, não importando o seu valor antes de ser utilizada, daí tanto faz onde utilizar... cont1 e cont2 estão sendo variáveis para percorrer vetores... Eu deixei o cont1 primeiro porque geralmente fica em ordem, mas tanto faz.

 

Normalmente são utilizado i e j... Lembrando que isso seria apenas uma convenção.

 

Adendo 2

Em algumas linguagens, a declaração da variável pode ser feita no próprio para, o que deixa muito mais simples e elegante, o código poderia ficar mais ou menos assim.

 

OBS: Código apenas para exemplificar!! Não funciona no VisualG

   para var contGabarito <- 1 ate 5 faca
      escreva("Questão ", contGabarito:1, ": ")
      gabarito[contGabarito] <- Carac(RandI(5)+65) {se quiser gerar de A a E}
      escreval(gabarito[contGabarito]) //exibir a resposta gerada caso usando RandI()
   fimPara

 

Ou seja: para cada para poderia inserir uma nomenclatura mais semântica. E a variável deixaria de existir após o fim do laço. Mas já utilizando variáveis globais normalmente (que é a necessidade atual do VisualG), faria que fosse deixado criado várias variáveis como um mesmo propósito, logo, é muito mais simples ter apenas 2 variáveis genéricos.

 

  • Amei 1
Link para o comentário
Compartilhar em outros sites

@Simon Viegas muitooo obrigada pela atenção e explicação , voce é fera!!!!

Em 31/12/2021 às 09:19, Simon Viegas disse:

o que precisaria para calcular a média? No caso a soma das notas dos alunos. Poderia criar uma nova variável, por exemplo: somaNotas. Nela vai acumulando a soma, algo como:

outra coisinha não to conseguindo a media, ele sempre pega a ultima nota e mostra . E se não me engano a media deve ser dividida pela quantidades de alunos, não é isso? eu fiz assim mas o contador que recebe as notas e apenas a ultima vai para o notaAluno e ela que acaba sendo dividida

somaNotas <-somaNotas+notaAluno/3
      escreval("media: ", somaNotas)

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
12 horas atrás, kalline disse:

E se não me engano a media deve ser dividida pela quantidades de alunos, não é isso?

 

Não, não é isso. Para encontrara uma média, eu preciso dividir a própria média? Não faz sentido.

 

E como assim "se não me engano"?Se você não sabe/não lembra, precisa justamente pesquisar sobre como calcular uma média...

 

Primeiro entenda como se calcular uma média... esse cálculo não tem qualquer relação com programação...  Daí, após aplique os conceitos no código.

Link para o comentário
Compartilhar em outros sites

@Simon Viegas @Simon Viegas

Em 03/01/2022 às 08:25, Simon Viegas disse:

Para encontrara uma média, eu preciso dividir a própria média?

não, eu quis dizer somar as notas de todos e dividir por a quantidade de alunos

Em 31/12/2021 às 09:19, Simon Viegas disse:

o que precisaria para calcular a média? No caso a soma das notas dos alunos. Poderia criar uma nova variável, por exemplo: somaNotas. Nela vai acumulando a soma, algo como:

outra coisinha não to conseguindo a media, ele sempre pega a ultima nota e mostra . E se não me engano a media deve ser dividida pela quantidades de alunos, não é isso? eu fiz assim mas o contador que recebe as notas e apenas a ultima vai para o notaAluno e ela que acaba sendo dividida

somaNotas <-somaNotas+notaAluno/3
      escreval("media: ", somaNotas)

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP
4 horas atrás, kalline disse:

não, eu quis dizer somar as notas de todos e dividir por a quantidade de alunos

 

Ok! Siga um princípio básico: se está "calculando uma média", o nome da variável que vai receber a média não poderia se chamar somaNotas. A ideia é manter a semântica no código... ele deve naturalmente fazer sentido.

 

Sobre o cálculo da média, basicamente seria isso:

 mediaNotas <- somaNotas/3


O que é uma média? Existem várias tipos... mas provavelmente seria uma "média aritmética". Basicamente seria isso: "soma dos valores dividido pela quantidade de valores". Tá lá... a soma está em..... somaNotas (teve esse nome para sugerir a sua função) e a média, por sua vez, vai ficar em.... mediaNotas... Pegou a ideia?
 

Daí, perceba que, primeiro eu encontro a soma das notas (que vai se acumulando em algum momento), depois eu calculo a média... que deve ser feita apenas uma vez aí para o contexto...

 

Tenta aí... Para contextualizar melhor, poste o código completo do que já conseguiu fazer.

Link para o comentário
Compartilhar em outros sites

@Simon Viegas, certo. Eu já tinha criado uma variável para notas, mas aí o problema não resolve ainda. Esse eu fiz com a intenção do vetor nota guardar as notas para depois somá-las. Ele dá um erro e acredito que tá faltando alguma coisa, só não sei o que é.

 

algoritmo "corrigeprovas"
var
   gabarito: vetor[1..5] de caractere
   resp:  caractere
   nomes: vetor [1..3] de caractere
   nota: vetor [1..3] de real
   cont, cont2: inteiro

   somaNotas, media : real

inicio
   cont2<-0
   somaNotas<-0
   cont<-0
   escreval("cadastro de gabarito")
   escreval("====================")

   para cont <- 1 ate 5 faca
      escreva("questão " , cont, ": ")
      leia(gabarito[cont])
   fimpara

   limpatela
   escreval("=====================================")
   escreval("cadastro das respostas das provas")

   para cont2 <- 1 ate 3 faca
      escreval("=====================================")
      escreval("Aluno", cont2)
      escreval("====================")
      escreva("nome do aluno:")
      leia(nomes[cont2])

      escreval("respostas dadas")
      nota[cont2]<-0

      para cont2 <- 1 ate 5 faca
         escreva("questão", cont2, ": " )
         leia(resp)
         se ( resp = gabarito[cont2]) entao
            nota[cont2]<-nota[cont2]+ 2
         fimse
      fimpara

      escreval("nota:" , nota[cont2])
   fimpara

   escreval( "RESULTADOS")
   escreval("===============")
   somaNotas <-somaNotas+nota[cont2]
   media<-somaNotas/3
   escreval("media: ", media)
fimalgoritmo

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
13 horas atrás, kalline disse:

Ele dá um erro e acredito que tá faltando alguma coisa, só não sei o que é.

 

Você está utilizando um mesmo contador para 2 para alinhados (um para dentro do outro).

 

image.png

 

Não pode! 

 

Cheguei a comentar anteriormente:

 

Em 31/12/2021 às 09:19, Simon Viegas disse:

ADENDO: observe que nessa parte do cadastro das respostas, existe um para dentro do outro, no caso, de fato precisa de 2 contadores distintos... uma para cada para. (Mesmo que usando um só venha a não apresentar erro no VisualG.)

Ou seja: não dá erro de sintaxe lá no para. O erro que está dando é de lógica. (Está utilizando o contador do vetor gabarito para posicionar o vetor notas.)

 

No caso, como o computador vai saber qual cont2 vai utilizar? Aí, ele utilize o que "está mais próximo".

 

RESUMINDO

Utilize, por exemplo, cont1 no primeiro, e cont2 no segundo. E lá no vetor notas utilize o cont1.

 

 

Adendo 1:
A minha forma de pensar é que você deveria descobrir isso, mas pelo visto não é uma boa estratégia... então vou adiantar:

Sobre:

13 horas atrás, kalline disse:
   fimpara

   escreval( "RESULTADOS")
   escreval("===============")
   somaNotas <-somaNotas+nota[cont2]

 

A soma das notas fica dentro do para (antes do fimPara), já que precisa ir pegando o valor a cada loop. Lembrando que a coordenada de notas[] seria cont1, já que ele está relacionado a posição do aluno. E o cont2 ficara relacionado a posição do gabarito/respostas.

 

Adendo 2
Eu falo "notas" (no plural) pois é um vetor... Vide:

Em 30/12/2021 às 18:49, Simon Viegas disse:

Seria interessante utilizar nomenclaturas de variáveis mais "semânticas". Por exemplo, para os vetores, ficaria melhor deixar no plural ou algo que remeta a um coletivo.

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!