Pascal/Turbo Pascal - Algoritmo en pascal que de la primera cifra de un numero introducido por el usuario

 
Vista:

Algoritmo en pascal que de la primera cifra de un numero introducido por el usuario

Publicado por Ahmed (11 intervenciones) el 29/10/2013 16:41:15
Buenas, estoy buscando un algoritmo en Pascal que me diga cual es la primera y última cifra de un numero introducido por el usuario. Lo del último número ya está hecho, es sencillo, pero lo de la primera cifra se me ha atravesado. He intentado mil maneras, me he comido el coco cincuenta mil veces, pero no lo saco. Lo más cerca que he estado de conseguirlo es esto:
PROGRAM pruebas;
VAR
unidades,ncolega,primernumero:integer;
BEGIN
readln(ncolega);
unidades:= ncolega MOD 10;
REPEAT
primernumero:= ncolega DIV 10;
ncolega:=primernumero;
UNTIL (ncolega=0);
writeln(primernumero);
writeln(unidades);
readln;
END.
Espero que podáis ayudarme. Gracias.
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

Algoritmo en pascal que de la primera cifra de un numero introducido por el usuario

Publicado por ramon (2158 intervenciones) el 29/10/2013 19:24:16
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
{Mira esto máximo 5 cifras  en algunas valores}
 
PROGRAM pruebas;
uses
   crt;
VAR
unidades,ncolega,primernumero:integer;
nu, por, primero : integer;
cade : string[5];
BEGIN
clrscr;
write('  Entre Numero : ');
readln(ncolega);
str(ncolega,cade);
nu := length(cade);
case  nu of
1 : por := 1;
2 : por := 10;
3 : por := 100;
4 : por := 1000;
5 : por := 10000;
  end;
unidades:= ncolega MOD 10;
primero := (ncolega - (ncolega mod por)) div por;
writeln('  El entrado es : ',ncolega);
writeln('  El ultimo es  : ',unidades);
writeln('  El primero es : ',primero);
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
1
Comentar

Algoritmo en pascal que de la primera cifra de un numero introducido por el usuario

Publicado por AHMED (11 intervenciones) el 29/10/2013 19:27:38
Hola, gracias por tu respuesta. El problema es que no puedo utilizar la particion de strings porque todavia no me lo han enseñado, y no puedo utilizarlo... si hay un metodo mediante DIV y MOD es el que busco... muchas gracias de todas formas
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

Algoritmo en pascal que de la primera cifra de un numero introducido por el usuario

Publicado por ramon (2158 intervenciones) el 29/10/2013 19:50:31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{Mira esto}
 
PROGRAM pruebas;
uses
   crt;
VAR
unidades,ncolega,primernumero:integer;
nu, por, primero : integer;
 
BEGIN
clrscr;
write('  Entre Numero : ');
readln(ncolega);
unidades:= ncolega MOD 10;
primero := ncolega shr 10;
writeln('  El entrado es : ',ncolega);
writeln('  El ultimo es  : ',unidades);
writeln('  El primero es : ',primero);
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
1
Comentar

Algoritmo en pascal que de la primera cifra de un numero introducido por el usuario

Publicado por Ahmed (11 intervenciones) el 29/10/2013 19:55:35
Muchas gracias de nuevo... pero vas a acabar cansándote de mi, tampoco nos dan la opción de usar la palabra registrada shr o shl... estoy muy limitado, concretamente al MOD y al DIV como te he explicado antes... muchas gracias por tus diferentes opciones...no molestaría tanto pero es que ya llevo dos semanas con el dichoso apartadito...
muchas gracias de nuevo
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

Algoritmo en pascal que de la primera cifra de un numero introducido por el usuario

Publicado por ramon (2158 intervenciones) el 29/10/2013 22:15:45
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
{A ver otra forma}
 
PROGRAM pruebas;
uses
   crt;
VAR
unidades,ncolega,primernumero:integer;
nu, por, primero : integer;
 
BEGIN
clrscr;
write('  Entre Numero : ');
readln(ncolega);
unidades:= ncolega MOD 10;
  while ncolega > 0 do
  begin
    primernumero := ncolega mod 10;
    ncolega := ncolega div 10;
    primero := (primero * 10) + primernumero;
   end;
primernumero := ncolega mod 10;
writeln('  El entrado es : ',ncolega);
writeln('  El ultimo es  : ',unidades);
writeln('  El primero es : ',primero mod 10);
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
1
Comentar

Algoritmo en pascal que de la primera cifra de un numero introducido por el usuario

Publicado por Ahmed (11 intervenciones) el 29/10/2013 22:23:04
Este sí me funciona, muchas gracias!
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