Pascal/Turbo Pascal - Pascal, ayuda para ejercicios de funciones y procedimeientos.

 
Vista:
sin imagen de perfil

Pascal, ayuda para ejercicios de funciones y procedimeientos.

Publicado por Federico (10 intervenciones) el 09/11/2013 21:31:08
Hola gente, tengo problemas con lo de funciones y procedimientos, tal vez puedan ayudarme con estos ejercicios:

Estos ejercicios me salen pero con errores.

Ejercicio 1: Escribir una función que devuelva el promedio de los dígitos de un número entero.

Ejercicio 2: Dado un valor entero X y un vector de enteros, escribir una función que devuelva la cantidad de veces que aparece X en el vector.

Ejercicio 3: Dado un vector de números reales y un valor entero P, escribir un procedimiento que elimine el valor de la posición P del vector y otro procedimiento para mostrar el vector modificado en pantalla
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

Pascal, ayuda para ejercicios de funciones y procedimeientos.

Publicado por ramon (2158 intervenciones) el 10/11/2013 19:32:15
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
{A ver seria algo así}
 
 program ejercicios;
  uses
     crt;
   const
       maxn = 20;
   var
     pp, promentero : integer;
     prom : string[12];
     numerosent : array[1..maxn] of integer;
     numerosrea : array[1..maxn] of real;
 
  procedure numerosdigit;
  var
   nn, num3, clg1 : longint;
   clg2 : array[1..18] of byte;
   media, t, n : longint;
   begin
     writeln('**** Entre El Numero Entero ****');
     writeln;
     write('    El Numero Sera : ');
     readln(promentero);
       n := 1;
       clg1 := promentero mod 10;
       nn := promentero;
       while nn > 0 do
       begin
         num3 := nn mod 10;
         nn := nn div 10;
         clg2[n] := 0;
         clg2[n] := (clg2[n] * 10) + num3;
         n := n + 1;
       end;
       writeln;
       media := 0;
       for t := 1 to n - 1 do
       media := media + clg2[t];
       media := media div t;
       writeln('   El Medio Es : ',media);
       writeln;
    end;
 
  procedure repeticionnumero;
  var
    num, ent, cont, nn : integer;
    sal : boolean;
  begin
      randomize;
      sal := false;
      nn := 1;
     repeat
         cont := random(maxn + 1) + 1;
         numerosent[nn] := cont;
         nn := nn + 1;
         if nn > maxn then
         sal := true;
     until sal = true;
     writeln;
     write('    Entre Entero A buscar : ');
     readln(ent);
     if ent > maxn then
     writeln('  El Numero Entrado Es Demasiado Grande ')
   else
     begin
     cont := 0;
     num := 0;
     for nn := 1 to maxn do
     begin
     if numerosent[nn] = ent then
     begin
     cont := cont + 1;
     num := numerosent[nn];
     end;
     write('  ',numerosent[nn]);
     end;
     writeln;
      writeln('   *** El Numero Entrado Aparece : ',cont,' ***');
      writeln('       Y El Numero Es : ',num);
      writeln;
    end;
  end;
 
  procedure eliminareal;
  var
    posi, dec, cont, nn, pp : integer;
    num : real;
    sal : boolean;
  begin
      writeln('   La Longitud Del Array Es : ',maxn div 2);
      write('   Entre Posicion A Borrar : ');
      readln(posi);
      randomize;
      sal := false;
      pp := 1;
    repeat
        num := random(maxn div 2) + (pp * 0.34);
        sal := false;
        for cont := 1 to pp do
         if numerosrea[cont] = num then
        sal := true;
        if sal = false then
        begin
        numerosrea[pp] := num;
        pp := pp + 1;
        end;
    until pp > maxn div 2;
    writeln('   El Array Seria');
    for cont := 1 to pp - 1 do
    write('  ',numerosrea[cont]:0:2);
    writeln;
    writeln;
    writeln('   Esto Quedaria Asi ');
    for cont := 1 to pp - 1 do
    if cont <> posi then
    write('  ',numerosrea[cont]:0:2);
    writeln;
  end;
 
 
  begin
     clrscr;
     numerosdigit;
     writeln;
     repeticionnumero;
     writeln;
     eliminareal;
     writeln;
     writeln('   Pulse Una Tecla');
     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
1
Comentar
sin imagen de perfil

Pascal, ayuda para ejercicios de funciones y procedimeientos.

Publicado por Federico (10 intervenciones) el 10/11/2013 22:57:16
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