Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Proyecto AjpdSoft: Foros

AjpdSoft :: Ver tema - Ayuda programa de Pascal para Lazarus
Foros de discusión Buscar Perfil FAQ Iniciar sesión
Information Ayuda programa de Pascal para Lazarus

Publicar nuevo tema Responder al tema
Foros de discusión » Varios (seguridad, internet, ofimática, errores)   
Ver tema anterior :: Ver tema siguiente
AutorMensaje
RadamantiS
Usuario


Registrado: Jan 07, 2012
Mensajes: 1

Asunto: Ayuda programa de Pascal para Lazarus Responder citando

Hola a todos,
Necesito que me ayudeis con una práctica de programación en Lazarus, pues no sé por dónde empezar y debo entregarla el 9 de enero.
La práctica consiste en hacer una especie de calculadora que sume, divida, etc., partiendo de un menu principal para elegir la opción que se desea ejecutar. Y bien, hasta ahi no tuve ningún problema, pero ahora me piden que añada algo más a ese menú de la calculadora, y es lo siguiente:

11. 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 realice lo siguiente:
• Construir un array de palabras guardando en sus posiciones las palabras de la frase y la
longitud de cada una de ellas.
• Muestre la palabra de tamaño mayor y menor de la lista.
• Calcule la media de caracteres de la palabras introducidas.
• Muestre por pantalla las palabras cuyo tamaño supera la media.
• pida una palabra - se considerará que una palabra es cualquier sucesión de caracteres sin
blancos - y averigüe si dicha palabra está o no en el frase. La búsqueda se deberá realizar de
dos formas alternativas: primero sobre la frase y después sobre el array.

12. Dadas 2 matrices cuadrada de hasta 10×10 (M1 y M2):
• Mostrar las matrices por pantalla.
• Sumar ambas matrices empleando función suma.
• Restar ambas matrices empleando función suma.
• Visualizar el mayor y el menor de sus elementos.
• Intercambiar los elementos de la matriz.

Como podeis observar, cada ejercicio tiene una serie de apartados, estos tendrían que ir en un submenú.
De momento he llegado hasta aquí:
CONST
espacio=' ';
maxpal=25;
maxcar=15;
TYPE
palabra=STRING[maxcar];
cadenapal=ARRAY[1..maxpal] OF palabra;
long_pal=0..maxpal;
long_car=0..maxcar;
VAR {Estas son las variables del programa principal}
palalabra;
frase:STRING;
arraypal:cadenapal;
npal:long_pal;
ncar:long_car;

procedure vector_palabras (var s:STRING);
var
posicion:cadenapal;
num:long_pal;
n:integer;
posic:long_car;
begin
num:=0;
repeat
n:=1;
**WHILE n<=length(s) AND s[n] DO n=n+1;**
delete(s,1,n-1);
posic:=pos(espacio,s);
IF posic<>0 THEN
begin
num:=num+1;
posicion[num]:=copy(s,1,posic-1);
delete(s,1,posic);
end;
until posic=0;
**IF s<>' ' THEN**
begin
num:=num+1;
posicion[num]:=s;
end;
end;

procedure mostrar_vector(var c:cadenapal;longitud:long_pal);
var
r:long_pal;
begin
FOR r:=1 TO longitud DO
write(c[r],'//');
writeln;
end;

He puesto asteriscos para diferenciar dónde tengo dudas, en la primera linea marcada el Lazarus me da error y no entiendo a qué se debe, y en la segunda linea marcada no se muy bien cómo poner "si s es mayor o menor que la última palabra".

Muchísimas gracias por vuestra atención.
Un saludo
MensajePublicado:
Sab Ene 07, 2012 6:47 pm
Top of PageVer perfil de usuario
Mostrar mensajes de anteriores:   
Todas las horas son GMT - 1 Horas
Publicar nuevo tema Responder al tema
Foros de discusión » Varios (seguridad, internet, ofimática, errores)  

Cambiar a:  
Key
  Puede publicar nuevos temas en este foro
No puede responder a temas en este foro
No puede editar sus mensajes en este foro
No puede borrar sus mensajes en este foro
No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A