• Martes 16 de Abril de 2024, 08:49

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Vila1989

Páginas: [1]
1
Pascal / Re: Suprimir Vocales Repetidas De Una Cadena
« en: Viernes 27 de Abril de 2007, 22:38 »
Hola amigo. Aunque este problema fue planteado en enero, fue ayer cuando me inscribí en este sitio, así que anoche mismo escribí esta funcioncita en Turbo Pascal (que lo mismo sirve para Delphi). Quizás ya hayas resuelto el problema, pero como un problema puede tener múltiples soluciones, pues esta te servirá de seguro. Procuré optimizarla al máximo.

function EliminaRepeticiones(s:string):string;
var
   i:integer;
begin
   i:=2;
   while i<=length(s) do
      if (s in ['a','e','i','o','u']) and
         (s=s[i-1]) then
         delete(s,i,1)
      else
         inc(i);
   EliminaRepeticiones:=s;
end;


La función recibe como parámetro de entrada la cadena con las repeticiones y la devuelve ya sin ellas. Un ejemplo de programa principal que la use es el sgte:

var
   t:string;
begin
   write('Teclee cadena: ');
   readln(t);
   writeln;
   writeln(EliminaRepeticiones(t));
   readln;
end.


Espero te sea útil.

2
Pascal / Re: Problema Con Un Ejercicio De Turbo Pascal7.0
« en: Jueves 26 de Abril de 2007, 22:43 »
Recien me he inscripto en este sitio y este es el primer mensaje que envio. No encuentro errores en el codigo del programa que impoidan su funcionamiento, pero sugiero que se le mejore el formato. He aqui el mismo porgrama pero muhco más legibe para un ser humano, que facilita su comprensión:

program mitjadenumerossencers;

var
   a,b,total:integer;
   mitja:real;
begin
   writeln ('introdueix 2 numeros sencer');
   readln(a);
   readln(B);
   total:= a+b;
   mitja:= total/2;
   writeln ('la mitja de',a,'i',b,'es',mitja);
   writeln('Prem s per sortir');
   readln;
end.

Un buen consejo es poner toda instruccion situada entre un begin y un end, tabulada con respecto a estos y poner el end que cierra un begin siempre a su mismo nivel (nivel jerárquico). Las declaraciones que siguen a un var, también tabuladas con respecto al var.
Pero además, siempre que haya una división, como en ese caso, conviene que el dividendo (la variable mitja), sea declarada también real, para que no se produzca (o minimizar) el error de redondeo al dividir. Espero te sean útiles las sugerencias.

Páginas: [1]