Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

faela.nel

Pascal

Recommended Posts

Galera,será que alguem poderia me ajudar com este exercicio em pascal,dar uma luzinha....por favor......

Sou iniciante estou com muita dificuldade e ñ sei por onde começar.

Por favor... :(

 

 

Gerenciador de avaliações

 

1. Para cada aluno que será avaliado, gerar uma prova de quatro

Questoes objetivas com um minimo de 4 alternativas de respostas;

2. Apliação da prova;

3. Corrigir a prova e disponibilizar o resultado;

4. Armazenar nome do aluno e a nota;

5. Imprimir os resultados da turma ordenados pela maior nota;

6. Dado um nome de um aluno buscar e imprimir a sua nota;

Compartilhar este post


Link para o post
Compartilhar em outros sites

comece gerando a prova, suas questões e alternativas

 

tente e poste o código que usou, apontando onde tem dúvidas

 

 

Minha duvida principal é essa:

 

supondo q são 10 questoes no total,e 15 aluos,e q cada aluno tem q fazer uma prova com 4 questoes. Só q se "JOAO",fizer a prova1,a prova de "maria" tem que ser com questoes diferentes...

como faço isso???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Separe as 10 questões em blocos distintos, por exemplo:

 

Prova 1 : Questões 1,3,5 e 7;

Prova 2 : Questões 2,4,6 e 8;

Prova 3 : Questões 1,4,9 e 10;

 

Faça um laço de repetição em que vá aplicando uma prova distinta a cada aluno.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Separe as 10 questões em blocos distintos, por exemplo:

 

Prova 1 : Questões 1,3,5 e 7;

Prova 2 : Questões 2,4,6 e 8;

Prova 3 : Questões 1,4,9 e 10;

 

Faça um laço de repetição em que vá aplicando uma prova distinta a cada aluno.

 

 

Bom,tava pensando em fazer uma matriz das provas e utilizar o random para sortear as questoes,mas não sei como usar...será q pode dar certo?

Se puder,como posso usar no codigo?

 

Program Pzim ;
var
questoes:array[1..12,1..2] of string;
v_alunos:array[1..15] of string;
matriz_prova: integer;
i,j,k:integer;
alunos:string;

Begin
for i:= 1 to 12 do
  for j:=1 to 2 do
   begin
    for k:= 1 to 15 do
     writeln('Digite o seu nome:');

     readln(v_alunos[alunos]);
     randomize;
     variavel:=random(13);
     writeln('01. Indique a opção em que nem todas as palavras possuem o mesmo radical:');
     readln(questoes[i]);
    	writeln('(a) noite, anoitecer, noitada;', questoes[1][1]); 
         writeln('(B) luz, luzeiro, alumiar;',questoes[1][2]);
     writeln('(c) incrível, crente, crer;',questoes[1][3]);
	     writeln('(d) festa, festeiro, festejar;',questoes[1][4]);
	     writeln('(e) riqueza, ricaco, enriquecer;',questoes[1][5]);
	     writeln('--------------------------------------');
   end;	     

End.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilizar uma matriz é uma ideia legal!

Nela irá conter as questões e as respectivas respostas..

você soh precisa ligar qnd cair essa questão para o aluno, e conforme vai acertando vai pontuando.

para o aluno acho que um vetor basta, pois só irá armazenar a nota.

vá postando conforme for evoluindo que te ajudamos!

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom,fiz essa parte mas ñ ta dando muito certo ñ,se puderem me ajudar...to acc. ^_^

 

Program Pzim ;
var
prova:array[1..10] of string;
vet_alunos:array[1..15] of string;
resposta:array[1..15,1..4] of char;
notas:array[1..15,1..4] of integer;
questoes_sorteadas:array[1..15,1..4] of integer;
elaborouprova,opcao:integer;


procedure REALIZAR_PROVA;
var
cont,aluno,verif,i,j,x:integer;
begin
 aluno:=0;
for i:=1 to 15 do
	while(aluno<=14) do
		begin
			cont:=0;

			writeln('Digite o seu nome:');
			readln(vet_alunos[i]);
             	 aluno:=aluno+1;
              end;
end;  
   //gerando questoes aleatorias
procedure prof_prova;
var
verif,cont,i,x,aluno:integer;

begin    
   		while(cont<=4) do
   			begin
   			verif:=0;
   			randomize;
   			x:=random(10);
   			for i:= 1 to cont+1 do
		    if (questoes_sorteadas[aluno][i] = x) then 
                  begin 
                 	 verif :=1;  // se encontrar um numero igual verif recebe 1 para nao armazernar o valor no vetor nem imprimir a pergunta
                  	 cont:=cont-1;  
                  end;
              if(verif=0) then
              	begin 
         			questoes_sorteadas[aluno][cont] := x;
          			writeln(prova[x]);
         		end;

   			writeln('PREENCHA A QUESTAO 1:');
              readln(prova[1]);               
   			writeln('PREENCHA A QUESTAO 2:');
   			readln(prova[2]);          
   			writeln('PREENCHA A QUESTAO 3:');
   			readln(prova[3]);          
   			writeln('PREENCHA A QUESTAO 4:');
   			readln(prova[4]);          
   			writeln('PREENCHA A QUESTAO 5:');
              readln(prova[5]);          
   			writeln('PREENCHA A QUESTAO 6:');
		readln(prova[6]);          
   			writeln('PREENCHA A QUESTAO 7:');
		readln(prova[7]);          
   			writeln('PREENCHA A QUESTAO 8:');
		readln(prova[8]);          
   			writeln('PREENCHA A QUESTAO 9:');
		readln(prova[9]);                    
   			writeln('PREENCHA A QUESTAO 10:');
              readln(prova[10]); 


     end;


		writeln('Responda as questoes:');
		writeln;
		i:=aluno;
		for i:=1 to 4 do
			writeln('Questao 1:');
			readln(resposta[aluno]);
         		writeln('Questao 2: ');
        		 	readln(resposta[aluno]);
         		writeln('Questao 3: ');
         		readln(resposta[aluno]);
         		writeln('Questao 4: ');
         		readln(resposta[aluno]);

        end;



// Elaborar prova	    

procedure ELABORAR_PROVA;
var
senha:integer;

	begin 
  		clrscr;
        		 writeln('AREA RESERVA A ELABORACAO DA PROVA');
               writeln('DIGITE SUA SENHA: ');
               readln(senha);

               if (senha=123) then
               writeln('PREENCHA A QUESTAO 1:');
     		 readln(PROVA[1]);               //EX. 'Quantos anos tem a cidade do Salvador? a)350  b)500  c)501  d)15';
   			 writeln('PREENCHA A QUESTAO 2:');
     		 readln(PROVA[2]);         //("Quantos anos tem o  meu Avô? a)35  b)500  c)101  d)ja morreu");
   			 writeln('PREENCHA A QUESTAO 3:');
     		 readln(PROVA[3]);
		  writeln('PREENCHA A QUESTAO 4:');
     		 readln(PROVA[4]);
		  writeln('PREENCHA A QUESTAO 5:');
     		 readln(PROVA[5]);
		  writeln('PREENCHA A QUESTAO 6:');
     		 readln(PROVA[6]);
		  writeln('PREENCHA A QUESTAO 7:');
     		 readln(PROVA[7]);
		  writeln('PREENCHA A QUESTAO 8:');
     		 readln(PROVA[8]);
		  writeln('PREENCHA A QUESTAO 9:');
     		 readln(PROVA[9]);
		  writeln('PREENCHA A QUESTAO 10:');
     		 readln(PROVA[10]);           // ("Qual eh o valor da expressao:(200+15+20)-(15+100+20)? a)350 b)10 c)100 d)0");
   			// ate preeencher as 10 questoes
  			elaborouprova:=1;
  		end ;






Begin
//MENU PRINCIPAL

 	elaborouprova:=0;
 	opcao:=0;
 	while(opcao<>4)do
 		begin
 		clrscr;
 			writeln('===========================MENU==============================');
 			writeln('0.ELABORAR PROVA');
 			writeln;
 			writeln('1.REALIZAR PROVA');
 			writeln;
 			writeln('2.EXIBIR RANKING');//[color="#FF0000"][b][/b][/color]nesses ainda tenho duvida
 			writeln;
 			writeln('3.BUSCAR ALUNO');
 			writeln;
 			writeln('4.SAIR');
 			writeln;
 			WRITELN('OPCAO:');
 			readln(opcao);
 			if (opcao='0') then
 			ELABORAR_PROVA;
 			if(elaborouprova=1) and (opcao='1') then 
 			REALIZAR_PROVA;
 //			if (opcao='2') then
 //			EXIBIR_RANKING;
 //			if(opcao='3') then
//			BUSCAR_ALUNO; 

       		readkey;

        end;






End.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, oq está dando de errado?

Não manjo muito de pascal + da pra te ajudar..

Explica melhor.

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.