LENGUAJES DE PROGRAMACIÓN  
 
 
FreePascal

PASCAL CON FREE PASCAL

 
 

 

7.11. Respuestas a las preguntas y ejercicios.

 

anterior :: indice :: siguiente

 

1.

 

Un puntero es una variable que nos permite guardar una dirección de memoria.

 

2.

 

Es una variable que se puede crear cuando se las necesita y borrar cuando ya no se las necesita durante la ejecución del programa

 

3.

 

Sirve para obtener la dirección de memoria de una variable.

 

4.

 

Sólo se puede compilar A.

 

5.

 

Sirve para indicar que un puntero no tiene dirección de memoria.

 

6.

 

Sólo se puede compilar A.

 

7.

 

Es un tipo de dato puntero con un tipo de dato específico, que permite definir cómo será la variable dinámica cuando sea creada.

 

8.

 

Cree los siguientes programas que hizo en los Ejercicios del Capítulo 5.9, pero esta vez usando variables dinámicas:

   

 

Pregunta 5:

 

 

 

A)

 
{$codepage UTF8}
VAR VentasBrutas:integer;
    salario:double;
    n,c,i:integer;    
    contadores:^integer;    
BEGIN
 ReturnNilIfGrowHeapFails:=true;
 getmem(contadores,9*SizeOf(integer));
 if (contadores<>nil) then
 Begin 
     fillchar(contadores^,9*SizeOf(integer),0);
     Write('Ingrese numero de Vendedores : ');Readln(n);  
     For i:= 1 to n do
      Begin
        Write('Ventas Vendedor [',i,'] : ');Readln(VentasBrutas);
        Salario:=200+(0.09*VentasBrutas);
        if (salario>=200) and (salario<=299) then contadores[0]:=contadores[0]+1
        else if (salario<=399) then contadores[1]:=contadores[1]+1
        else if (salario<=499) then contadores[2]:=contadores[2]+1
        else if (salario<=599) then contadores[3]:=contadores[3]+1
        else if (salario<=699) then contadores[4]:=contadores[4]+1
        else if (salario<=799) then contadores[5]:=contadores[5]+1
        else if (salario<=899) then contadores[6]:=contadores[6]+1
        else if (salario<=999) then contadores[7]:=contadores[7]+1
        else contadores[8]:=contadores[8]+1;
      End;
     c:=200;
     For i:= 0 to 8 do
       Begin
         if c<>1000 then Writeln('[',c,'..',c+99,']: ',contadores[i])
                    else Writeln('[',c,'..]: ',contadores[i]);
         c:=c+100;
       End;
     freemem(contadores);  
 End
 Else Writeln('Falta Memoria');     
 Writeln('Presione enter para terminar ...');
 Readln
END.
   

B)

 

 
{$codepage UTF8}
VAR MA,MB,MR:^double;
    i,j,n:integer;
BEGIN 
  ReturnNilIfGrowHeapFails:=true; 
  Write('Introduzca longitud de la Matriz : ');
  Readln(n);
  getmem(MA,n*n*SizeOF(double));
  getmem(MB,n*n*SizeOF(double));
  getmem(MR,n*n*SizeOF(double));   
  if ((MA<>nil) and (MB<>nil) and (MR<>nil)) then
    Begin 
        Writeln('Ingrese datos de la primera Matriz : ');
        for i:= 0 to n-1 do
         Begin
          for j:=0 to n-1 do
            Begin
              Write('[',i+1,',',j+1,'] ');Read(MA[i*n+j]);       
            End;
          Writeln  
         End;   
        Writeln('Ingrese datos de la segunda Matriz : ');
        for i:= 0 to n-1 do
         Begin
          for j:=0 to n-1 do
            Begin
              Write('[',i+1,',',j+1,'] ');Read(MB[i*n+j]);       
            End;
            Writeln;
         End;     
        for i:= 0 to n-1 do
          for j:= 0 to n-1 do
              MR[i*n+j]:=MA[i*n+j]+MB[i*n+j];
              
        Writeln('Resulatdo de la suma ');      
        for i:= 0 to n-1 do
          Begin
           for j:= 0 to n-1 do
            Begin
              Write('[',i+1,',',j+1,'] : ',MR[i*n+j]:2:2,' ');
            End;
           Writeln;
          End;
        freemem(MA);  
        freemem(MB);
        freemem(MR);
    End
  Else Writeln('Falta Memoria');            
  Write('Presione Enter para terminar ...');
  Readln;
  Readln
END.
   

C)

 

 
{$codepage UTF8}
VAR MA,MB,MR:^double;
    i,j,k,n:integer;
BEGIN
  ReturnNilIfGrowHeapFails:=true;
  Write('Introduzca longitud de la Matriz : ');
  Readln(n);
  getmem(MA,n*n*SizeOF(double));
  getmem(MB,n*n*SizeOF(double));
  getmem(MR,n*n*SizeOF(double));
  if ((MA<>nil) and (MB<>nil) and (MR<>nil)) then
    Begin   
        Writeln('Ingrese datos de la primera Matriz : ');
        for i:= 0 to n-1 do
         Begin
          for j:=0 to n-1 do
            Begin
              Write('[',i+1,',',j+1,']');Read(MA[i*n+j]);
            End;
          Writeln
         End;
        Writeln('Ingrese datos de la segunda Matriz : ');
        for i:= 0 to n-1 do
         Begin
          for j:=0 to n-1 do
            Begin
              Write('[',i+1,',',j+1,']');Read(MB[i*n+j]);
            End;
            Writeln;
         End;
      
        for i:= 0 to n-1 do
          for j:= 0 to n-1 do
            Begin
              MR[i*n+j]:=0;
              for k:=0 to n-1 do
                MR[i*n+j]:=MR[i*n+j]+MA[i*n+k]*MB[k*n+j];
            End;
      
        Writeln('Resultado del producto');
        for i:= 0 to n-1 do
          Begin
           for j:= 0 to n-1 do
            Begin
              Write('[',i+1,',',j+1,'] : ',MR[i*n+j]:2:3);
            End;
           Writeln;
          End;
        freemem(MA);  
        freemem(MB);
        freemem(MR);          
    End
  Else Writeln('Falta Memoria');           
  Write('Presione Enter para terminar ...');
  Readln;
  Readln
END.
   

E)

 

 
{$codepage UTF8}
VAR Matriz:^integer;
    d1,d2,i,j :integer;
    posi1,posj1,posi2,posj2: integer;
    mayor : integer = -32768;
    menor : integer = 32767;
BEGIN
  ReturnNilIfGrowHeapFails:=true;
  Writeln('Ingrese dimensiones de la matriz (maximo m x n ): ');  
  Write('d1 : ');Readln(d1);
  Write('d2 : ');Readln(d2);
  
  getmem(Matriz,d1*d2*SizeOF(integer));
  if Matriz<>nil then  
    Begin
       Writeln('Ingrese datos a la matriz');
       for i:= 0 to d1-1 do
        for j:= 0 to d2-1 do
          Begin
            Write('matriz [',i+1,',',j+1,']');
            Readln(Matriz[i*d1+j]);
          End;
       Writeln('Matriz');
       for i:= 0 to d1-1 do
        Begin
          for j:= 0 to d2-1 do
            Write(Matriz[i*d1+j]:5);
            Writeln;  
        End; 
         
       for i:= 0 to d1-1 do
        for j:= 0 to d2-1 do
          Begin
            if matriz[i*d1+j] > mayor then Begin
                                        posi1:=i;
                                        posj1:=j;
                                        mayor:=matriz[i*d1+j];
                                      End;  
            if matriz[i*d1+j] < menor then Begin                                        
                                        menor:=matriz[i*d1+j];
                                        posi2:=i;
                                        posj2:=j;
                                      End;  
          End;
       Writeln('El mayor es : [',posi1+1,',',posj1+1,'] = ',mayor);
       Writeln('El menor es : [',posi2+1,',',posj2+1,'] = ',menor);
       FreeMem(Matriz)
     End
  else Writeln('Falta Memoria');  
  Writeln('Presione Enter para terminar ...');
  Readln
END.  
     

G)

 

 
{$codepage UTF8}
VAR  ni,hi,NiMenorQ,NiMayorQ,HiMenorQ,HiMayorQ:^real;     
     n,i:integer;
     Tni:real = 0;  
BEGIN 
  ReturnNilIfGrowHeapFails:=true;  
  Write('Ingrese numero de datos : ');readln(n);
  getmem(ni,n*SizeOF(real));
  getmem(hi,n*SizeOF(real));
  getmem(NiMenorQ,n*SizeOF(real));
  getmem(NiMayorQ,n*SizeOF(real));
  getmem(HiMenorQ,n*SizeOF(real));
  getmem(HiMayorQ,n*SizeOF(real));
  if ((ni<>nil) and (hi<>nil) and (NiMenorQ<>nil) and (NiMenorQ<>nil) and
      (NiMayorQ<>nil) and (HiMenorQ<>nil) and (HiMayorQ<>nil)) then
     Begin
        for i:= 0 to  n-1 do
         Begin
           Write('ni[',i+1,'] '); readln(ni[i]);
           Tni+=ni[i];
         End;
        
        //Frecuencia Relativa hi
        for i:= 0 to n-1 do  hi[i]:=ni[i]/Tni;    
          
        //Frecuencia Absoluta Acumulada Menor Que Ni
        NiMenorQ[0]:=ni[0];
        for i:=1 to n-1 do  NiMenorQ[i]:=NiMenorQ[i-1]+ni[i];
        
        //Frecuencia Absoluta Acumulada Mayor Que Ni*
        NiMayorQ[0]:=Tni;
        for i:=1 to n-1 do  NiMayorQ[i]:=NiMayorQ[i-1]-ni[i-1];  
        
        //Frecuencia Relativa Acumulada Menor Que Hi
        HiMenorQ[0]:=hi[0];
        for i:=1 to n-1 do  HiMenorQ[i]:=HiMenorQ[i-1]+hi[i];
      
        //Frecuencia Relativa Acumulada Mayor Que Hi*
        HiMayorQ[0]:=1;
        for i:=1 to n-1 do  HiMayorQ[i]:=HiMayorQ[i-1]-hi[i-1];    
        
        Writeln('     ni      hi      Ni      Ni*     Hi      Hi*');
        for i:=0 to n-1 do 
          Writeln(ni[i]:8:2,hi[i]:8:2,NiMenorQ[i]:8:2,
          NiMayorQ[i]:8:2,HiMenorQ[i]:8:2,HiMayorQ[i]:8:2);       
        Writeln;
        freemem(ni);         
        freemem(hi);
        freemem(NiMenorQ);
        freemem(NiMayorQ);
        freemem(HiMenorQ);
        freemem(HiMayorQ);
     End
  else Writeln('Falta Memoria');        
  Writeln('Presione Enter para terminar ...');Readln
END.  
     

H)

 

 
{$codepage UTF8}
USES math;
VAR numeros:^boolean;
    i,j,m,n:word; 
BEGIN
 ReturnNilIfGrowHeapFails:=true;
 Write('Ingrese un numero : ');readln(n);
 n:=n+1;
 getmem(numeros,n);
 
 if numeros<>nil then
  Begin   
   fillchar(numeros^,n,1);  //1 es true, 0 es false
    
   m:=trunc(n**(1/2));
   
   for i:=2 to m do
     if numeros[i] then for j:=2 to n div i do numeros[i*j]:=false;
     
   for i:=1 to n-1 do if numeros[i] then writeln(i:4);
  End
 else Writeln('Falta Memoria');      
END.  
   

 

Pregunta 7

 

   

D)

 

 
{$codepage UTF8}
TYPE TPersona = Record
                 Nombre       : String;
                 Edad         : String;
                 Sexo         : Char;
                 altura       : double;
                 colorpiel    : String;
                 colorojos    : String;
                 nacionalidad : String;
                 region       : String;
               End;
VAR personas : ^TPersona;
    i,j,n:integer;    
    aux:Tpersona;
BEGIN  
  ReturnNilIfGrowHeapFails:=true;
  Write('Ingrese numero de registros a procesar : ');Readln(n);
  getmem(personas,n*SizeOf(TPersona));
  if (personas<>nil) then
    Begin
        for i:=0 to n-1 do
          Begin
            Writeln('Registro #',i+1);
            Write('Nombre       : ');Readln(personas[i].Nombre);
            Write('Edad         : ');Readln(personas[i].Edad);
            Write('Sexo         : ');Readln(personas[i].Sexo);
            Write('Altura       : ');Readln(personas[i].Altura);
            Write('Color Piel   : ');Readln(personas[i].ColorPiel);
            Write('Color Ojos   : ');Readln(personas[i].ColorOjos);
            Write('Nacionalidad : ');Readln(personas[i].Nacionalidad);
            Write('Region       : ');Readln(personas[i].Region);
          End;
          
        Writeln('ordenando');  
        For i:=1 to n-1 do  
          Begin
             aux:=personas[i];
             j:=i-1;
             While ( (j>=0) and (personas[j].Nombre>aux.Nombre) ) do 
                Begin
                   personas[j+1]:= personas[j]; 
                   j := j - 1;                    
                End;
              personas[j+1]:=aux; 
          End;  
        
        Writeln('Mostrando arreglo ordenado');
        for i:=0 to n-1 do
          Begin
            Writeln('Registro #',i);
            Writeln('Nombre       : ',personas[i].Nombre);
            Writeln('Edad         : ',personas[i].Edad);
            Writeln('Sexo         : ',personas[i].Sexo);
            Writeln('Altura       : ',personas[i].Altura:4:2);
            Writeln('Color Piel   : ',personas[i].ColorPiel);
            Writeln('Color Ojos   : ',personas[i].ColorOjos);
            Writeln('Nacionalidad : ',personas[i].Nacionalidad);
            Writeln('Region       : ',personas[i].Region);
          End;
     End
  Else Writeln('Falta Memoria');      
  Writeln('Presione enter para terminar ...');
  Readln;  
END. 
     

9.

 

Cree los siguientes programas que hizo en los Ejercicios del Capítulo 5.9, pero esta vez usando arreglos dinámicos:

   

 

Pregunta 5:

 

   

A)

 
{$codepage UTF8}
VAR VentasBrutas:integer;
    salario:double;
    n,c,i:integer;    
    contadores:array of integer;    
BEGIN

 SetLength(contadores,9);
 if (contadores<>nil) then
 Begin 
	 fillword(contadores[0],9,0);
     Write('Ingrese numero de Vendedores : ');Readln(n);  
     For i:= 1 to n do
      Begin
        Write('Ventas Vendedor [',i,'] : ');Readln(VentasBrutas);
        Salario:=200+(0.09*VentasBrutas);
        if (salario>=200) and (salario<=299) then contadores[0]:=contadores[0]+1
        else if (salario<=399) then contadores[1]:=contadores[1]+1
        else if (salario<=499) then contadores[2]:=contadores[2]+1
        else if (salario<=599) then contadores[3]:=contadores[3]+1
        else if (salario<=699) then contadores[4]:=contadores[4]+1
        else if (salario<=799) then contadores[5]:=contadores[5]+1
        else if (salario<=899) then contadores[6]:=contadores[6]+1
        else if (salario<=999) then contadores[7]:=contadores[7]+1
        else contadores[8]:=contadores[8]+1;
      End;
     c:=200;
     For i:= 0 to 8 do
       Begin
         if c<>1000 then Writeln('[',c,'..',c+99,']: ',contadores[i])
                    else Writeln('[',c,'..]: ',contadores[i]);
         c:=c+100;
       End;     
 End; 
 Writeln('Presione enter para terminar ...');
 Readln
END.
   

B)

 

 
{$codepage UTF8}
VAR MA,MB,MR:array of array of double;
    i,j,n:integer;
BEGIN 
  
  Write('Introduzca longitud de la Matriz : ');
  Readln(n);
  SetLength(MA,n,n);   
  SetLength(MB,n,n);   
  SetLength(MR,n,n);   
  if ((MA<>nil) and (MB<>nil) and (MR<>nil)) then
    Begin 
        Writeln('Ingrese datos de la primera Matriz : ');
        for i:= 0 to n-1 do
         Begin
          for j:=0 to n-1 do
            Begin
              Write('[',i+1,',',j+1,'] ');Read(MA[i,j]);       
            End;
          Writeln  
         End;   
        Writeln('Ingrese datos de la segunda Matriz : ');
        for i:= 0 to n-1 do
         Begin
          for j:=0 to n-1 do
            Begin
              Write('[',i+1,',',j+1,'] ');Read(MB[i,j]);       
            End;
            Writeln;
         End;     
        for i:= 0 to n-1 do
          for j:= 0 to n-1 do
              MR[i,j]:=MA[i,j]+MB[i,j];
              
        Writeln('Resulatdo de la suma ');      
        for i:= 0 to n-1 do
          Begin
           for j:= 0 to n-1 do
            Begin
              Write('[',i+1,',',j+1,'] : ',MR[i,j]:2:2,' ');
            End;
           Writeln;
          End;
    End;  
  Write('Presione Enter para terminar ...');
  Readln;
  Readln
END.
   

C)

 

 
{$codepage UTF8}
VAR MA,MB,MR:array of array of double;
    i,j,k,n:integer;
