Pascal/Turbo Pascal - BEGIN Y END

 
Vista:

BEGIN Y END

Publicado por BEA (14 intervenciones) el 29/11/2005 16:22:45
Hola de nuevo!! Gracias por la ayuda aquí está el código de todo el programa:
PROGRAM PRAC01 (FTEXTO,OUTPUT);
VAR
FTEXTO:TEXT;
CONTARLINEA,CONTARPALAB,CONTARPALVOCAL,CONTARLINEAVOC,A,B:INTEGER;
CAR:CHAR;
FUNCTION ESALFABET (C:CHAR):BOOLEAN;
BEGIN
ESALFABET := (C>='A') AND (C<='Z') OR (C>='a') AND (C<='z');
END;
FUNCTION ESVOCAL (C:CHAR):BOOLEAN;
BEGIN
ESVOCAL:= (C='A') OR (C='E') OR (C='I') OR (C='O') OR (C='U') OR
(C='a') OR (C='e') OR (C='i') OR (C='o') OR (C='u')
END;
BEGIN (*PROGRAM PRINCIPAL*)
ASSIGN(FTEXTO,'H:\FTEXTO.txt');
RESET(FTEXTO);
CONTARLINEA:=0;
CONTARPALAB:=0;
CONTARPALVOCAL:=0;
CONTARLINEAVOC:=0;
WRITELN('S nchez Gonz lez Beatriz, N§ Matr¡cula: BC294');
WHILE NOT EOF(FTEXTO) DO
BEGIN (*1*)
WHILE NOT EOLN(FTEXTO) DO
BEGIN (* FINAL DE LINEA*)
READ(FTEXTO,CAR);
WHILE (CAR = ' ') DO (*CON ESTO SALTAMOS BLANCOS*)
READ(FTEXTO,CAR);

IF ESALFABET(CAR) THEN
BEGIN (*ES ALFABETICO*)

IF ESVOCAL(CAR) THEN
A:=1
ELSE
A:=0;

IF (A=1) AND NOT EOLN(FTEXTO) THEN
BEGIN
READ(FTEXTO,CAR);
IF ESVOCAL(CAR) THEN
B:=1
ELSE
B:=0
END;

WHILE (CAR <> ' ') AND NOT EOLN(FTEXTO) DO
READ(FTEXTO,CAR); (*SALTAMOS HASTA QUE HALLA OTRO ESPACIO*)

CONTARPALAB:= CONTARPALAB +1;

IF A AND B = 1 THEN
BEGIN
CONTARPALVOCAL:=CONTARPALAB;
END;

END (*ES ALFABETICO*)
ELSE AQUÍ ES DONDE TENGO K PONER LA SOLUCIÓN, SE TIENE QUE PARAR LA BÚSQUEDA Y DARME ESE ERROR.
BEGIN
WRITELN('DATOS DE ENTRADA INCORRECTOS');
CLOSE(FTEXTO)
END.

END; (*MIENTRAS NO SEA FINAL LINEA*)
IF EOLN(FTEXTO) THEN
BEGIN

CONTARLINEA := CONTARLINEA +1;
IF CONTARPALVOCAL<>0 THEN
BEGIN
CONTARLINEAVOC:=CONTARLINEA;

END;
READLN(FTEXTO)
END;


END; (*1*)
CLOSE(FTEXTO);
WRITELN('');
WRITELN('LINEA, PALABRA',' ',CONTARLINEA,CONTARPALAB);
IF CONTARPALVOCAL AND CONTARLINEAVOC = 0 THEN
WRITELN('PALABRA NO ENCONTRADA')
ELSE
BEGIN
WRITELN('');
WRITELN('LA ULTIMA PALABRA QUE EMPIEZA POR DOS VOCALES JUNTAS ES:');
WRITELN('PALABRA: ',' ',CONTARPALVOCAL);
WRITELN('LINEA: ',' ',CONTARLINEAVOC);

END;
END. (*PROGRAM PRINCIPAL*)


