Domingo 22 de Diciembre de 2024, 22:37
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
Pascal
»
Detectar Numero Mayor Y Meror
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Detectar Numero Mayor Y Meror (Leído 3451 veces)
luisoswaldo
Nuevo Miembro
Mensajes: 9
Detectar Numero Mayor Y Meror
«
en:
Jueves 29 de Noviembre de 2007, 20:07 »
0
necesito alguna orientacion de como indentificar si se introducen una serie ilimitada de numeros cual es el mayor y cual el menor.
Por favor digan si existe algun link sobre este tema
lo que he pensado es esto:
write ('numero'); read (num)
numay:=0;
numen:=100;(por decir algo)
if num > numay then numay:=ed;
if num > numen then numen:=ed;
write ('numero mayor', numay);
write ('numero menor', numen);
entonces si por ej introduzco 23 y 54 me dice que el mayor es 54, pero no guarda a 23 como menor.
Tendria que compar a 23 con 54. pero para ser sincero no tengo muy claro como acerlo. pense hacerlo con un array pero creo que tendria que saber de antemano la cantidad de numeros que se van a introducir.
Les doy gracias de antemano por la ayuda que puedan darme.
Tweet
Enko
Miembro de PLATA
Mensajes: 1562
Nacionalidad:
Re: Detectar Numero Mayor Y Meror
«
Respuesta #1 en:
Jueves 29 de Noviembre de 2007, 23:22 »
0
Código: Text
const
MIN = 0;
MAX = 100;
var
N: Integer;
begin
Write('ingrese un numero');
Readln(N);
if N > MAX then
WriteLN('el numero ', N, ' es mayor que ', MAX)
else if N < MIN then
WriteLn('el numero ', N, ' es menor que ', MIN)
else
WriteLn('el numero ', N, ' esta entre ', MIN, ' y ', MAX);
ReadLn;
end.
Fijate que el codigo no lo compile, pero deberia funcionar bien.
Si quieres que la seria sea ilimitada solo debes poner el codigo que coloque entre este bucle:
Código: Text
repeat
... aca va el codigo
until 1<>1;
Asi se repetiria infinitas veces.
Citar
if num > numay then numay:=ed;
if num > numen then numen:=ed;
Creo que un signo de mayor ">" deberia ser menor en realidad.
Si quieres comparar 2 numeros seria asi:
Código: Text
var
A,B: integer;
begin
Readln(A);
ReadLn(B);
If A > B then
WriteLn(A, ' es mayor que ', B)
else if A < B then
WriteLn(A, ' es menor que ', B)
else
WriteLN('los numeros son iguales');
Readln;
luisoswaldo
Nuevo Miembro
Mensajes: 9
Re: Detectar Numero Mayor Y Meror
«
Respuesta #2 en:
Jueves 29 de Noviembre de 2007, 23:31 »
0
hola gracias por tu ayuda pero me pare que no me explique bien.
lo que yo necesito es saber si introduzco una serie de numeros como: 3,5,6,1,5,7,10,20,infinito.
me diga cual es el mayor y cual el menor
en este caso
may=20
menor=1
disculpa tienes razon me equivoque cuando lo transcribi
if num > numay then numay:=ed;
if num < numen then numen:=ed;
lencho
Miembro de PLATA
Mensajes: 1076
Re: Detectar Numero Mayor Y Meror
«
Respuesta #3 en:
Jueves 29 de Noviembre de 2007, 23:43 »
0
supongo que entonces tendrias que guardar todos los numeros (n) en un vector.
Luego el almacenar en dos variables el valor de la primer casilla: mayor = v[0], menor = v[0].
Por ultimo recorrer todo el vector haciendo las comparaciones que te sugirio Enko.
BYTE.
______________________________________________________________________________________
"No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a expresarlo"
luisoswaldo
Nuevo Miembro
Mensajes: 9
Re: Detectar Numero Mayor Y Meror
«
Respuesta #4 en:
Jueves 29 de Noviembre de 2007, 23:58 »
0
muchas gracias lo voy a intentar y les aviso como me va, por que no tengo mucho tiempo programando y aun no entiendo bien como funsiona un arreglo internamente
Enko
Miembro de PLATA
Mensajes: 1562
Nacionalidad:
Re: Detectar Numero Mayor Y Meror
«
Respuesta #5 en:
Viernes 30 de Noviembre de 2007, 00:08 »
0
No necesitas un vector.!!!!!!!!!!!!!!!!!1
Código: Text
var
Min, Max, N: Integer;
begin
Min := 65025;
Max := 0;
repeat
Readln(N);
if N > Max then Max := N;
if N < Min then Min := N;
WriteLn('el mayor es ', Max);
WriteLn('el menor es ', Min);
WriteLn('el actual es ' , N);
until 1 = 2
end.
Te explico usando solo en numeor Menor que es el que se ve un toque mas complicado.
Le asigno al Min (numero menor) el mayor numero posible para entero de 2 bytes. es 255x255=65025.
En el primer ciclo lees un numero N, por ejemplo es 155, lo comparamos con el Menor que al principio es 65025. N es menor que Min entonces Min para a ser 155.
En la segunda vuelta, si por ejemplo se ingresa 366, como Min es 155 en el ejemplo, es menor que N que es 366, no pasa nada entonces.
Si en la tercera vuelta, se ingresa 1, N es 1 y es menor que Min que es 155, se asinga entonces un 1 a Min.
Enko
Miembro de PLATA
Mensajes: 1562
Nacionalidad:
Re: Detectar Numero Mayor Y Meror
«
Respuesta #6 en:
Viernes 30 de Noviembre de 2007, 00:16 »
0
Por sierto, NO PUEDES USAR VECTORES ya que no conseguirias que la seria fuera infinita.
luisoswaldo
Nuevo Miembro
Mensajes: 9
Re: Detectar Numero Mayor Y Meror
«
Respuesta #7 en:
Viernes 30 de Noviembre de 2007, 00:47 »
0
yo declare la variable n como real puesto que tengo que hacer muchos procesos que lo requieren. entonces cundo introduzco un numero cualquiera no lo acepta se queda en un ciclo. lo unico distinto es el tipo de dato pero hasta donde yo se pascal no puede comparar distintos tipos de datos. ¿como hago con los demas procesos que tengo que utilizar real. por que no creo que sea logico pedir lo mismo con 2 tipos de dato diferente!!!!!!
luisoswaldo
Nuevo Miembro
Mensajes: 9
Re: Detectar Numero Mayor Y Meror
«
Respuesta #8 en:
Viernes 30 de Noviembre de 2007, 02:43 »
0
disculpen era un error que tenia pero sigue sin funcionar.
este es parte de mi codigo pero se queda trancado en el segundo bucle y no se que tengo que hacer para salir de el.
emay:= 0;
eme := 999;
repeat
gotoxy (30,7); write ('Edad: ');
readln (ed);
if (ed < 0) and (ed > 100) then
gotoxy (10,8); write ('ERROR EDAD DEBE SER >= 0 Y <= 100');
until(ed >= 0) and (ed <= 100);
repeat
If ed > emay then emay := ed;
if ed < eme then eme:=ed;
{se queda en este bucle y no puedo salir}
until 1=2;
gotoxy (5,18); write ('Edad mayor es: ',emay:2:0);
gotoxy (5,19); write ('Edad menor es: ',eme:2:0);
Enko
Miembro de PLATA
Mensajes: 1562
Nacionalidad:
Re: Detectar Numero Mayor Y Meror
«
Respuesta #9 en:
Viernes 30 de Noviembre de 2007, 20:31 »
0
tenes más puestos los bloques repeat, van uno dentro del otro. Vos hiciste 2 por separado.
Código: Text
emay:= 0;
eme := 999;
repeat
{aca se hace la comprobacion que el numero este entre 0 y 100
repeat
gotoxy (30,7); write ('Edad: ');
readln (ed);
if (ed < 0) and (ed > 100) then
gotoxy (10,8); write ('ERROR EDAD DEBE SER >= 0 Y <= 100');
until(ed >= 0) and (ed <= 100);
If ed > emay then emay := ed;
if ed < eme then eme:=ed;
{este repeat corresponde al primero y no al segudno como esta en tu codigo}
until 1=2;
puedes cambiar mejor un repeat por un while tal vez....
Código: Text
var
resuesta: char;
begin
emay:= 0;
eme := 999;
respuesta := 'y';
while respuesta = 'y' do
begin
{aca se hace la comprobacion que el numero este entre 0 y 100
repeat
gotoxy (30,7); write ('Edad: ');
readln (ed);
if (ed < 0) and (ed > 100) then
gotoxy (10,8); write ('ERROR EDAD DEBE SER >= 0 Y <= 100');
until(ed >= 0) and (ed <= 100);
If ed > emay then emay := ed;
if ed < eme then eme:=ed;
{este repeat corresponde al primero y no al segudno como esta en tu codigo}
WriteLn('desea continuar Y/N');
respuesta := ReadKey;
end;
end.
luisoswaldo
Nuevo Miembro
Mensajes: 9
Re: Detectar Numero Mayor Y Meror
«
Respuesta #10 en:
Viernes 30 de Noviembre de 2007, 21:49 »
0
si tienes toda la razon quite un repeat porque ya tenia el while y funciona perfectamente. Te agradezco mucho la ayuda. un abrazo
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
Pascal
»
Detectar Numero Mayor Y Meror