While Caracter/='.' Loop
Contador1:Contador1+1;
Contador2:Contador2+1;
Contador3:Contador3+1;
Contador4:Contador4+1;
End Loop;
xgc1986 escribió:el bucle no tendria que ser mientras es distinto de '\n'? o el ejercicio te dice que es un punto?
WITH Ada.Integer_Text_IO;USE Ada.Integer_Text_IO;
WITH Ada.Text_Io;USE Ada.Text_IO;
PROCEDURE Glosa is
TYPE Contador_Versos IS ARRAY (1..4) OF Integer;
Caracter:Character;
BEGIN
PUT("Analitzador de Gloses 0.1 alfa. Per favor, introdueix els tres primers versos afegint al final de cada vers el caracter '*' i el darrer amb punt. Accentuar la silaba tonica de la darrera paraula.");
GET(Caracter);
FOR Contador IN 1..4 LOOP
WHILE Caracter/='.' LOOP
Contador_Versos:=Contador_Versos+1;
END LOOP;
END LOOP;
Get(CARACTER);
PUT(Contador);
END Glosa;
WITH Ada.Integer_Text_IO;USE Ada.Integer_Text_IO;
WITH Ada.Text_Io;USE Ada.Text_IO;
PROCEDURE Glosa is
TYPE Contador_Versos IS ARRAY (1..4) OF Integer;
Caracter:Character;
BEGIN
PUT("Analitzador de Gloses 0.1 alfa. Per favor, introdueix els tres primers versos afegint al final de cada vers el caracter '*' i el darrer amb punt. Accentuar la silaba tonica de la darrera paraula.");
GET(Caracter);
FOR Contador_Versos IN 1..4 LOOP
WHILE Caracter/='.' OR Caracter/='*' LOOP
Contador_Versos(I):=Contador_Versos(I)+1;
Get(Caracter);
END LOOP;
END LOOP;
Get(CARACTER);
PUT(Contador_Versos(1));
END Glosa;glosa.adb:1:09: warning: no entities of "Integer_Text.IO" are referenced
glosa.adb:12:10: array type required in indexed component
glosa.adb: array type required in indexed component
glosa.adb:12:46: "I" is undefined (more references follow)
glosa.adb:17:04: no candidate interpretacions match the actuals:
glosa.adb:17:04: missing argument for parameter "Item" in call to "Put" declared at a-tiinio.ads:78, instance at a-inteio.ads:18
glosa.adb:17:04: missing argument for parameter "Item" in call to "Put" declared at a-tiinio.ads:62, instance at a-indeio.ads:18
glosa.adb:17:04: missing argument for parameter "Item" in call to "Put" declared at a-textio.ads:244
glosa.adb:17:04: missing argument for parameter "Item" in call to "Put" declared at a-textio.ads:210
glosa.adb:17:08: expected type "Standard.Integer"
glosa.adb:17:08: found type "Contador_Versos" defined at line 4
glosa.adb:17:08: ==> in call to "Put" at a-tiinio.ads:68, instance at a-inteio.ads:18
glosa.adb:17:08: ==> in call to "Put" at a-textio.ads:245
glosa.adb:17:08: ==> in call to "Put" at a-textio.ads:211
WITH Ada.Integer_Text_IO;USE Ada.Integer_Text_IO;
WITH Ada.Text_Io;USE Ada.Text_IO;
PROCEDURE Glosa is
Caracter:Character;
TYPE Contador_silabas IS ARRAY (1..4) OF Integer;
TYPE Contador_versos IS ARRAY (1..4) OF Integer;
BEGIN
PUT("Analitzador de Gloses 0.1 alfa. Per favor, introdueix els tres primers versos afegint al final de cada vers el caracter '*' i el darrer amb punt. Accentuar la silaba tonica de la darrera paraula.");
GET(Caracter);
New_line;
FOR I IN 1..4 LOOP
WHILE Caracter/='.' OR Caracter/='*' LOOP
Contador_silabas(I):=Contador_silabas(I)+1;
Get(Caracter);
END LOOP;
END LOOP;
FOR I IN 1..4 LOOP
WHILE Caracter='.' OR Caracter='*' LOOP
Contador_Versos(I):=Contador_Versos(I)+1;
Get(Caracter);
END LOOP;
END LOOP;
Get(CARACTER);
PUT(Contador_Versos(1));
END Glosa;
WITH Ada.Integer_Text_IO;USE Ada.Integer_Text_IO;
WITH Ada.Text_Io;USE Ada.Text_IO;
PROCEDURE Glosa is
Caracter:Character;
TYPE Contador_silabas IS ARRAY (1..4) OF Integer;
TYPE Contador_versos IS ARRAY (1..4) OF Integer;
BEGIN
PUT("Analitzador de Gloses 0.1 alfa. Per favor, introdueix els tres primers versos afegint al final de cada vers el caracter '*' i el darrer amb punt. Accentuar la silaba tonica de la darrera paraula.");
GET(Caracter);
New_line;
FOR I IN 1..4 LOOP
WHILE Caracter/='.' OR Caracter/='*' LOOP
IF Caracter='a' OR Caracter='e' OR Caracter='i' OR Caracter='o' OR Caracter='u' THEN
Contador_Silabas(I):=Contador_Silabas(I)+1;
END IF;
Get(Caracter);
END LOOP;
END LOOP;
FOR I IN 1..4 LOOP
WHILE Caracter='.' OR Caracter='*' LOOP
Contador_Versos(I):=Contador_Versos(I)+1;
Get(Caracter);
END LOOP;
END LOOP;
Get(CARACTER);
PUT(Contador_Versos(1));
END Glosa;
WITH Ada.Integer_Text_IO;USE Ada.Integer_Text_IO;
WITH Ada.Text_Io;USE Ada.Text_IO;
PROCEDURE Glosa is
Caracter:Character;
TYPE Contador_silabas IS ARRAY (1..4) OF Integer;
TYPE Contador_versos IS ARRAY (1..4) OF Integer;
BEGIN
PUT("Analitzador de Gloses 0.1 alfa. Per favor, introdueix els tres primers versos afegint al final de cada vers el caracter '*' i el darrer amb punt. Accentuar la silaba tonica de la darrera paraula.");
GET(Caracter);
New_line;
FOR I IN 1..4 LOOP
WHILE Caracter/='.' OR Caracter/='*' LOOP
IF Caracter='a' OR Caracter='e' OR Caracter='i' OR Caracter='o' OR Caracter='u' THEN
Contador_Silabas(I):=Contador_Silabas(I)+1;
END IF;
Get(Caracter);
END LOOP;
END LOOP;
FOR I IN 1..4 LOOP
WHILE Caracter='.' OR Caracter='*' LOOP
Contador_Versos(I):=Contador_Versos(I)+1;
END LOOP;
END LOOP;
Get(CARACTER);
PUT(Contador_Versos(1));
END Glosa;
glosa.adb:1:09: warning: no entities of "Integer_Text_Io" are referenced
glosa.adb:18:30: illegal operand for array conversion
glosa.adb:18:34: expected type universal integer
glosa.adb:18:34: found type "Contador_silabas" defined at line 7
glosa.adb:26:26: illegal operand for array conversion
glosa.adb:26:30: expected type universal integer
glosa.adb:26:30: found type "Contador_versos" defined at line 8
glosa.adb:30:04: no candidate interpretations match the actuals:
glosa.adb:30:04: missing argument for parameter "Item" in call to "Put" declared at a-tiinio.ads:78, instance at a-inteio.ads:18
glosa.adb:30:04: missing argument for parameter "Item" in call to "Put" declared at a-tiinio.ads:62, instance at a-inteio.ads:18
glosa.adb:30:04: missing argument for parameter "Item" in call to "Put" declared at a-textio.ads:244
glosa.adb:30:04: missing argument for parameter "Item" in call to "Put" declared at a-textio.ads:210
glosa.adb:30:08: expected type "Standard.Integer"
glosa.adb:30:08: found type "Contador_versos" defined at line 8
glosa.adb:30:08: ==> in call to "Put" at a-tiinio.ads:68, instance at a-inteio.ads:18
glosa.adb:30:08: ==> in call to "Put" at a-textio.ads:245
glosa.adb:30:08: ==> in call to "Put" at a-textio.ads:211WITH ADA.INTEGER_TEXT_IO;USE ADA.INTEGER_TEXT_IO;
WITH ADA.TEXT_IO;USE ADA.TEXT_IO;
PROCEDURE GLOSA IS
CARACTER:CHARACTER;
TYPE Contador_Silabas IS ARRAY (1..9) OF Integer;
BEGIN
PUT("Introduce el texto: ");
GET(CARACTER);
FOR I IN 1..9 LOOP
WHILE Caracter/='.' OR Caracter/='*' LOOP
IF Caracter='a' OR Caracter='e' OR Caracter='i' OR Caracter='o' OR Caracter='u' THEN
Contador_Silabas(i):=Contador_Silabas(i)+1;
END IF;
GET(CARACTER);
END LOOP;
END LOOP;
END GLOSA;
masterpok escribió:xgc1986 escribió:el bucle no tendria que ser mientras es distinto de '\n'? o el ejercicio te dice que es un punto?
Sólo como apunte para que el amigo Jordi Uchiha no se lie, en ADA no existe '\n', tendrías que usar "end of line".
, y luego Contador_Silabas no es un tipo?, es decir luego no tendrias que hacer:TYPE ContadorSilabas IS ARRAY (1..9) OF Integer;
Contador_Silabas:ContadorSilabas;
Jordi Uchiha escribió:Los arrays en teoria empiezan del valo 1 al que le quieras dar.
De todas formas, la duda ya está resuelta, muchas gracias a todos los que me habéis hechado un cable, me ha servido de mucho.
Un saludo!
Procedure programa is
Type Contador Is Array (1..5) of Integer;
Numero_Silabas:Contador;
Begin
Numero_Silabas:(0,0,0,0,0);
For I In 1..5 Loop
Numero_Silabas(I):=Numero_Silabas(I)+1;
End Loop;
End programa;