Pascal/Turbo Pascal - 4.1 tema 7

 
Vista:
sin imagen de perfil

4.1 tema 7

Publicado por Erik (73 intervenciones) el 20/03/2014 16:05:40
hola, tengo que hacer lo siguiente:

Escriba un procedimiento que reciba una cadena de caracteres y la devuelva invertida. Es decir, si recibe ‘hola’ devolverá ‘aloh’. A continuación, introduzca el procedimiento en un programa que pida al usuario una cadena, se asegure que no supera una longitud máxima definida en una constante, invoque el procedimiento anterior, y muestre por pantalla la cadena resultado.

gracias de antemano.
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

4.1 tema 7

Publicado por ramon (2158 intervenciones) el 24/03/2014 13:11:42
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{Mira esto}
 
program invertida;
 uses
   crt;
   const
     tama = 30;
  var
    cadena, inversa : string;
    i : integer;
 
  procedure cadenainvertida(cade : string; var res : string);
  var
    c : integer;
  begin
     c := 1;
     for i := length(cade) downto 1 do
     begin
        res[c] := cade[i];
        res[0] := chr(c);
        c := c + 1;
     end;
  end;
 
  begin
      clrscr;
      write('  Entre una cadena de ',tama,' : ');
      readln(cadena);
      cadenainvertida(cadena, inversa);
      writeln;
      writeln('  La Cadena Queda = ',inversa);
      readkey;
  end.
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
sin imagen de perfil
Val: 35
Ha disminuido 1 puesto en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

4.1 tema 7

Publicado por Enrique Martin (15 intervenciones) el 12/02/2019 22:08:51
Aquí os dejo otrra posible solución:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
program cadenainvertida;
 
(*Definimos el tipo de dato que vamos a utilizar para pasar la cadena de
  caracteres al procedimiento*)
 
Type
 cadena20 = string[20];
 
(*Asignamos la variable necesaria*)
 
var
 frase: cadena20;
 
(*Declaramos el procedimiento que va a invertir los caracteres de la cadena*)
 
Procedure InvertirFrase(VAR FraseInvertida:cadena20);
var
 i:integer;
 
(*Para recorrer la cadena o un array necesitamos una estructura iterativa,
  empleamos el for e invertimos la cadena al escribirla desde el ultimo
  caracter al primero*)
 
begin
(*He añadido otra opción para averiguar la longitud de cadena*)
 
 For i:= (*length(fraseinvertida)*)ord (FraseInvertida[0]) downto 1 do
 write(fraseinvertida[i]);
end;
 
 
begin
(*Solicitamos la frase y la metemos en su variable correspondiente*)
 
 writeln('Escriba una frase que no supere los 20 caracteres');
 readln(frase);
 
 write('La frase invertida es:  ');
 writeln;
 
 (*Llamamos al procedimiento y mostramos en pantalla el resultado*)
 
 InvertirFrase(frase);
 writeln;
 readln;
end.
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