Pascal/Turbo Pascal - Algoritmos en pascal - Leer una lista indeterminada y pasar de Base10 a Base2

 
Vista:
sin imagen de perfil

Algoritmos en pascal - Leer una lista indeterminada y pasar de Base10 a Base2

Publicado por Rocio (5 intervenciones) el 06/11/2014 01:02:59
Holaas me pueden ayudar a solucionar estos 2 algoritmos:

.1_Leer una lista indeterminada de números enteros (positivos y negativos) e imprimir la cantidad de números negativos, la cantidad de números positivos, la cantidad de números impares y la cantidad de números pares que se ingresaron. El Usuario indica el fin de la lista ingresando un 0 (cero).

2_ Dado un número natural escrito en una base B=10, tengo que obtener su equivalente en base 2, aplicando el método de división reiterada
Muchas Gracias por su ayuda.
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

Ayuda porfavor para pascal

Publicado por David (224 intervenciones) el 06/11/2014 13:36:35
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
Primer programa:
 
Uses CRT;
 
var
  N : Integer;
  NEGATIVOS : Word;
  POSITIVOS : Word;
  IMPARES   : Word;
  PARES     : Word;
 
begin
  PARES:=0;
  IMPARES:=0;
  NEGATIVOS:=0;
  POSITIVOS:=0;
 
  repeat
    Clrscr;
    Writeln('Introduzca un n£mero (0 para finalizar): ');
    readln(N);
    if (odd(n)) then
      impares:=impares+1
    else
      if n<>0 then
      pares:=pares+1;
    if n<0 then
      inc(negativos)
    else
      if n <> 0 then
        inc(positivos);
  Until N = 0;
  Writeln('POSITIVOS: ',POSITIVOS);
  Writeln('NEGATIVOS: ',NEGATIVOS);
  Writeln('PARES: ',PARES);
  Writeln('IMPARES: ',IMPARES);
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
sin imagen de perfil

Ayuda porfavor para pascal

Publicado por David (224 intervenciones) el 06/11/2014 13:41:57
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
Segundo programa
 
Uses CRT;
 
Var
  auxn, N : Integer;
  RESTO : Integer;
  auxcad, cadena,s : string;
 
function Invertir_cadena (cadena : string) : string;
 
var longitud:byte; { longitud del string cadena }
  a:byte; { contador bucle }
  Xcadena:string;{ cadena temporal}
 
begin
 
Invertir_cadena:=''; { reiniciamos a null y retorno de la funcion }
Xcadena:=''; { reiniciamos a null ( cadena vacia ) }
 
longitud:=length(cadena);
 
for a:=longitud downto 1 do Xcadena:=Xcadena+cadena[a];
 
Invertir_cadena:=xcadena; { retorno de la funcion }
 
end;
 
begin
  cadena:='';
  auxcad:='';
  Writeln('Introduzca un n£mero: ');
  readln(N);
  auxn:=n;
  While n>0 do
 
    begin
      str((n mod 2),s);
            n:=n div 2;
      cadena:=cadena+s;
    end;
    writeln('El n£mero ',auxn, ' en binario es: ', Invertir_cadena(cadena));
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

Problema en pascal

Publicado por Rocio (5 intervenciones) el 06/11/2014 23:33:19
Muchas Gracias¡¡ me ayudas en la ultima:

Un número perfecto es un entero positivo, que es igual a la suma de todos los enteros positivos (excluido el mismo) que son divisores del número. El primer número perfecto es 6, ya que los divisores de 6 son 1, 2 y 3 y 1 + 2 +3= 6.
gracias te lo agradezco.
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

Problema en pascal

Publicado por David (224 intervenciones) el 07/11/2014 13:38:53
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var
k ,n : byte;
i,num,
sum : word;
 
begin
clrscr;
num:= 0;
k:=0;
Writeln('Ingrese la cantidad de numeros perfectos que desea conocer');
Readln(n);
while k < n do begin
inc(num,2);
sum:= 0;
for i:= 1 to num div 2 do
if num mod i = 0 then
inc(sum,i);
if sum = num then begin
inc(k);
writeln(k,'º nro. perfecto: ',num:3)
end
end;
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

Problema en pascal

Publicado por rocio (5 intervenciones) el 07/11/2014 18:56:34
Muchisimass graacias¡¡¡¡ me sirvio muchisimooo :) :)
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