You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
var
numero:integer;
v:vector;
begin
numero:=10;
v[4]:=numero;
end.
Lectura_Escritura
var
v:vector;
begin
readln(v[1);
writeln(v[1];
end.
Recorridos
Recorrido Total
Recorrido Parcial
Recorrido Parcial 2
var
v:vector;
i:integer;
beginfor i:=1to dimF do
writeln(v[i]);
end.
var//(Seguro Existe)
v:vector;
i:integer;
begin
i:=1;
while (v[i] <> 0) dobegin
writeln(v[i]);
i:=i+1;
end;
end.
var//(Puede no Existir)
v:vector;
i:integer;
begin
i:=1;
while (i <= dimF) and (v[i] <> 0) dobegin
i:=i+1;
end;
if (i <= dimF ) then
writeln ('Existe');
else
writeln ('No Existe');
end.
procedurePosicion_Determinada (var v:vector; var dimL:integer;elemento,pos:integer);
var
i:integer;
beginif (dimL < dimF) and ((pos >= 1) and (pos <= dimL)) thenbeginfor i:=dimL todownto pos to
v[i + 1] := v[i];
v[pos]:=elemento;
dimL:=dimL+1;
end;
end;
Manteniendo_Un_Orden
//Insertar un elemento en un vector ordenado de menor a mayorprocedureManteniendo_un_Orden (var v:vector; var dimL:integer;elemento:integer);
var
pos:integer;
beginif (dimL < dimF) thenbegin
pos:=BuscarPosicion(elemento,v,dimL);
Insertar(v,dimL,pos,elemento);
end;
end;
//__________________________________________________________________________________FunctionBuscarPosicion (x:integer;v:vector;dimL:integer):integer;
var
pos:=Integer;
begin
pos:=1;
while (pos <= dimL) and (x > v[pos]) do
pos:=pos + 1;
BuscarPosicion:=pos;
end;
//__________________________________________________________________________________ProcedureInsertar (var v:vector; var dimL:integer; pos: Indice; elem:integer);
var
i: indice;
beginfor i:= dimL downto pos do
v [i + 1] := v [i] ;
v [pos] := elem;
dimL := dimL + 1;
End;
Borrar_Elementos
En_Posición_Determinada
ProcedureBorrarPos (var v: vector; var dimL: integer; pos: posicion);
var
i: integer;
Beginif (pos >=1and pos <= dimL) thenbeginfor i:= pos + 1to dimL do
v [ i - 1 ] := v [ i ] ;
dimL := dimL - 1 ;
end;
End;
Elemento_Determinado
ProcedureBorrarElem (var v: vector; var dimL: integer; elem: integer);
var
pos: indice;
begin
pos:= BuscarPosElem (elem, v, dimL);
if (pos <> 0) thenbegin
BorrarPos (v, dimL, pos);
end;
end;
//__________________________________________________________________________________FunctionBuscarPosElem (x:integer; v:vector; dimL: integer): integer;
var
pos:integer;
exito: boolean;
Begin
pos:=1;
exito:= false;
while (pos <= dimL) and (not exito) dobeginif (x = v[pos]) then
exito:= true
else
pos:=pos+1;
end;
if (exito = false) then
pos:=0;
BuscarPosElem:= pos;
end;
//__________________________________________________________________________________ProcedureBorrarPos (var v:vector; var dimL:integer; pos:integer);
var
i: integer;
Beginfor i:= pos + 1to dimL do
v [ i - 1 ] := v [ i] ;
dimL := dimL - 1 ;
End;
Buscar_elemento
Busqueda_Lineal_o_Secuencial
FunctionBuscarPosElem (x:integer;v:vector;dimL:integer):integer;
var
pos:integer;
exito: boolean;
Begin
pos:=1;
exito:= false;
while (pos <= dimL) and (not exito) dobeginif (x = v[pos]) then
exito:= true
else
pos:=pos+1;
end;
if (exito = false) then
pos:=0;
BuscarPosElem:= pos;
end;
En_arreglos_ordenados
Secuencial_Optimizado
FunctionBuscoPosElemOrd (x:integer;v:Vector;dimL:integer):integer;
var
pos:integer;
Begin
pos:=1;
while (pos <= dimL) and (x > v[pos]) do
pos:=pos+1;
if ( pos > dimL ) or (x < v [pos]) then//Si me pase de la DimL del vector reincicio la posición
pos:=0; //y si el elemento es mas chico que el menor numero del vector, tambien reinicio.
BuscoPosElemOrd:= pos;
End;
Busqueda_Dicotomica
ProcedureBusquedaBin (var v: Vector; var pos:integer; dimL,x: integer);
Var
primero, ult, medio: integer;
Begin
pos :=0 ;
primero:= 1;
ult:= dimL;
medio := (primero + ult) div2 ;
While (primero <= ult) and (x <> v [medio].codigo) dobeginIf (x < v[medio].codigo) then
ult:= medio -1else
primero:= medio+1 ;
medio := (primero + ult) div2 ;
end;
If (primero <= ult) then
pos := medio
else
pos := 0;
End;
Corte_de_Control
ProcedureCorteDeControl(var v:vector;var dimL:integer);
var
numero:integer;
num_aux:Integer;
cantidad:integer;
begin
ReadLn(numero);
dimL:=0;
while ((numero <> -1) and (dimL < dimF)) dobegin
cantidad:=0;
num_aux:=numero;
while (numero = num_aux) dobegin
cantidad:=cantidad+1;
dimL:=dimL+1;
ReadLn(numero);
v[dimL]:=numero;
end;
WriteLn('La cantidad de',numero,' es ', cantidad);
end;
end;
Ordenación_por_Selección
ProcedureSeleccion ( var v: vector; dimL: Integer );
var
i, j, p: Integer;
item:integer;
beginfor i:=1to dimL-1dobegin{busca el mínimo y guarda en p la posición}
p := i;
for j := i+1to dimL doif v[ j ] < v[ p ] then p:=j;
{intercambia v[i] y v[p]}
item := v[ p ];
v[ p ] := v[ i ];
v[ i ] := item;
end;
end;
Ordenación_por_Inserción
ProcedureInsercion ( var v: vector; dimL: Integer );
var
i, j: Integer;
actual:integer;
begin
actual:=0;
for i:=2to dimL dobegin
actual:= v[i];
j:= i-1;
while (j > 0) and (v[j] > actual) dobegin
v[j+1]:= v[j];
j:=j-1;
end;
v[j+1]:= actual;
end;
end;