• Miércoles 24 de Abril de 2024, 17:34

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.


Temas - guqui1969

Páginas: [1]
1
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]