Ir ao conteúdo
  • Cadastre-se

Lucas Pelepek

Membro Pleno
  • Posts

    56
  • Cadastrado em

  • Última visita

posts postados por Lucas Pelepek

  1. bom dia/tarde/noite.

     

    questão:

    1. Faça um programa para corrigir provas de múltipla escolha. Cada prova tem oito questões, e cada questão vale um ponto, exceto as questões 3 e 8 que valem 2.0 pontos cada uma. O primeiro conjunto de dados a ser lido é o gabarito da prova. Os outros dados são os números dos alunos, e as respostas que deram às questões. Existem 10 alunos matriculados. Calcule e mostre o número e a nota de cada aluno.

     

    #include <stdio.h>
    
    int main(void) {
    
      int x,z,l;
      char y[7],w[7];
      int b[7];
      printf("GABARITO:\n");
    
    for ( x = 1; x < 9; x++) {
      printf("questão:%d\n",x);
      setbuf(stdin,NULL);
      scanf("%c\n",&y[x]);
    }
    printf("numero de alunos:\n");
    setbuf(stdin,NULL);
    scanf("%d\n",&z);
    
    for (x=1;x<=z;x++){
    printf("aluno:%d\n",x);
    for ( x = 1; x < 9; x++) {
      printf("questão:%d\n",x);
      setbuf(stdin,NULL);
      scanf("%c\n",&w[x]);
    }                                 //Segmentation fault
        for ( x = 1; x < 9; x++) {
          l= (strcmp (w[x],y[x]));
            if (l==1) {
              b[x]++;
            }
    }
    }
    for ( x = 1; x <= z; x++) {
      printf("aluno:%d\n",x);
      printf("nota:%d\n",b[x]);
    }
    }

    O programa tem vários erros, mas o que está me impedindo de continuar é esse segmentation fault, não faço ideia o do porque isso acontece, sou iniciante em C.
    se alguém tiver alguma dica, agradeço : ).

  2. Eu não sei como juntar essas 3 variáveis (be,bc,aa), para que eu possa converter para decimal.
     

    Spoiler
    
    program somadorbinario;
    uses crt;
    
    
    VAR a,b,c,saida,er,era, d,e, f,h, g,i,j, x,t, z, w,y,u,r:Integer;
    aa,ab,ba,bb,bc,bd,mo,be:integer;
    resu,ve:array [1..3] of integer;
    
    procedure BinToDec(nux:string);
    var
    		tam, digito, i, expoente: integer;
    		dec: real;
    		
    begin
    	expoente:= 0;
    	dec:= 0;
    	tam:= length(nux);
    	For i:= tam downto 1 do
    		begin
    		case nux[i] of 
    			'1' : digito:=1 ;
    			'0' : digito:=0 ;
    			
    		end;
    	dec:= dec+digito*(exp(expoente*ln(2)));
    	expoente:= expoente +1;
    	end;
    	end;
    
    function portand (a, b:Integer):Integer ;
    Begin
      
      begin
        IF (a=1) and (b=1) then
        x:=1
        Else
        x:=0;
      End;
      
      portand:=(x);
      
    End;
    
    Function portor (a, b:Integer):Integer;
    
    Begin
      //Readln (A, b);
      
      IF (a=1) or (b=1) then
      X:=1
      Else
      X:=0;
      
      portor:=(x);
    End;
    
    Function notebook (z:Integer):Integer ;
    Begin
      IF z=1 then
      Z:=0
      Else
      Z:=1;
      notebook:=(z);
    End;
    
    Function portxor (a, b:Integer):Integer ;
    
    Begin
      
      W:=notebook (a);
      Y:=notebook (b);
      U:=Portand (w,b);
      R:=Portand (a,y);
      t:=Portor (u, r);
      portxor:=(t);
      
      
      
    End;
    
    Function meiosomador (er, era:Integer):integer;
    
    Begin
      
      D:=Portxor (er, era);
      C:=Portand (er, era);
      saida:=c;
      writeln ('resultado do meio somador: saida> ',c,' soma> ',d);
      Meiosomador:= (c);
      
    End;
    
    Function Somadorfull (a, b,i,j:Integer):Integer;
    
    Begin
      
      //meio somador
      aa:= Portxor (a,b); //luz
      ab:= Portand (a,b);
      
      // somador pleno
      ba:= Portxor (i,j);
      bb:= Portand (i,j);
      bc:= Portxor (ba,ab);  //luz
      bd:= Portand (ab,ba);
      be:= portor  (bd,bb); //luz
      
      
      writeln (be,bc,aa);
      
      {resu[1]:= (be);
      resu[2]:= (bc);
      resu[3]:= (aa);
      for mo:= 1 to 3 do 
      //ve:= resu[mo]*3;
      writeln (resu[mo]);}
      
      
      Somadorfull:= (aa);
      
    End;
    
    begin
      
      a:=1;
      b:=1;
      //
      i:=1;
      j:=1;
      
      
      Somadorfull (a,b,i,j);
      
      
    end.

     

     

    • Curtir 1
  3. 2#
    ali apenas conta as primeiras 24 questões ,mas agora que você falou eu percebi.
     

    3#
     

    Spoiler
    
    Program TxN04 ;
    
    uses
      CRT, modulos;
    const
      gabaritoOficial = 'AAAAAAAAAAADACCCCCCEAAAAACCCCCAAAAADDDDDEADDDDEDDE';  
    type
      regGabProvaAluno = record
        insc:integer;    //número de inscrição
        gab :string[50]; //gabarito da prova (do aluno)
      end;
    
    var
     
      GabProvaAluno :regGabProvaAluno;
      br,er,prv,media,mediam,nota,mediap:integer;
      prvum,arqprova,prvdo:text;
      gabc:string[50];
      corr,numx:integer;
      regi:regis;
      regii:regis;
      respx:string[54];
      resp :string[50];
      arqi:file of regis;
     nota1,nota2, totalu,ce,c,a,z,e,tot,x:integer;
      vet:vetor;
      notap,notam:real;
    
    BEGIN
    
      //1:  Funciona
      assign(arqi,'cand.ind');
      reset(arqi);  
      while not (eof(arqi)) do
       begin
        read(arqi,regi);
        c:=c+1;
        vet[c].pf:=c-1; //c=indice do vetor; c-1=posicao fisica no arquivo
        str(regi.num:4,vet[c].c_chave);
    	 end;	    
      
      
      //2:
      
      //3: funciona  
      repeat
        writeln ('qual prova será corrigida, 1 ou 2 ?');
        readln (prv);
      until (prv=2) or (prv=1);
      
      //4: removido.
      
      //5: funciona  
      if (prv=1) then
        assign(arqprova,'PROVA1.TXT')
      else
        if (prv=2) then
          assign(arqprova,'PROVA2.TXT');
      reset(arqprova);
      writeln(' ');
      
      //6: como faço pra ele arrumar apenas o que foi digitado errado? no mais ele funciona.  
      {
      writeln ('digite o gabarito,apenas: a,b,c,d,e');
      for corr:= 1 to 10 do
      repeat
        z:=z+1;
        writeln (z,':');
        readln (gab[corr]);
      until (gab[corr]='a') or (gab[corr]='b') or (gab[corr]='c') or (gab[corr]='d') or (gab[corr]='e');
      }
      
     //7:
      gabc:=gabaritoOficial;
      
      while not(eof(arqprova)) do
        
        begin
    		 
        //7.1:
        readln(arqprova,respx); //ler a linha do arquivo
        //7.2:  
        val(copy(respx,1,4),GabProvaAluno.insc,e);
        GabProvaAluno.gab:=copy(respx,5,50);
        //end;
        
        //7.3:  
        //pebin1 (regi.num,respx,c,c_chave);
       
         //7.4:
         {
         seek(read.pf);
         }
    	  
         //7.5:
         //portugues
         begin
         totalu:=0;
    		 ce:=0;
    		 er:=0;     
         for a:= 1 to 24 do         
           if GabProvaAluno.gab[a]=gabc[a] then
             ce:=ce+4
           else
           GabProvaAluno.gab[a]=null then
           br:=br+1
           else
             er:=er+1;          
           nota1:=ce;
           end;
          //matematica 
         begin  
         ce:=0;
    		 er:=0;     
         for a:= 25 to 50 do         
           if GabProvaAluno.gab[a]=gabc[a] then
             ce:=ce+4
           //else
           //GabProvaAluno.gab[a]=null then
           //br:=br+1
           else
             er:=er+1; 
           nota2:=ce;
           end;
        // writeln ( GabProvaAluno.insc,'   nota: ',nota,'   erros: ',er); 
        end;  
         
        //7.7:
        totalu:=totalu+1;
        notap:=nota1/totalu;
        notam:=nota2/totalu;
        writeln('matematica:  ',notam,'  portugues:   ',notap);
        
        
         //7.8  7.8 se prova = 1, atualizar os campos nota1 e nota2; se prova =2, atualizar os campos
         // nota3, nota4 e soma
        
        
        
        //7.9:
        {
        seek
        write(cand.ind)
        close (cand.ind)
        }
        
        //8:    
        {
        media:=0;
        }   
    		 
    END.

     

    linha 105
    '=' não esperado.

    adicionado 54 minutos depois

    bem, ignorando o código da linha 105.
    código até agora:
     

    Spoiler
    
    Program TxN04 ;
    
    uses
      CRT, modulos;
    const
      gabaritoOficial = 'AAAAAAAAAAADACCCCCCEAAAAACCCCCAAAAADDDDDEADDDDEDDE';  
    type
      regGabProvaAluno = record
        insc:integer;    //número de inscrição
        gab :string[50]; //gabarito da prova (do aluno)
      end;
    
    var
     
      GabProvaAluno :regGabProvaAluno;
      br,er,prv,media,mediam,nota,mediap:integer;
      prvum,arqprova,prvdo:text;
      gabc:string[50];
      corr,numx:integer;
      regi:regis;
      regii:regis;
      respx:string[54];
      resp :string[50];
      arqi:file of regis;
     nota1,nota2, totalu,ce,c,a,z,e,tot,x:integer;
      vet:vetor;
      notap,notam:real;
    
    BEGIN
    
      //1:  Funciona
      assign(arqi,'cand.ind');
      reset(arqi);  
      while not (eof(arqi)) do
       begin
        read(arqi,regi);
        c:=c+1;
        vet[c].pf:=c-1; //c=indice do vetor; c-1=posicao fisica no arquivo
        str(regi.num:4,vet[c].c_chave);
    	 end;	    
      
      
      //2:
      
      //3: funciona  
      repeat
        writeln ('qual prova será corrigida, 1 ou 2 ?');
        readln (prv);
      until (prv=2) or (prv=1);
      
      //4: removido.
      
      //5: funciona  
      if (prv=1) then
        assign(arqprova,'PROVA1.TXT')
      else
        if (prv=2) then
          assign(arqprova,'PROVA2.TXT');
      reset(arqprova);
      writeln(' ');
      
      //6: como faço pra ele arrumar apenas o que foi digitado errado? no mais ele funciona.  
      {
      writeln ('digite o gabarito,apenas: a,b,c,d,e');
      for corr:= 1 to 10 do
      repeat
        z:=z+1;
        writeln (z,':');
        readln (gab[corr]);
      until (gab[corr]='a') or (gab[corr]='b') or (gab[corr]='c') or (gab[corr]='d') or (gab[corr]='e');
      }
      
     //7:
      gabc:=gabaritoOficial;
      
      while not(eof(arqprova)) do
        
        begin
    		 
        //7.1:
        readln(arqprova,respx); //ler a linha do arquivo
        //7.2:  
        val(copy(respx,1,4),GabProvaAluno.insc,e);
        GabProvaAluno.gab:=copy(respx,5,50);
        //end;
        
        //7.3:  
        //pebin1 (regi.num,respx,c,c_chave);
       
         //7.4:
         {
         seek(read.pf);
         }
    	  
         //7.5:
         //portugues
         begin
         totalu:=0;
    		 ce:=0;
    		 er:=0;     
         for a:= 1 to 24 do         
           if GabProvaAluno.gab[a]=gabc[a] then
             ce:=ce+4
           //else
           //GabProvaAluno.gab[a]=null then
          // br:=br+1
           else
             er:=er+1;          
           nota1:=ce;
           end;
          //matematica 
         begin  
         ce:=0;
    		 er:=0;     
         for a:= 25 to 50 do         
           if GabProvaAluno.gab[a]=gabc[a] then
             ce:=ce+4
           //else
           //GabProvaAluno.gab[a]=null then
           //br:=br+1
           else
             er:=er+1; 
           nota2:=ce;
           end;
        // writeln ( GabProvaAluno.insc,'   nota: ',nota,'   erros: ',er); 
        end;  
         
        //7.7:
        totalu:=totalu+1;
        notap:=nota1/totalu;
        notam:=nota2/totalu;
        //writeln('matematica:  ',notam,'  portugues:   ',notap);
        
        
         //7.8  7.8 se prova = 1, atualizar os campos nota1 e nota2; se prova =2, atualizar os campos
         // nota3, nota4 e soma
         
         {if prv:= 1 then
    		 write (arqui, } //?? 
         
         
        
        
        
        //7.9:
        {
        seek
        write(cand.ind)
        close (cand.ind)
        }
        
        //8:    
        {
        media:=0;
        }   
    		 
    END.

     

    o que devo fazer em 7.8 ?
    seria o rewrite? se sim não entendo como implementá-lo.
     

    //7.8  7.8 se prova = 1, atualizar os campos nota1 e nota2; se prova =2, atualizar os campos
         // nota3, nota4 e soma
         
         if prv = 1 then
         seek(arqi,reg.n1);
    	  write (arqi,reg);   //teste
    	  reg.n1:=(nota1);
    		
    	  end;  
         close (arqi);

     

    update:

    fiz mais algumas coisas.
     

    Spoiler
    
    Program T16N04 ;
    
    uses
    CRT, modulos;
    const
    gabaritoOficial = 'AAAAAAAAAAADACCCCCCEAAAAACCCCCAAAAADDDDDEADDDDEDDE';
    type
    regGabProvaAluno = record
      insc:integer;    //número de inscrição
      gab :string[50]; //gabarito da prova (do aluno)
    end;
    
    var
    reg:regis;
    GabProvaAluno :regGabProvaAluno;
    br,er,prv,media,mediam,nota,mediap:integer;
    prvum,arqprova,prvdo:text;
    gabc:string[50];
    corr,numx:integer;
    regi:regis;
    regii:regis;
    respx:string[54];
    resp :string[50];
    arqi:file of regis;
    nota1,nota2,ab, totalu,ce,c,a,z,e,tot,x:integer;
    vet:vetor;
    pagina,notap,notam:real;
    
    BEGIN
      
      //1:  Funciona
      assign(arqi,'cand.ind');
      reset(arqi);
      while not (eof(arqi)) do
      begin
        read(arqi,regi);
        c:=c+1;
        vet[c].pf:=c-1; //c=indice do vetor; c-1=posicao fisica no arquivo
        str(regi.num:4,vet[c].c_chave);
      end;
      
      
      //2:
      
      //3: funciona
      repeat
        writeln ('qual prova será corrigida, 1 ou 2 ?');
        readln (prv);
      until (prv=2) or (prv=1);
      
      //4: removido.
      
      //5: funciona
      if (prv=1) then
      assign(arqprova,'PROVA1.TXT')
      else
      if (prv=2) then
      assign(arqprova,'PROVA2.TXT');
      reset(arqprova);
      writeln(' ');
      
      //6: como faço pra ele arrumar apenas o que foi digitado errado? no mais ele funciona.
      {
      writeln ('digite o gabarito,apenas: a,b,c,d,e');
      for corr:= 1 to 10 do
      repeat
        z:=z+1;
        writeln (z,':');
        readln (gab[corr]);
      until (gab[corr]='a') or (gab[corr]='b') or (gab[corr]='c') or (gab[corr]='d') or (gab[corr]='e');
      }
      
      //7:
      gabc:=gabaritoOficial;
      
      while not(eof(arqprova)) do
      
      begin
        
        //7.1:
        readln(arqprova,respx); //ler a linha do arquivo
        //7.2:
        val(copy(respx,1,4),GabProvaAluno.insc,e);
        GabProvaAluno.gab:=copy(respx,5,50);
      //end;
      
      //7.3:
      //pebin1 (regi.num,respx,c,c_chave);
      
      //7.4:
      {
      seek(read.pf);
      }
      
      //7.5:
      //portugues
      begin
        totalu:=0;
        ce:=0;
        er:=0;
        br:=0;
        for a:= 1 to 24 do
        if GabProvaAluno.gab[a]=gabc[a] then
        ce:=ce+4
        //else
        //GabProvaAluno.gab[a]=null then
        // br:=br+1
        else
        er:=er+1;
        nota1:=ce;
      end;
      //matematica
      begin
        ce:=0;
        er:=0;
        for a:= 25 to 50 do
        if GabProvaAluno.gab[a]=gabc[a] then
        ce:=ce+4
        //else
        //GabProvaAluno.gab[a]=null then
        //br:=br+1
        else
        er:=er+1;
        nota2:=ce;
      end;
      // writeln ( GabProvaAluno.insc,'   nota: ',nota,'   erros: ',er);
      
      
      //7.7:
      {totalu:=totalu+1;
      notap:=nota1/totalu;
      notam:=nota2/totalu;}
      //writeln('matematica:  ',notam,'  portugues:   ',notap);
      
      
      //7.8  7.8 se prova = 1, atualizar os campos nota1 e nota2; se prova =2, atualizar os campos
      // nota3, nota4 e soma
      
      if prv = 1 then       //teste
      write (arqi,reg);
    	seek(arqi,reg.n1);
        
      reg.n1:=(nota1);
      
    end;
    close (arqi);
    
    
    
    
    //7.9:
    //pagina:=totalu mod 40 = 0;
    writeln (' relatorio correção - ordem inscricao         pagina');
    writeln (' num  nome                   portugues        matematica  ');
    writeln ('                            ce er br not     ce er br not');
    writeln (GabProvaAluno.insc,'       ',ce,er,br,nota1,'',ce,er,br,nota2);
    //8:
    totalu:=totalu+1;
      notap:=nota1/totalu;
      notam:=nota2/totalu;
      writeln('matematica:  ',notam,'  portugues:   ',notap);
    
    END.

     

     

  4. @Simon Viegas tem que desenvolver um programa para identar XP.

     

    Código:

    Spoiler
    
    Program TxN04 ;
    
    uses
      CRT, modulos;
    const
      gabaritoOficial = 'AAAAAAAAAAADACCCCCCEAAAAACCCCCAAAAADDDDDEADDDDEDDE';  
    type
      regGabProvaAluno = record
        insc:integer;    //número de inscrição
        gab :string[50]; //gabarito da prova (do aluno)
      end;
    
    var
     
      GabProvaAluno :regGabProvaAluno;
      br,er,prv,media,mediam,nota,mediap,notam,notap:integer;
      prvum,arqprova,prvdo:text;
      gabc:string[50];
      corr,numx:integer;
      regi:regis;
      regii:regis;
      respx:string[54];
      resp :string[50];
      arqi:file of regis;
      ce,c,a,z,e,tot,x:integer;
      vet:vetor;
    
    BEGIN
    
      //1:  Funciona
      assign(arqi,'cand.ind');
      reset(arqi);  
      while not (eof(arqi)) do
       begin
        read(arqi,regi);
        c:=c+1;
        vet[c].pf:=c-1; //c=indice do vetor; c-1=posicao fisica no arquivo
        str(regi.num:4,vet[c].c_chave);
    	 end;	    
      
      
      //2:
      
      //3: funciona  
      repeat
        writeln ('qual prova será corrigida, 1 ou 2 ?');
        readln (prv);
      until (prv=2) or (prv=1);
      
      //4: removido.
      
      //5: funciona  
      if (prv=1) then
        assign(arqprova,'PROVA1.TXT')
      else
        if (prv=2) then
          assign(arqprova,'PROVA2.TXT');
      reset(arqprova);
      writeln(' ');
      
      //6: como faço pra ele arrumar apenas o que foi digitado errado? no mais ele funciona.  
      {
      writeln ('digite o gabarito,apenas: a,b,c,d,e');
      for corr:= 1 to 10 do
      repeat
        z:=z+1;
        writeln (z,':');
        readln (gab[corr]);
      until (gab[corr]='a') or (gab[corr]='b') or (gab[corr]='c') or (gab[corr]='d') or (gab[corr]='e');
      }
      
     //7:
      gabc:=gabaritoOficial;
      while not(eof(arqprova)) do
        begin 
        //7.1:
        readln(arqprova,respx); //ler a linha do arquivo
        //7.2:  
        val(copy(respx,1,4),GabProvaAluno.insc,e);
        GabProvaAluno.gab:=copy(respx,5,50);
        //end;
        
        //7.3:  
        //pebin1 (regi.num,respx,c,c_chave);
       
         //7.4:
         {
         seek(read.pf);
         }
    	  
         //7.5:
    		 ce:=0;
    		 er:=0;     
         for a:= 1 to 24 do         
           if GabProvaAluno.gab[a]=gabc[a] then
             ce:=ce+4
           //else
           //GabProvaAluno.gab[a]=null then
           //br:=br+1
           else
             er:=er+1;          
        //7.6:        
        nota:=ce;
        writeln ( GabProvaAluno.insc,'   nota: ',nota,'   erros: ',er); 
        end;  
        
        //7.7:
        {
        notap= ?
        notam= ?
        }
        
        //7.8
        {
        ??? sei que tem que atualizar n1,n2,n3,n4,mas como?
        }
        
        //7.9:
        {
        seek
        write(cand.ind)
        close (cand.ind)
        }
        
        //8:    
        {
        media:=0;
        }   
    		 
    END.

     

    opa,agora tá dando certo. nota maxima:80.

     //7.5:
    		 ce:=0;
    		 er:=0;     
         for a:= 1 to 24 do         
           if GabProvaAluno.gab[a]=gabc[a] then
             ce:=ce+4
           //else
           //GabProvaAluno.gab[a]=null then //<======== 
           //br:=br+1
           else
             er:=er+1; 

    mas sabe porque essa linha não quer funcionar.

  5. bem, ignorando aquele problema:

    Código:

    Spoiler
    
    Program TxN04 ;
    
    uses
      CRT, modulos;
    const
      gabaritoOficial = 'AAAAAAAAAAADACCCCCCEAAAAACCCCCAAAAADDDDDEADDDDEDDE';  
    type
      regGabProvaAluno = record
        insc:integer;    //número de inscrição
        gab :string[50]; //gabarito da prova (do aluno)
      end;
    
    var
      GabProvaAluno :regGabProvaAluno;
      br,er,prv,media,mediam,nota,mediap,notam,notap:integer;
      prvum,arqprova,prvdo:text;
      gabc:string[50];
      corr,numx:integer;
      regi:regis;
      regii:regis;
      respx:string[54];
      resp :string[50];
      arqi:file of regis;
      ce,c,a,z,e,tot:integer;
      vet:vetor;
    
    BEGIN 
      //1:  Funciona
      assign(arqi,'cand.ind');
      reset(arqi);  
      while not (eof(arqi)) do
       begin
        read(arqi,regi);
        c:=c+1;
        vet[c].pf:=c-1; //c=indice do vetor; c-1=posicao fisica no arquivo
        str(regi.num:4,vet[c].c_chave);
    	 end;	    
      
      
      //2:
      
      //3: funciona  
      repeat
        writeln ('qual prova será corrigida, 1 ou 2 ?');
        readln (prv);
      until (prv=2) or (prv=1);
      
      //4: removido.
      
      //5: funciona  
      if (prv=1) then
        assign(arqprova,'PROVA1.TXT')
      else
        if (prv=2) then
          assign(arqprova,'PROVA2.TXT');
      reset(arqprova);
      writeln(' ');
      
      //6: como faço pra ele arrumar apenas o que foi digitado errado? no mais ele funciona.  
      {
      writeln ('digite o gabarito,apenas: a,b,c,d,e');
      for corr:= 1 to 10 do
      repeat
        z:=z+1;
        writeln (z,':');
        readln (gab[corr]);
      until (gab[corr]='a') or (gab[corr]='b') or (gab[corr]='c') or (gab[corr]='d') or (gab[corr]='e');
      }
      
      //7:
      gabc:=gabaritoOficial;
      while not(eof(arqprova)) do
      
        begin 
         //7.1:
         readln(arqprova,respx); //ler a linha do arquivo
         //7.2:  
         val(copy(respx,1,4),GabProvaAluno.insc,e);
         GabProvaAluno.gab:=copy(respx,5,50);
        //end;
        
      //7.3:  
      //pebin1 (regi.num,respx,c,c_chave);
      
      //7.4:
       {
       seek(read.pf);
       }
    	  
       //7.5:     
          for a:= 1 to 24 do         
           if GabProvaAluno.gab[a]=gabaritoOficial[a] then
           ce:=ce+4
       //  else
       //  GabProvaAluno.gab[a]=null then
       //  br:=br+1
           else
           er:=er+1;
              
          //7.6:      
          nota:=ce*4;
          writeln ( GabProvaAluno.insc,'   acertos: ',nota,'   erros: ',er); 
          end;   
        
        //x:=x+25;
        
        
        //7.7:
        {
        notap= ?
        notam= ?
        }
        
        //7.8
        {
        ??? sei que tem que atualizar n1,n2,n3,n4,mas como?
        }
        
        //7.9:
        {
        seek
        write(cand.ind)
        close (cand.ind)
        }
        
        //8:    
        {
        media:=0;
        }   
    		 
    END.



    aconteceu algo bem errado no resultado.

  6. @Simon Viegas  fiz o seguinte:
    Código:

    Spoiler
    
    Program TxN04 ;
    
    uses
      CRT, modulos;
    const
      gabaritoOficial = 'AAAAAAAAAAADACCCCCCEAAAAACCCCCAAAAADDDDDEADDDDEDDE';  
    type
      regGabProvaAluno = record
        insc:integer;    //número de inscrição
        gab :string[50]; //gabarito da prova (do aluno)
      end;
    
    var
      GabProvaAluno :regGabProvaAluno;
      br,er,prv,media,mediam,mediap,notam,notap:integer;
      prvum,arqprova,prvdo:text;
      gab:array[1..50] of string;
      corr,numx:integer;
      regi:regis;
      regii:regis;
      respx:string[54];
      resp :string[50];
      arqi:file of regis;
      ce,er,br,c,a,z,e,tot:integer;
      vet:vetor;
    
    BEGIN 
      //1:  Funciona
      assign(arqi,'cand.ind');
      reset(arqi);  
      while not (eof(arqi)) do
       begin
        read(arqi,regi);
        c:=c+1;
        vet[c].pf:=c-1; //c=indice do vetor; c-1=posicao fisica no arquivo
        str(regi.num:4,vet[c].c_chave);
    	 end;	    
      
      
      //2:
      
      //3: funciona  
      repeat
        writeln ('qual prova será corrigida, 1 ou 2 ?');
        readln (prv);
      until (prv=2) or (prv=1);
      
      //4: removido.
      
      //5: funciona  
      if (prv=1) then
        assign(arqprova,'PROVA1.TXT')
      else
        if (prv=2) then
          assign(arqprova,'PROVA2.TXT');
      reset(arqprova);
      writeln(' ');
      
      //6: como faço pra ele arrumar apenas o que foi digitado errado? no mais ele funciona.  
      {
      writeln ('digite o gabarito,apenas: a,b,c,d,e');
      for corr:= 1 to 10 do
      repeat
        z:=z+1;
        writeln (z,':');
        readln (gab[corr]);
      until (gab[corr]='a') or (gab[corr]='b') or (gab[corr]='c') or (gab[corr]='d') or (gab[corr]='e');
      }
      
      //7:
      while not(eof(arqprova)) do
        begin 
         //7.1:
         readln(arqprova,respx); //ler a linha do arquivo
         //7.2:  
         val(copy(respx,1,4),GabProvaAluno.insc,e);
         GabProvaAluno.gab:=copy(respx,5,50);
        end;
        
      //7.3:  
      //pebin1 (regi.num,respx,c,c_chave);
      
      //7.4:
       {
       seek(read.pf);
       }
    	  
       //7.5:    
       for a:= 1 to 24 do
         readln(GabProvaAluno.gab[a]);
          if GabProvaAluno.gab[a]=gabaritoOficial[a] then
          ce:=ce+4
          else
          GabProvaAluno.gab[a]=null then
          br:=br+1
          else
          er:=er+1;
       end;
        
        
        //7.6:
        
       { nota:=ce*4;
        writeln ( GabProvaAluno.insc,' ',nota);
        //x:=x+25;
        
        
        //7.7:
        {
        notap= ?
        notam= ?
        }
        
        //7.8
        {
        ??? sei que tem que atualizar n1,n2,n3,n4,mas como?
        }
        
        //7.9:
        {
        seek
        write(cand.ind)
        close (cand.ind)
        }
        
        //8:    
        {
        media:=0;
        }   
    		 
    END.

    porém dá erro na linha 95
    "erro sintático
    '=' não esperado!"

     //7.5:    
       for a:= 1 to 24 do
         readln(GabProvaAluno.gab[a]);
          if GabProvaAluno.gab[a]=gabaritoOficial[a] then
          ce:=ce+4
          else
          GabProvaAluno.gab[a]=null then  //<====== aqui
          br:=br+1
          else
          er:=er+1;
       end;

    não consigo achar o motivo.

  7. @Simon Viegas  :thumbsup:

     

    Program TxN04 ;
    
    uses
      CRT, modulos;
      
    type
      regGabProvaAluno = record
        insc:integer;    //número de inscrição
        gab :string[50]; //gabarito da prova (do aluno)
      end;
    
    var
      GabProvaAluno :regGabProvaAluno;
      br,er,prv,media,mediam,mediap,notam,notap:integer;
      prvum,arqprova,prvdo:text;
      gab:array[1..50] of string;
      corr,numx:integer;
      regi:regis;
      regii:regis;
      respx:string[54];
      resp :string[50];
      arqi:file of regis;
      c,a,z,e,tot:integer;
      vet:vetor;
    
    BEGIN 
      //1:  Funciona
      assign(arqi,'cand.ind');
      reset(arqi);  
      while not (eof(arqi)) do
        read(arqi,regi);
        c:=c+1;
        vet[c].pf:=c-1; //c=indice do vetor; c-1=posicao fisica no arquivo
        str(regi.num:4,vet[c].c_chave);    
      
      
      //2:
      
      //3: funciona  
      repeat
        writeln ('qual prova será corrigida, 1 ou 2 ?');
        readln (prv);
      until (prv=2) or (prv=1);
      
      //4: removido.
      
      //5: funciona  
      if (prv=1) then
        assign(arqprova,'PROVA1.TXT')
      else
        if (prv=2) then
          assign(arqprova,'PROVA2.TXT');
      reset(arqprova);
      writeln(' ');
      
      //6: como faço pra ele arrumar apenas o que foi digitado errado? no mais ele funciona.  
      {
      writeln ('digite o gabarito,apenas: a,b,c,d,e');
      for corr:= 1 to 10 do
      repeat
        z:=z+1;
        writeln (z,':');
        readln (gab[corr]);
      until (gab[corr]='a') or (gab[corr]='b') or (gab[corr]='c') or (gab[corr]='d') or (gab[corr]='e');
      }
      
      //7:
      while not(eof(arqprova)) do
        begin 
        //7.1:
        readln(arqprova,respx); //ler a linha do arquivo
        
      
      //7.2:  
      val(copy(respx,1,4),GabProvaAluno.insc,e);
      GabProvaAluno.gab:=copy(respx,5,50);
      
      writeln('inscricao: ',GabProvaAluno.insc,'    ','gabarito: ',GabProvaAluno.gab);
      
      end;
      //7.3:  
      {
      pebin1 ();
      }
      
      //7.4:
      {
      seek(read.pf);
      }
      
      //7.5:
      {
      for a:= a+x to x+24 do
        readln(gab[a]);
      repeat
        if gab[a]=resp[a+4] then
        
        else
          sf.(resp[a+4]=' ') then
        br:=br+1
        else
          er:=er+1;
        }
        
        //7.6:
        {
        nota:=ce*4;
        x:=x+25;
        }
        
        //7.7:
        {
        notap= ?
        notam= ?
        }
        
        //7.8
        {
        ??? sei que tem que atualizar n1,n2,n3,n4,mas como?
        }
        
        //7.9:
        {
        seek
        write(cand.ind)
        close (cand.ind)
        }
        
        //8:    
        {
        media:=0;
        }    
    END.


     

    • Curtir 1
  8. ops, tinha colocado no modulos pra testar e esqueci de retirar :P.
    arrumei:

     

    Program TxN04 ;
    
    uses crt,modulos;
    
    type
    regiis = record
    resp:string[50];
    end;
    
    
    
    var br,er,prv,media,mediam,mediap,notam,notap:integer;
    prvum,arqprova,prvdo:text;
    gab:array[1..50] of string;
    corr,numx:integer;
    regi:regis;
    regii:regis;
    respx:string[54];
    resp :string[50];
    arqi:file of regis;
    c,a,z,e,tot:integer;
    vet:vetor;
    
    
    Begin
      
      //1:  Funciona
      
      assign(arqi,'cand.ind');
      reset(arqi);
      
      repeat
        read(arqi,regi);
        c:=c+1;
        vet[c].pf:=c-1; //c=indice do vetor; c-1=posicao fisica no arquivo
        str(regi.num:4,vet[c].c_chave);
        
      until (eof(arqi));
      
      //2:
      
      //3: funciona
      
      repeat
        writeln ('qual prova será corrigida, 1 ou 2 ?');
        readln (prv);
      until (prv=2) or (prv=1);
      
      //4: funciona
      
      
      assign(arqi,'CAND.ind');
      reset(arqi);
      
      //5: funciona
      
      if (prv=1) then
      assign(arqprova,'PROVA1.TXT')
      else
      if (prv=2) then
      assign(arqprova,'PROVA2.TXT');
      reset(arqprova);
      writeln(' ');
      
      //6: como faço pra ele arrumar apenas o que foi digitado errado? no mais ele funciona.
      
      { writeln ('digite o gabarito,apenas: a,b,c,d,e');
      for corr:= 1 to 10 do
      repeat
        z:=z+1;
        writeln (z,':');
        readln (gab[corr]);
      until (gab[corr]='a') or (gab[corr]='b') or (gab[corr]='c') or (gab[corr]='d') or (gab[corr]='e'); }
      
      
      //7:
      while not(eof(arqprova)) do
      begin
        //7.1:
        readln(arqprova,respx); //ler a linha do arquivo
        
      end;
      
      //7.2:
      
      val(copy(respx,1,4),regi.num,e);
      regiis.resp:=copy(respx,5,50);
      
      //7.3:
      
     // pebin1 ();
      
      //7.4:
      
      //seek(read.pf);
      
      //7.5:
      
      {for a:= a+x to x+24 do
      readln (gab[a]);
      repeat
        if gab[a]=resp[a+4] then
        else
        sf.(resp[a+4]=' ') then
        br:=br+1
        else
        er:=er+1; }
        
        //7.6:
        
        {nota:=ce*4;
        x:=x+25;}
        
        //7.7:
        
        {notap= ?
        notam= ?}
        
        //7.8
        
        {??? sei que tem que atualizar n1,n2,n3,n4,mas como?}
        
        //7.9:
        
        {seek
        write(cand.ind)
        close (cand.ind)}
        
        //8:
        
        { media:=0;}
        
        
      End.

    agora se der:

    8 horas atrás, Lucas Pelepek disse:

    não sei para o que essas etapas:

     

    7.3 fazer pesquisa binária no vetor criado em 1 para descobrir a PF do num de inscr. Ver em MODULOS, quais informações de entrada e qual informação de saída da função que faz a pesquisa binária.

     

    7.4 posicionar no CAND.IND (seek-para posicionar) e ler o registo (READ)

    não deveriam vir depois?

     

  9. @Simon Viegas Bem,não sei o que fiz mas funcionou.

     

    Program TxN04 ;
    
    uses crt,modulos;
    
    
    
    
    
    var br,er,prv,media,mediam,mediap,notam,notap:integer;
    prvum,arqprova,prvdo:text;
    gab:array[1..50] of string;
    corr,numx:integer;
    regi:regis;
    regii:regis;
    respx:string[54];
    resp :string[50];
    arqi:file of regis;
    c,a,z,e,tot:integer;
    vet:vetor;
    
    
    Begin
      
      //1:  Funciona
      
      assign(arqi,'cand.ind');
      reset(arqi);
      
      repeat
        read(arqi,regi);
        c:=c+1;
        vet[c].pf:=c-1; //c=indice do vetor; c-1=posicao fisica no arquivo
        str(regi.num:4,vet[c].c_chave);
        
      until (eof(arqi));
      
      //2:
      
      //3: funciona
      
      repeat
        writeln ('qual prova será corrigida, 1 ou 2 ?');
        readln (prv);
      until (prv=2) or (prv=1);
      
      //4: funciona
      
      
      assign(arqi,'CAND.ind');
      reset(arqi);
      
      //5: funciona
      
      if (prv=1) then
      assign(arqprova,'PROVA1.TXT')
      else
      if (prv=2) then
      assign(arqprova,'PROVA2.TXT');
      reset(arqprova);
      writeln(' ');
      
      //6: como faço pra ele arrumar apenas o que foi digitado errado? no mais ele funciona.
      
      { writeln ('digite o gabarito,apenas: a,b,c,d,e');
      for corr:= 1 to 10 do
      repeat
        z:=z+1;
        writeln (z,':');
        readln (gab[corr]);
      until (gab[corr]='a') or (gab[corr]='b') or (gab[corr]='c') or (gab[corr]='d') or (gab[corr]='e'); }
      
      
      //7:
      while not(eof(arqprova)) do
      begin
        //7.1:
        readln(arqprova,respx); //ler a linha do arquivo
        
      end;
      
      //7.2:
      
      val(copy(respx,1,4),regi.num,e);
      regi.resp:=copy(respx,5,50);
      
      //7.3:
      
      pebin1 ();
      
      //7.4:
      
      seek(read.pf);
      
      //7.5:
      
      {for a:= a+x to x+24 do
      readln (gab[a]);
      repeat
        if gab[a]=resp[a+4] then
        else
        sf.(resp[a+4]=' ') then
        br:=br+1
        else
        er:=er+1; }
        
        //7.6:
        
        {nota:=ce*4;
        x:=x+25;}
        
        //7.7:
        
        {notap= ?
        notam= ?}
        
        //7.8
        
        {??? sei que tem que atualizar n1,n2,n3,n4,mas como?}
        
        //7.9:
        
        {seek
        write(cand.ind)
        close (cand.ind)}
        
        //8:
        
        { media:=0;}
        
        
      End.

    não sei para o que essas etapas:

     

    7.3 fazer pesquisa binária no vetor criado em 1 para descobrir a PF do num de inscr. Ver em MODULOS, quais informações de entrada e qual informação de saída da função que faz a pesquisa binária.

     

    7.4 posicionar no CAND.IND (seek-para posicionar) e ler o registo (READ)

    não deveriam vir depois?

  10. thanks, hahaha.
    tava usando o identador do pascalzim, mas pelo jeito ele edenta errado,farei certo nas próximas .
    bem, agora tá funcionado certinho.
    a próxima etapa era:

    7.2 retirar o número de inscrição,que são os 4 primeiros números.

    bem, como faço pra ele contar apenas do 4 em diante?

    seria o mesmo processo do T02?  

    jogar tudo em registro,nesse caso devo criar um novo,certo? ou aquele mesmo que já existe serve?.

     


    esses 4 números serão usados mais pra frente.

    • Curtir 1
  11. fiz como me disse e alterei: 

      //5: funciona
      
      if (prv=1) then
      x:=prvum;
      assign (prvum,'PROVA1.TXT');
      reset (prvum) ;
      if (prv=2) then
      x:=prvdo;
      assign (prvdo,'PROVA2.TXT');
      reset (prvdo);

    para:

      //5: funciona
      
      if (prv=1) then
      
      assign (arqprova,'PROVA1.TXT');
      reset (arqprova) ;
      writeln(' ');
      
      if (prv=2) then
      
      assign (arqprova,'PROVA2.TXT');
      reset (arqprova);
      writeln(' ');

    agora funciona,mas quando ele imprime na tela esse teste:

     //7:
      
      while not(eof(x)) do
      begin
        
        //7.1:
        for z:=1 to 54 do
        readln(x,respx[z]);
        writeln(respx[z]); // só pra testar
         end;

    sai o seguinte resultado:


    "
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    1
    1
    1
    1
    "

    o que aconteceu aqui?

     

    • Curtir 1
  12. @Simon Viegas

    Program TxN04 ;
    
    uses crt,modulos;
    
    
    
    var br,er,prv,media,mediam,mediap,notam,notap:integer;
    prvum,x,prvdo:text;
    gab:array[1..50] of string;
    corr,numx:integer;
    regi:regis;
    regii:regis;
    respx:string[54];
    resp:array[1..54] of string;
    arqi:file of regis;
    c,a,z,e,tot:integer;
    vet:vetor;
    
    
    Begin
      
      //1:  Funciona
      
      assign(arqi,'cand.ind');
      reset(arqi);
      
      repeat
        read(arqi,regi);
        c:=c+1;
        vet[c].pf:=c-1; //c=indice do vetor; c-1=posicao fisica no arquivo
        str(regi.num:4,vet[c].c_chave);
        
      until (eof(arqi));
      
      //2:
      
      //3: funciona
      
      repeat
        writeln ('qual prova será corrigida, 1 ou 2 ?');
        readln (prv);
      until (prv=2) or (prv=1);
      
      //4: funciona
      
      
      assign(arqi,'CAND.ind');
      reset(arqi);
      
      //5: funciona
      
      if (prv=1) then
      x:=prvum;
      assign (prvum,'PROVA1.TXT');
      reset (prvum) ;
      if (prv=2) then
      x:=prvdo;
      assign (prvdo,'PROVA2.TXT');
      reset (prvdo);
      
      //6: como faço pra ele arrumar apenas o que foi digitado errado? no mais ele funciona.
      
      { writeln ('digite o gabarito,apenas: a,b,c,d,e');
      for corr:= 1 to 10 do
      repeat
        z:=z+1;
        writeln (z,':');
        readln (gab[corr]);
      until (gab[corr]='a') or (gab[corr]='b') or (gab[corr]='c') or (gab[corr]='d') or (gab[corr]='e'); }
      
      
      //7:
      
      while not(eof(x)) do
      begin
        
        //7.1:
        for z:=1 to 54 do
        readln(x,respx[z]);
        writeln(respx[z]); //só pra testar
         end;
        
        //7.2:
        
        
        
        //7.3:
        
        { pebin1 ();}
        
        //7.4:
        
        {seek(read.pf);}
        
        //7.5:
        
        {for a:= a+x to x+24 do
        readln (gab[a]);
        repeat
          if gab[a]=resp[a+4] then
          else
          sf.(resp[a+4]=' ') then
          br:=br+1
          else
          er:=er+1; }
          
          //7.6:
          
          {nota:=ce*4;
          x:=x+25;}
          
          //7.7:
          
          {notap= ?
          notam= ?}
          
          //7.8
          
          {??? sei que tem que atualizar n1,n2,n3,n4,mas como?}
          
          //7.9:
          
          {seek
          write(cand.ind)
          close (cand.ind)}
          
          //8:
          
          {mediap:=notap/portugues ;
          mediam:=notam/matematicas; }
          
        
      End.

     

    bem,acabei fazendo isso para tentar arrumar,seguindo um fórum daqui mesmo.
     

     //7:
      
      while not(eof(x)) do
      begin
        
        //7.1:
        for z:=1 to 54 do
        readln(x,respx[z]);
        writeln(respx[z]); // só pra testar
         end;

    rodando o programa ele dá o erro quando chega no EOF

    "arquivo fechado no comando EOF".

    opa,não tinha visto sua ultima edição no post passado.

    tem que ser pra registro mesmo então.

    • Curtir 1
  13. hummm,não entendi muito bem,como você usou arq2 e reg2 presumo que tenha falado do ledir.pas ,mas o ledir não é pra ser alterado.

    bem, a primeira parte do Program TxN04  funciona,a maior duvida é do "7" pra frente.
    no 7.1 , tentei usar o x para qual prova deveria ser, mas ele fala que quer dados primitivos.
    no 7.8 eu não tenho a minima ideia,na verdade ,conhece algum bom tutorial de registros e coisas parecidas,estou bem perdido nesse assunto como pode perceber. 

  14. (trabalho da faculdade,tudo compilado usando pascalzim)

    boa dia/tarde/noite
     

    alguém poderia me dar uma luz em relação a este trabalho?

     

    Program TxN04 ;
    
    uses crt,modulos;
    
    var br,er,prv,media,mediam,mediap,notam,notap:integer;
    prvum,x,prvdo:text;
    gab:array[1..50] of string;
    corr:integer;
    regi:regis;
    resp:array[1..54] of string;
    arqi:file of regis;
    c,a,tot:integer;
    vet:vetor;
    
    Begin
      
      {Você receberá dois arquivos
      PROVA1.TXT = contém as respostas dos candidatos da primeira prova
      PROVA2.TXT = contém as respostas dos candidatos da segunda prova
      Ambos com as informações assim dispostas:
      01-04=inscrição;
      05-54=as 50 respostas (A,B,C,D,E, ou ESPAÇO (SEM RESPOSTA) OU * (MARCOU MAIS DE UMA
      OPÇÃO).}
      
      
    {1:Antes de tudo, criar o vetor, a partir de CAND.IND, contendo o número de inscrição no campo
    chave e a posição física ocupada pelo registro dentro do arquivo... (já foi feito este procedimento
    no exercício 3). PORQUE???}
    
    
    assign(arqi,'cand.ind');
    reset(arqi);
    
    repeat
      read(arqi,regi);
      c:=c+1;
      vet[c].pf:=c-1; //c=indice do vetor; c-1=posicao fisica no arquivo
      str(regi.num:4,vet[c].c_chave);
      
    until (eof(arqi));
    
    {2:Se você abriu o arquivo PROVA1.TXT ou PROVA2.TXT, verá que ambos estão em ordem de
    número de inscrição, que não é a ordem em que os registros de CAND.IND estão gravados.
    Como será necessário acessar o registro do candidato a partir do número de inscrição que está
    nos arquivos de provas. Então usaremos o vetor para a partir do número de inscrição contido
    nas respostas, descobrir qual a PF desta inscrição em CAND.IND, pois teremos que mostrar o
    nome do candidato no relatório e teremos que atualizar os campos nota1 e nota2, quando da
    correção da primeira prova e os campos nota3, nota4 e soma quando da correção da segunda
    prova.}
    
    
    
    {3:Perguntar qual prova será corrigida 1 ou 2??? (VALIDAR, o programa deve corrigir uma prova
    por vez).}
    
    
    repeat
      writeln ('qual prova será corrigida, 1 ou 2 ?');
      readln (prv);
    until (prv=2) or (prv=1);
    
    {4:Abrir o arquivo CAND.IND (RESET permite leitura e gravação)}
    
    
    assign(arqi,'CAND.ind');
    reset(arqi);
    
    {5:Se a opção for 1 para correção, abrir PROVA1.TXT; se a opção for 2, abrir PROVA2.TXT.}
    
    if (prv=1) then
    x:=prvum;
    assign (prvum,'PROVA1.TXT');
    reset (prvum) ;
    if (prv=2) then
    x:=prvdo;
    assign (prvdo,'PROVA2.TXT');
    reset (prvdo);
    
    {6. Ler o gabarito DO TECLADO, VALIDANDO (só pode ser A, B, C, D ou E) string[50]  }
    
    
    
    writeln ('digite o gabarito');
    
    repeat
      for corr:= 1 to 10 do
      readln (gab[corr]);
    until (gab[corr]='a') or (gab[corr]='b') or (gab[corr]='c') or (gab[corr]='d') or (gab[corr]='e');
    writeln ('lol');
    
    {7: Enquanto não fim do arquivo de prova  }
    
    
    while not(eof(x)) do
    begin
      
      {7.1: ler as respostas string[54]}
      
      read(x,regi);   //fala que quer dados primitivos!!
      
      
      {7.2:retirar o número de inscrição }
      
      resp:=[5..54];  ///????
      
      {7.3:  fazer pesquisa binária no vetor criado em 1 para descobrir a PF do num de inscr. Ver
      em MODULOS, quais informações de entrada e qual informação de saída da função
      que faz a pesquisa binária. }
      
      pebin1 ();
      
      {7.4: posicionar no CAND.IND (seek-para posicionar) e ler o registo (READ)  }
      
      seek(read.pf);
      
      {7.5: corrigir a prova}
      
      for a:= a+x to x+24 do
      readln (gab[a]);
      repeat
        if gab[a]=res[a+4] then
        ???
        else
        sf.(resp[a+4]=' ') then
        br:=br+1
        else
        er:=er+1;
        
        {7.6:calcular a nota}
        
        nota:=ce*4;
        x:=x+25;
        
        {7.7:somar a nota para cálculo da média}
        
        notap= ?
        notam= ?
        
        {7.8: se prova = 1, atualizar os campos nota1 e nota2; se prova =2, atualizar os campos
        nota3, nota4 e soma,no cand.ind}
        
        //??? sei que tem que atualizar n1,n2,n3,n4,mas como?
        
        {7.9: posicionar no CAND.IND (seek-para reposicionar) e gravar o registro (WRITE)}
        
        seek
        write(cand.ind)
        close (cand.ind)
        
        {8:mostrar as médias por disciplina...}
        
        mediap:=notap/portugues ;
        mediam:=notam/matematicas; }
        
      end;
    End.

    Ele requere (cand.ind,provas,Unit modulos);

    o que está obviamente errado é o que eu não consigo desenvolver.

     

    se alguém puder dar umas dicas.

    a saída desse arquivo é pra sair igual a primeira foto do pdf (usando o ledir).

    não sei se é permitido postar programas grandes como esse no fórum.

    obrigado desde já.

    programas necessarios.rar

    • Curtir 1

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!