Skip to content

Commit 5c764e0

Browse files
committed
Solución Reto mouredev#1 Cobol
1 parent 61a2a99 commit 5c764e0

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
/*
2+
* Reto #1
3+
* ¿ES UN ANAGRAMA?
4+
* Fecha publicación enunciado: 03/01/22
5+
* Fecha publicación resolución: 10/01/22
6+
* Dificultad: MEDIA
7+
*
8+
* Enunciado: Escribe una función que reciba dos palabras (String) y retorne verdadero o falso (Boolean) según sean o no anagramas.
9+
* Un Anagrama consiste en formar una palabra reordenando TODAS las letras de otra palabra inicial.
10+
* NO hace falta comprobar que ambas palabras existan.
11+
* Dos palabras exactamente iguales no son anagrama.
12+
*
13+
*/
14+
IDENTIFICATION DIVISION.
15+
PROGRAM-ID. ANAGRAMA.
16+
DATA DIVISION.
17+
FILE SECTION.
18+
WORKING-STORAGE SECTION.
19+
77 CADENA1 PIC X(20).
20+
77 CADENA2 PIC X(20).
21+
77 CARACTER PIC X.
22+
77 CADENA4 PIC X(20).
23+
77 REPE PIC 9.
24+
77 CONTADOR PIC 9(2) VALUE 1.
25+
77 LONG1 PIC 9(2).
26+
77 LONG2 PIC 9(2).
27+
PROCEDURE DIVISION.
28+
MAIN-PROCEDURE.
29+
DISPLAY "INTRODUCE LA PRIMERA PALABRA: ".
30+
ACCEPT CADENA1.
31+
DISPLAY "INTRODUCE LA SEGUNDA PALABRA: ".
32+
ACCEPT CADENA4.
33+
IF CADENA1 = CADENA4
34+
DISPLAY "NO SON ANAGRAMAS"
35+
ELSE
36+
COMPUTE LONG1 = FUNCTION LENGTH
37+
(FUNCTION TRIM(CADENA1, TRAILING))
38+
COMPUTE LONG2 = FUNCTION LENGTH
39+
(FUNCTION TRIM(CADENA4, TRAILING))
40+
IF LONG1 NOT EQUAL LONG2
41+
DISPLAY "NO SON ANAGRAMAS"
42+
ELSE
43+
MOVE FUNCTION REVERSE(CADENA1) TO CADENA2
44+
IF CADENA2 = CADENA4
45+
DISPLAY "ANAGRAMAS"
46+
ELSE
47+
MOVE FUNCTION LENGTH(CADENA1) TO LONG1
48+
ADD 1 TO LONG1
49+
PERFORM UNTIL CONTADOR = LONG1
50+
MOVE CADENA1(CONTADOR:1) TO CARACTER
51+
INSPECT CADENA4 TALLYING REPE FOR ALL CARACTER
52+
REPLACING FIRST CARACTER BY SPACE
53+
ADD 1 TO CONTADOR
54+
MOVE 0 TO REPE
55+
END-PERFORM
56+
IF CADENA4 EQUAL SPACES
57+
DISPLAY "ANAGRAMAS"
58+
ELSE
59+
DISPLAY "NO SON ANAGRAMAS"
60+
END-IF
61+
END-IF
62+
END-IF
63+
END-IF.
64+
STOP RUN.
65+
END PROGRAM ANAGRAMA.

0 commit comments

Comments
 (0)