Hola Visitante

Autor Tema: Paraula amagada (elefant)  (Leído 1478 veces)

Berni69

  • Administrator
  • *****
  • Mensajes: 25
    • Ver Perfil
Paraula amagada (elefant)
« en: Enero 28, 2010, 01:21:37 pm »
Enunciado del ejercicio

Código: [Seleccionar]
3. (3 punts) Donada una paraula direm que està “amagada” en
un text si està continguda en ell, no necessàriament de forma
continua per exemple la paraula “elefant” està amagada a la
frase “el seus germans fan tard”.
Escriure un programa tal que donada una paraula per paràmetre,
la cerqui a un text inserit per teclat. Com a resultat el programa
presentarà el missatge:
Paraula no trobada al text. O bé
Paraula amagada entre els
primers caràcters del text. A l’exemple:
Paraula elefant amagada entre els 21 primers
caràcters del text


Código: (ada) [Seleccionar]
WITH Ada.Text_IO, Ada.Integer_Text_IO;
USE Ada.Text_IO,Ada.Integer_Text_IO;
PROCEDURE Elefant IS
   TYPE Paraula IS ARRAY (1 .. 30) OF Character;
   Paraula1 : Paraula;
   C        : Character;
   Plong    : Integer;
   I        : Integer;
   N        : Integer;
   PROCEDURE Get (
         Paraula1 :    OUT Paraula;
         I        :    OUT Integer) IS
   BEGIN
      I:=1;
      Get(C);
      WHILE NOT End_Of_Line AND C/=' ' AND I<30 LOOP
         Paraula1(I):=C;
         Get(C);
         I:=I+1;
      END LOOP;
      Paraula1(I):=C;
      Skip_Line;
   END Get;
   PROCEDURE Put (
         Paraula1 : IN     Paraula;
         Plong    : IN     Integer) IS
   BEGIN
      FOR I IN 1..Plong LOOP
         Put(Paraula1(I));
      END LOOP;
   END Put;

BEGIN
   Put(\"insereix la paraula amagada a cercar\");
   New_Line;
   Get(Paraula1,Plong);
   New_Line;

   Put(\"Insereix el text per cercar-hi la paraula\");
   New_Line;
   Get(C);
   N:=1;
   I:=1;
   WHILE NOT End_Of_Line AND N<(Plong+1) LOOP
      IF C=Paraula1(N) THEN
         N:=N+1;
      END IF;
      I:=I+1;
      Get(C);
   END LOOP;

   IF C=Paraula1(N) THEN
      Put(\" La paraula \");
      Put(Paraula1,Plong);
      Put(\" està amagada als primers \");
      Put(I,1);
      Put(\" caràcters\");
   ELSE
      Put(\"La paraula \");
      Put(Paraula1,Plong);
      Put(\" no està amagada\");
   END IF;

END;