eSPERO K TENGA ALGUNA SOLUCIÓN PORQUE ME ESTOY DESKICIANDO, MI PROFESORA KREO K NO TIENE NI IDEA JE. Gracias. tengo k solucionarlo pronto porque la tengo k entregar dentro de poco. Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:BEGIN Y END

Publicado por Allan Andrade (48 intervenciones) el 30/11/2005 18:39:05
Aquí te envió el código que posteaste con unas cuantas modificaciones, revisa bien si cumple con tu deseo cualquier otra duda solo posteala aquí mismo.
Suerte y Éxito.

PROGRAM PRAC01 (FTEXTO,OUTPUT);
const
vocales : set of char = ['a','e','i','o','u'];
Letras : set of char = ['A'..'Z','a'..'z'];
VAR
FTEXTO:TEXT;
CONTARLINEA,CONTARPALAB,CONTARPALVOCAL,CONTARLINEAVOC,A,B:INTEGER;
CAR:CHAR;
FUNCTION ESALFABET (C:CHAR):BOOLEAN;
BEGIN
esalfabet:=false;
if (C in letras) then esalfabet:=true;
END;
FUNCTION ESVOCAL (C:CHAR):BOOLEAN;
BEGIN
esvocal:=false;
if (C in vocales) then esvocal:=true;
END;
BEGIN (*PROGRAM PRINCIPAL*)
ASSIGN(FTEXTO,'FTEXTO.txt');
RESET(FTEXTO);
CONTARLINEA:=0;
CONTARPALAB:=0;
CONTARPALVOCAL:=0;
CONTARLINEAVOC:=0;
car:=' ';
WRITELN('Sanchez Gonzalez Beatriz, N§ Matr¡cula: BC294');
write('Enter para iniciar');readln;
WHILE NOT EOF(FTEXTO) DO
BEGIN (*1*)
WHILE NOT EOLN(FTEXTO) DO
BEGIN (* FINAL DE LINEA*)
WHILE (CAR = ' ') DO READ(FTEXTO,CAR);(*CON ESTO SALTAMOS BLANCOS*)
IF ESALFABET(CAR) THEN
BEGIN (*ES ALFABETICO*)
IF ESVOCAL(CAR) THEN
A:=1
ELSE
A:=0;
IF (A=1) AND NOT EOLN(FTEXTO) THEN
BEGIN
READ(FTEXTO,CAR);
IF ESVOCAL(CAR) THEN
B:=1
ELSE
B:=0;
END;

WHILE (CAR <> ' ') AND NOT EOLN(FTEXTO) DO
READ(FTEXTO,CAR); (*SALTAMOS HASTA QUE HALLA OTRO ESPACIO*)

CONTARPALAB:= CONTARPALAB +1;

IF A AND B = 1 THEN CONTARPALVOCAL:=CONTARPALAB;

END (*ES ALFABETICO*)
ELSE
BEGIN
WRITELN('DATOS DE ENTRADA INCORRECTOS');
CLOSE(FTEXTO);
END;

END; (*MIENTRAS NO SEA FINAL LINEA*)
IF EOLN(FTEXTO) THEN
BEGIN
CONTARLINEA := CONTARLINEA +1;
IF CONTARPALVOCAL<>0 THEN CONTARLINEAVOC:=CONTARLINEA;
READLN(FTEXTO);
END;
WRITELN;
WRITELN('LINEA, PALABRA ',CONTARLINEA,'-',CONTARPALAB);
IF CONTARPALVOCAL AND CONTARLINEAVOC = 0 THEN
WRITELN('PALABRA NO ENCONTRADA')
ELSE
BEGIN
WRITELN;
WRITELN('LA ULTIMA PALABRA QUE EMPIEZA POR DOS VOCALES JUNTAS ES:');
WRITELN('PALABRA: ',' ',CONTARPALVOCAL);
WRITELN('LINEA: ',' ',CONTARLINEAVOC);
END;
end;
END. (*PROGRAM PRINCIPAL*)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar