Ayuda con ejercicio pascal
Publicado por bea (7 intervenciones) el 31/01/2008 19:21:38
Hola:
Necesito que me ayudeis con estos programas, por favor.
1. Deberá crear dos funciones:
o Función calcula_euros, que recibe como parámetro una cantidad en pesetas y devuelve como resultado de la función el valor en euros.
o Función calcula_pesetas, que recibe como parámetro una cantidad en euros y devuelve como resultado de la función el valor en pesetas.
Utilice estas funciones en un programa que solicite al usuario la cantidad a convertir y al tipo que deseamos convertir.
Símbolo de MS - DOS
C:cursopro>ppc386 usuario_t6_2.pasFree Pascal Compiler version 1.0.4 [2000/12/30] for i386Copyright (c) 1993-2000 by Florian KlaempflTarget OS: Win32 for i386Compiling usuario_t6_2.pasLinking usuario_t6_2.exe60 Lines compiled, 4.8 secC:cursopro>usuario_t6_2.exe
Para convertir:
1. Pasar de pesetas a euros.
2. Pasar de euros a pesetas.
Opcion: 2
Introduzca cantidad en euros: 30
Son 4992 pesetas.
Continuar (S/N)?s
Para convertir:
1. Pasar de pesetas a euros.
2. Pasar de euros a pesetas.
Opcion: 2
Introduzca cantidad en euros: 30
Son 4992 pesetas.
Continuar (S/N)?s
Para convertir:
1. Pasar de pesetas a euros.
2. Pasar de euros a pesetas.
Opcion:
1Introduzca cantidad en pesetas: 3500
Son 21.04 euros.
Continuar (S/N)?NC:cursopro>
Símbolo de MS - DOS
C:cursopro>ppc386 usuario_t6_2.pasFree Pascal Compiler version 1.0.4 [2000/12/30] for i386Copyright (c) 1993-2000 by Florian KlaempflTarget OS: Win32 for i386Compiling usuario_t6_2.pasLinking usuario_t6_2.exe60 Lines compiled, 4.8 secC:cursopro>usuario_t6_2.exe Para convertir: 1. Pasar de pesetas a euros. 2. Pasar de euros a pesetas. Opcion: 2Introduzca cantidad en euros: 30Son 4992 pesetas.Continuar (S/N)?s Para convertir: 1. Pasar de pesetas a euros. 2. Pasar de euros a pesetas. Opcion: 2Introduzca cantidad en euros: 30Son 4992 pesetas.Continuar (S/N)?s Para convertir: 1. Pasar de pesetas a euros. 2. Pasar de euros a pesetas. Opcion: 1Introduzca cantidad en pesetas: 3500Son 21.04 euros.Continuar (S/N)?NC:cursopro>
Esto es lo que yo he hecho pero tiene errores y no sé como resolverlos al compilar.
Program euro;
(*-- Constantes Globales al programa --*)
Const
EURO=166.386; (* Valor de un euro en pesetas *)
(*-- Funciones y procedimientos --*)
Function calcula_euros (cantidad,opcion: real):real;
begin
calcula_euros:=cantidad*EURO.
end
Function calcula_pesetas (cantidad,opcion: real):real;
begin
calcula_pesetas:=cantidad/EURO;
end;
(*-- Variables globales --*)
Var
opcion: integer;
cantidad: real;
respuesta: char;
(*--Programa principal --*)
Begin
(*Aquí debe ir la solicitud y lectura de datos*)
repeat
writeln ('Para convertir: ');
writeln ('1. Pasar de pesetas a euros. ');
writeln ('2. Pasar de euros a pesetas. ');
writeln ('Opcion: ', opcion);
readln (opcion);
if (opcion='1') then
writeln ('Introduzca la cantidad en pesetas: ');
writeln ('Son ' ,calcula_pesetas(cantidad,opcion):0:2);
else
if (opcion='2') then
writeln ('Introduzca la cantidad en euros: ');
writeln ('Son ' , calcula_euros(cantidad,opcion):0:2);
writeln ('Desea continuar (S/N: ');
readln (respuesta);
until (respuesta='N') or (respuesta='n');
End.
OTRO EJERCICIO:
2.A partir del módulo principal que se presenta a continuación cree los procedimientos necesarios para realizar un programa, llamado usuario_t6_3.pas que pida al usuario dos números y realice la suma de los mismos.
El resultado de una ejecución del programa será por tanto:
Símbolo de MS - DOS
C:cursopro>ppc386 usuario_t6_3.pasFree Pascal Compiler version 1.0.4 [2000/12/30] for i386Copyright (c) 1993-2000 by Florian KlaempflTarget OS: Win32 for i386Compiling usuario_t6_3.pasLinking usuario_t6_3.exe57 Lines compiled, 2.5 secC:cursopro>usuario_t6_3.exe
ntroduzca el primer numero:3
Introduzca el segundo numero:6
El resultado de la suma es: 9.00
C:cursopro>
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.
(*
Fichero: usuario_t6_3.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.
ESTO ES LO QUE YO HE HECHO PERO TIENE ERRORES
Program Operaciones;
(*-- Funciones y procedimientos --*)
Procedure Presenta_resultados (suma:real);
Procedure calculo(primer_numero,segundo_numero:real);
(*-- Variables globales --*)
Var
suma:real;
calculo:real;
(*--Programa principal --*)
Begin
(*Aquí debe ir la solicitud y lectura de datos*)
writeln ('Introduzca el primer numero: ');
readln (primer_numero);
writeln ('Introduzca el segundo numero: ');
readln (segundo_numero);
calculo(primer_numero,segundo_numero,suma);
(*Impresion del resultado de la suma por pantalla*)
writeln ('El resultado de la suma es: ' suma);
Presenta_resultados(suma);
End.
OTRO EJERCICIO
1.Cree un 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 linea, 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.
Símbolo de MS - DOS
C:cursopro>ppc386 usuario_t6_o1.pasFree Pascal Compiler version 1.0.4 [2000/12/30] for i386Copyright (c) 1993-2000 by Florian KlaempflTarget OS: Win32 for i386Compiling usuario_t6_o1.pasLinking usuario_t6_o1.exe31 Lines compiled, 3.6 secC:cursopro>usuario_t6_o1.exeI
ntroduzca longitud de la linea: 20
Introduzca letra: *********************
C:cursopro>usuario_t6_o1.exeI
ntroduzca longitud de la linea: 50
Introduzca letra: ###################################################C:cursopro>
OTRO EJERCICIO:
2. Vamos a crear un programa que imprima un triángulo como el siguiente:
3.
4. *
5. **
6. ***
7. ****
Para ello nos basaremos en el procedimiento línea del ejercicio previo. 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 linea.
Por lo tanto el programa principal deberá solicitar la altura y el carácter, e invocar a pinta_tri.
Símbolo de MS - DOS
C:cursopro>ppc386 usuario_t6_o2.pasFree Pascal Compiler version 1.0.4 [2000/12/30] for i386Copyright (c) 1993-2000 by Florian KlaempflTarget OS: Win32 for i386Compiling usuario_t6_o2.pasLinking usuario_t6_o2.exe37 Lines compiled, 2.0 secC:cursopro>usuario_t6_o2.exe
Introduzca altura del triangulo: 7I
ntroduzca letra: +++++++++++++++++++++++++++++
C:cursopro>
Este es mi programa con errores, el segundo no sé como resolverlo.
Program Linea;
(*-- Funciones y procedimientos --*)
Procedure Linea (caracter:char; cantidad:integer;);
(*-- Variables globales --*)
Var
linea:real;
(*--Programa principal --*)
Begin
(*Aquí debe ir la solicitud y lectura de datos*)
writeln ('Introduzca la longitud de la linea: ');
readln (cantidad);
writeln ('Introduzca letra: ');
readln (caracter);
End.
Necesito que me ayudeis con estos programas, por favor.
1. Deberá crear dos funciones:
o Función calcula_euros, que recibe como parámetro una cantidad en pesetas y devuelve como resultado de la función el valor en euros.
o Función calcula_pesetas, que recibe como parámetro una cantidad en euros y devuelve como resultado de la función el valor en pesetas.
Utilice estas funciones en un programa que solicite al usuario la cantidad a convertir y al tipo que deseamos convertir.
Símbolo de MS - DOS
C:cursopro>ppc386 usuario_t6_2.pasFree Pascal Compiler version 1.0.4 [2000/12/30] for i386Copyright (c) 1993-2000 by Florian KlaempflTarget OS: Win32 for i386Compiling usuario_t6_2.pasLinking usuario_t6_2.exe60 Lines compiled, 4.8 secC:cursopro>usuario_t6_2.exe
Para convertir:
1. Pasar de pesetas a euros.
2. Pasar de euros a pesetas.
Opcion: 2
Introduzca cantidad en euros: 30
Son 4992 pesetas.
Continuar (S/N)?s
Para convertir:
1. Pasar de pesetas a euros.
2. Pasar de euros a pesetas.
Opcion: 2
Introduzca cantidad en euros: 30
Son 4992 pesetas.
Continuar (S/N)?s
Para convertir:
1. Pasar de pesetas a euros.
2. Pasar de euros a pesetas.
Opcion:
1Introduzca cantidad en pesetas: 3500
Son 21.04 euros.
Continuar (S/N)?NC:cursopro>
Símbolo de MS - DOS
C:cursopro>ppc386 usuario_t6_2.pasFree Pascal Compiler version 1.0.4 [2000/12/30] for i386Copyright (c) 1993-2000 by Florian KlaempflTarget OS: Win32 for i386Compiling usuario_t6_2.pasLinking usuario_t6_2.exe60 Lines compiled, 4.8 secC:cursopro>usuario_t6_2.exe Para convertir: 1. Pasar de pesetas a euros. 2. Pasar de euros a pesetas. Opcion: 2Introduzca cantidad en euros: 30Son 4992 pesetas.Continuar (S/N)?s Para convertir: 1. Pasar de pesetas a euros. 2. Pasar de euros a pesetas. Opcion: 2Introduzca cantidad en euros: 30Son 4992 pesetas.Continuar (S/N)?s Para convertir: 1. Pasar de pesetas a euros. 2. Pasar de euros a pesetas. Opcion: 1Introduzca cantidad en pesetas: 3500Son 21.04 euros.Continuar (S/N)?NC:cursopro>
Esto es lo que yo he hecho pero tiene errores y no sé como resolverlos al compilar.
Program euro;
(*-- Constantes Globales al programa --*)
Const
EURO=166.386; (* Valor de un euro en pesetas *)
(*-- Funciones y procedimientos --*)
Function calcula_euros (cantidad,opcion: real):real;
begin
calcula_euros:=cantidad*EURO.
end
Function calcula_pesetas (cantidad,opcion: real):real;
begin
calcula_pesetas:=cantidad/EURO;
end;
(*-- Variables globales --*)
Var
opcion: integer;
cantidad: real;
respuesta: char;
(*--Programa principal --*)
Begin
(*Aquí debe ir la solicitud y lectura de datos*)
repeat
writeln ('Para convertir: ');
writeln ('1. Pasar de pesetas a euros. ');
writeln ('2. Pasar de euros a pesetas. ');
writeln ('Opcion: ', opcion);
readln (opcion);
if (opcion='1') then
writeln ('Introduzca la cantidad en pesetas: ');
writeln ('Son ' ,calcula_pesetas(cantidad,opcion):0:2);
else
if (opcion='2') then
writeln ('Introduzca la cantidad en euros: ');
writeln ('Son ' , calcula_euros(cantidad,opcion):0:2);
writeln ('Desea continuar (S/N: ');
readln (respuesta);
until (respuesta='N') or (respuesta='n');
End.
OTRO EJERCICIO:
2.A partir del módulo principal que se presenta a continuación cree los procedimientos necesarios para realizar un programa, llamado usuario_t6_3.pas que pida al usuario dos números y realice la suma de los mismos.
El resultado de una ejecución del programa será por tanto:
Símbolo de MS - DOS
C:cursopro>ppc386 usuario_t6_3.pasFree Pascal Compiler version 1.0.4 [2000/12/30] for i386Copyright (c) 1993-2000 by Florian KlaempflTarget OS: Win32 for i386Compiling usuario_t6_3.pasLinking usuario_t6_3.exe57 Lines compiled, 2.5 secC:cursopro>usuario_t6_3.exe
ntroduzca el primer numero:3
Introduzca el segundo numero:6
El resultado de la suma es: 9.00
C:cursopro>
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.
(*
Fichero: usuario_t6_3.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.
ESTO ES LO QUE YO HE HECHO PERO TIENE ERRORES
Program Operaciones;
(*-- Funciones y procedimientos --*)
Procedure Presenta_resultados (suma:real);
Procedure calculo(primer_numero,segundo_numero:real);
(*-- Variables globales --*)
Var
suma:real;
calculo:real;
(*--Programa principal --*)
Begin
(*Aquí debe ir la solicitud y lectura de datos*)
writeln ('Introduzca el primer numero: ');
readln (primer_numero);
writeln ('Introduzca el segundo numero: ');
readln (segundo_numero);
calculo(primer_numero,segundo_numero,suma);
(*Impresion del resultado de la suma por pantalla*)
writeln ('El resultado de la suma es: ' suma);
Presenta_resultados(suma);
End.
OTRO EJERCICIO
1.Cree un 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 linea, 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.
Símbolo de MS - DOS
C:cursopro>ppc386 usuario_t6_o1.pasFree Pascal Compiler version 1.0.4 [2000/12/30] for i386Copyright (c) 1993-2000 by Florian KlaempflTarget OS: Win32 for i386Compiling usuario_t6_o1.pasLinking usuario_t6_o1.exe31 Lines compiled, 3.6 secC:cursopro>usuario_t6_o1.exeI
ntroduzca longitud de la linea: 20
Introduzca letra: *********************
C:cursopro>usuario_t6_o1.exeI
ntroduzca longitud de la linea: 50
Introduzca letra: ###################################################C:cursopro>
OTRO EJERCICIO:
2. Vamos a crear un programa que imprima un triángulo como el siguiente:
3.
4. *
5. **
6. ***
7. ****
Para ello nos basaremos en el procedimiento línea del ejercicio previo. 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 linea.
Por lo tanto el programa principal deberá solicitar la altura y el carácter, e invocar a pinta_tri.
Símbolo de MS - DOS
C:cursopro>ppc386 usuario_t6_o2.pasFree Pascal Compiler version 1.0.4 [2000/12/30] for i386Copyright (c) 1993-2000 by Florian KlaempflTarget OS: Win32 for i386Compiling usuario_t6_o2.pasLinking usuario_t6_o2.exe37 Lines compiled, 2.0 secC:cursopro>usuario_t6_o2.exe
Introduzca altura del triangulo: 7I
ntroduzca letra: +++++++++++++++++++++++++++++
C:cursopro>
Este es mi programa con errores, el segundo no sé como resolverlo.
Program Linea;
(*-- Funciones y procedimientos --*)
Procedure Linea (caracter:char; cantidad:integer;);
(*-- Variables globales --*)
Var
linea:real;
(*--Programa principal --*)
Begin
(*Aquí debe ir la solicitud y lectura de datos*)
writeln ('Introduzca la longitud de la linea: ');
readln (cantidad);
writeln ('Introduzca letra: ');
readln (caracter);
End.
Valora esta pregunta


0