[ Foro de Pascal ]
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".
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
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.
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.)