Pascal/Turbo Pascal - Como hago un string, que solo permita LETRAS

 
Vista:

Como hago un string, que solo permita LETRAS

Publicado por El pepe (3 intervenciones) el 08/10/2020 23:26:19
Como hago un string, que solo permita LETRAS, que no puedan ingresar numeros o caracteres como parte del string
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
sin imagen de perfil
Val: 61
Bronce
Ha mantenido su posición en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

Como hago un string, que solo permita LETRAS

Publicado por Roberto (19 intervenciones) el 09/11/2020 17:43:48
Esto quizás te sirva

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
program ValidaSoloLetras;
uses crt;
type
  conjunto = array[1..100] of string;
var
  alfabeto:conjunto;//contiene mayusculas y minusculas
  i,j,k,cont,longlista:byte;//i,j,k iterativos;contador;longitud de lista
  valido:boolean;
  letras:string;
begin clrscr;
  //Letras minusculas y mayusculas
  longlista:=52;
  for i:=1 to 26 do
    alfabeto[i]:=chr(64+i); //es necesario ver la Tabla Ascii. Mayusculas
  for i:=1 to 26 do
    alfabeto[26+i]:=char(96+i);//es necesario ver la Tabla Ascii. Minusculas
  write('Escriba solo letras: ');
  readln(letras);
  //proceso de validación
  j:=1; valido:=true;
  while (j<=length(letras)) and (valido=true) do//siempre y cuando cada_caracter sea letra
    begin //primer while
      k:=1 ; cont:=0;
      while (k<=longlista) and (cont=0) do//siempre y cuando el_caracter sea una letra
        begin //segundo while
          if copy(letras,j,1) = alfabeto[k] then //si el_caracter es una letra
              cont:=cont+1;//ese_caracter es valido
          k:=k+1;
        end;//segundo while
      if cont <> 1 then//si un_caracter no es una letra
        valido:=false;//ese_caracter no es válido
      j:=j+1;
    end; //primer while
  //mostrar si tiene solo letras
  if valido  then
    writeln(' solo tiene letras')
  else
    writeln(' tiene caracteres que no son letras');
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: 61
Bronce
Ha mantenido su posición en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

Como hago un string, que solo permita LETRAS

Publicado por Roberto (19 intervenciones) el 09/11/2020 19:38:59
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
47
48
49
50
program ValidaSoloLetras;
uses crt;
const
 max = 100;
type
  conjunto = array[1..max] of string;
var
  alfabeto:conjunto;//contiene mayusculas y minusculas
  i,j,k,longlista:byte;//i,j,k iterativos;longitud de lista
  valido,fin_lista:boolean;
  letras:string;
begin clrscr;
  //Letras minusculas y mayusculas
  for i:=1 to 26 do
    alfabeto[i]:=chr(64+i); //es necesario ver la Tabla Ascii. Mayusculas
  for j:=1 to 26 do
   alfabeto[i+j]:=char(96+j);//es necesario ver la Tabla Ascii. Minusculas
  //hallar la longitud de lista
  k:=1; fin_lista:=false;
  while (k<=max) and (fin_lista=false) do //mientras no se llegue al fin de lista
    begin
      if alfabeto[k] = '' then
        begin
          longlista:=k-1;
          fin_lista:=true;
        end;
      k:=k+1;
    end;
  //el usuario introduce las letras
  write('Escriba solo letras: ');
  readln(letras);
  //proceso de validación
  j:=1; valido:=true;
  while (j<=length(letras)) and (valido=true) do//siempre y cuando cada_caracter sea letra
    begin //primer while
      k:=1 ; valido:=false;
      while (k<=longlista) and (valido=false) do//siempre y cuando el_caracter sea una letra
        begin //segundo while
          if copy(letras,j,1) = alfabeto[k] then //si el_caracter es una letra
              valido:=true;//ese_caracter es valido
          k:=k+1;
        end;//segundo while
      j:=j+1;
    end; //primer while
  //mostrar si tiene solo letras
  if valido  then
    writeln(' solo tiene letras')
  else
    writeln(' tiene caracteres que no son letras');
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