From 36a8607e9e80346d6bd5d494ff54de47643b48b5 Mon Sep 17 00:00:00 2001
From: Walmes Zeviani <walmes@ufpr.br>
Date: Mon, 30 Jul 2018 18:54:06 -0300
Subject: [PATCH] =?UTF-8?q?Adiciona=20revis=C3=A3o=20de=20programa=C3=A7?=
 =?UTF-8?q?=C3=A3o.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 _site.yml                   |   2 +
 slides/00-intro.Rnw         |  11 ++-
 slides/01-revis-program.Rnw | 170 ++++++++++++++++++++++++++++++++++++
 3 files changed, 182 insertions(+), 1 deletion(-)
 create mode 100644 slides/01-revis-program.Rnw

diff --git a/_site.yml b/_site.yml
index 8afe776..3578893 100644
--- a/_site.yml
+++ b/_site.yml
@@ -25,6 +25,8 @@ navbar:
       menu:
       - text: "Boas vindas"
         href: slides/00-intro.pdf
+      - text: "Revisão de prog."
+        href: slides/01-revis-program.pdf
 #      - text: "Estruturas de controle"
 #        href: slides/01-estru-repet.html
 #      - text: "Teorema da Transformação da Probabilidade"
diff --git a/slides/00-intro.Rnw b/slides/00-intro.Rnw
index ea6d01b..f3d0b98 100644
--- a/slides/00-intro.Rnw
+++ b/slides/00-intro.Rnw
@@ -289,7 +289,7 @@ source("config/setup.R")
   \usebackgroundtemplate{\includegraphics[height=\paperheight, width=\paperwidth]{../img/looking-ahead.jpg}}
   % \setbeamersize{text margin left=30mm}
 
-  \begin{frame}[c]{}
+  \begin{frame}[b]{}
 
     \hspace*{0.5\linewidth}
     \begin{minipage}[t]{0.5\linewidth}
@@ -302,6 +302,15 @@ source("config/setup.R")
       \item Programação funcional.
       \item \emph{Debugging}.
       \end{itemize}
+
+      \hi{Dever de casa}
+      \begin{itemize}
+      \item Criar conta no Moodle do C3SL.
+      \item Fazer matrícula na disciplina.
+      \item Estar em dia com a conta no C3SL.
+      \item Atualizar o R no computador pessoal.
+      \end{itemize}
+
     \end{minipage}
 
 \end{frame}
diff --git a/slides/01-revis-program.Rnw b/slides/01-revis-program.Rnw
new file mode 100644
index 0000000..d3429d6
--- /dev/null
+++ b/slides/01-revis-program.Rnw
@@ -0,0 +1,170 @@
+%-----------------------------------------------------------------------
+
+\documentclass[serif, professionalfont, usenames, dvipsnames]{beamer}
+\usepackage[T1]{fontenc}
+
+% ATTENTION: preamble.tex contains all style definitions.
+\input{config/preamble.tex}
+
+<<include = FALSE>>=
+source("config/setup.R")
+@
+
+%-----------------------------------------------------------------------
+
+\title{Revisão de programação no R}
+\subtitle{Estruturas de controle e funções}
+\date{\small{ \Sexpr{sprintf('Atualizado em %s', Sys.Date())}}}
+
+%-----------------------------------------------------------------------
+
+\begin{document}
+
+{\setbeamertemplate{footline}{}
+  \frame{\titlepage} %--------------------------------------------------
+}
+
+\begin{frame}{}
+
+  {\large Justificativas}
+
+  \begin{itemize}
+  \item Um computador é uma máquina de propósito geral. A programação dá
+    a ela um proprósito específico.
+  \item O propósito de programar é automatizar processos.
+  \item A linguagem R é considerada a lingua franca da Estatística.
+  \end{itemize}
+
+  {\large Objetivos}
+
+  \begin{itemize}
+  \item Relembrar os fundamentos de programação em R.
+  \item Rever as estruturas de controle.
+  \item Rever a definição e uso de funções.
+  \item Resolver estudos de caso.
+  \end{itemize}
+\end{frame}
+
+%-----------------------------------------------------------------------
+\begin{frame}[fragile, allowframebreaks]{Estruturas de controle}
+
+  \begin{minipage}[t]{0.55\linewidth}
+
+    {\large Operadores relacionais}
+
+\begin{verbatim}
+| Relação       | Operador | Emprego |
+|---------------+----------+---------|
+| Igual         | ==       | 5 == 3  |
+| Diferente     | !=       | 5 != 3  |
+| Menor         | <        | 5 < 3   |
+| Menor e igual | <=       | 5 <= 3  |
+| Maior         | >        | 5 > 3   |
+| Maior e igual | >=       | 5 >=3   |
+\end{verbatim}
+
+    {\large Operadores lógicos}
+
+\begin{verbatim}
+| Condição | Operador | Emprego         |
+|----------+----------+-----------------|
+| E        | &&       | x > 10 && y > 0 |
+| OU       | ||       | x > 10 || y < 0 |
+| NÃO      | !        | !(x > 10)       |
+\end{verbatim}
+
+  \end{minipage}
+  \begin{minipage}[t]{0.44\linewidth}
+
+    Atenção!
+
+    \begin{itemize}
+    \item \texttt{\&} e \texttt{|} são vetoriais.
+    \item \texttt{\%in\%} é o operador pertence.
+    \item Na dúvida sobre precedência de operações, use \texttt{()}.
+    \end{itemize}
+  \end{minipage}
+
+  \framebreak %------------------------------
+
+  {\large Estruturas condicionais (if)}
+
+  \begin{minipage}[t]{0.47\linewidth}
+  <<eval = FALSE>>=
+  # Apenas uma condição.
+  if (<condition>) {
+      <statments if TRUE>
+  }
+  @
+
+  <<eval = FALSE>>=
+  # Condição e seu complementar.
+  if (<condition>) {
+      <statments if TRUE>
+  } else {
+      <statments if FALSE>
+  }
+  @
+  \end{minipage}
+  \hspace{1em}
+  \begin{minipage}[t]{0.47\linewidth}
+  <<eval = FALSE>>=
+  # Condições em cadeia.
+  if (<condition>) {
+      <statments if TRUE>
+  } else if (<condition>) {
+      <statments if FALSE and TRUE>
+  } else {
+      <statments if FALSE and FALSE>
+  }
+  @
+  \end{minipage}
+
+  \framebreak %------------------------------
+
+  {\large Laço iterador (for)}
+
+  <<eval = FALSE>>=
+  for (<variable> in <set>) {
+      <statments>
+  }
+  @
+
+  \begin{itemize}
+  \item A interação é sobre elementos de vetores e listas.
+  \item \texttt{break} e \texttt{next} são usados para interromper e
+    saltar ciclos.
+  \item Jamais cresca uma vetor/lista durante um loop!
+  \end{itemize}
+
+  \framebreak %------------------------------
+
+  {\large Laço iterador com condional (while)}
+
+  <<eval = FALSE>>=
+  while (<condition>) {
+      <statments while TRUE>
+  }
+  @
+
+  \begin{itemize}
+  \item \texttt{break} e \texttt{next} podem ser usados.
+  \item Cuidado com loops sem condições de parada (loops infinitos).
+  \end{itemize}
+
+  \begin{block}{Pergunta}
+    \begin{enumerate}
+    \item Quando usar \texttt{for} e \texttt{while}?
+    \item Qual dos dois é mais geral?
+    \end{enumerate}
+  \end{block}
+
+  \framebreak %------------------------------
+
+  {\large Laço de repetição com condional (repeat)}
+
+  {\large Estrutura de casos (switch)}
+
+\end{frame}
+
+\end{document}
-- 
GitLab