Adiciona revisão de programação.

parent 5f1156c4
......@@ -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"
......
......@@ -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}
......
%-----------------------------------------------------------------------
\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}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment