Dissertation PYTHON
Author:
Michelle Baltazar
Last Updated:
8 years ago
License:
Creative Commons CC BY 4.0
Abstract:
Excerpt from main dissertation
\begin
Discover why 18 million people worldwide trust Overleaf with their work.
Excerpt from main dissertation
\begin
Discover why 18 million people worldwide trust Overleaf with their work.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% DISSERTAÇÃO PROFMAT
%
% Created by Michelle Cristina de Sousa Baltazar
%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\title{Dissertation PYTHON}
\documentclass[12pt, a4paper,oneside]{book}
% margens segundo abnt
\usepackage[top=3cm,left=3cm,right=2cm,bottom=2cm]{geometry}
% espaçamento entre linhas
\linespread{1.3}
% espacamento entre parágrafos
\setlength{\parindent}{1.25cm}
% colocar parágrafo no começo das seções
\usepackage{indentfirst}
% para subitem
\usepackage{enumitem}
% para sub sub item
\usepackage{outlines}
% bibliografia e estilo
\usepackage[round]{natbib}
\bibliographystyle{apa}
% insere paginas em pdf (usar para inserir a ficha)
\usepackage{pdfpages}
% retira primeira página do capítulo
\usepackage{etoolbox}
\patchcmd{\chapter}{plain}{empty}{}{}
\patchcmd{\part}{plain}{empty}{}{}
% tira a palavra capitulo dos capitulos (ABNT)
\usepackage{titlesec}
\titleformat{\chapter}{\huge\bf}{\thechapter}{20pt}{\huge\bf}
%\documentclass{article}
\usepackage[brazilian]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{parskip} % inserir linhas entre paragrafos
\usepackage{tabularx}
\usepackage{multirow}
\usepackage{graphicx} % Required for including images
\graphicspath{{figures/}} % Directory in which figures are stored
\newcommand{\compresslist}{
\setlength{\itemsep}{1pt}
\setlength{\parskip}{0pt}
\setlength{\parsep}{0pt}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\begin{tabularx}{\textwidth}{X X}
\textbf{PYTHON} & \multirow{3}{*}{\includegraphics[width=85mm]{python_logo1.png}}\\
\\
\textbf{Python} é uma linguagem de programação de \textit{alto nível}, \textit{interpretada}, de \textit{script}, \textit{imperativa}, \textit{orientada a objetos}, \textit{funcional}, de \textit{tipagem dinâmica e forte}.\\
A linguagem foi projetada com a filosofia de enfatizar a importância do esforço do programador sobre o esforço computacional. Prioriza a legibilidade do código sobre a velocidade ou expressividade. Combina uma sintaxe concisa e clara com os recursos poderosos de sua biblioteca padrão.\\
\end{tabularx}
\\
\\
\\
Abaixo iremos pormenorizar cada um de seus atributos:
\begin{itemize}\compresslist
\item\textbf{Linguagem Interpretada} – é uma linguagem de programação em que o código fonte nessa linguagem é executado por um programa de computador chamado interpretador e em seguida é executado pelo sistema operacional ou processador. \\
Ou seja, de uma forma ela é semelhante à linguagem HTML que é interpretada no navegador do usuário no ato do acesso.
\item\textbf{Linguagem de Script} – é uma linguagem que é executada no interior de programas ou de outras linguagem de programação, não se restringindo a estes ambientes. \\
Ou seja, podem estender as funcionalidades de um programa sem contudo alterá-lo e/ou controla-lo.
\item\textbf{Linguagem Imperativa} – que descreve o programa como um conjunto de ações, enunciados ou comandos que mudam o estado de um programa dizendo a cada passo o que deve ser executado ou interpretado. \\
Ou seja, está relacionado ao tempo verbal imperativo, onde o programador diz ao computador “faça isso, depois isso, depois aquilo”.
\item\textbf{Orientada a Objetos} – é um modelo de análise, projeto e programação baseado na composição e interação entre diversas unidades chamadas de objetos. \\
Os objetos são partes de código independentes e funcionais que podem ser aproveitadas conforme o desejo e necessidade do programador. Depois de definidos, implementa-se um conjunto de classes que definem os objetos presentes no sistema e cada classe determina o comportamento e estados possíveis de seus objetos assim como o relacionamento com outros objetos.
\item\textbf{Programação Funcional} – é uma abordagem de programação que enfatiza a aplicação de funções. A ideia básica é utilizar-se de funções predefinidas que evitam estados ou dados mutáveis. No caso de Python, as inúmeras funções preexistentes auxiliam desde a simples formatação de texto até a resolução de cálculos, concatenação de valores e até operações com arquivos. \\
Este tipo de abordagem contrasta em parte com a programação imperativa que, além das funções, já possui construções mais complexas. Desta forma, Python não é considerada estritamente funcional, pois além de funções utilizadas no ato da interpretação, também se utiliza dessas construções imperativas.
\item\textbf{Tipo forte} – Linguagem implementadas com tipificação forte exigem que o tipo de dado de um valor seja do mesmo tipo da variável ao qual este valor será atribuído. Ou seja, se declararmos uma variável como inteira, somente será aceita a entrada de valores inteiros para esta variável.
\item\textbf{Tipo Dinâmico} – A verificação de um dado é feita de forma dinâmica, ou seja, em tempo de execução – característica de uma linguagem interpretada.
\end{itemize}
.\\
\textbf{Construções} \\
\\
\textbf{Construções em Python incluem:}
\begin{itemize}\compresslist
\item Estrutura de seleção (\textit{If, else elif})
\item Estrutura de repetição (\textit{for, while})
\item Construção de classes (\textit{class})
\item Construção de sub-rotinas (\textit{def})
\item Construção de escopo (\textit{with})
\end{itemize}
.\\
\textbf{Tipos de dado} \\
\\
A tipagem de Python é forte, pois os valores e objetos têm tipos bem definidos e não sofrem coerções como em outras linguagens. São disponibilizados diversos tipos de dados nativos:
\begin{itemize}\compresslist
\item \textit{str, unicode} – uma cadeia de caracteres imutável
\item \textit{list} – lista heterogênea mutável
\item \textit{tuple} – tupla imutável (lista ordenada de n elementos)
\item \textit{set, frozenset} – conjunto não ordenado, não contem elementos duplicados
\item \textit{dic}t – conjunto associativo
\item \textit{int} – número de precisão fixa
\item \textit{float} – ponto flutuante
\item \textit{complex} – número complexo
\item \textit{bool} – booleano (1 ou 0, verdadeiro ou falso)
\end{itemize}
Python também permite a definição dos tipos de dados próprios através de classes. \\
\\
\textbf{Palavras Reservadas} \\
\\
O Python 2.5.2 define as seguintes 31 palavras reservadas, que não podem ser utilizadas como um identificador por fazerem parte da gramática da linguagem: \\
\\
\textit{
\begin{tabularx}{\textwidth}{X X X X}
in & def & assert & raise \\
is & not & global & continue \\
if & del & break & lambda \\
as & and & from & return \\
or & else & exec & finally \\
try & pass & yield & except \\
elif & with & class & import \\
for & while & print & \\
\end{tabularx}
}
\\
Tela do compilador Python Spyder do Anaconda:\\
\\
\includegraphics[width=\textwidth]{python_tela_anaconda_spyder.PNG}
%-----------------------------------------%
\pagebreak
\textbf{MATPLOTLIB} \\
\\
\textbf{Matplotlib} é uma biblioteca de plotagem 2D, ou seja é uma coleção de sub-rotinas e funções utilizadas em \textbf{Python} no desenvolvimento de gráficos em duas dimensões. Essa biblioteca consegue gerar figuras de qualidade em uma grande variedade de formatos e de ambientes interativos em diversas plataformas.\\
\\
O objetivo da biblioteca é tornar fácil as tarefas rotineiras e tornar possíveis as tarefas mais difíceis. Ela permite gerar inúmeros modelos computacionais com apenas algumas linhas de código. Sua interface é simples e semelhante ao Matlab.\\
\\
Segue a seguir alguns exemplos de plotagem geradas em \textbf{matplotlib}.
\begin{tabularx}{\textwidth}{X | X}
%---- linha 1-----%
Plotagem simples: & Plotagem com múltiplos eixos gerado pelo comando subplot():\\
\includegraphics[width=75mm]{matplotlib1_simple_plot1.png} & \includegraphics[width=75mm]{matplotlib2_subplot_demo3.png} \\
& \\ %---- linha 2-----%
Plotagem de histograma (distribuição de frequência) gerada com o comando \textit{hist()}: & Gráficos 3D simples utilizando a ferramenta \textit{mplot3d}:\\
\includegraphics[width=75mm]{matplotlib3_histogram_demo_features2.png} & \includegraphics[width=80mm]{matplotlib5_surface3d_demo4.png}\\
\end{tabularx}
\begin{tabularx}{\textwidth}{X | X}
%---- linha 4-----%
Gráficos em barras – que são facilmente gerados com o comando \textit{bar()}: & Gráficos em pizza (ou torta) – gerados facilmente com o comando \textit{pie()}:\\
\includegraphics[width=75mm]{matplotlib8_barchart_demo3.png} & \includegraphics[width=80mm]{matplotlib9_pie_demo_features_001.png}\\
& \\ %---- linha 5-----%
Gráficos com tabelas – gerados com o comando \textit{table()}: & Gráfico de dispersão, gerado com o comando \textit{scatter()}:\\
\includegraphics[width=80mm]{matplotlib10_table_demo1.png} & \includegraphics[width=80mm]{matplotlib11_scatter_demo21.png}\\
& \\ %---- linha 6-----%
Plotagem de curvas e polígonos preenchidos com o comando \textit{fill()}: & Plotagem de dados de data com intervalos maiores ou menores:\\
\includegraphics[width=80mm]{matplotlib13_fill_demo2.png} & \includegraphics[width=80mm]{matplotlib14_date_demo3.png}\\
\end{tabularx}
\begin{tabularx}{\textwidth}{X | X}
%---- linha 3-----%
Linha de corrente gerada com o comando \textit{streamplot()}: & Elipses: \\
\includegraphics[width=80mm]{matplotlib6_streamplot_demo_features_001.png} & \includegraphics[width=80mm]{matplotlib7_ellipse_demo1.png} \\
& \\ %---- linha 7-----%
Gráficos financeiros: & Funções simples para criação de plotagens logarítmicas – \textit{semilogx(), semilogy() e loglog()}:\\
\includegraphics[width=75mm]{matplotlib15_finance_work21.png} & \includegraphics[width=80mm]{matplotlib17_log_demo2.png}\\
& \\ %---- linha 8-----%
Gráficos polares com o comando \textit{polar()}: & Comando \textit{legend()} para gerar automaticamente legendas:\\
\includegraphics[width=80mm]{matplotlib18_polar_demo1.png} & \includegraphics[width=80mm]{matplotlib19_legend_demo6.png}\\
\end{tabularx}
%-----------------------------------------%
\pagebreak
\textbf{MATH}\\
\\
Este módulo está sempre disponível e provê acesso às funções matemáticas definidas pela \textit{linguagem C}.\\
As funções são:
\begin{itemize}\compresslist
\item Funções da Teoria dos Números e de Representação
\item Funções de Potência e Logarítmicas
\item Funções Trigonométricas
\item Conversão Angular
\item Funções Hiperbolicas
\item Além de Funções Especiais e Constantes
\end{itemize}
Em Python estas funções não utilizarão números complexos. Neste caso utilizaremos as mesmas funções porém na biblioteca \textit{cmath}.\\
\end{document}