suma

Run Settings
LanguageMercury
Language Version
Run Command
% Definición del módulo :- module main. % Declaración de la interfaz :- interface. % Importar el módulo io en la interfaz :- import_module io. % Declaración del predicado suma :- pred suma(int::in, int::in, int::out) is det. % Declaración del predicado main :- pred main(io::di, io::uo) is det. % Sección de implementación :- implementation. % Importar los módulos necesarios :- import_module int. :- import_module string. :- import_module list. % Implementación del predicado suma/3 suma(X, Y, Resultado) :- Resultado = X + Y. % Implementación del predicado main/2 main(!IO) :- io.read_line_as_string(Result1, !IO), ( Result1 = ok(Line1), ( string.to_int(string.strip(Line1), X) -> io.read_line_as_string(Result2, !IO), ( Result2 = ok(Line2), ( string.to_int(string.strip(Line2), Y) -> suma(X, Y, Resultado), io.format("La suma de %d y %d es %d\n", [i(X), i(Y), i(Resultado)], !IO) ; io.write_string("Error: El segundo valor ingresado no es un número válido.\n", !IO) ) ; Result2 = eof, io.write_string("Error: Fin de entrada inesperado al leer el segundo número.\n", !IO) ; Result2 = error(Error), io.format("Error al leer el segundo número: %s\n", [s(io.error_message(Error))], !IO) ) ; io.write_string("Error: El primer valor ingresado no es un número válido.\n", !IO) ) ; Result1 = eof, io.write_string("Error: Fin de entrada inesperado al leer el primer número.\n", !IO) ; Result1 = error(Error), io.format("Error al leer el primer número: %s\n", [s(io.error_message(Error))], !IO) ).
Editor Settings
Theme
Key bindings
Full width
Lines