Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-01-2012
guillek5 guillek5 is offline
Registrado
NULL
 
Registrado: ene 2012
Posts: 5
Poder: 0
guillek5 Va por buen camino
Media de caracteres!

Buenas tardes gente!

Veréis he tenido que hacer para clase una práctica en la que se nos pide:

-Leer una frase por pantalla (compuesta por un máximo de 25 palabras separadas por
blancos, cada una de ellas con un tamaño máximo de 15 caracteres) y calcule la media de caracteres de la palabras introducidas.

Aparte de esto pedían varias cosas mas, yo esta parte la he hecho creando un vector de registros y haciendo un procedimiento que llamaba a este, pero hoy al enseñárselo al profesor me ha dicho que no le vale ya que el quiere que coja la cadena ,la meta en el vector y cuente las palabras en la propia cadena.

Os deja la parte de código:

//Aquí el bloque declarativo

const
max=100;
max1=10;
nummax=100;
numle=15; //Numero maximo de letras
numpal=25; // Numero maximo de palabras
ttexto=250; //Numero total de texto

type
d1=1..max1;
matriz=array[d1,d1] of integer;

cadena=string[ttexto];
registrop=record
palabra:string[numle];
tmax:integer;
end;

vector1=array[1..numpal] of registrop;


// Y aquí la función en la que tengo la duda

Function media_car(v:vector1;t_car,cont:integer):real;
begin
for i:=1 to contador_palabras do
begin
writeln('La media de caracteres de la palabra numero ',i,' es: ',(length(vector[i].palabra)-1));
total_caracteres:=total_caracteres+(length(vector[i].palabra)-1);
end;
media_car:=total_caracteres/contador_palabras;

end;

//Por ultimo el código donde se llama a esta función:

2:begin
writeln('Media de caracteres');
writeln;
total_caracteres:=0;
mediacar:=media_car(vector,total_caracteres,contador_palabras); // Aqui llaamamos a la funcion para calcular la media de caracteres
writeln;
writeln('La media exactamente es: ',mediacar:0:2);
writeln;
write('Seguimos? ');
answer:=respuesta;

end;

Agradecería mucho que alguien que pueda me eche una mano de verdad! Tengo de plazo hasta el lunes para cambiar esto, así que lo dicho buenas tardes y gracias de antemano!
Responder Con Cita
  #2  
Antiguo 11-01-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola guillek5.

Por favor cuando incluyas código en tu mensaje utiliza TAG's, una imágen explicativa de su uso:



Saludos y gracias por tu colaboración.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 11-01-2012
guillek5 guillek5 is offline
Registrado
NULL
 
Registrado: ene 2012
Posts: 5
Poder: 0
guillek5 Va por buen camino
Os deja la parte de código:

//Aquí el bloque declarativo

const
max=100;
max1=10;
nummax=100;
numle=15; //Numero maximo de letras
numpal=25; // Numero maximo de palabras
ttexto=250; //Numero total de texto

Código Delphi [-]
type
d1=1..max1;
matriz=array[d1,d1] of integer;

cadena=string[ttexto];
registrop=record
palabra:string[numle];
tmax:integer;
end;

vector1=array[1..numpal] of registrop;


// Y aquí la función en la que tengo la duda
Código Delphi [-]
Function media_car(v:vector1;t_car,cont:integer):real;
begin
for i:=1 to contador_palabras do
begin
writeln('La media de caracteres de la palabra numero ',i,' es: ',(length(vector[i].palabra)-1));
total_caracteres:=total_caracteres+(length(vector[i].palabra)-1);
end;
media_car:=total_caracteres/contador_palabras;

end; 

//Por ultimo el código donde se llama a esta función:

2:begin
writeln('Media de caracteres');
writeln;
total_caracteres:=0;
mediacar:=media_car(vector,total_caracteres,contador_palabras); // Aqui llaamamos a la funcion para calcular la media de caracteres
writeln;
writeln('La media exactamente es: ',mediacar:0:2);
writeln;
write('Seguimos? ');
answer:=respuesta;

end;

Lo siento, y gracias por la aclaración!
Responder Con Cita
  #4  
Antiguo 11-01-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No se entiende bien qué quieres, ¿qué es la media de caracteres?
Responder Con Cita
  #5  
Antiguo 11-01-2012
guillek5 guillek5 is offline
Registrado
NULL
 
Registrado: ene 2012
Posts: 5
Poder: 0
guillek5 Va por buen camino
El caso es que yo he resuelto el ejercicio de la manera que os muestro, pero el profesor me pide que en vez de hacerlo así, coja la cadena y la meta en el vector y una vez ahí este cuente las palabras en la propia cadena, no sé si sigo sin explicarme bien...yo es que no lo entiendo bien tampoco.

Sé que va en contra de las normas del foro, pero es un caso urgente ya que me juego la asignatura de aquí al lunes, si alguien supiera como ayudarme me gustaría poder pasarle todo el código para que lo mirase, y si consigo una solución me comprometo a reflejar en el foro la solución dada, para seguir así con las transparencia de éste.
Responder Con Cita
  #6  
Antiguo 11-01-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por guillek5 Ver Mensaje
.. me pide que en vez de hacerlo así, coja la cadena y la meta en el vector y una vez ahí este cuente las palabras en la propia cadena
A ver si lo entiendo, metes una cadena en un vector.
Después el vector tiene que contar las palabras que hay en la cadena.

¿Cómo cuenta un vector?
¿Seguramente quieres decir que cuentes las palabras una vez almacenadas (la cadena) en el vector?
Responder Con Cita
  #7  
Antiguo 11-01-2012
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.913
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por guillek5 Ver Mensaje
no sé si sigo sin explicarme bien...yo es que no lo entiendo bien tampoco.
El primer paso, siempre, es entender bien el problema. Si no lo sabes explicar, es que no lo entiendes. Asi de simple. Si no lo entiendes, no puedes resolverlo ni puedes saber si lo que tienes se acerca o no a la solucion.

El problema de los programadores novatos es que tratan de resolver el problema con herramientas y comandos. Eso son solo herramientas, no soluciones.

Primero, trata (en un papel, un tablero, etc) de resolver el problema "manualmente" con dibujitos, rayas, lo que sea. Si no lo logras articular, pidele a alguien de tu familia o amigo que te escuche - y no importa que no entienda de programacion! -, y mientras les hablas, trata de expresar lo que intentas hacer. La mayoria de las veces, sera suficiente.

Luego que entiendes el problema, y su solucion, veras que implementarlo en codigo es muy facil.
__________________
El malabarista.
Responder Con Cita
  #8  
Antiguo 12-01-2012
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
A mi me pasa algo parecido a los compañeros; Primero no se lo que estás haciendo tú y luego no acabo de entender muy bien lo que quiere tu profesor. Tal vez para entender lo segundo sea necesario saber cómo lo estás haciendo...

Planteamiento.

ENTRADA: Frase de de 25 palabras máximo y cada palabra con 15 caracteres máximo. Las palabras estarán separadas por espacios.
RESULTADO: Tienes que devolver la media de caracteres de todas las palabras.
PROCEDIMIENTO:
1) Separar palabras de la frase.
2) Contar las palabras de cada frase.
3) Calcular la media de todas ellas.

Ahora me puedes explicar con palabras, de forma sencilla cómo lo has hecho tú.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
select de media no funciona con ado juangabriel1786 SQL 3 09-03-2009 17:11:51
Sacar el promedio o media en sql ? juangabriel1786 SQL 4 04-12-2008 23:33:28
Media Player al 50% Pook Varios 1 18-05-2006 22:31:10
Documento en media página amedina Impresión 3 18-08-2005 16:25:06
Media ración. marcoszorrilla Humor 0 16-04-2004 22:56:55


La franja horaria es GMT +2. Ahora son las 21:20:19.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi