• Jueves 12 de Diciembre de 2019, 06:41

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - guqui1969

Páginas: [1]
1
Pascal / Re: No compila problema de ejemplo de Joyanes Aguilar
« en: Viernes 15 de Mayo de 2009, 02:19 »
Bermann, tu código corregido ESTÁ PERFECTO, lo hice andar, pero con EditPad PRO + FreePascal, y ahora sí anda, así que el tema está en mi máquina, gracias compañero!!!! :good:

2
Pascal / Re: No compila problema de ejemplo de Joyanes Aguilar
« en: Viernes 15 de Mayo de 2009, 01:31 »
Mirá, acabo de probar el código que modificaste y también me compila perfecto, pero cuando lo ejecuto desde la línea de comandos en la ventana del DOS (uso Windows 2000 Professional), pasa esto, me sale el mensajito para que ingrese los valores de costo, valor recuperación y vida útil, naturalmente que ingreso los mismos valores que tengo en el libro: 1800000 120000 6 y me sale esto:

Runtime error 201 at $00401B6
  $004014B6
  $00406EA0

Yo uso Free Pascal 2.2.4 que es la última, ¿debería usar Turbo Pascal 7 en vez de Free Pascal? Voy a probarlo y te cuento, ¡qué lucha, por el amor de Dios!

3
Pascal / Re: No compila problema de ejemplo de Joyanes Aguilar
« en: Jueves 14 de Mayo de 2009, 13:29 »
Cita de: "eternity"
soy yo, o no veo todo el código?
Este es el código:
Código: Pascal
  1. program Previsiones;
  2. { Este programa obtiene una tabla de depreciaciones acumuladas
  3. y valores reales de cada a¤o de un determinado producto. }
  4. var
  5.    coste,
  6.    depreciacion,
  7.    valor_recuperacion,
  8.    valor_actual,
  9.    acumulada,
  10.    anio, vida_util   : integer;
  11. begin
  12.    WriteLn ('Introduzca coste, valor recuperacion y vida util');
  13.    ReadLn  (coste, valor_recuperacion, vida_util);
  14.    WriteLn ('Introduzca anio actual');
  15.    ReadLn  (anio);
  16.    valor_actual := coste;
  17.    depreciacion := (coste - valor_recuperacion) div vida_util;
  18.    acumulada    := 0;
  19.    Write ('Anio': 7, 'Depreciacion':15, 'Dep. Acumulada':17);
  20.    WriteLn ('valor_actual':14);
  21.    while anio <= vida_util do
  22.       begin
  23.          acumulada    := acumulada + depreciacion;
  24.          valor_actual := valor_actual - depreciacion;
  25.          Write (Anio :8, Depreciacion :11:1, Acumulada:17:1);
  26.          WriteLn (valor_actual:17:1);
  27.          anio := anio + 1
  28.       end
  29. end.
  30.  
y este el mensaje de error del compilador:

prog11.pas<25,44> Error: Illegal use of ':'
prog11.pas<26,36> Error: Fatal: There were 2 errors compiling module, stopping
prog11.pas<0> Fatal: Compilation aborted

4
Pascal / Re: No compila problema de ejemplo de Joyanes Aguilar
« en: Jueves 14 de Mayo de 2009, 03:48 »
Antes que nada Bermann, muchísima gracias por tu ayuda, en serio. Te comento, estoy a un paso de resolverlo gracias a tu ayuda, lo que yo quiero lograr es que me aparezca esta tabla tal cual como aparece en el libro:

Código: Pascal
  1. Año        Depreciación     Depreciación      Valor anual
  2.                             acumulada
  3. 1              280.000            280.000         1.520.000
  4. 2              280.000            560.000         1.240.000
  5. 3              280.000            840.000           960.000
  6. 4              280.000          1.120.000           680.000
  7. 5              280.000          1.400.000           400.000
  8. 6              280.000          1.680.000           120.000
  9.  

Ya que el tema tenía que ver con la barra de división / sólo se aplica a valores reales, cambié integer por real y lo que me salió fue esto:

Código: Pascal
  1. Anio     Depreciacion   Dep. Acumulada
  2. 1.0E+000   280000.0        280000.0
  3. 2.0E+000   280000.0        560000.0
  4. 3.0E+000   280000.0        840000.0
  5. 4.0E+000   280000.0       1120000.0
  6. 5.0E+000   280000.0       1400000.0
  7. 6.0E+000   280000.0       1680000.0
  8.  

Perfecto, se acerca bastante, ahora bien no podía dejar de pasar la sugerencia de cambiar / por div, así que esta vez dejé todas
las variables con el tipo integer y puse div y el mensaje de error del compilador fue este:

prog11.pas<25,44> Error: Illegal use of ':'
prog11.pas<26,36> Error: Fatal: There were 2 errors compiling module, stopping
prog11.pas<0> Fatal: Compilation aborted

Evidentemente me estoy equivocando en una tontería, ahora lo que realmente me asombra es que se supone que este tipo (Joyanes Aguilar)
es un capo en lo suyo, de hecho tiene muchos libros de programación, ¿cómo es posible que cometa este tipo de errores?

5
Pascal / No compila problema de ejemplo de Joyanes Aguilar
« en: Martes 12 de Mayo de 2009, 17:54 »
Hola, gente, comencé hace poco en Pascal con el libro "Programación en Turbo/Pascal 7" 3ra edición de Luis Joyanes Aguilar, en el primer
ejemplo del libro, tengo el problemita con el código fuente que no funciona ni a palos, si alguna alma noble puede orientarme estaría muy agracedido. El tema es así:

Problema 1.1
Se desea obtener una tabla con las depreaciaciones acumuladas y los valores realdes de cada año, de un automóvil comprado en 1.800.000 pesetas en el año 1988, durante los seis años siguientes suponiendo un valor de recuperación o rescate de 120.000. Realizar el análisis del problema, conociendo la fórmula de
depreciación anual constante D para cada año de vida útil.

D = (coste - valor de recuperación) / vida útil
D = (1.800.000 - 120.000) / 6 = 1.680.000 / 6 = 280.000

La tabla siguiente muestra la salida solicitada.

Año        Depreciación     Depreciación      Valor anual
                                     acumulada
1 (1988)   280.000            280.000         1.520.000
2 (1989)   280.000            560.000         1.240.000
3 (1990)   280.000            840.000            960.000
4 (1991)   280.000          1.120.000           680.000
5 (1992)   280.000          1.400.000           400.000
6 (1993)   280.000          1.680.000           120.000

Pseudocódigo del programa 1.1
=============================

Previsiones de depreciación
Introducir coste
           vida util
           valor final de rescate (recuperacion)
imprimir cabeceras
Establecer el valor inicial del Año
Calcular depreciacion
mientras valor año =< vida util hacer
   calcular depreciacion acumulada
   calcular valor actual
   imprimir una linea de la tabla
   incrementar el valor del año
fin de mientras

----------------------------------------------------------------
Código: Pascal
  1. program Previsiones;
  2. { Este programa obtiene una tabla de depreciaciones acumuladas
  3. y valores reales de cada año de un determinado producto. }
  4. var
  5.    coste,
  6.    depreciacion,
  7.    valor_recuperacion,
  8.    valor_actual,
  9.    acumulada,
  10.    anio, vida_util   : integer;
  11. begin
  12.    WriteLn ('Introduzca coste, valor recuperacion y vida util');
  13.    ReadLn  (coste, valor_recuperacion, vida_util);
  14.    WriteLn ('Introduzca anio actual');
  15.    ReadLn  (anio);
  16.    valor_actual := coste;
  17.    depreciacion := (coste - valor_recuperacion) / vida_util;
  18.    acumulada    := 0;
  19.    Write ('Anio': 7, 'Depreciacion':15, 'Dep. Acumulada':17);
  20.    WriteLn ('valor_actual':14);
  21.    while anio < vida_util do
  22.       begin
  23.          acumulada    := acumulada + depreciacion;
  24.          valor_actual := valor_actual - depreciacion;
  25.          Write (Anio :8, Depreciacion :11:1, Acumulada:17:1);
  26.          WriteLn (valor_actual:17:1);
  27.          anio := anio + 1
  28.  
----------------------------------------------------------------

Los mensajes de error del compilador son los siguientes:
                       Compiler Messages
prob11.pas<17,49> Error: Incompatible types: got "Extended" expected "SmallInt"
prob11.pas<25,44> Error: Illegal use of ':'
prob11.pas<26,36> Error: Illegal use of ':'
prob11.pas<30> Fatal: There were 3 errors compiling module, stopping
prob11.pas<0> Fatal: Compilation aborted
-------------------------------------------------------------

Cualquier sugerencia, será bien recibida, gracias.

Páginas: [1]