Pascal/Turbo Pascal - Ayuda con algoritmos en pascal Urgenteee¡¡

 
Vista:

Ayuda con algoritmos en pascal Urgenteee¡¡

Publicado por Andrea (2 intervenciones) el 02/06/2012 04:25:44
Disculpen las molestias, pero necesito UREGENTEMENTE que me ayuden con estos algoritmos para pascal, es para un trabajo superr importantee..

1)Realiza a través de un algoritmo de la serie fibonacci (la suma del primer valor con el segundo da el tercero)

2)Realiza un algoritmo que sume los primeros 10 numeros pares

3)Realiza un algoritmo que sume los 10 primeros numeros primos

4)Explica paso a paso cada uno de los algoritmos realizados (¿que hace cada linea de codigo?)

Por favor necesito urgentemente su ayudaa, Gracias por la atencion
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

Ayuda con algoritmos en pascal Urgenteee¡¡

Publicado por ramon (2158 intervenciones) el 02/06/2012 18:35: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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
{Espero esto sirva }
 
program fibonacci;
 uses
    crt;
  type
    nume = array[1..10] of word;
  var
    fibo : nume;
    k : integer;
 
  procedure sumadeayb;
  var
     i, su1, su2 : word;
  begin
      for su1 := 1 to 10 do  {inicio el array fibo a 0}
      fibo[su1] := 0;
      su1 := 1;   {asigno los valores de inicio}
      su2 := 2;
    for i := 1 to 10 do  {recorro el array}
    begin
        fibo[i] := su1 + su2;  {asigno la sumo de los valores de las
                                2 variables a la posicion del array}
        su1 := su2;  {asigno el valor de su2 a su1}
        su2 := fibo[i]; {asigno el valor fibo[i] a su2}
    end;
    writeln;
    writeln('Los Numeros de Fibonacci Son ');
    writeln;
    for i := 1 to 10 do   {presento resultados}
    write(fibo[i],'  ');
    writeln;
    writeln;
    writeln('Pulse Una Tecla');
    readkey;
  end;
 
  procedure sumadepares;
  var
    d, i : integer;
    suma : word;
  begin
      d := 1;
      for i := 1 to 20 do   {for de 1..20 para tomar los 10 numeros pares}
      if i mod 2 = 0 then   {compruebo si es par i lo asigno al array}
      begin
          fibo[d] := i;
          d := d + 1;  {incremento el contador del array}
      end;
      suma := 0;
      for i := 1 to 10 do     {recorro el array para sumar los valores}
      suma := suma + fibo[i];
      writeln;
      writeln('La Suma de los 10 numeros pares Primeros Es');
      writeln;
      for d := 1 to 10 do  {recorro el array y presento los valores}
      write(fibo[d],' ');
      writeln;
      writeln;
      writeln('Suma Pares = ',suma); {presento la suma}
      writeln;
      writeln;
      writeln('Pulse Una Tecla');
      readkey;
  end;
 
  function esprimo(n : integer) : integer; {esta funcion comprueva si
                                            el numero es primo si loes
                                            lo toma sino no sera 0}
  var
     divi, res, cont : integer;  {variables locales}
  begin
       cont := 0;  {inicio todas}
       res := 0;
       divi := 2; {no considero al 1 como primo}
       if n < 2 then   {verifico que la entrada no se menor de 2
                        para ebitar el error de division por 0}
       n := 2;
       divi := n div 2;    {divido numero entrado por 2}
      while divi <> 1 do  {se ejecutara mientras sea mayor o menor de 1}
      begin
       res := n mod divi;  {divido numero entrado por divi y tomo el resto}
       if res = 0 then     {compruebo si es 0 si loes incremento cont}
        cont := cont + 1;
        divi := divi - 1; {decremento divi}
      end;
       if cont = 0 then  {cuando termina while compruebo si se incremento
                          cont si es cero es primo sino no loes asigno 0}
        esprimo := n
      else
        esprimo := 0;
  end;
 
  procedure sumaprimos;
  var
    es, supri : word;
  begin
      clrscr;
      supri := 0;
      es := 0;
      for k := 2 to 30 do  {realizo un for para tomar los 10 numeros
                            primos primeros como veras el 1 no}
      begin
      es := esprimo(k);    {tomo el valor del primo}
      if es > 0 then       {si es mayor de 0 sumo sino no y presento}
      begin
      supri := supri + es;
      write(es,' ');
      end;
     end;
      writeln;
      writeln('La Suma De Los 10 Primeros N§ Primos es : ',supri);
      {presento la suma}
      writeln;
      writeln;
      writeln('Pulse Una Tecla');
      readkey;
  end;
 
  procedure menu;    {esto solo es el menu para que veas como funciona}
  var
     sali : boolean;
     tec : char;
   begin
       sali := false;
     repeat
       clrscr;
       writeln('**** Menu Principal ****');
       writeln;
       writeln('  1 : Serie Fibonacci');
       writeln('  2 : Suma De Los Primeros 10 N§ Pares');
       writeln('  3 : Suma De Los 10 Primeros N§ Primos');
       writeln('  4 : Salir');
       writeln;
       writeln('<< Pulsa Opcion >>');
       tec := readkey;
       if tec in[#49..#52] then
       begin
    case tec of
  #49 : begin clrscr; sumadeayb; end;
  #50 : begin clrscr; sumadepares; end;
  #51 : begin clrscr; sumaprimos; end;
  #52 : sali := true;
       end;
     end;
     until sali = true;
   end;
 
 
 
  begin
      clrscr;
      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
0
Comentar

Ayuda con algoritmos en pascal Urgenteee¡¡

Publicado por andrea (2 intervenciones) el 03/06/2012 00:23:48
Muchisimass graciass por tu respuesta¡¡¡ me salvastes la vida ejjeje XD :D muchas graciass ^_^
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

Ayuda con algoritmos en pascal Urgenteee

Publicado por Hernan Dario (1 intervención) el 10/06/2012 00:14:25
Hola esta super tu aporte pero ahi manera de que me lo mandes cada uno por separado porfa, es urgenteee :S [email protected]
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