Pascal/Turbo Pascal - ejercicios de turbo pascal

 
Vista:

ejercicios de turbo pascal

Publicado por elihu nicolay (3 intervenciones) el 25/01/2013 18:55:07
Hola! necesito su ayuda... no se resolver estos ejercicios :S no se como resolverlo

1) Calcular mediante un programa diseñado en pascal la suma de los "N" primeros numeros

2) Diseñar u programa en pascal que al ingresar "N" cantidad de notas de un estudiante calcule:notas aprobadas, notas reprobadas y promedio de notas

3)Realizar un programa en pascal que permita pedir 20 números naturales y determine cuantos son positivos y negativos.

4) Elaborar un programa en pascal que calcule la media de 100 números y le de salida al resultado

Por favor ayuda, es solamente esos 4 ejercicio
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

ejercicios de turbo pascal

Publicado por elihu nicolay (3 intervenciones) el 25/01/2013 20:52:11
al menos 1 son básicos soy nuevo en turbo pascal y no se casi nada :( ayúdenme por fa
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

ejercicios de turbo pascal

Publicado por ramon (2158 intervenciones) el 25/01/2013 21:39:59
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
{A ver para que vayas trabajando y dime que valores son las notas que marcas aprobadas, notas reprobadas y promedio de notas }
 
program numer;
 uses
   crt;
 var
   numeros : array[1..20] of integer;
 
  procedure sumanumeros;
  var
    num, i : integer;
    sumatotal : word;
  begin
     writeln('Entre Numeros [0] Termina');
     writeln;
     i := 1;
     while num <> 0 do
     begin
        write('  Entre Num ',i,' : ');
        readln(num);
        numeros[i] := num;
        i := i + 1;
        if i > 20 then
        i := 20;
     end;
     sumatotal := 0;
     for num := 1 to i - 1 do
     sumatotal := sumatotal + numeros[num];
     writeln('  La suma Es : ',sumatotal);
  end;
 
  procedure media;
  var
    tem, i, t : integer;
    num : array[1..100] of integer;
    media : word;
    sal : boolean;
  begin
      randomize;
      i := 1;
      tem := 1;
      repeat
      t := random(130) + 1;
      for i := 1 to 100 do
      begin
      if t = num[i] then
      sal := true;
      end;
      if sal = false then
      begin
         num[tem] := t;
         tem := tem + 1;
      end;
      sal := false;
    until (tem > 100) or (keypressed);
    media := 0;
    for t := 1 to tem do
    media := media + num[t];
    for t := 1 to tem do
    write(' ',num[t]);
    writeln;
    writeln('  La media Es : ',media / tem:8:2);
  end;
 
  begin
      clrscr;
      sumanumeros;
      media;
      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
2
Comentar

ejercicios de turbo pascal

Publicado por elihu nicolay (3 intervenciones) el 25/01/2013 23:07:04
muchas gracias ramón men me puedes ayudar con otros ejercicios por favor los necesito para manana te lo agradecería mucho :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-2
Comentar

ejercicios de turbo pascal

Publicado por ramon (2158 intervenciones) el 26/01/2013 17:06:28
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
{A qui tienes los otros espero te ayuden suerte}
 
 procedure notas;
  const
     notamax = 10;
     notamed = 5;
     promed : real = 0;
  var
    nota : array[1..20] of integer;
    i, t : integer;
    total : word;
    no : integer;
  begin
      clrscr;
      writeln('Entre Notas De Estudiante [0]=Termina  aprobadas=[10] ',
                                                    'reprobadas=[5]');
      writeln;
      i := 1;
      while no <> 0 do
      begin
         write('Nota Estudiante Num [',i,'] : ');
         readln(no);
         nota[i] := no;
         i := i + 1;
         if i > 20 then
         i := 20;
      end;
      total := 0;
      for t := 1 to i - 1 do
      begin
      total := total + nota[t];
      if nota[t] in[1..5] then
      writeln('Nota Num [',t,'] reprobadas');
      if nota[t] in[6..10] then
      writeln('Nota Num [',t,'] aprobadas');
      end;
      writeln;
      writeln('La Media Es [',total / i - 1:8:2,']');
      readln;
  end;
 
  procedure negaposi;
  var
    t,i : integer;
    nume : array[1..20] of integer;
    nu : integer;
  begin
      i := 1;
    writeln('Entre Numeros Naturales [0]=Finaliza');
    writeln;
    while nu <> 0 do
    begin
        write('Entre Num [',i,'] : ');
        readln(nu);
        nume[i] := nu;
        i := i + 1;
        if i > 20 then
        i := 20;
    end;
      writeln;
      for t := 1 to i - 1 do
      if nume[t] mod 2 = 0 then
      writeln('El Num[',nume[t],'] Es positivo')
    else
      writeln('El Num[',nume[t],'] Es Negativo');
      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

ejercicios de turbo pascal

Publicado por MARIANNY SALAZAR (2 intervenciones) el 30/01/2013 21:08:04
Hola necesito ayuda con este ejercicio... La empresa inversiones, tiene en su nomina un total de 30 empleados y necesita elaborar un algoritmo que le permita leer los datos de cada uno de ellos y mostrar al final ciertas estadísticas a partir de los siguientes datos:
Nombre, edad, estado civil(Soltero, Casado, Viudo), sexo y sueldo. el sueldo debe indicarse de la siguiente forma:
a) sueldo menor a 3.500
b) sueldo entre 3.500 y 5.800
c) sueldo mayor a 5.800.
las características a mostrar son:
*total de hombres casados que ganan mas de 5.800
*total de mujeres viudas que ganan mas de 3.500
*edad promedio de los empleados de la empresa
*porcentaje de mujeres entre 18 y 20 años. entre 21 y 28 años y mayores de 28 años.
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

ejercicios de turbo pascal

Publicado por ramon (2158 intervenciones) el 31/01/2013 18:06:11
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
{A ver esto te valdrá}
 
 program empresa;
 uses
   crt;
    const
       maximo = 30;
       estad_civil : array[1..3] of string[7] = (
       'Soltero', 'Casado', 'Viudo');
    type
 
      datosempleado = record
          nombre : string[150];
          edad   : integer;
          estado : string[7];
          sexo   : char;
          sueldo : real;
         end;
 
    var
       emplea : array[1..maximo] of datosempleado;
       cont : integer;
 
 
   procedure entrada_datos(n : integer);
   var
     tec : char;
   begin
      clrscr;
      writeln('  Entre Datos De Empleado ');
      writeln;
      write('  Nombre : ');
      readln(emplea[n].nombre);
      write('  Edad   : ');
      readln(emplea[n].edad);
      writeln('  1 = Soltero  2 = Casado  3 = Viudo');
      repeat
          tec := readkey;
      until tec in[#49..#51];
   case tec of
  #49 : emplea[n].estado := estad_civil[1];
  #50 : emplea[n].estado := estad_civil[2];
  #51 : emplea[n].estado := estad_civil[3];
   end;
      writeln('  Estado : ',emplea[n].estado);
      write('   Sexo   : ');
      repeat
         tec := upcase(readkey);
      until tec in['F','M'];
      write(tec);
      emplea[n].sexo := tec;
      writeln('  Salario : ');
      writeln('  1 = sueldo menor a 3.500   2 = sueldo entre 3.500 y 5.800',
              '   3 = sueldo mayor a 5.800');
      repeat
      tec := readkey;
      until tec in[#49..#51];
   case tec of
  #49 : emplea[n].sueldo := 3499;
  #50 : emplea[n].sueldo := 3500;
  #51 : emplea[n].sueldo := 5800;
   end;
 end;
 
 procedure presenta_datos;
 var
   t : integer;
   casa58, viud, edap : integer;
   ed1, ed2, ed3 : integer;
 begin
    writeln('   Datos Del Trabajador ');
    writeln;
    casa58 := 0;
    viud := 0;
    edap := 0;
    ed1 := 0;
    ed2 := 0;
    ed3 := 0;
    for t := 1 to 30 do
    begin
    if (emplea[t].sueldo = 5800) and (emplea[t].sexo = 'M') and
                 (emplea[t].estado = estad_civil[2]) then
     casa58 := casa58 + 1;
     if (emplea[t].sueldo = 3500) and (emplea[t].sexo = 'F') and
                 (emplea[t].estado = estad_civil[3]) then
     viud := viud + 1;
     edap := edap + emplea[t].edad;
     if (emplea[t].sexo = 'F') and (emplea[t].edad in[18..20]) then
     ed1 := ed1 + 1;
     if (emplea[t].sexo = 'F') and (emplea[t].edad in[21..28]) then
     ed2 := ed2 + 1;
     if (emplea[t].sexo = 'F') and (emplea[t].edad > 28) then
     ed3 := ed3 + 1;
     end;
    clrscr;
    if casa58 > 0 then
    writeln(' total de hombres casados que ganan mas de 5.800 = ',casa58);
    if viud > 0 then
    writeln(' total de mujeres viudas que ganan mas de 3.500  = ',viud);
    if cont > 2 then
    writeln(' edad promedio de los empleados de la empresa    = ',edap div 2)
  else
    writeln(' edad promedio de los empleados de la empresa    = ',edap);
    if ed1 > 0 then
    writeln(' mujeres entre 18 y 20 a¤os                      = ',ed1);
    if ed2 > 0 then
    writeln(' mujeres entre 21 y 28 a¤os                      = ',ed2);
    if ed3 > 0 then
    writeln(' mujeres mayores 28 a¤os                         = ',ed3);
    writeln;
    writeln('   Pulse [Enter]');
    readln;
 end;
 
 procedure menu;
 var
   tecl : char;
   sal : boolean;
  begin
      sal := false;
    repeat
       clrscr;
       writeln('       **** Menu General ****');
       writeln;
       writeln('     1 = Entrada Datos ');
       writeln('     2 = Presenta Datos ');
       writeln('     3 = Salir ');
       writeln;
       writeln('     >>>> Elija Opcion <<<<');
       repeat
       tecl := readkey;
       until tecl in[#49,#50,#51];
    case tecl of
  #49 : begin
          clrscr;
          entrada_datos(cont);
          cont := cont + 1;
          if cont > maximo then
          cont := maximo;
         end;
  #50 : begin clrscr; presenta_datos; end;
  #51 : sal := true;
    end;
    until sal = true;
  end;
 
 
 begin
     clrscr;
     cont := 1;
     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
3
Comentar

ejercicios de turbo pascal

Publicado por luis fco (1 intervención) el 29/05/2013 00:57:08
necesito que me ayuden a corregir el siguiente ejercicio es sobre un programa
dice asi
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
PROGRAM LABO2;
USES CRT;
VAR NOMBRE,EC,I,D,FN:STRING;CEDULA,E:INTERGER;
BEGIN
CLRSCR;
TEXTCOLOR;
I:='PASCKAL';
WHILE (I=PASKAL) DO
WRITE ('INTRODUZCA SU CONTRASEÑA: ');
READ (I)
WRITE ('INTRODUZCA SU NOMBRE: ');
READ (NOMBRE)
WRITE ('INTRODUZCA CEDULA DE IDENTIDAD: ')
READ (CEDULA)
WRITE ('INTRODUZCA EDAD: ');
READ (E)
WRITE ('INTRODUZCA FECHA DE NACIMIENTO: ')
READ (FN)
WRITE ('INTRODUZCA ESTADO CIVIL: ?)
READ (EC)
WRITE (INTRODUZCA LA DIRECCION: ')
READ (D)
READKEY
END;
END.

LO MAS ANTES POSIBLES GRACIAS NECESITO CORREGIR LOS ERRORES ES UN PROGRAMA DE UNA CONTRASEÑA
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

ejercicios de turbo pascal

Publicado por ramon (2158 intervenciones) el 29/05/2013 13:11:43
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
{Mira Estas Correcciones}
 
PROGRAM LABO2;
  USES
    CRT;
   VAR
     NOMBRE, EC, I, D, FN : STRING;
     l, CEDULA, E : INTEGER;
   BEGIN
     CLRSCR;
      TEXTCOLOR(15);
      writeln('Entre Datos Finaliza Entrando [PASKAL]');
    WHILE (I <> 'PASKAL') DO
    begin
      WRITE('INTRODUZCA SU CONTRASEÑA : ');
      READln(I);
      for l := 1 to length(i) do
      i[l] := upcase(i[l]);
      if i <> 'PASKAL' then
      begin
      WRITE('INTRODUZCA SU NOMBRE : ');
      READln(NOMBRE);
      WRITE('INTRODUZCA CEDULA DE IDENTIDAD : ');
      READln(CEDULA);
      WRITE('INTRODUZCA EDAD : ');
      READln(E);
      WRITE('INTRODUZCA FECHA DE NACIMIENTO : ');
      READln(FN);
      WRITE('INTRODUZCA ESTADO CIVIL : ');
      READln(EC);
      WRITE('INTRODUZCA LA DIRECCION : ');
      READln(D);
    end;
  end;
      writeln('Fin De Entrada 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
0
Comentar

ejercicios de turbo pascal

Publicado por milena oporta (1 intervención) el 04/11/2014 22:03:00
necesito ayuda para resolver programas en pascal........
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

ejercicios de turbo pascal

Publicado por ramon (2158 intervenciones) el 05/11/2014 12:24:55
Inicia preguntas y intentaremos hayudarte todo lo que podamos pero aclo en consultas nuevas para poderlo ver
lo antes posible en preguntas anteriores puede pasar sin ser visto
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

ejercicios de turbo pascal

Publicado por Henry (1 intervención) el 22/08/2017 02:04:31
necesito ayuda para realizar un programa que permita leer 4 numeros si el primero es positivo que sume los 4, si el segundo es negativo los reste, si el tercero es negativo los multiplique
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

ejercicios de turbo pascal

Publicado por ramon (2158 intervenciones) el 26/08/2017 10:10: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
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
155
156
157
158
159
{Esto valdría}
 
 program par_in_par;
  uses
     crt;
 
   var
     pri, seg, ter, cua : integer;
 
   procedure entrada_numeros(var p, s, t, c : integer);
   var
     tec : integer;
     n : integer;
   begin
       clrscr;
       writeln('   Entrada De Numeros');
       writeln;
       n := 1;
    repeat
       write('   ',n,' : ');
       readln(tec);
    case n of
  1 : p := tec;
  2 : s := tec;
  3 : t := tec;
  4 : c := tec;
  end;
       n := n + 1;
   until n > 4;
   clrscr;
   end;
 
   function positivos(n1, n2, n3, n4 : integer) : boolean;
   begin
      positivos := false;
      if (n1 > 0) and (n2 > 0) and (n3 > 0) and (n4 > 0) then
      positivos := true;
   end;
 
   function negativos(n1, n2, n3, n4 : integer) : boolean;
   begin
      negativos := false;
      if (n1 < 0) and (n2 < 0) and (n3 < 0) and (n4 < 0) then
      negativos := true;
   end;
 
   function negativo_positivo(n1, n2, n3, n4 : integer) : boolean;
   begin
      negativo_positivo := false;
      if (n1 <> 0) or (n2 <> 0) or (n3 <> 0) or (n4 <> 0) then
      negativo_positivo := true;
   end;
 
   function suma(v1, v2, v3, v4 : integer) : integer;
   var
      pos, neg, result : integer;
   begin
      pos := 0;
      neg := 0;
      result := 0;
      if positivos(v1,v2,v3,v4) then
      result := (v1 + v2 + v3 + v4);
      if negativos(v1,v2,v3,v4) then
      result := -(v1 + v2 + v3 + v4);
      if negativo_positivo(v1, v2, v3, v4) then
      begin
         if v1 > 0 then
         pos := pos + v1
      else
         neg := neg + v1;
       if v2 > 0 then
         pos := pos + v2
      else
         neg := neg + v2;
         if v3 > 0 then
         pos := pos + v3
      else
         neg := neg + v3;
         if v4 > 0 then
         pos := pos + v4
      else
         neg := neg + v4;
         if neg > pos then
         result :=  -(pos + neg)
      else
         result := (neg + pos);
      end;
      suma := result;
   end;
 
   function resta(v1, v2, v3, v4 : integer) : integer;
   var
     result : integer;
     pos, neg : integer;
     begin
        if (v1 > 0) and (v2 > 0) then
        pos := (v1 + (-v2));
        if (v1 < 0) and (v2 < 0) then
        pos := (v1 + (+v2));
        if (v1 > 0) and (v2 < 0) then
        pos := (v1 + (+v2));
        if (v1 < 0) and (v2 > 0) then
        pos := (v1 + (-v2));
        if (pos > 0) and (v3 > 0) then
        neg := (pos + (-v3));
        if (pos < 0) and (v3 < 0) then
        neg := (pos + (+v3));
        if (pos > 0) and (v3 < 0) then
        neg := (pos + (+v3));
        if (pos < 0) and (v3 > 0) then
        neg := (pos + (-v3));
        if (neg > 0) and (v4 > 0) then
        result := (neg + (-v4));
        if (neg < 0) and (v4 < 0) then
        result := (neg + (+v4));
        if (neg > 0) and (v4 < 0) then
        result := (neg + (+v4));
        if (neg < 0) and (v4 > 0) then
        result := (neg + (-v4));
        resta := result;
     end;
 
     function multiplicacion(v1, v2, v3, v4 : integer) : integer;
     var
       result : integer;
       neg, pos : integer;
     begin
         multiplicacion := 0;
         result := 0;
         if (v1 > 0) and (v2 > 0) then
         pos := (v1 * v2)
      else
         pos := -(v1 * v2);
         if (pos > 0) and (v3 > 0) then
         pos := (pos * v3)
       else
         pos := -(pos * v3);
         if (pos > 0) and (v4 > 0) then
         pos := (pos * v4)
      else
         pos := -(pos * v4);
        multiplicacion := pos;
     end;
 
 
 
   begin
      entrada_numeros(pri, seg, ter, cua);
      writeln;
      writeln(' N. :  ',pri,'  ',seg,'  ',ter,'  ',cua);
      writeln;
      writeln('  El Resultado De La Suma Es           : ',suma(pri, seg, ter, cua));
      writeln;
      writeln('  El Resultado De La Resta Es          : ',resta(pri, seg, ter, cua));
      writeln;
      writeln('  El Resultado De La Multiplicacion Es : ',multiplicacion(pri, seg, ter, cua));
      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