• Jueves 28 de Marzo de 2024, 11:20

Autor Tema:  Consulta Posiciones  (Leído 2498 veces)

lau82

  • Nuevo Miembro
  • *
  • Mensajes: 18
    • Ver Perfil
Consulta Posiciones
« en: Miércoles 26 de Abril de 2006, 19:41 »
0
Escribir un programa en Pascal que calcule el área de un
triángulo:

base = 7 altura = 4 área del triángulo = (base * altura)/2

PROGRAM EJER04;
USES CRT;
VAR base,altura:REAL;
VAR area:REAL;
BEGIN
base:=7;
altura:=4;

area:=(base * altura) / 2;

ClrScr;

WRITE ('AREA DEL TRIANGULO: '); WRITE (area:5:2);
{:5:2 sirve para dar el formato de salida al numero, 5
posiciones y 2 decimales}
END.

En este ejercicio mi duda es: el write(area:5:2) interpreto que es la forma en la que se va a ver el resultado. es asi o me estoy equivocando? y mi otra duda es porque el 5 y porque el 2, si 5 son las posiciones, a que se refiere cuando dice eso..? porque necesita 5? nose si me explique bien.. si alguien me puede responder estare agradecida.

sldos

laura

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: Consulta Posiciones
« Respuesta #1 en: Miércoles 26 de Abril de 2006, 21:25 »
0
Código: Text
  1.  
  2. Writeln('El area del triangulo es:', area:5:2);
  3.  
  4.  

Lo que hace el 5, es dejar 5 espacios (' ') entre  'es:' y area
Lo que hace el 2, es mostrar solo los 2 ultimos decimales del numero area.

_.B._

  • Miembro activo
  • **
  • Mensajes: 88
    • Ver Perfil
Re: Consulta Posiciones
« Respuesta #2 en: Jueves 27 de Abril de 2006, 06:29 »
0
Saludos!
Prueba con varios valores, enteros y reales:

Código: Text
  1. program formato;
  2.  
  3. var
  4.     r : real;
  5.     i : integer;
  6.  
  7. begin
  8.     r := pi * 1000;
  9.     writeLn('*', r, '*');
  10.     writeLn('*', r:0:0, '*');
  11.     writeLn('*', r:5:4, '*');
  12.     writeLn('*', r:12:2, '*');
  13.  
  14.     i := 12345;
  15.     writeLn('*', i, '*');
  16.     writeLn('*', i:0, '*');
  17.     writeLn('*', i:4, '*');
  18.     writeLn('*', i:8, '*')
  19. end.
  20.  

¡A programar! :comp:
¡Olmo, dame peras!
www.BernardoLG.net

lau82

  • Nuevo Miembro
  • *
  • Mensajes: 18
    • Ver Perfil
Re: Consulta Posiciones
« Respuesta #3 en: Jueves 27 de Abril de 2006, 13:10 »
0
Cita de: "Enko"
Código: Text
  1.  
  2. Writeln('El area del triangulo es:', area:5:2);
  3.  
  4.  

Lo que hace el 5, es dejar 5 espacios (' ') entre  'es:' y area
Lo que hace el 2, es mostrar solo los 2 ultimos decimales del numero area.
Pero para que necesito dejar ese espacio? eso es lo que no entiendo....porque es necesario dejar un espacio de 5  en este ejemplo.... ?

lau82

  • Nuevo Miembro
  • *
  • Mensajes: 18
    • Ver Perfil
Re: Consulta Posiciones
« Respuesta #4 en: Jueves 27 de Abril de 2006, 14:21 »
0
CODE  

Writeln('El area del triangulo es:', area:5:2);
 



Lo que hace el 5, es dejar 5 espacios (' ') entre 'es:' y area
Lo que hace el 2, es mostrar solo los 2 ultimos decimales del numero area.  


Pero para que necesito dejar ese espacio? eso es lo que no entiendo....porque es necesario dejar un espacio de 5 en este ejemplo.... ?

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: Consulta Posiciones
« Respuesta #5 en: Jueves 27 de Abril de 2006, 14:23 »
0
Cita de: "lau82"
Cita de: "Enko"
Código: Text
  1.  
  2. Writeln('El area del triangulo es:', area:5:2);
  3.  
  4.  

