Pascal/Turbo Pascal - Problemas con iteración

 
Vista:

Problemas con iteración

Publicado por Jube (10 intervenciones) el 16/10/2012 16:35:49
1. Escribe un programa en Pascal que pida al usuario un numero entero (n>=0), y escriba por pantalla los n primeros términos de la serie 1/0,0/1, 3/3, 2/6, 5/10,4/15, 7/21,...

Ejemplo de ejecución del programa:

Introduce el número de términos que quieres ver: 5

1/0 0/1 3/3 2/6 5/10


2. Escribe un programa en Pascal que pida al usuario un numero entero (n>=0), y escriba por pantalla los n primeros términos con denominador par de la serie 1/0, 0/1, 3/3, 2/6, 5/10,4/15, 7/21,...

Ejemplo de ejecución del programa:

Introduce el número de términos que quieres ver: 3

1/0 2/6 5/10
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

Problemas con iteración

Publicado por ramon (2158 intervenciones) el 16/10/2012 19:10:51
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
{ A ver algo así vale}
 
 program iteracion;
  uses
    crt;
  const
     numeros : array[1..7] of string[5] = (
     '1/0','0/1','3/3','2/6','5/10','4/15','7/21');
 
 
  var
    num : integer;
 
 
  function numero : integer;
  var
     nn : integer;
  begin
     write('   Entre N§ Del 1 al 7 : ');
     readln(nn);
     if nn > 7 then
     nn := 7;
     numero := nn;
  end;
 
  procedure nprimerosterminos;
  begin
     for num := 1 to numero do
     write('  ',numeros[num]);
     writeln;
     writeln('   Pulse [Enter] ');
  end;
 
  procedure nprimerosterminosdenominadorpar;
  var
    erro, tot : integer;
    ff, a, nm : integer;
    cade : string[2];
  begin
      ff := 1;
      tot := numero;
      for num := 1 to 7 do
        for a := 1 to length(numeros[num]) do
        if numeros[num][a] = '/' then
        begin
        cade := copy(numeros[num],a + 1,length(numeros[num]));
        val(cade,nm,erro);
        if erro <> 0 then
        begin
           delete(cade,erro,1);
           val(cade,nm,erro);
        end;
          if nm mod 2 = 0 then
          begin
             write('  ',numeros[num]);
          ff := ff + 1;
          end;
       end;
         writeln;
         writeln('   Fin de Ciclo Pulse [Enter] ');
    end;
 
  procedure menu;
  var
    termina : boolean;
    tj : char;
  begin
     termina := false;
   repeat
       clrscr;
       writeln('****** Menu Principal *******');
       writeln;
       writeln(' 1 :  N§ primerosterminos');
       writeln(' 2 :  N§ primerosterminos denominador par');
       writeln(' 3 :  Salir');
       writeln;
       writeln('<<<<< Elija Opcion >>>>>');
       tj := readkey;
      if tj in[#49..#51] then
    case tj of
 #49 : begin  clrscr; nprimerosterminos; readln; end;
 #50 : begin  clrscr; nprimerosterminosdenominadorpar; readln; end;
 #51 : termina := true;
    end;
   until termina = true;
  end;
 
 
  begin
      menu;
  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

Problemas con iteración

Publicado por Jube (10 intervenciones) el 16/10/2012 19:27:06
muchisimas gracias por la ayuda pero buscaba algo mucho mas simple, siento las molestias que te haya causau. estoa es la primera parte ke necesitaba:

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
PROGRAM ITERACIÓN;
   USES CRT;
   VAR
     n:integer;
     i:integer;
     j:integer;
     cont:integer;
     a:integer;
BEGIN
  CLRSCR;
  WRITE('Introduce el n£mero de terminos que quieres ver: ');
  READ(n);
  i:=0;
  a:=1;
  FOR cont:=1 TO n DO
  BEGIN
  WRITE(a,'/',i,'  ');
  if (cont mod 2=0) then
  a:=a+3
  else
  a:=a-1;
  j:=j+1;
  i:=i+j;
  END;
READLN;
READLN;
END.



la segunda nose komo acer.. si me puedes ayudar.. pero ya ves ke tiene ke ser muy simple
repito siento mucho las molestias
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

Problemas con iteración

Publicado por ramon (2158 intervenciones) el 16/10/2012 19:41:56
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
{Prueba tu programa con esta modificación}
 
PROGRAM ITERACIoN;
USES CRT;
VAR
n:integer;
i:integer;
j:integer;
cont:integer;
a:integer;
BEGIN
CLRSCR;
WRITE('Introduce el n£mero de terminos que quieres ver: ');
READ(n);
i:=0;
a:=1;
FOR cont:=1 TO n DO
BEGIN
if i mod 2 =  0 then
WRITE(a,'/',i,' ');
if (cont mod 2=0) then
a:=a+3
else
a:=a-1;
j:=j+1;
i:=i+j;
END;
READLN;
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
0
Comentar

Problemas con iteración

Publicado por Jube (10 intervenciones) el 16/10/2012 20:13:25
yasta el tema como solucionau. 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