Pascal/Turbo Pascal - lo mas rapido posible xfa!!!!!!

 
Vista:

lo mas rapido posible xfa!!!!!!

Publicado por K4l (6 intervenciones) el 18/08/2009 15:24:59
Alguien que me pudiera explicar como se hacen el punto 2,5,6 del menu (abajo) por medio de procedure o function.
Selo agradeceria bastante.


program telegrama;
uses crt;
var op:integer; frase:string;


procedure uno;
begin
clrscr;
Writeln('Telegrama:');
readln(frase);
end;

procedure tres;
var i: integer;
conta,conte,conti,conto,contu:integer;

begin
conta:=0;conte:=0;conti:=0;conto:=0;contu:=0;
for i:= 1 to length(frase) do
begin
if (frase[i]= 'a') or (frase[i] = 'A') then
conta:= conta +1;
if (frase[i]= 'e') or (frase[i] = 'E') then
conte:= conte +1;
if (frase[i]= 'i') or (frase[i] = 'I') then
conti:= conti +1;
if (frase[i]= 'o') or (frase[i] = 'O') then
conto:= conto +1;
if (frase[i]= 'u') or (frase[i] = 'U') then
contu:= contu +1;
end;
writeln('La vocal A aparece cada:' ,contA, ' veces');readkey;
writeln('La vocal E aparece cada:' ,contE, ' veces');readkey;
writeln('La vocal I aparece cada:' ,contI, ' veces');readkey;
writeln('La vocal O aparece cada:' ,contO, ' veces');readkey;
writeln('La vocal U aparece cada:' ,contU, ' veces');readkey;
end;

procedure cuatro(var oracion:string);
var i,espacio,letras,carac:integer; palabras:integer; porcentaje:real;
begin
palabras:=1;
begin
for i:= 2 to length(oracion) do
if oracion[i] = ' ' then palabras:=palabras + 1;
end;
begin
espacio:=palabras -1;
carac:=length(frase);
letras:=(carac-espacio)-1;
writeln('Cantidad de letras ',letras) ;
writeln('Cantidad de espacios ',espacio);
writeln('Porcentaje: ',((espacio / (letras))*100):10:2) ;readkey;

end;
end;


Procedure menu;
begin
clrscr;
writeln('1.Telegrama ');
writeln('2.Cantidad de palabras con 10 o mas caracteres');
writeln('3.Cantidad de vocales');
writeln('4.Porcentaje de espacios en blanco');
writeln('5.Palabra mas larga');
writeln('6.Cantidad de palabras con una longitud entre 8 y 16');
writeln('caracteres posee mas de 3 veces la vocal A');
writeln('7.Salir');
writeln;
writeln('Opcion:');
readln(op);

end;

begin
clrscr;
repeat
menu;
case op of
1:uno;
3:tres;
4:cuatro(frase);
end;
until op=7 ;
end.
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