Algoritmia - URGENTE por finales pls¡¡¡¡¡¡¡¡¡¡

 
Vista:

URGENTE por finales pls¡¡¡¡¡¡¡¡¡¡

Publicado por daniel salazar (3 intervenciones) el 10/12/2007 16:59:54
Por motivo de exámenes finales en la UNI no dispongo de mucho tiempo asi q le o les agradeceria inmensamente me resolvieran 2 problemas de los 3 que a continuacion detallo:

1.-Sean 2 vectores cuyas componentes son de tipo enumerado definido por el usuario.Diremos que a<b si:
- existe una posicion,i, donde un elemento de a es menor que el elmento correspondiente de b (ai<bi),siendo los elementos anteriores iguales.
- o bien, siendo todos los elementos de a iguales a los elementos correspondientes de b, el numero de elementos de a sea menor que el de b

2.-Escribir un procedimiento, Ajustar, que elimine todos los caracteres espacio que aparezcan al principio y al final de la cadena(definida como TCadena = string[80])q le pasa por parámetro, excepto si la cadena está constituida únicamente por caracteres espacio. Por ejemplo, si el parámetro contiene la cadena ' Esto es un ejemplo ' ,después de la llamada al procedimiento contendrá la cadena 'Esto es un ejemplo'

3.-Elaborar un subprograma q nos muestre por pantalla la lista d letras q no aparecen en la cadena de caracteres que se le pasa por parámetro

PD: Agradeciendo d ya su comprensión y/o solución, sin más q decir me despido.
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
Imágen de perfil de Alejandro

Resolución de problemas: Vectores y cadenas

Publicado por Alejandro (307 intervenciones) el 11/03/2024 22:52:20
1. Comparación de vectores:

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
program CompararVectores;
 
type
    TElemento = (A, B, C, D, E);
    TVector = array [1..5] of TElemento;
 
function EsMenor(a, b: TVector): Boolean;
var
    i: Integer;
begin
    for i := 1 to 5 do
    begin
        if a[i] < b[i] then
        begin
            EsMenor := True;
            Exit;
        end
        else if a[i] > b[i] then
        begin
            EsMenor := False;
            Exit;
        end;
    end;
    EsMenor := Length(a) < Length(b);
end;
 
var
    vector1, vector2: TVector;
 
begin
    { Inicializar los vectores con valores de ejemplo }
    vector1 := (A, B, C, D, E);
    vector2 := (A, B, C, D, D);
 
    { Comparar los vectores }
    if EsMenor(vector1, vector2) then
        WriteLn('El vector 1 es menor que el vector 2.')
    else
        WriteLn('El vector 1 no es menor que el vector 2.');
end.

2. Procedimiento Ajustar:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
program AjustarCadena;
 
type
    TCadena = string[80];
 
procedure Ajustar(var cadena: TCadena);
begin
    while (Length(cadena) > 0) and (cadena[1] = ' ') do
        Delete(cadena, 1, 1); { Eliminar espacios al principio }
 
    while (Length(cadena) > 0) and (cadena[Length(cadena)] = ' ') do
        Delete(cadena, Length(cadena), 1); { Eliminar espacios al final }
end;
 
var
    ejemplo: TCadena;
 
begin
    ejemplo := ' Esto es un ejemplo ';
    WriteLn('Cadena original: ', ejemplo);
    Ajustar(ejemplo);
    WriteLn('Cadena ajustada: ', ejemplo);
end.

3. Subprograma MostrarLetrasFaltantes:

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
program LetrasFaltantes;
 
procedure MostrarLetrasFaltantes(cadena: string);
var
    letrasFaltantes: string;
    letra: Char;
begin
    letrasFaltantes := '';
 
    for letra := 'A' to 'Z' do
    begin
        if Pos(letra, cadena) = 0 then
            letrasFaltantes := letrasFaltantes + letra;
    end;
 
    WriteLn('Letras que no aparecen en la cadena: ', letrasFaltantes);
end;
 
var
    ejemploCadena: string;
 
begin
    ejemploCadena := 'Esto es un ejemplo';
    MostrarLetrasFaltantes(ejemploCadena);
end.

Espero que estas soluciones sean de ayuda. ¡Éxito en tus exámenes!
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