Algoritmos de Vectores en Pascal: Inversión, Búsqueda y Patrones

Enviado por Programa Chuletas y clasificado en Inglés

Escrito el en español con un tamaño de 3,26 KB

Invertir un Vector

Este programa invierte el orden de los elementos en un vector de 10 elementos.

BEGIN
  writeln('Vamos a introducir 10 elementos en un vector');
  writeln;
  for i:=1 to 10 do
  begin
    write('Elemento ',i,': ');
    readln(v[i]);
  end;
  for i:=1 to 10 do
    w[10-i+1]:=v[i];
  CLRSCR;
  writeln('El vector original es: ');
  writeln;
  for i:= 1 to 10 do
    write(v[i]:5);
  writeln;
  writeln;
  writel('Y el resultante: ');
  writeln;
  for i:= 1 to 10 do
    write(w[i]:5);
  readln;
  readln;
END.

Buscar Número Negativo en un Vector

Este programa busca el primer número negativo en un vector de números reales.

Program EjemploVector;
const
  rango=10;
type
  vector=array[1..rango] of real;
var
  v:vector;
  i,n,pos:integer;
BEGIN
  writeln('Vamos a introducir números reales en un vector');
  writeln;
  write('Número de elementos del vector (Max ',rango,'): ');
  readln(n);
  writeln;
  for i:=1 to n do
  begin
    write('Elemento ',i,': ');
    readln(v[i]);
  end;
  pos:=0;
  repeat
    pos:=pos+1;
  until(v[pos]<0) or (pos=rango);
  writeln('El vector original es: ');
  writeln;
  for i:=1 to n do
    write(v[i]:7:1);
  writeln;
  writeln;
  if (v[pos]<0) then
  begin
    write('El primer elemento negativo es: ',v[pos]:0:1);
    writeln(', y ocupa la posición: ',pos);
  end
  else
    writeln('No hay elementos negativos');
  readln;
  readln;
END.

Detectar Caracteres Repetidos en un Vector

Este programa determina si hay caracteres repetidos en un vector de caracteres.

type
  vector=array[1..20] of char;
var
  v:vector;
  i,j,n:integer;
  repetido:boolean;
BEGIN
  repeat
    write('Número de elementos del vector (Max 20): ');
    readln(n);
  until (n>0) AND (n<=20);
  writeln;
  for i:=1 to n do
  begin
    write('Elemento ',i,': ');
    readln(v[i]);
  end;
  writeln('El vector original es: ');
  writeln;
  for i:=1 to n do
    write(v[i]:5);
  writeln;
  writeln;
  repetido:=false;
  for i:=1 to n-1 do
    for j:=i+1 to n do
      if v[i]=v[j] then
        repetido:=true;
  if repetido then
    write('Hay elementos repetidos')
  else
    writeln('No hay elementos repetidos');
  readln;
  readln;
END.

Patrón Numérico Escalonado

Este programa imprime un patrón numérico escalonado basado en un número impar positivo introducido por el usuario.

begin
  write('Introduce un número positivo impar: ');
  readln(num);
  medio:=num div 2+1;
  for i:=num downto medio do
  begin
    for j:=1 to num-i do
      write(' ');
    writeln(i);
  end;
  readln;
  readln;
end.

Posiciones de Números Mayores a un Valor Dado

Este programa encuentra y muestra las posiciones de los números en un vector que son mayores que un valor especificado por el usuario.

begin
  write('Introduce el número de elementos del vector: ');
  readln(n);
  write('Introduce la posición del número que elijas: ');
  readln(num);
  for i:=1 to n do
  begin
    write('Introduce el elemento ',i,' del vector: ');
    readln(v[i]);
  end;
  write('Las posiciones de los números mayores que ',v[num],' son: ');
  for i:=1 to n do
    if v[i]>v[num] then
      write(i:2);
  readln;
  readln;
end.

Entradas relacionadas: