Skip to content

Instantly share code, notes, and snippets.

View d5lment's full-sized avatar
🤖

Miriam Paola Reyes Garcia d5lment

🤖
View GitHub Profile
@d5lment
d5lment / examples.erl
Created May 22, 2020 21:10
In this activity, we’ll set out some of these through a series of examples.
-module(examples).
-export([take/2, take/2]).
take(N, L) when N =:= 0 ->
[];
take(_N, []) ->
[];
take(N, [X|Xs]) ->
[X | take(N-1, Xs)].
@d5lment
d5lment / constructing.erl
Created May 22, 2020 18:26
Constructing lists with recursive functions
-module(constructing).
-export([ evens/1, double/1, median/1]).
% Define an Erlang function double/1 to double the elements of a list of numbers.
double([])->
[];
double([X | Xs]) ->
[X * 2 | double(Xs)].
@d5lment
d5lment / lists.erl
Created May 22, 2020 03:28
Defining functions over lists in practice
-module(listas).
-export([sum/1, product/1, product_tail/1, maximum/1, maximum_tail/1]).
sum([]) ->
0;
sum([X|Xs]) ->
X + sum(Xs).
% The product of a list of numbers
% With direct recursion
@d5lment
d5lment / exercises.erl
Created May 19, 2020 18:46
Exercises from week 2
-module(exercises).
-export([area/1, perimeter/1, enclose/1, bits/1,
area_circle_test/0,
area_rectangle_test/0,
area_triangle_test/0,
perimeter_circle_test/0,
perimeter_rectangle_test/0,
perimeter_triangle_test/0
]).
@d5lment
d5lment / tailrecursion.erl
Last active May 18, 2020 16:17
An efficient Fibonacci function fib using tail recursion.
-module(tailrecursion).
-export([fib/1, perfect/1]).
% fib(4)=
% t | (N-1) | F1 | F1 + F2 |
% 0 | 4 | 0 | (0 + 1) |
% 1 | 3 | 1 | (0 + 1) |
% 4 | 2 | 1 | (1 + 1) |
% 3 | 1 | 2 | (1 + 2) |
% 4 | 0 | 3 | (2 + 3) |
@d5lment
d5lment / recursion.erl
Created May 14, 2020 04:40
Exercises to demonstrate my capability to use recursion :P
-module(recursion).
-export([fac/1, fib/1, pieces/1]).
%Factorial
fac(0) ->
1;
fac(N) ->
fac(N-1)*N.
@d5lment
d5lment / homework.erl
Last active May 11, 2020 04:40
homework to week #1
-module(homework).
-export([xOr/2, xOr_v1/2, xOr_v2/2, xOr_v3/2, xOr_v4/2, xOr_v5/2, maxThree/3, howManyEqual/3, test1/0]).
% Exclusive or
xOr(true, flase) ->
true;
xOr(false, true) ->
true;
xOr(_, _) ->
-module(first).
-export([double/1, mult/2, area/3, square/1, treble/1]).
mult(X, Y) ->
X*Y.
double(X) ->
mult(2, X).
area(A, B, C) ->
@d5lment
d5lment / paola-eclipse-formatter.xml
Created April 8, 2020 02:18
Formatter to apply with eclipse IDE
<?xml version="1.0" encoding="UTF-8"?>
<profiles version="10">
<profile name="MPRG" version="10">
<setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_assignment" value="0"/>
@d5lment
d5lment / SampleEnum
Last active April 7, 2020 18:38
Enum
package mx.gob.poderjudicialdf.simj.constants;
public enum TipoBusquedaEjecutorEnum {
POR_NOMBRE(1l, "Por nombre"), ACTIVOS(2l, "Activos"), INACTIVOS(3l, "Inactivos");
private long id;
private String descripcionBusqueda;
private TipoBusquedaEjecutorEnum(long id, String descripcionBusqueda) {