[ Foro de Pascal ]

Crear bucle

25-Jan-2014 17:16
Invitado (Vikingo)
3 Respuestas

Hola, tengo una duda con este ejercicio. Se supone que hay que hacerlo con el bucle repeat, no? lo que no me queda muy claro es donde o como almaceno los nombres varios.

Crea un programa que pida al usuario varios nombres, hasta que introduzca "fin" y luego diga si alguno de ellos es "Nacho".


25-Jan-2014 22:41
natalia tavora

si no especifica es porque vos podes elejir si usar algun arreglo o archivos...

 
yo lo haria algo asi..
program
	uses crt;
	var
		F_nombres:text;
		nombres:string;
begin
assign(f_nombres,'c:\nombres.txt');
reset(f_nombres);
repeat
	writeln('ingrese un nombre');
	readln(nombres);
	writeln(f_nombres,nombre);
until(nombre='fin');
while not eof(f_nombres) do
	begin
		readln(f_nombres,nombre);
		if (nombre<>"Nacho") then
			writeln('"Nacho" No se ha encontro');
			else
				writeln('Se encontro el nombre de  "Nacho"');
		end;		
end.
 


no tuve tiempo de probarlo pero creo que funciona


26-Jan-2014 01:56
Luis Torres (+12)

Aquí te dejo mi solución. En ninguna parte dice que deba almacenarse en un arreglo o archivo, así que lo hice de la siguiente manera:

 
program pedirNombres;
 
var
 nombre: string;
 hallado: boolean;
 
BEGIN
 hallado:= false;
 repeat
   write('Introduzca un nombre: '); readln(nombre);
   if (nombre='Nacho') or (nombre='nacho') then
    hallado:= true;
 until nombre='fin';
 if (hallado= true) then
  writeln('Uno de los nombres fue Nacho.');
 
 readln;
END.
 
 


26-Jan-2014 02:13
Nacho Cabanes (+30)

Mi respuesta coincidiría con la de Luis. Aunque el ejercicio parezca incitar a "memorizar" los nombres usando una matriz o un fichero, no es necesario en absoluto. Es mucho más eficiente calcular "al vuelo" lo que se pueda, y este ejercicio entra en ese caso.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)