Pascal/Turbo Pascal - Procedimiento con ODD

 
Vista:
Imágen de perfil de rainbow

Procedimiento con ODD

Publicado por rainbow (5 intervenciones) el 21/12/2013 16:12:25
Hola,

Necesito crear un procedimiento con ODD, en el cual yo tengo que poner dos números, y el programa tiene que imprimir los números pares entre la franja de números que he introducido.

Aquí lo que yo tengo hecho:

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
program impresionenteros;
 
 
var                      //Variables
numero, numero1, numero2: integer;
rango: boolean;
 
 
procedure calculo(calculoprocedure);        //Procedure
 
begin
 
 
for contador := (numero1) to (numero2) do
 
 readln(contador);
        if(odd(contador)=true) then
            writeln('El numero ',numero,' es impar.')
          else
                writeln('El numero ',numero,' es par.');
end:
 
 
 
begin  //Programa princiapl
 
wirteln('Por favor, introduzca un numero entero');
readln(numero1);
wirteln('Por favor, introduzca otro numero entero');
readln(numero2);
 
end;
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

Procedimiento con ODD

Publicado por ramon (2158 intervenciones) el 21/12/2013 18:14:26
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
{Mira esto}
 
 program impresionenteros;
 uses
  crt;
 
 var (* //Variables *)
   numero, numero1, numero2: integer;
   rango : boolean;
 
 
  procedure calculo(n1, n2 : integer); (*//Procedure *)
  var
   contador : integer;
 begin
   if n1 > n2 then
   begin
      contador := n1;
      n1 := n2;
      n2 := contador;
   end;
   for contador := n1 to n2 do
   begin
    numero := contador;
    if odd(numero) = false then
     writeln('El numero ',numero,' es par.');
    end;
  end;
 
 
 
  begin (*//Programa princiapl*)
     clrscr;
     write('Por favor, introduzca un numero entero   : ');
     readln(numero1);
     write('Por favor, introduzca otro numero entero : ');
     readln(numero2);
     calculo(numero1,numero2);
     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
Imágen de perfil de rainbow

Procedimiento con ODD

Publicado por rainbow (5 intervenciones) el 25/12/2013 16:51:29
Hola, muchas gracias.

Una pregunta, no se supone que en el primer bucle, if n1 > n2 then le estamos diciendo que n1 es mayor que n2 y tendriamos que ter una opción else?

No se, no entiendo muy bien lo que hace el procedure, si me lo pudieras explicar.
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

Procedimiento con ODD

Publicado por ramon (2158 intervenciones) el 25/12/2013 20:58:16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure calculo(n1, n2 : integer); (*//Procedure *)
  var
   contador : integer;
 begin
   if n1 > n2 then   {Esto no es un for sino un if comparamos}
   begin             {dos valores y es si n1 mayor n2 entonces}
      contador := n1; {intercambia los valores por que para que}
      n1 := n2;       {nunca sea mayor n1 que n2 sino el for siguiente}
      n2 := contador; {seria inútil no se ejecutaría pues n1 seria mayor}
   end;               {que n2 es una seguridad puedes anularlo y si no entran}
   for contador := n1 to n2 do {el primero mayor que el segundo no pasa nada}
   begin
    numero := contador;
    if odd(numero) = false then
     writeln('El numero ',numero,' es par.');
    end;
  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