Pascal/Turbo Pascal - Ejercicios sin resolver

 
Vista:
sin imagen de perfil
Val: 6
Ha aumentado su posición en 2 puestos en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

Ejercicios sin resolver

Publicado por osc.jose (64 intervenciones) el 05/11/2012 02:08:10
Hola
me urge mucho sacarme estos ejercicios y son los que me quedan de este tema pero no se como hacerlos, ojala me puedan ayudar ya que los tengo q entregar y me queda muy poco tiempo para ello

A partir del módulo principal crear los procedimientos para realizar un programa que pida al usuario dos números y realice la suma de los mismos.
La estructura del programa será como la que le presentamos a continuación.
Hay que destacar que la impresión del valor de la suma hay que hacerlo OBLIGATORIAMENTE en el procedimiento presenta_resultados: Esto le obligará a pasar el parámetro suma por referencia en el procedimiento cálculo, que realiza la suma.

(*
Fichero: unidad6_2_1.pas
Autor:
Mail:
Descripción:
*)

program Operaciones;

(*-- Funciones y procedimientos -- *)

(* ¡¡ Aquí irían las definiciones de los procedimientos calculo y
presenta_resultados !! *)

(*-- Variables Globales -- *)
var
primer_numero:real;
segundo_numero:real;
suma:real;

(*-- Programa Principal -- *)
begin

(* Solicitud de los datos *)
writeln('Introduzca el primer numero: ');
readln(primer_numero);
writeln('Introduzca el segundo numero: ');
readln(segundo_numero);

calculo(primer_numero,segundo_numero,suma);

(* Impresión del resultado de la suma por pantalla *)
presenta_resultados(suma);
end.


2.

Crear programa con un procedimiento que imprima una línea de una cierta longitud compuesta por un determinado carácter.
Para ello, el procedimiento de nombre línea, recibirá dos parámetros: el carácter que queremos imprimir, y el número de caracteres que queremos que tenga la línea.
Para probar ese procedimiento incluya ese procedimiento en un programa que pida la longitud y el carácter que queremos imprimir.

La ejecución será similar a:



C:\cursopro>usuario_t6_o1.exe
Introduzca longitud de la línea: 20
Introduzca letra: *
********************



3.

REUTILIZANDO el procedimiento de la cuestión 2 se va a codificar un programa que imprima un triángulo como el siguiente:

*
**
***
****

Observe que el triángulo es una sucesión de líneas cuya longitud se va incrementando, desde 1 hasta la altura del triángulo.
Deberá codificar un procedimiento de nombre pinta_tri, que recibe como parámetros la altura del triángulo y el carácter que formará el triángulo. Este procedimiento deberá usar el procedimiento línea, para pintar cada una de las líneas del triángulo. Fíjese que el número de veces que se llama al procedimiento que pinta la línea es igual a la altura del triángulo, y que en la primera invocación, la línea tiene longitud 1 y en la última, la longitud es igual a la altura del triángulo.
En cuanto al programa principal deberá solicitar la altura y el carácter e invocar a pinta_tri.

parecido a este
Introduzca altura del triangulo: 7
Introduzca letra: +
+
++
+++
++++
+++++
++++++
+++++++



4.

Codifique un procedimiento que presente un menú de opciones por pantalla y devuelva la opción elegida por el usuario. Las opciones que presentará son:
1. Abrir cesta de compra existente.
2. Comenzar cesta de compra nueva.
3. Añadir producto a la cesta.
4. Eliminar producto de la cesta.
5. Guardar cesta.
6. Pedir cesta.
7. Salir del programa.

Una vez que el usuario elija una opción en el procedimiento se comprueba si es válida, es decir si es un número entre 1 y 7. En caso de que la opción no sea válida, se volverá a repetir la presentación del menú hasta que el usuario pulse una opción válida. Para depurar el procedimiento deberá incluirlo en un sencillo programa que simplemente invoque el procedimiento y compruebe que el resultado devuelto es el correcto.

siento las molestias pero me urgen estos cuatro
gracias anticipadas
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
sin imagen de perfil
Val: 6
Ha aumentado su posición en 2 puestos en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

Ejercicios sin resolver

Publicado por Osc.jose (64 intervenciones) el 05/11/2012 02:27:19
Voy haciendo camino, doy x solucionado mis ejerc, asi q cierro tema en principio, mañana compilo y si hay suert ejerc dados por resueltos, gracias d todas maneras
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 sin resolver

Publicado por ramon (2158 intervenciones) el 05/11/2012 18:17: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
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
{Espero te sirva  en todavía }
 
 {program multiple;
 uses
    crt;
 var
   primer_numero : real;
   segundo_numero : real;
   suma : real;
 
  procedure operaciones(primer, segundo : real);
  begin
       suma := primer + segundo;
  end;
 
  procedure presenta_resultado(res : real);
  begin
      writeln('   El Resultado Es : ',res:0:2);
  end;
 
  begin
      clrscr;
      write('   Entre 1§ Numero : ');
      readln(primer_numero);
      write('   Entre 2§ Numero : ');
      readln(segundo_numero);
      operaciones(primer_numero, segundo_numero);
      presenta_resultado(suma);
      readln;
  end. }
 
  {program linea;
  uses
     crt;
   var
     t, long : integer;
     h : char;
  begin
      clrscr;
      write('  Entre Longitud De Linea : ');
      readln(long);
      write('  Entre Caracter a Presentar : ');
      readln(h);
      for t := 1 to long do
      write(h);
      readln;
  end.}
 
  {program triangulo;
  uses
     crt;
   var
     d, t, altura : integer;
     caracter : char;
 
   procedure linea(al : integer);
   begin
      for t := 1 to al do
      begin
         for d := 1 to t do
         begin
         write(caracter);
         end;
         writeln;
      end;
   end;
 
   begin
      clrscr;
      write('   Entre Altura : ');
      readln(altura);
      write('   Entre Caracter : ');
      readln(caracter);
      linea(altura);
      readln;
   end.}
 
   program menu;
   uses
      crt;
   var
     tec : char;
   begin
   repeat
     clrscr;
     writeln('***** Menu General *****');
     writeln;
     writeln('  1. Abrir cesta de compra existente.');
     writeln('  2. Comenzar cesta de compra nueva.');
     writeln('  3. A¤adir producto a la cesta.');
     writeln('  4. Eliminar producto de la cesta.');
     writeln('  5. Guardar cesta.');
     writeln('  6. Pedir cesta.');
     writeln('  7. Salir del programa.');
     writeln;
     writeln('  Elija Opcion ');
     repeat
     tec := readkey;
     until tec in['1','2','3','4','5','6','7'];
  case tec of
 '1' : begin clrscr; writeln('Abrir cesta de compra existente'); readln; end;
 '2' : begin clrscr; writeln('Comenzar cesta de compra nueva'); readln; end;
 '3' : begin clrscr; writeln('A¤adir producto a la cesta'); readln; end;
 '4' : begin clrscr; writeln('Eliminar producto de la cesta'); readln; end;
 '5' : begin clrscr; writeln('Guardar cesta'); readln; end;
 '6' : begin clrscr; writeln('Pedir cesta'); readln; end;
   end;
  until tec = '7';
   end.
 
{Todos los programas quita de ellos  los {} del principio y final}
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
sin imagen de perfil
Val: 6
Ha aumentado su posición en 2 puestos en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

Ejercicios sin resolver

Publicado por Osc.jose (64 intervenciones) el 05/11/2012 18:25:15
Gracias ramon pero estos como postee los logre sacar
Mil gracias d todas maneras
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 sin resolver

Publicado por Raquel (1 intervención) el 17/06/2013 18:28:31
Lo mas importante en este tipo de ejercicios, es aprender y no que te lo den todo echo, yo tambien estoy aprendiendo, y abase de darme cabezazos contra la mesa lo voy consigueindo..eso es la programacion, loquear, no darse por vencido y equivocarse miles de veces... de todas formas, por si le sirve de ayuda a alguien o a ti te mando las soluciones de algunos ejercicios por los que preguntas...yo estoy loqueando con el dibuji del triangulo, pero se que lo conseguire como hize con el resto...
Bueno a ver si te ayuda.

Primer EJERCICIO:

program operaciones;
var
primer_numero:real;
segundo_numero:real;
suma:real;
procedure presenta_resultados(suma:real);
begin
writeln('el resultado es: ',suma:0:3);
end;
procedure calculo (var primer_numero,segundo_numero,suma:real);
begin
suma:=primer_numero+segundo_numero;
end;

begin
suma:=0;
writeln('introduzca el primer_numero: ');
readln(primer_numero);
writeln('introduzca el segundo_numero: ');
readln(segundo_numero);
calculo(primer_numero,segundo_numero,suma);
presenta_resultados(suma);
end.

Segundo EJERCICIO

program long;
var
longitud:integer;
letra:char;

procedure linea(longitud:integer;letra:char);
var
i:integer;
begin
for i:= 1 to longitud do
write(letra);
end;

begin
write('introduzca la longitud :');
readln(longitud);
write('introduzca una letra: ');
readln(letra);

linea(longitud,letra);
end.

Cuarto EJERCICIO

program opciones;
var
opcion:integer;
mensaje:string[40];

procedure elegir_opcion(opcion:integer);
var
mensaje:string[40];
begin
case(opcion)of
1:mensaje:=' Abrir cesta de compra existente.';
2:mensaje:='Comenzar cesta de compra nueva.';
3:mensaje:='Añadir producto a la cesta.';
4:mensaje:='Eliminar producto de la cesta';
5:mensaje:='Guardar cesta.';
6:mensaje:='Pedir cesta.';
7:mensaje:='Salir del programa.';
end;
write(mensaje);
end;

begin
repeat
writeln('1. Abrir cesta de compra existente.');
writeln('2. Comenzar cesta de compra nueva.');
writeln('3.Añadir producto a la cesta.');
writeln('4. Eliminar producto de la cesta.');
writeln('5. Guardar cesta.');
writeln('6. Pedir cesta.');
writeln('7. Salir del programa.');
writeln('introduzca un numero');
readln(opcion);
until ((opcion<7)and (opcion>0));

elegir_opcion(opcion);
end.

Espero que te valga...pero copinado no aprenderas..hay que entenderlo sino no vale de nada. un saludo
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