Lo que hace el 5, es dejar 5 espacios (' ') entre  'es:' y area
Lo que hace el 2, es mostrar solo los 2 ultimos decimales del numero area.
Pero para que necesito dejar ese espacio? eso es lo que no entiendo....porque es necesario dejar un espacio de 5  en este ejemplo.... ?
Si no quieres no dejes espacios.  :scream:

Real:0:2


Yo pensé que quierías dejar espacios. Que se yo. :smartass:

lau82

  • Nuevo Miembro
  • *
  • Mensajes: 18
    • Ver Perfil
Re: Consulta Posiciones
« Respuesta #6 en: Jueves 27 de Abril de 2006, 14:56 »
0
Cita de: "Enko"
Cita de: "lau82"
Cita de: "Enko"
Código: Text
  1.  
  2. Writeln('El area del triangulo es:', area:5:2);
  3.  
  4.  

Lo que hace el 5, es dejar 5 espacios (' ') entre  'es:' y area
Lo que hace el 2, es mostrar solo los 2 ultimos decimales del numero area.
Pero para que necesito dejar ese espacio? eso es lo que no entiendo....porque es necesario dejar un espacio de 5  en este ejemplo.... ?
Si no quieres no dejes espacios.  :scream:

Real:0:2


Yo pensé que quierías dejar espacios. Que se yo. :smartass:
Este ejercicio lo saque de internet no lo hice yo..  y no es que no quiera dejar espacios.. es que estoy obervando el ejercicio y viendo las dudas... para aprende a hacerlos y entender.... y mi pregunta era porque en esta sentencia.. ponen un 5 para dejar espacio.. para que es necesario dejar ese espacio? porque se le pone 5? Es por algo en especial ? es decir. para que es necesario dejar en una sentencia asi posiciones... cual es

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: Consulta Posiciones
« Respuesta #7 en: Jueves 27 de Abril de 2006, 19:06 »
0
Lo importante en realidad de Real:5:2 es el "2".

Es decir, para formatear la salida de un número real, primero despues de los primeros ":" hay que pasar los espacios que quieres dejar antes de escribir el numero, pueden ser 0 para no dejar nada.
Los segudnos ":" indican la cantidad de decimales que quieres que se vean. Puede ser todos, para eso no pongas nada (Real:3, dejaria 3 espacios y mostraría todos los decimales en formato científico.)
Podrías escribir sin los dos puntos es decir Writeln(Real); o como te guste.

Te sugiero que pruebes el código de _.B._

juancpalmajr

  • Miembro activo
  • **
  • Mensajes: 51
    • Ver Perfil
    • http://www.linuxcommunity.com.ar
Re: Consulta Posiciones
« Respuesta #8 en: Miércoles 24 de Mayo de 2006, 05:19 »
0
Cita de: "lau82"
Escribir un programa en Pascal que calcule el área de un
triángulo:

base = 7 altura = 4 área del triángulo = (base * altura)/2

PROGRAM EJER04;
USES CRT;
VAR base,altura:REAL;
VAR area:REAL;
BEGIN
base:=7;
altura:=4;

area:=(base * altura) / 2;

ClrScr;

WRITE ('AREA DEL TRIANGULO: '); WRITE (area:5:2);
{:5:2 sirve para dar el formato de salida al numero, 5
posiciones y 2 decimales}
END.

En este ejercicio mi duda es: el write(area:5:2) interpreto que es la forma en la que se va a ver el resultado. es asi o me estoy equivocando? y mi otra duda es porque el 5 y porque el 2, si 5 son las posiciones, a que se refiere cuando dice eso..? porque necesita 5? nose si me explique bien.. si alguien me puede responder estare agradecida.

sldos

laura
ahhhhh es asi:
parte entera: parte fraccionaria
10:0
va a visualizar 10 enteros, 0 decimales

Esta bien el codigo pero modulariza.