Pascal/Turbo Pascal - Obtener el valor mayor y en que posición se encuentra dentro de un arreglo

 
Vista:

Obtener el valor mayor y en que posición se encuentra dentro de un arreglo

Publicado por deivid ramirez (7 intervenciones) el 15/04/2009 23:25:09
hola soy nuevo en esto y quisiera saber si alguien me podria ayudar con alguno de mis problemas uno de ellos son estos yo se que para ustedes alomejor no son tan dificiles es solo que aun estoy empezando a practicar con el turbo pascal como me puedan orientar se los agradeceria de antemano mil gracias.

1. Realice un algoritmo, que primeramente, solicite al usuario 10 valores numéricos, los cuales serán depositados en un arreglo, y cuando se tengan los 10 valores, el algoritmo deberá decir, cual de todos los valores almacenados en el ARREGLO es el mayor, y en que posición se encuentra.

2. En Muchos sistemas para poder acceder a ellos es necesario introducir una contraseña.
Diseñe un algoritmo que solicite al usuario una contraseña, dicha contraseña deberá estar contenida como una CONSTANTE dentro del algoritmo. El usuario Recibirá el mensaje de BIENVENIDA, si acierta la contraseña de lo contrario, recibirá un MENSAJE DE DESPEDIDA.
El algoritmo solo terminara si el usuario se sabe la contraseña, y después de la BIENVENIDA, deberá decir a la de cuantos intentos logro entrar.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Obtener el valor mayor y en que posición se encuentra dentro de un arreglo

Publicado por Miguel (159 intervenciones) el 16/04/2009 02:09:00
deivid, ¿cual es tu problema en si?. Recuerda que este foro es de consulta, para tu bien y para el de los demas, deberias realizar tu los algoritmos. Ya si tienes problemas en algo particular ahi si avisas, y te daremos una solución.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Obtener el valor mayor y en que posición se encuentra dentro de un arreglo

Publicado por deivid ramirez (7 intervenciones) el 16/04/2009 05:59:47
1. Realice un algoritmo que solicite al usuario 5 nombres, los cuales se depositaran en un arreglo, y al finalizar el algoritmo deberá Imprimirlos en orden contrario al que fueron introducidos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
program arreglos;
uses
crt;
var
valores:array[1..5] of integer;
pos: integer;
 
begin
clrscr;
for pos:=1 to 5 do
begin
writeln('escribe un numero');
readln(valores[pos]);
end;
for pos:= 5 downto 1 do
begin
writeln(valores[pos]);
end;
readln;
end.

este es uno de los algoritmos que ya hice solo ke este lo hice con puros numeros la duda que tengo es como declarar los variables para que salgan los nombres.el que el que me piden es solicitar 5 nombre y esto no se como declararlo pues en integer me corre bien el programa pero solo con numeros . Gracias de antemano por su informacion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Obtener el valor mayor y en que posición se encuentra dentro de un arreglo

Publicado por Miguel (159 intervenciones) el 16/04/2009 13:59:41
Prueba con valores:array[1..5] of STRING[20];
Supongo que deberia funcionar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Obtener el valor mayor y en que posición se encuentra dentro de un arreglo

Publicado por deivid ramirez (7 intervenciones) el 16/04/2009 19:43:29
Gracias.
Ya tengo solucionado ese problema ahora continuo con los otros si tengo alguna duda las expondre aki gracias por su informacion es bastante buena.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Obtener el valor mayor y en que posición se encuentra dentro de un arreglo

Publicado por Miguel (159 intervenciones) el 17/04/2009 05:41:24
Pregunta sin miedo, si tenes 70 errores, pone los 70, por mas que sean errores pavos aca se responde todo. Yo entro todos los dias asi que seguro obtendras una respuesta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

una duda

Publicado por deivid ramirez (7 intervenciones) el 17/04/2009 09:54:42
Hola de nuevo queria saber si me podrian orientar en esto lo que sucede es que quiero pedir4 numeros pares y en caso de ke no sean numeros pares el algoritmo debera marcar un error y vovlver a pedir un numero .El algoritmo dejará de pedir números hasta tener 4 números PARES (no importa si son distintos entre ellos o no). Y al final, deberá imprimir los números PARES que el usuario dio, en el orden en que los proporcion. ya lo intente varias veces pero aun no doy con el klavo y keria saber si alguien me podria orientar con esto de antemano mil gracias.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
program tarrea;
uses
    crt;
var
   valores:array[1..4] of string;
   num: integer;
begin
     clrscr;
for num:= 1 to 4 do
begin
     writeln('escribe un numero');
     readln(valores[num]);
if num mod 2 = 0 then
   writeln('tu numero si es par')
else
    writeln('error el numero no es par vuelve a intentar');
    readln;
 
end;
 
for num:=  1 to 4 do
begin
writeln(valores[num]);
 
end;
readln;
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Obtener el valor mayor y en que posición se encuentra dentro de un arreglo

Publicado por Miguel (159 intervenciones) el 17/04/2009 18:04:17
Mmm, no me ha quedado del todo claro el enunciado. El programa te pide que ingreses cuatro numeros, tu almacenas cada numero en un campo del arreglo. Ahora si uno de los numeros no es par, ¿te pide que lo reingreses?, ¿o que vuelvas a ingresar cuatro nuevos?.
En el caso de que tengas que reingresar solo ese numero te aconsejo que te despegues del ciclo FOR (PARA), te explico el por que, el FOR se puede utilizar cuando conoces la cantidad de ciclos que vas a tener. Ahora, si tu ingresaste tres numeros pares, y el cuarto es impar, vas a tener que volver a ciclar (sin que incremente tu indice) tantas veces como hayas puesto mal ese numero. Y fijate que el FOR hace solo cuatro ciclos, y vos podrias tener cuatro, cinco, seis, etc., cantidad de ciclos, hecho que no se puede estimar, depende de los datos que ingresa el usuario. No se si se entendio.
Yo utilizaria un WHILE por ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
num:=1;
WHILE num<=4 DO
BEGIN
ClrScr;
WRITE('Ingrese el ',num,' numero (debe ser par): ');
READLN(valores[num]);
IF (valores[num] mod 2)  <> 0
THEN BEGIN
WRITELN('Error: El numero ingresado es impar');
WRITELN('Vuelva a intentarlo');
READKEY;
END
ELSE
num:=num+1;
END;
A parte de esto tenes un error muy importante, un error de tipo, declaras al array como tipo STRING, cuando tiene que ser numerico, en este caso entero. Recuerda que tanto DIV como MOD se pueden aplicar solo a enteros. Asi que modifica eso, no es de STRING, sino INTEGER.

Bueno espero haber aclarado tu duda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar