Untitled
unknown
pascal
4 years ago
3.1 kB
8
Indexable
program cap2ej4;
//empieza desde el 4 poruque siguen los numeros desde el 3 del cap 1
type
lista=^nodo;
nodo=record
dato:integer;
sig:lista;
end;
procedure agregarAt (var l:lista; num:integer);
var
ant,act,nue:lista;
begin
new(nue);
nue^.dato:=num;
nue^.sig:=nil;
if l=nil then
l:=nue
else
begin
act:=l;
ant:=l;
while (act<>nil) do
begin
ant:=act;
act:=act^.sig;
end;
ant^.sig:=nue;
end;
end;
procedure cargarDatos (var l:lista);
var
num:integer;
begin
writeln('Ingrese un numero');
readln(num);
while num<>-1 do
begin
agregarAt(l,num);
writeln('Ingrese un numero');
readln(num);
end;
end;
procedure imprimirDatos (l:lista);
begin
if l<>nil then
begin
writeln(l^.dato);
imprimirDatos(l^.sig);
end;
end;
procedure Minimo (l:lista;var min:integer);
begin
if(l<>nil)then
begin
if (l^.dato < min) then
min:=l^.dato;
Minimo(l^.sig,min);
end;
end;
function Min2(l:lista; var min:integer):integer;
begin
if(l<>nil)then
begin
if(l^.dato<min)then
min:=l^.dato;
Min2(l^.sig,min);
Min2:=min;
end;
end;
function min3 (l:lista):integer;
begin
if (l<>nil)then
begin
min3:=l^.dato;
if (min3(l^.sig) < min3(l))then
min3:=l^.dato;
l:=l^.sig;
end;
end;
function min4(l:lista):integer;
begin
end;
procedure encontr (l:lista; num:integer;var sino:boolean);
begin
if(l<>nil)and(l^.dato = num) then
begin
sino:=true;
end
else if (l<>nil) then
encontr(l^.sig,num,sino);
end;
function encontr3(l:lista; num:integer):boolean;
begin
if (l<>nil)then
begin
if(l^.dato = num)then
encontr3:=true
else
begin
if (encontr3(l^.sig, num)) then
encontr3:=true
else
encontr3:=false;
end;
end
else
encontr3:=false;
end;
//programa principal
var
l:lista;
min,num,max:integer;
sino:boolean;
begin
l:=nil;
cargarDatos(l);
imprimirDatos(l);
min:=32000;
Minimo(l,min);
writeln('Minimo: ',min);
min:=32000;
writeln('minimo2: ',Min2(l,min));
writeln('ingrese un numero para saber si esta ');
readln(num);
{if(encontrar(l,num)=true)then
writeln('Se encontro el numero ',num)
else
writeln('No se encontro el numero ',num);}
{ sino:=false;
encontr(l,num,sino);
if(sino)then
writeln('Se encontro el numero ',num)
else
writeln('No se encontro el numero ',num);
sino:=false;
}
if(encontr3(l,num))then
writeln('Se encontro el numero ',num)
else
writeln('No se encontro el numero ',num);
end.Editor is loading...