jueves, 8 de diciembre de 2011
Ejercicio 8 (Arrays)
Plantee e implemente un programa en PASCAL que, mediante búsqueda secuencial, permita encontrar el menor y el mayor índice de donde se encuentra un valor dado X en un array de números enteros. El programa debe permitir al usuario introducir apropiadamente el array de números enteros y solicitarle el valor que desea encontrar.
PROGRAM ejercicio8(input,output);
(*Programa que permita introducir varios elementos en un array y que mediante una funcion permita buscar el primer numero y el ultimo y determine en que puesto se encuentra.*)
TYPE
TAarray = ARRAY[1..10] OF integer;
VAR
Aarray:TAarray;
u,p,a,numero:integer;
(********************************************************************************************************************************************************************************)
PROCEDURE leer;
VAR
I:integer;
BEGIN
I:=0;
writeln('Introduzca los terminos separados por espacios');
FOR I:=1 TO 10 DO
read(Aarray[I]); 1 2 3
END;
(************************************************************************************************************************************************************************************)
PROCEDURE buscar;
VAR
I,serepite,repeticiones:integer;
BEGIN
write('Que numero desea buscar?:');
read(numero);
repeticiones:=0;
serepite:=0;
FOR I:=1 TO 10 DO
BEGIN
IF numero = Aarray[I] THEN serepite:=1 ELSE serepite:=0;
repeticiones:= repeticiones+serepite;
END;
writeln('El numero ',numero:2,' se repite ',repeticiones:2,' veces.');
END;
(**************************************************************************************************************************************************************************************)
FUNCTION primero(numero:integer):integer;
VAR
I:integer;
BEGIN
FOR I:=10 DOWNTO 1 DO
IF numero = Aarray[I] THEN primero:=I;
END;
(**************************************************************************************************************************************************************************************)
FUNCTION ultimo(numero:integer):integer;
VAR
I:integer;
BEGIN
FOR I:=1 TO 10 DO
IF numero = Aarray[I] THEN ultimo:=I;
END;
(*******************************************************************************************************************************************************************************************)
BEGIN
leer;
REPEAT
buscar;
u:=ultimo(numero);
p:=primero(numero);
writeln('El numero ',numero:2,' aparece por primera vez en la posicion',p:2,' y por ultima vez en la posicion numero ',u:2);
write('Desea hacer otra busqueda? Si[1] No[0]');
read(a);
UNTIL a = 0;
END.
Ejemplo de ejecución
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario