%\documentclass[11pt,serif]{beamer} \documentclass[10pt]{beamer} \usepackage[portuges]{babel} \usepackage{natslides} \usepackage{graphicx} \usepackage{teximporter} \fvset{fontsize=\small} \begin{document} \inlinepin \def\bex#1{\fbox{#1}} \def\bexx#1{\begin{block}{}#1\end{block}} \title[Passarola]{Projecto Passarola-pedia: Multi-Exercise Enciclopedia} \author[jjoão]{J.João Almeida \and {\small ...several colaborators} } \institute{Departamento de Informática\\ Universidade do Minho} \maketitle =. Menu \tableofcontents =.= {\scriptsize alguns componentes} Estrutura geral Passarola \_makefileg[rankdir=0,scale=0.5]{ base: Passarola-tools ex-DSL ex-archive ex-Agregation Passarola-tools: LaTeX Maxima Perl pass2tex ex-Agregation: ex-test ex-automata } =.= Multi-Exercise language \begin{block}{Main blocks of Mex} \begin{Verbatim} #title: #author: #let: n a = [3, 4, 8 ]; f b = [sin(x), cos(x), x^2]; a ~ b; #question: ... LaTeX text; #a --> will be replaced #sugestion: ... #resolution: ... how to obtain the solution #result: #Verification: ... how to compare result with user results #Obs: \end{Verbatim} \end{block} =.== Exemplo: Substantivos coletivos \hrule \begin{Verbatim} Como se chama um conjunto de peixes? \end{Verbatim} \hrule ... \hrule \begin{Verbatim} #title: Língua PT -- substantivos coletivos #let: colet = [cáfila , vara , rebanho, enxame , cardume]; elem = [camelos, porcos, ovelhas, abelhas, peixes ]; colet ~ elem; #question: Como se chama um conjunto de \textbf{#elem}? #result: → #colet #sugestion: #resolution: \end{Verbatim} \hrule =.== Let block: Choice and Replace \begin{Verbatim} let : = | ~ ... = // agregation : empty | n | f | ... : id // choose one element form list (#id) | id[int] // cloose int element from list (#id[n]) : [ list-extension ] | expression | perl{ perl-expression } | maxima{ maxima-expression } \end{Verbatim} =. Let block ... perl expression \begin{Verbatim} number = { [1..100] }; x = perl{...} \end{Verbatim} External files / Data \begin{Verbatim} a = import(file); // lines of a file a = import `ls`; // lines of stdout of com a = {lines("x.lines") }; // using directly Perl \end{Verbatim} import (specific) columns from external tables (”:” sep) \begin{Verbatim} b = importcol(1,femea.tab); c = importcol(2,femea.tab); b ~ c; b ~ c = importcol(femea.tab); \end{Verbatim} =.== Basic types strings numbers n \begin{Verbatim} 3+5+sqrt(16) → 12 \end{Verbatim} functions f \begin{Verbatim} x+(--x)-3*x → -x \end{Verbatim} =.==Alguns esquemas de Exercício : . Verdadeiro Falso . Tabelas . Casamentos . Analogias verbais # =.==Tabelas \begin{Verbatim} #let: rio[3] ~ nascente[3] ~ foz[3] ~ atravessa[3] = sectioncols(riospt); #question: \begin{description} \item Qual o rio que nasce em #nascente[0]? , \item Onde desagua o rio #rio[1]?, \item Qual a foz do rio que atravessa #atravessa[2]?, \end{description} #result: \begin{description} \item #rio[0] \item #foz[1] ... #tab riospt Minho : Esp., serra de Meira :Caminha : Coura, Mouro, Avia:Melgaço, Monção Lima : Esp., serra S.Mamede :Viana do Castelo:Germil, Castro Laboreiro, Vez:Ponte do Lima, Ponte da Barca Cávado: serra do Larouco :Esposende :Homem, Rabagão:Barcelos,Montalegre Ave : serra da Cabreira :Vila do Conde :Este, Vizela:Sto. Tirso, Taipas #format em serra=na serra \end{Verbatim} =.== Casamentos simples \begin{Verbatim} #let: m1[5] ~ f1[5] = sectioncols(opostos); faux1[5] ~ order1[5] = perl{_unmap(#f1#)}; tabtex1 = perl{ mktable(#m1#, #faux1#);} m2[5] ~ f2[5] = sectioncols(semiproverbios); faux2[5] ~ order2[5] = perl{_unmap(#f2#)}; tabtex2 = perl{ mktable(#m2#, #faux2#);} #question: Qual a correspondência X -- oposto(X)?\\ #tabtex1 Qual a correspondência Início-fim de provérbio?\\ #tabtex2 #tab opostos alto:baixo gordo:magro lento:rápido #tab semiproverbios chuva em Novembro:Natal em Dezembro mais vale só:que com dois violadores numa cela mês de Abril:arroz de caril \end{Verbatim} =. 03-casamentos \demo{pass2tex -d proverbios.txt} =.=Música: Reconhecimento de acordes simples \begin{Verbatim} #let: a[3] = [ [C4E4], [C4G4], [E4G4], [C4^F4],[C4E4G4]]; b = [ 1, 2, 3 ]; c = [ #a[0], #a[1], #a[2]]; b ~ c; headabc = {{ M: 2/4 K: C L: 1/8}}; #question: Abra este documento com o Abode Reader de modo a conseguir ouvir os anexos. Qual a partitura correspontende ao seguinte som (duplo click no icon): \begin{import_abc}[width=0.5mm,midi] #headabc CE Gz|#c|] \end{import_abc} 1) \begin{import_abc}[scale=0.5] #headabc CE Gz|#a[0]|] \end{import_abc} % 2) \begin{import_abc}[scale=0.5] #headabc CE Gz|#a[1]|] \end{import_abc} % 3) \begin{import_abc}[scale=0.5] #headabc CE Gz|#a[2]|] \end{import_abc} #resolution: é a pauta #b \begin{import_abc}[scale=0.5] #headabc CE Gz|#c|] \end{import_abc} \end{Verbatim} =. Produzindo: \input{abc2.tex} =.= Passarola Archives =.= Passarola Agregation \: . teste = seq of (mex, TeX) . automata of (mex, youtube, chapters, lessons) # =.== Teste: agregação de Mex \begin{Verbatim} template: ... title: Teste Matemática Jun 2011 subtitle: exemplo inocente \section{Instruções gerais} Este teste destina-se a ... \section{Perguntas de aquecimento #q{Quanto é $3 \times 9$?}{$9+9+9=27$}{27} #q{EqQuadratica.txt} \section{Perguntas} #q{DerivadaDoProduto.txt} #q[3]{geometria.txt} \end{Verbatim} =.= Passarola tools \: . pass2tex . passt2tex . pass2html . pass-validate (50\%) . pass debugger (not yet) . pass2game (not yet) . pass2cards (not yet) . pass2trivialPursuit (not yet) . ... # =. Fim =.Verdeiro Falso \begin{Verbatim} #let: v1 = import VerdFals/jj1.true; f1[3] = import VerdFals/jj1.false; p1[4] = [#v1,#f1[0],#f1[1],#f1[2]]; r1[4] = [1,0,0,0]; p1~r1; \end{Verbatim} \begin{Verbatim} #question: Indique qual das seguintes proposições é verdadeira. \begin{enumerate} \item #r1[0] → #p1[0] \item #r1[1] → #p1[1] \item #r1[2] → #p1[2] \item #r1[3] → #p1[3] \end{enumerate} \end{Verbatim} \end{document}