Está en la página 1de 2

Algoritmos y Estructuras de Datos

5.00
30.00
15.00
Ahora borro todo y grabo 5 en vez de 4
Se grabaron 5 reales a saber
10.00
20.00
30.00
40.00
50.00
Ahora leo, divido por 2 y grabo
Pero ahora quedaron 6 reales a saber
10.00
5.00
30.00
15.00
50.00
25.00

Si quiero que cada real quede dividido por 2, hago


Voy a grabar 4 reales
Se grabaron 4 reales a saber
10.00
20.00
30.00
40.00
Ahora leo, divido por 2 y grabo
Y lo que quedo grabado es
5.00
10.00
15.00
20.00
Pulse...

Vamos a hacer otro ejemplo:

Un grupo de amigos decide organizar un Quini4 (similar al Quini6 pero las apuestas son de cuatro
nmeros) no puede haber nmeros repetidos en las apuestas. Hacer un programa Pascal para:
- Leer todas las boletas (nmero de boleta, nombre del apostador, los cuatro nmeros de su
apuesta) e ir grabando cada boleta en c: \ apueq4.dat
- Informar cuantas boletas se grabaron
- Leer luego los cuatro nmeros sorteados
- Leer cada boleta de c: \ apueq4.dat y grabar cada boleta que tenga cuatro aciertos (es
decir, cada boleta ganadora) en c: \ gananq4.dat
- Para calcular la cantidad de aciertos usar una funcin aciertos
- Informar la cantidad de boletas ganadoras y listarlas

program quini4(input,output);
type v4=array[1..4] of integer;
apuesta=record nro:integer;
nom:string[6];
apu:v4

70
Algoritmos y Estructuras de Datos
program ArDeVec(input,output);
type v4=array[1..4] of integer;
var z:file of v4; i, j, k, sp, st:integer; v:v4;
begin assign(z,'c:\ArDV');rewrite(z);
for i:= 1 to 5 do
begin for j:= 1 to 4 do v[j]:= 10*(i-1) + j;
write(z,v)
end;
reset(z); writeln;
st:=0;
for i:= 1 to 5 do
begin read(z,v);
write('Vector',i:2);
sp:=0;
for j:= 1 to 4 do begin write(v[j]:4);
sp:=sp+v[j]
end;
writeln(' que suma',sp:4);
st:=st+sp
end;
writeln('y la suma total es',st:4,' ingrese un entero...');
read(k);
close(z)
end.

Finalmente hagamos un ejemplo con un archivo de matrices

Leer por filas tres matrices enteras de 2 filas y 4 columnas con el siguiente criterio:
leer cada matriz y grabarla en el archivo c:\ArDeMat.dat, el archivo quedar entonces con tres
registros, donde cada registro contendr una matriz se 2x4.
volver al principio del archivo, leer una a una las matrices, mostrarlas por filas en la pantalla,
indicando adems, que matriz es la que leen (el orden en que fue ingresada), el nmero del
registro y la suma de cada fila

program ArDeMat(input,output);
type m24=array[1..2,1..4] of integer;
var i, j, k, q, tf: integer; z: file of m24; m:m24;
begin assign(z,'c:\aldo\ArDeMat.dat'); rewrite(z);
for k:=1 to 3 do begin writeln('Ingrese una matriz por filas');
for i:=1 to 2 do for j:=1 to 4 do read(m[i,j]);
write(z,m)
end;
reset(z); k:=0;
while not eof(z) do begin q:= filepos(z); k:= k+1; read(z,m);
writeln('Matriz',k:2,' grabada en reg.',q:2);
for i:=1 to 2 do begin tf:=0;
for j:=1 to 4 do
begin tf:=tf+m[i,j];
write(m[i,j]:6)
end;
writeln(' fila',i:2,' suma',tf:6)
end
72

También podría gustarte