me falto agregar que estan muy buenos los videos 😁😁
@Eduardo_M8122 жыл бұрын
El segundo ejercicio propuesto es: program project7; var Clave: integer; Usuario: integer; begin repeat writeln('Indique su Usuario: '); readln(Usuario); if Usuario 1000 then writeln('Usuario incorrecto'); until Usuario = 1000; repeat writeln('Indique su clave: '); readln(Clave); if Clave 2579 then writeln('Su clave es incorrecta'); until Clave = 2579; writeln('Su clave es correcta iniciar sesion'); readln; end.begin
@Nacho_Cabanes2 жыл бұрын
Se acerca mucho. Dos posibles mejoras: Por una parte, es recomendable no usar "números mágicos" dentro del programa, sino que esos valores numéricos estén en variables. Por otra parte, es frecuente pedir a la vez nombre y contraseña al usuario, sin darle pistas de en cual de los dos se ha equivocado, para no facilitar los ataques por fuerza bruta.
@miguelrf79496 ай бұрын
Buenos videos, seria excelente que en algunos mostraras las soluciones a los ejercicios, principalmente el último sugerido donde con 3 intentos se bloquee, se que podria ser usando while e i := i + 1 hasta que llegue a 3 una vez llegue a 3 entonces termine el programa. O algo asi.
@KR44Vi9 ай бұрын
ej2. program usuario; var user,pw: integer; begin repeat writeln('Ingrese su user: '); readln(user); writeln('Ingrese su password: '); readln(pw); if (user1000) and (pw1234) then writeln('Password o user incorrecto. Ingrese de nuevo') else writeln('Bienvenido'); until (user=1000) and (pw=1234); end. El programama me funciona perfecto, pero no logro entender como hacer para que solo me de tres intentos. Probé con while y for pero no pude, cual seria la solucion?
@matiasvaca69548 ай бұрын
podrias poner un contador, e ir contando los intentos, y sumar una condicion 'or' de que el contador sea igual a tres.... se me ocurre
@manuelgarciagarcia25013 жыл бұрын
Muy buen tutorial.
@Eduardo_M8122 жыл бұрын
En la última parte de los ejercicios propuestos, señala que practiquemos 3 intentos y no me dá. Podría indicarnos profesor la solución de esa parte del ejercicio, o indicarnos donde se puede hallar esa solución. Saludos y gracias por todo profesor.
@Nacho_Cabanes2 жыл бұрын
Si agrupas las dos peticiones en un único repeat-until, te será más fácil, porque puedes usar un único contador. Se repetirá hasta que acierte o bien hasta que agote intentos.
@santivilleres Жыл бұрын
@@Nacho_Cabanes Hola, estoy haciendo eso pero al momento que se cumplen los 3 intentos igual me sale el mensaje de bienvenida como si las claves hubieran sido correctas, como puedo solucionar eso?
@Nacho_Cabanes Жыл бұрын
@@santivilleres Deberás añadir un "if" al final, para comprobar cuál ha sido el motivo de terminar de repetir
@felixperez-r9j Жыл бұрын
hola nacho, asi plantee el primer ejercicio program sumapositivos_repeat ; var n1 , n2 , n3 , suma_acu : integer ; begin writeln('ingrese un numero positivo:'); readln(n1); writeln('ingrese otro numero positivo:'); readln(n2); if n2 >= 0 then begin n3 := n1 + n2 ; repeat suma_acu := suma_acu + n3 ; writeln('la suma es :' , suma_acu); writeln('ingrese mas numeros positivo:'); readln(n3); until n3
@Adrian_13452 жыл бұрын
Program ejercicio_1; var n1 , n2 : integer; begin write ('dime el primer numero '); readln(n1); repeat write ('dime el segundo numero '); readln(n2); if (n2=0) or (n2>0) then writeln ('proceso culminado'); until (n20) and (n2>0); writeln ('su suma es'); write (n1+n2); readln; end.
@Nacho_Cabanes2 жыл бұрын
Se acerca mucho, pero no hace falta tratar el primer número como caso distinto.
@santivilleres Жыл бұрын
program ejercicio3; var clave, usuario, i: integer; begin i:=0; repeat write('escriba su numero de usuario: '); read(usuario); write('escriba su clave: '); read(clave); i:=i+1; if usuario1000 then writeln('usuario incorrecto '); if clave1234 then writeln('clave incorrecta'); until (usuario=1000) and (clave=1234) or (i=3) ; if (usuario=1000) and (clave=1234) then writeln('acceso permitido ') else writeln('ACCESO DENEGADO') end.
@Nacho_Cabanes Жыл бұрын
Se acerca mucho. En un programa tan sencillo no deberías necesitar la unit "crt" (no hace falta realmente "clrscr" ni "readkey, y por lo general la respuesta no debería ser tan detallada: avisa al usuario de que se ha equivocado, pero si darle más detalles de en qué ha sido.
@frankpauloprador.83598 ай бұрын
Hola, excelente curso, en los ejercicio de aplicación, yo lo resolví de la siguiente manera (el usuario era 1234 y la contraseña 4321): program usuarioandpassword; var usuary, password, intent : integer; begin intent := 3; repeat writeln('Enter the usuary: '); readln(usuary); writeln('Enter the password: '); readln(password); if (usuary 1234) or (password 4321) then begin writeln(' The usuary or passwor is incorrect '); intent := (intent - 1); end; until ((usuary = 1234) and (password = 4321)) or (intent = 0); If (intent = 0) then writeln('------ Acess bloqued -------- ') else writeln(' -Welcome- '); readln; end.
@Nacho_Cabanes8 ай бұрын
La lógica es buena. Como mejora, te sobran paréntesis en los "if" y "until", y hay varias palabras que has traducido a inglés de forma incorrecta, lo que podría dar mala imagen en un examen de universidad o en una prueba técnica de una empresa (user, attempt, blocked).
@marcosjulianogomesferreira2023 Жыл бұрын
program numer; var i , num, : integer; begin i:=0; repeat write('ingrese un numero (ingresa un numero igual o menor a 0 para terminar): '); readln (num); i:=i+num until num
@Nacho_Cabanes Жыл бұрын
La respuesta es válida. Eso sí, yo te recomendaría llamar "suma" a la variable que guarda la suma, en vez de llamarla "i".
@TetsuyaYama5258 ай бұрын
Free Pascal IDE Program sumpos; var num, res, sum : integer; begin res:=(0); sum:=(-1); repeat writeln('ingresar un dato'); read(num); if res 0 then res:=(res + num) else if res = 0 then res:=(num); sum:=(sumas +1); until num < 1; writeln('el resultado total: ', res, ' total de sumas: ', sum); end.
@TetsuyaYama5258 ай бұрын
program cuenta; var code, pas, acep: integer; begin repeat acep:=(0); writeln('Ingresa Codigo'); read(code); if code = 1000 then acep:=(acep + 1); writeln('Ingresa Contraseña'); read(pas); if pas = 1234 then acep:=(acep + 1); if acep < 2 then writeln('Contraña o Codigo Incorrectos'); until acep = 2; writeln('Bienvenido Usuario'); end.
@TetsuyaYama5258 ай бұрын
Free Pascal IDE program cuentav2; var code, pas, acep, fallo: integer; begin fallo:=(0); repeat acep:=(0); writeln('Ingresa Codigo'); read(code); if code = 1000 then acep:=(acep + 1); writeln('Ingresa Contraseña'); read(pas); if pas = 1234 then acep:=(acep + 1); if acep < 2 then writeln('Contraña o Codigo Incorrectos'); if acep < 2 then fallo:=(fallo + 1); until (acep = 2) or (fallo = 3); if fallo < 3 then writeln('Bienvenido Usuario') else writeln('Cuenta Bloqueada Por Las Siguientes 5 Horas'); end.
@juliopaez85216 ай бұрын
program ejem; uses crt; var usuario,clave: integer; begin clrscr; repeat writeln('ingrese su usuario:'); readln (usuario); writeln('ingrese su contraseña:'); readln (clave); if (usuario1000) and (clave1234) then begin writeln('usuario o contraseña incorrecto'); writeln('ingrese nuevamente sus datos'); end; until (usuario=1000) and (clave=1234); writeln('bienvenido a su cuenta'); end.
@fabrizziofloresrodriguez63899 ай бұрын
program practica; var intento, codigoUsuario, contrasena : Integer; begin repeat intento:=3; WriteLn('ingrese su codigo'); readLn(codigoUsuario); WriteLn('ingrese su contraseña'); readLn(contrasena); if (codigoUsuario 1000)and (contrasena 1234) then WriteLn('codigoUsuario o contrasena incorrectos'); if (codigoUsuario 1000) and (contrasena 1234) or (intento3)then WriteLn('intentar mas tarde'); until (codigoUsuario = 1000) and (contrasena = 1234) and (intento=3); WriteLn('Bienvenido'); end. Que es lo q me falta es q no corta la situacion si se equivoca 3 veces
@Nacho_Cabanes9 ай бұрын
Que estás uniendo las 3 condiciones de salida con "and". Deberías terminar si acierta o bien si agota intentos: "until (codigoUsuario = 1000 and contrasena = 1234) or (intento=3);". A cambio, después de salir deberías ver cuál de los dos posibles motivos de dejar de repetir es el que realmente ha ocurrido: si ha acertado o si ha agotado intentos.
@locutor2649 Жыл бұрын
pero pone la respuesta flaco}
@Nacho_Cabanes Жыл бұрын
¿Me dices a mí o a algún otro? ¿La de qué ejercicio? ¿Has visto que en la descripción del video tienes un enlace a GitHub con los fuentes y con soluciones que han ido proponiendo tus compañeros? 😜
@axelsotelo8168 Жыл бұрын
1) var num, suma: integer; begin suma:=0; repeat writeln('Ingrese un numero positivo: '); readln(num); suma := suma + num; until num
@Nacho_Cabanes Жыл бұрын
La respuesta al primer ejercicio es buena. La del segundo me gusta menos: es habitual pedir usuario y contraseña a la vez, para dar menos pistas a un atacante que quiera hacer pruebas de fuerza bruta. Mira la propuesta de @kevinleoburneocadillo579
@kevinleoburneocadillo579 Жыл бұрын
program project7; var Clave: integer; Usuario: integer; begin repeat writeln('Indique su Usuario: '); readln(Usuario); writeln('Indique su clave: '); readln(Clave); if (Usuario 1000) or (Clave 1234) then writeln('Usuario o Contraseña incorrecta, intentelo de nuevo') until (Clave = 1234) and (Usuario = 1000); writeln('Acceso Concedido'); end.
@Nacho_Cabanes Жыл бұрын
Muy buena propuesta para el ejercicio 2, la comparto.
@marcosjulianogomesferreira2023 Жыл бұрын
program contraclave; var int , cod , clave : integer; begin int:=1; repeat writeln('intento numero: ',int); writeln('ingrese el codigo de ususario para luego ingresar la clave'); readln(cod); writeln ('ahora ingrese la clave para acceder'); readln(clave); inc(int); if (cod 1000) or (clave 1234) then writeln('el codigo o la clave es incorrecta') else writeln('excelente! ahora puede proseguir') until (cod = 1000) and (clave = 1234) or (int = 4) ; readln(); end.
@Nacho_Cabanes Жыл бұрын
Buena propuesta. Como posibles mejoras: llamar "intentos" en vez de "int" al contador y verificar si ha acertado ya después de salir del bloque repeat-until, porque normalmente la lógica del resto del programa será distinta según si ha acertado o no lo ha hecho. Lo comparto con esos cambios.