BEGIN
  ReturnNilIfGrowHeapFails:=true;
  Write('Introduzca longitud de la Matriz : ');
  Readln(n);
  SetLength(MA,n,n);
  SetLength(MB,n,n);
  SetLength(MR,n,n);
  if ((MA<>nil) and (MB<>nil) and (MR<>nil)) then
    Begin   
        Writeln('Ingrese datos de la primera Matriz : ');
        for i:= 0 to n-1 do
         Begin
          for j:=0 to n-1 do
            Begin
              Write('[',i+1,',',j+1,']');Read(MA[i,j]);
            End;
          Writeln
         End;
        Writeln('Ingrese datos de la segunda Matriz : ');
        for i:= 0 to n-1 do
         Begin
          for j:=0 to n-1 do
            Begin
              Write('[',i+1,',',j+1,']');Read(MB[i,j]);
            End;
            Writeln;
         End;
      
        for i:= 0 to n-1 do
          for j:= 0 to n-1 do
            Begin
              MR[i,j]:=0;
              for k:=0 to n-1 do
                MR[i,j]:=MR[i,j]+MA[i,k]*MB[k,j];
            End;
      
        Writeln('Resultado del producto');
        for i:= 0 to n-1 do
          Begin
           for j:= 0 to n-1 do
            Begin
              Write('[',i+1,',',j+1,'] : ',MR[i,j]:2:3);
            End;
           Writeln;
          End;        
    End;  
  Write('Presione Enter para terminar ...');
  Readln;
  Readln
END.
   

E)

 

 
{$codepage UTF8}
VAR
    Matriz: array of array of integer;
    d1,d2,i,j :integer;
    posi1,posj1,posi2,posj2: integer;
    mayor : integer = -32768;
    menor : integer = 32767;
BEGIN
  
  Writeln('Ingrese dimensiones de la matriz (maximo m x n ): ');  
  Write('d1 : ');Readln(d1);
  Write('d2 : ');Readln(d2);
  
  SetLength(Matriz,d1,d2);
  
  if Matriz<>nil then  
    Begin
       Writeln('Ingrese datos a la matriz');
       for i:= 0 to d1-1 do
        for j:= 0 to d2-1 do
          Begin
            Write('matriz [',i+1,',',j+1,']');
            Readln(Matriz[i,j]);
          End;
       Writeln('Matriz');
       for i:= 0 to d1-1 do
        Begin
          for j:= 0 to d2-1 do
            Write(Matriz[i,j]:5);
            Writeln;  
        End; 
         
       for i:= 0 to d1-1 do
        for j:= 0 to d2-1 do
          Begin
            if matriz[i,j] > mayor then Begin
                                        posi1:=i;
                                        posj1:=j;
                                        mayor:=matriz[i,j];
                                      End;  
            if matriz[i,j] < menor then Begin                                        
                                        menor:=matriz[i,j];
                                        posi2:=i;
                                        posj2:=j;
                                      End;  
          End;
       Writeln('El mayor es : [',posi1+1,',',posj1+1,'] = ',mayor);
       Writeln('El menor es : [',posi2+1,',',posj2+1,'] = ',menor);       
     End;  
  Writeln('Presione Enter para terminar ...');
  Readln
END.    
     

G)

 

 
{$codepage UTF8}
VAR  ni,hi,NiMenorQ,NiMayorQ,HiMenorQ,HiMayorQ:array of real;     
     n,i:integer;
     Tni:real = 0;  
