Skip to content

Instantly share code, notes, and snippets.

@jempcito
Last active October 10, 2024 08:13
Show Gist options
  • Save jempcito/5728d72d0141086913d7a58d66c4ec70 to your computer and use it in GitHub Desktop.
Save jempcito/5728d72d0141086913d7a58d66c4ec70 to your computer and use it in GitHub Desktop.
actividad 13 prolog

Programa 3 cap 1


-module(par_impares). -export([imprimir_pares/0]).

imprimir_pares() -> imprimir_pares(2).

imprimir_pares(N) when N =< 48 -> io:format("pn", [N]), imprimir_pares(N + 2); imprimir_pares(_) -> ok.


Programa 1 Cap 7


-module(prime). -export([is_prime/1]).

is_prime(N) when N < 2 -> false; is_prime(2) -> true; is_prime(N) -> is_prime(N, 2).

% Función auxiliar que hace la verificación de primalidad is_prime(N, Divisor) when Divisor * Divisor > N -> true; is_prime(N, Divisor) when N rem Divisor == 0 -> false; is_prime(N, Divisor) -> is_prime(N, Divisor + 1).


Programa 3 Cap 16


-module(guess_game). -export([start/0, handle_guess/2, check_number/2]).

start() -> % Genera un número aleatorio entre 1 y 100 RandomNumber = random:uniform(100), io:format("¡Bienvenido al juego de adivinar el número!~n"), io:format("Adivina un número entre 1 y 100:~n"), handle_guess(RandomNumber, 0).

handle_guess(RandomNumber, Attempts) -> {ok, [Guess]} = io:fread("", "~d"), % Lee la entrada del usuario check_number(RandomNumber, Guess), Attempts1 = Attempts + 1, if Guess == RandomNumber -> io:format("¡Felicidades! Adivinaste el número ~p en ~p intentos.~n", [RandomNumber, Attempts1]); true -> handle_guess(RandomNumber, Attempts1) end.

check_number(RandomNumber, Guess) -> if Guess < RandomNumber -> io:format("Demasiado bajo. Intenta nuevamente:~n"); Guess > RandomNumber -> io:format("Demasiado alto. Intenta nuevamente:~n"); true -> ok % Cuando es correcto, no hace nada, se maneja en handle_guess end.


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment