Skip to content

Instantly share code, notes, and snippets.

@Observatorio-de-Matematica
Created January 19, 2024 15:47
Show Gist options
  • Save Observatorio-de-Matematica/2076a0cb9832f24a0c96598431186fd5 to your computer and use it in GitHub Desktop.
Save Observatorio-de-Matematica/2076a0cb9832f24a0c96598431186fd5 to your computer and use it in GitHub Desktop.
/* [wxMaxima batch file version 1] [ DO NOT EDIT BY HAND! ]*/
/* [ Created with wxMaxima version 0.8.2 ] */
/* [wxMaxima: comment start ]
-------------------------------------------------------------------------
FICHERO CON LAS FUNCIONES B�SICAS SOBRE LISTAS.
Matem�tica Discreta.
Dpto. de Matem�tica Aplicada. ETSISI-UPM.
-------------------------------------------------------------------------
[wxMaxima: comment end ] */
/* [wxMaxima: input start ] */
lista(L):=listp(L);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
conc(L1,L2):=append(L1,L2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
cab(L):=first(L);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
resto(L):=rest(L);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
long(L):=length(L);
/* [wxMaxima: input end ] */
/* [wxMaxima: comment start ]
EJEMPLOS: de listas.
[wxMaxima: comment end ] */
/* [wxMaxima: input start ] */
L1:[9,7,5,3];
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
L2:[0,2,4,6,8];
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
L3:[1,[8,7,6],[1,0],3,2];
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
L4:[[1,2],1,0,[],[[1,3],[],7]]
/* [wxMaxima: input end ] */
/* [wxMaxima: comment start ]
EJEMPLO: funci�n recursiva que calcula el factorial de un n�mero natural.
[wxMaxima: comment end ] */
/* [wxMaxima: input start ] */
f_actorial(n):= if n=0
then 1
else f_actorial(n-1)*n;
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
f_actorial(0);f_actorial(1);f_actorial(2);f_actorial(3);f_actorial(4);f_actorial(5);
/* [wxMaxima: input end ] */
/* [wxMaxima: comment start ]
EJEMPLO: funci�n recursiva que construye para cada n�mero natural n>=1
la lista de la forma [1,2,3,4,5,....,n].
[wxMaxima: comment end ] */
/* [wxMaxima: input start ] */
f_lista(n):= if n=1
then [1]
else conc(f_lista(n-1),[n]);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
f_lista(1);f_lista(7);
/* [wxMaxima: input end ] */
/* [wxMaxima: comment start ]
EJEMPLO: funci�n recursiva que invierte una lista, es decir: inv([1,2,3,4,5])=[5,4,3,2,1],
(invierte listas generales, pero solo a un primer nivel).
[wxMaxima: comment end ] */
/* [wxMaxima: input start ] */
inv(L):= if long(L)=0
then []
else conc(inv(resto(L)),[cab(L)]);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
inv([1,2,3,4,5]);inv([[1,2],1,2,3,[ ],7]);
/* [wxMaxima: input end ] */
/* [wxMaxima: comment start ]
PROBLEMA: funci�n recursiva que cuenta el n�mero de cadenas de n bits sin dos unos consecutivos
(es una funci�n de tipo Fibonacci).
[wxMaxima: comment end ] */
/* [wxMaxima: input start ] */
f_sin_11(n):= if n=1
then 2
else if n=2
then 3
else f_sin_11(n-1) + f_sin_11(n-2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
f_sin_11(1);f_sin_11(2); f_sin_11(3); f_sin_11(4);f_sin_11(5);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
f_sin_11(6);f_sin_11(7);f_sin_11(8); f_sin_11(9); f_sin_11(10);
/* [wxMaxima: input end ] */
/* Maxima can't load/batch files which end with a comment! */
"Created with wxMaxima"$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment