tp pascal
Publicado por Hernan1990 (6 intervenciones) el 26/05/2012 23:50:24
Buenas tardes, estoy con un tp de pascal y me quede muy trabado... trata de sacar la informacion de un archivo externo de la pc .txt . En el txt hay escritos numeros separados con un espacio dando a conocer info sobre las secciones(zonas) donde hay laboratorios que analizan bacterias y dan resultado positivo o negativo. En la consigna dice son 5 secciones, cada una con 4 laboratorios, cada una analiza 3 bacterias y obtiene pos o neg,,, cada lab analiza las mismas tres bacterias, osea serian 20 laboratorios en total y cada uno analiza 3 bacterias osea analisis totales son 60 , osea en el txt van a aparecer 60 filas cuyas columnas son 1)n_sec 2)n_lab 3)t_bac (cada lab tiene 1 - 2 -3) 4)rdo (resultado que es positivo o negativo). Me piden armar una matriz 3d, seria como un cubo, que tiene como dimensiones n_sec n_lab y t_bac y cada cuadradito adentro contiene o positivo o negativo...
la pregunta que me hacen es que porcentaje de laboratorios detectaron positivos en la bacteria 1. Mas o menos me doy una idea como hacerlo if t_bac=1 and rdo=positivo then (y hago una funcion para que sume, dsp divido por 20 labs y me da el porcentaje. El tema que no puedo llegar a plantear eso porque tengo mal toda la cargada de matriz...
Aca les dejo como lo fui armando pero da mil errores y todo mal:
program Untitled;
uses crt,dos;
type
datos=record
n_sec,n_lab,t_bac:integer;
rdo:string[4];
end;
M3=array[1..60,1..60,1..60] of integer;
var
rdo:string[4];
mat3d:M3;
arch:text;
n_sec,n_lab,t_bac:integer;
{aca puedo poner un procedure de carga}
begin
assign(arch,'c:\TPO.txt');
reset(arch);
while not eof(arch) do
begin
readln(arch,n_sec,n_lab,t_bac,mat3d[n_suc,n_lab,t_bac].rdo);
writeln(n_sec,n_lab,mat3d);
close(arch);
readkey
end;
end.
la pregunta que me hacen es que porcentaje de laboratorios detectaron positivos en la bacteria 1. Mas o menos me doy una idea como hacerlo if t_bac=1 and rdo=positivo then (y hago una funcion para que sume, dsp divido por 20 labs y me da el porcentaje. El tema que no puedo llegar a plantear eso porque tengo mal toda la cargada de matriz...
Aca les dejo como lo fui armando pero da mil errores y todo mal:
program Untitled;
uses crt,dos;
type
datos=record
n_sec,n_lab,t_bac:integer;
rdo:string[4];
end;
M3=array[1..60,1..60,1..60] of integer;
var
rdo:string[4];
mat3d:M3;
arch:text;
n_sec,n_lab,t_bac:integer;
{aca puedo poner un procedure de carga}
begin
assign(arch,'c:\TPO.txt');
reset(arch);
while not eof(arch) do
begin
readln(arch,n_sec,n_lab,t_bac,mat3d[n_suc,n_lab,t_bac].rdo);
writeln(n_sec,n_lab,mat3d);
close(arch);
readkey
end;
end.
Valora esta pregunta
0