BEGIN 
  ReturnNilIfGrowHeapFails:=true;  
  Write('Ingrese numero de datos : ');readln(n);
  SetLength(ni,n);
  SetLength(hi,n);
  SetLength(NiMenorQ,n);
  SetLength(NiMayorQ,n);
  SetLength(HiMenorQ,n);
  SetLength(HiMayorQ,n); 
  if ((ni<>nil) and (hi<>nil) and (NiMenorQ<>nil) and (NiMenorQ<>nil) and
      (NiMayorQ<>nil) and (HiMenorQ<>nil) and (HiMayorQ<>nil)) then
     Begin
        for i:= 0 to  n-1 do
         Begin
           Write('ni[',i+1,'] '); readln(ni[i]);
           Tni+=ni[i];
         End;
        
        //Frecuencia Relativa hi
        for i:= 0 to n-1 do  hi[i]:=ni[i]/Tni;    
          
        //Frecuencia Absoluta Acumulada Menor Que Ni
        NiMenorQ[0]:=ni[0];
        for i:=1 to n-1 do  NiMenorQ[i]:=NiMenorQ[i-1]+ni[i];
        
        //Frecuencia Absoluta Acumulada Mayor Que Ni*
        NiMayorQ[0]:=Tni;
        for i:=1 to n-1 do  NiMayorQ[i]:=NiMayorQ[i-1]-ni[i-1];  
        
        //Frecuencia Relativa Acumulada Menor Que Hi
        HiMenorQ[0]:=hi[0];
        for i:=1 to n-1 do  HiMenorQ[i]:=HiMenorQ[i-1]+hi[i];
      
        //Frecuencia Relativa Acumulada Mayor Que Hi*
        HiMayorQ[0]:=1;
        for i:=1 to n-1 do  HiMayorQ[i]:=HiMayorQ[i-1]-hi[i-1];    
        
        Writeln('     ni      hi      Ni      Ni*     Hi      Hi*');
        for i:=0 to n-1 do 
          Writeln(ni[i]:8:2,hi[i]:8:2,NiMenorQ[i]:8:2,
          NiMayorQ[i]:8:2,HiMenorQ[i]:8:2,HiMayorQ[i]:8:2);       
        Writeln;
     End;  
  Writeln('Presione Enter para terminar ...');Readln
END.  
     

H)

 

 
{$codepage UTF8}
USES math;
VAR numeros:array of boolean;
    i,j,m,n:word; 
BEGIN

 Write('Ingrese un numero : ');readln(n);
 n:=n+1;
 SetLength(numeros,n);
 
 if numeros<>nil then
  Begin   
   fillchar(numeros[0],n,1);  //1 es true, 0 es false
    
   m:=trunc(n**(1/2));
   
   for i:=2 to m do
     if numeros[i] then for j:=2 to n div i do numeros[i*j]:=false;
     
   for i:=1 to n-1 do if numeros[i] then writeln(i:4);
  End 
END.    
   

 

Pregunta 7

 

   

D)

 

 
{$codepage UTF8}
TYPE TPersona = Record
                 Nombre       : String;
                 Edad         : String;
                 Sexo         : Char;
                 altura       : double;
                 colorpiel    : String;
                 colorojos    : String;
                 nacionalidad : String;
                 region       : String;
               End;
VAR personas : array of TPersona;
    i,j,n:integer;    
    aux:Tpersona;
BEGIN  
  
  Write('Ingrese numero de registros a procesar : ');Readln(n);
  SetLength(personas,n);
  if (personas<>nil) then
    Begin
        for i:=0 to n-1 do
          Begin
            Writeln('Registro #',i+1);
            Write('Nombre       : ');Readln(personas[i].Nombre);
            Write('Edad         : ');Readln(personas[i].Edad);
            Write('Sexo         : ');Readln(personas[i].Sexo);
            Write('Altura       : ');Readln(personas[i].Altura);
            Write('Color Piel   : ');Readln(personas[i].ColorPiel);
            Write('Color Ojos   : ');Readln(personas[i].ColorOjos);
            Write('Nacionalidad : ');Readln(personas[i].Nacionalidad);
            Write('Region       : ');Readln(personas[i].Region);
          End;
          
        Writeln('ordenando');  
        For i:=1 to n-1 do  
          Begin
             aux:=personas[i];
             j:=i-1;
             While ( (j>=0) and (personas[j].Nombre>aux.Nombre) ) do 
                Begin
                   personas[j+1]:= personas[j]; 
                   j := j - 1;                    
                End;
              personas[j+1]:=aux; 
          End;  
        
        Writeln('Mostrando arreglo ordenado');
        for i:=0 to n-1 do
          Begin
            Writeln('Registro #',i);
            Writeln('Nombre       : ',personas[i].Nombre);
            Writeln('Edad         : ',personas[i].Edad);
            Writeln('Sexo         : ',personas[i].Sexo);
            Writeln('Altura       : ',personas[i].Altura:4:2);
            Writeln('Color Piel   : ',personas[i].ColorPiel);
            Writeln('Color Ojos   : ',personas[i].ColorOjos);
            Writeln('Nacionalidad : ',personas[i].Nacionalidad);
            Writeln('Region       : ',personas[i].Region);
          End;
     End;       
  Writeln('Presione enter para terminar ...');
  Readln;  
END.

 

   

10.

 

Cree la siguiente Unidad :

 

 

Haga clic para descargar el archivo (OpMat.zip)

     

anterior :: indice :: siguiente

 

 
 

  SUGERENCIAS