UTNianos

Versión completa: [Ayuda] Ejercicio, algortimos y estructura de datos, guia practica.
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Hola, estaba haciendo unos ejersicios de la guia practica y me tope con uno sencillo que al momento de pasarlo a pascal no anda xd.

aca ba.

1. dados los siguientes datos (dia,mes,año) de una determinada fecha, informarla como un solo numero natural de 8 digitos (aaaammdd)


-el dibujito en pale lo hice.

C
Ingrese una fecha de algun dia (trapecio para arriba)
D (trapecio para abajo)
Ingrese una fecha de algun mes (trapecio para arriba)
M (trapecio para abajo)
Ingrese algun año (trapecio para arriba
A (trapecio para abajo)
A,M,D (trapecio para arriba)

F


(espero que se entienda)

luego cuando lo pase a pascal este es el codigo.


var

d,m,a:integer;
begin

writeln('igrese la fecha de hoy');
read(d) ;
writeln('ingrese el mes de hoy');
read(m);
writeln('ingrese el año de hoy');
read(a);
writeln(a,m,d)
end.


cuando compilo me manda todo bien,

me sale la ventana negra para ejecutarlo, pongo la fecha, el mes, el año (apreto enter) y se cierra
y no me muestra

lo que vendria ser el numero natural de ocho digitos que seria (AMD)
Mandale un readln(); o algo, al final del codigo.
Probablemente lo esta mostrando, pero se cierra la ventana porque termino el programa.
Igual en ese ejercicio no estas mostrando el numero de ocho digitos

Fecha := a*10000 + m*100 + d
Ejercicio =P no ejersicio

Segundo: Como vos querés seguir viendo la "pantalla negra", como dijo Sentey, agregale un readln(); abajo
Y con lo que resolviste, te queda como output algo como "25 4 2013"

Si bien imprimís los caracteres que te pide, el objetivo es que te quede la fecha en una sola variable. Quizás digas "por qué?" y la realidad es que en la materia esta se usa mucho el traer la fecha en formato AAAAMMDD y después usás una función para partir la fecha, o viceversa... te llega el DD/MM/AAAA y tenés que devolver un AAAAMMDD

Saludosss

No es mucho un integer para un número de 2 dígitos?

Para a, m y d usá el dato byte... escatimá un poco los recursos porque esta materia hincha con la performance ;)
(25-04-2013 17:46)nanuiit escribió: [ -> ]Ejercicio =P no ejersicio

Segundo: Como vos querés seguir viendo la "pantalla negra", como dijo Sentey, agregale un readln(); abajo
Y con lo que resolviste, te queda como output algo como "25 4 2013"

Si bien imprimís los caracteres que te pide, el objetivo es que te quede la fecha en una sola variable. Quizás digas "por qué?" y la realidad es que en la materia esta se usa mucho el traer la fecha en formato AAAAMMDD y después usás una función para partir la fecha, o viceversa... te llega el DD/MM/AAAA y tenés que devolver un AAAAMMDD

Saludosss

No es mucho un integer para un número de 2 dígitos?

Para a, m y d usá el dato byte... escatimá un poco los recursos porque esta materia hincha con la performance ;)

recien compile y me tira perfdectamente, "20130424" esactamente asi como escribi el codigo.

y con la variable, solamente vimos hasta ahora, real, integer, char y nada mas.

hoy estube investigando por mi cuenta, y con el var byte como decis funciona perfectamente y pesa menos.


pero no entiendo porque dicen que sale mal, (pese el variable que estoy usando). usando el IDE de Lazarus, me tira perfecto el numero de 8 digitos. sin espacios ni nada.
El problema no es que "salga mal", lo que ellos quieren decir es que tendrias que guardar todo el numero de 8 digitos en una sola variable.
Por eso te pusieron esto:

Off-topic:
Fecha := a*10000 + m*100 + d


No se si entendes lo que quiero decir.

Si tenes tiempo mirate los primeros 15 minutos de este video


URLs de referencia