Você está na página 1de 52

Bases Computacionais da Ciência

Prof. Dr. Helder Oliveira


Informações
• Professor
v Helder May Nunes da Silva Oliveira
v helder.oliveira@ufabc.edu.br
v Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas
• Curso
v Página do Curso: SIGAA
v Carga horária: 24 horas

04/10/2022 BCC 2
Professor
• Helder May Nunes da Silva Oliveira
v Pós-doutorado em Ciência da Computação - UNICAMP.
v Doutorado em Ciência da Computação - UNICAMP.
v Mestrado em Ciência da Computação - UNICAMP.
v Graduado em Ciência da Computação – UFAL.

04/10/2022 BCC 3
Objetivo Geral
• Aplicar conhecimentos matemáticos e estatísticos na análise e
resolução de problemas de engenharia.
• Elaborar programas de computador aplicados a Engenharia.

04/10/2022 BCC 4
Metodologia
• Aulas expositivas dialogadas.
• Exercícios no laboratório.
• Trabalhos individuais.
• Prova/Projeto Final.

04/10/2022 BCC 5
Aspectos Administrativos: Presença

• Falta reprova!
• O curso é fácil mais trabalhoso.

04/10/2022 BCC 6
Conteúdo Programático
• Apresentação de Ferramentas usadas na disciplina.
• Introdução à Programação.
• Entrada de dados, Condicionais em Programação, e Operadores Lógicos.
• Representações gráficas e Programação.
• Bases de Dados (Tabelas) e Programação.
• Estatística Descritiva e Programação.
• Estatística Correlação/Regressão e Programação.
• Condicionais em Programação para planilhas e gráficos.
• Laços em Programação.
• Modelagem e Simulação.

04/10/2022 BCC 7
Critérios de Avaliação

• Laboratórios
• Prova/ Projeto Final
• Média dos laboratórios -ML
• Média Final = (ML+ Prova) /2

04/10/2022 BCC 8
Conceitos
A nota final M , será calculada como:

Conceito Nota
A 8,5 – 10
B 7,0 – 8,4
C 5,5 – 6,9
D 4,5 – 5,4
F 4,4 – 0

04/10/2022 BCC 9
Para evitar frustações
• Prática, Prática, Prática
• O material é de fácil entendimento mas ...
• Você precisa de muita prática para aprender a ser preciso o suficiente para
fazer o computador fazer o que você quer.

• Você precisa de muita prática para parar de assumir que o computador é


mais esperto do que realmente é.

04/10/2022 BCC 10
Ambiente de estudo
• Salas de aula
• Moodle
• Google Colab

04/10/2022 BCC 11
Ambiente Google Colab
• Google Colaboratory - Colab,
• É um serviço de nuvem gratuito hospedado pelo próprio Google para
incentivar a pesquisa de Aprendizado de Máquina e Inteligência Artificial.
• É uma ferramenta que permite que você misture código fonte
(geralmente em python) e texto rico (geralmente em markdown) com
imagens e o resultado desse código, uma técnica conhecida como:
notebook (“caderno”, em português).

04/10/2022 BCC 12
Ambiente Google Colab

• Pré-requisitos:
• Uma conta Gmail válida.
• Um navegador.
• Um bom acesso a Internet.

• Como acessar:
• http://colab.research.google.com/notebooks/intro.ipynb

04/10/2022 BCC 13
Ambiente Google Colab
• Primeiro acesso:

04/10/2022 BCC 14
Ambiente Google Colab
• Esse notebook explica algumas características do Colab e
mostra como dar os primeiros passos — recomendo a leitura.
• Dentre todas aquelas listadas, podemos resumir nas seguintes 3
principais características:
• Pelo fato dele rodar em uma máquina do google, não precisamos
realizar qualquer configuração;
• O google disponibiliza gratuitamente acesso a GPU’s;
• É simples de compartilhar, igual a qualquer arquivo contido no drive.

04/10/2022 BCC 15
Ambiente Google Colab
• Como criar um?
• Para fazer isso, precisamos clicar em >File, na parte superior esquerda,
logo em seguida em >New Notebook.

04/10/2022 BCC 16
Ambiente Google Colab
• Login numa conta Google
• Feito esse processo, caso não esteja logado em uma conta google, o
seguinte pop-up aparece:

• Clique em OK para ser direcionado à tela de login do gmail. Caso não


tenha uma conta gmail, clique em Create account e siga os passos para
cadastro:
04/10/2022 BCC 17
Ambiente Google Colab
• Seu primeiro código no Google Colab
• Agora que está com o seu primeiro notebook aberto, vamos destacar três
pontos:

04/10/2022 BCC 18
Ambiente Google Colab
• Vamos começar pelo recorte 01. Chamamos de célula. Ela é o local onde você
escreve códigos ou texto.
• Vamos começar com a célula de código, que você pode ir testando no seu
notebook. Então para começar digite no local correspondente ao 01:
• 2+2
• Para executar esse código temos algumas opções: você pode clicar no sinal
de play que fica no início da célula ou pode usar o atalho SHIFT+ENTER.
• Existem diversos outros atalhos para executar uma célula, você encontra detalhes no
documento de Visão geral dos recursos do Colaboratory.
• Agora vamos tentar outro código, que tal realizarmos uma operação e
armazenar esse valor em uma variável? Use o seu notebook para executar o
seguinte código:
• soma_dois_numeros = 1232 + 2314

04/10/2022 BCC 19
Ambiente Google Colab
• É possível Adicionar novas células através do recorte 02.
• Até o momento nós criamos apenas células de código, mas conforme
falamos, os notebooks nos permitem mesclar essas células de código e
textos em formato markdown.
• +Code: adiciona células de código;
• +Text: adiciona as células nas quais você pode digitar texto com as
configurações markdown.
• Essa característica nos permite desenvolver explicações e
relatórios nos próprios notebooks. Experimente aí no seu notebook, crie
alguns textos em formato markdown!

04/10/2022 BCC 20
Ambiente Google Colab
• Para que o Colab se torne uma ferramenta funcional falta o
principal elemento: a base de dados.
• Temos várias formas de obter acesso a uma base de dados, entre
elas utilizar alguma biblioteca que lê um arquivo direto de uma
URI, por exemplo.
• Veremos isso com o decorrer do curso.

04/10/2022 BCC 21
Ambiente Google Colab
• Alterando o nome do seu caderno
• Clique no nome atual (ponto 04) do caderno para editar.
04

04/10/2022 BCC 22
Ambiente Google Colab
• Criar uma cópia de um Notebook para você (que vai ser guardada
no SEU Google Drive, na pasta Colab Notebooks).
• Clique no File/Save a copy in Drive.

04/10/2022 BCC 23
Linguagem Python
• Simples o suficiente para um curso introdutório
• Muitos recursos
• Orientação a Objetos
• Escalável (módulos, classes, controle de exceções).
• Biblioteca embutida extensa e grande n ́umero de módulos fornecidos por
terceiros.
• Grande variedade de aplicações.
• Linguagem interpretada (script).
• Multiplataforma.
• Grátis!
• Comunidade bastante grande
04/10/2022 BCC 24
Linguagem Python
• Quem usa?

04/10/2022 BCC 25
Comentários nos códigos - símbolo #
• Colocar os comentários nos códigos pode ser bastante útil, para explicar o
que cada linha (ou parte) do programa faz (especialmente em códigos mais
longos com quais iremos lidar mais para frente de curso).
• O comando # significa que tudo que aparece na mesma linha após este
símbolo é considerado apenas como comentário (e não vai ser executado na
célula de código).

04/10/2022 BCC 26
Operações matemáticas
• Os símbolos + , - , * e / significam respectivamente soma,
subtração, multiplicação e divisão, respectivamente.
• Atenção: o símbolo que separa as casas decimais em Python é
o ponto e não a vírgula!

04/10/2022 BCC 27
Exercício
• Alice pagou uma televisão de R$ 3250.00 em 12 vezes sem juros.
Qual o valor de cada parcela?
• Obs: Faça o código no Colab.

04/10/2022 BCC 28
Potenciação
• A operação de potenciação é denotada por ** em Python. Ou seja,
para calcular 24, precisamos escrever 2**4.

04/10/2022 BCC 29
Exercício
• Uma folha de papel sulfite tem 0.1mm de espessura. Dobrando a
folha ao meio, a espessura passa a ser 0.2mm. Dobrando ao meio
de novo, a espessura vai para 0.4mm. Mais uma vez e a espessura
aumenta para 0.8mm, e assim vai.
• Sabemos que não é possível dobrar uma folha de papel sulfite ao
meio mais do que 5 ou 6 vezes mas, supondo que fosse possível
dobrá-la 27 vezes, qual seria a espessura da dobradura resultante?
• Obs: Calcule com o Python.

04/10/2022 BCC 30
Divisão inteira
• Python tem um tipo especial de divisão que é chamada de divisão inteira, em
que um número é dividido por outro e depois o resultado é arredondado para
baixo. O operador de divisão inteira é //.
• Mais formalmente, quando a e b são números inteiros, a // b é o quociente da
divisão de a por b.
• Veja como a divisão inteira funciona:

04/10/2022 BCC 31
Resto da divisão
• Python também tem o operador % que calcula o resto da divisão de um
número por outro.
• Por exemplo, o resto da divisão de 17 por 5 é igual 2.

04/10/2022 BCC 32
Combinando operações
• Você consegue prever o resultado das expressões abaixo?

• Execute as células para verificar se você acertou!

04/10/2022 BCC 33
Precedência
• Ordem de Precedência usada no Python

04/10/2022 BCC 34
Como guardar um valor ou resultado?
• Variáveis
• Você pode guardar um valor ou o resultado de um cálculo, ou algum conteúdo
em uma variável para tornar a usá-lo.
• Uma variável é composta por dois elementos:
• Nome: nome dado pelo programador à variável
• Conteúdo: valor atual da variável
• Para atribuição de valor à variável usamos o símbolo =.

• Como mostrar o valor de uma variável?

04/10/2022 BCC 35
Elementos de um programa
• Um programa de computador é um conjunto (sequência) de instruções que
ele executa para resolver uma determinada tarefa/exercício.
• Para cada tarefa/exercício são necessários programas (sequências de
instruções) distintas.
• Características/elementos de um Programa:
1. Entrada: o programa precisa receber dados para serem processados. Até
agora vimos como atribuir valores às variáveis dentro do programa. Na
Unidade/Semana 2, veremos como entrar os dados no programa via
teclado.
2. Processamento: o processamento de dados geralmente é realizado com o
uso de operadores. Até agora vimos operadores matemáticos.
3. Saída: programa exibe resultados, por exemplo, na tela do computador

04/10/2022 BCC 36
Elementos de um programa
• Código com entrada, processamento e saída.

04/10/2022 BCC 37
Utilizando biblioteca: a biblioteca math
• Vamos ver agora como importar bibliotecas no notebook.
• O que é uma biblioteca? Uma biblioteca contém códigos prontos para
serem usados.
• Uma biblioteca muito útil é a math, que contém várias funções e
constantes matemáticas.
• Como importar a biblioteca math:
• A math contém algumas constantes como 𝜋 e a de Euler 𝑒.

• Uma lista das funções de math pode ser encontrada em:


https://docs.python.org/3.6/library/math.html
04/10/2022 BCC 38
Exibindo na tela
• A função print é utilizada para mostrar mensagens/valores na
tela.
• A mensagem é colocada entre parênteses ( e ).

• Quando a mensagem é um texto, ela deve estar escrita entre


aspas como a seguir:

• Podemos misturar números e textos na mensagem. Basta separá-


los por vírgulas:

04/10/2022 BCC 39
Exibindo na tela
• Podemos também usar variáveis nas mensagens:

• Podemos fazer operações:

• Quando o número a ser exibido é um número com várias casas


decimais, podemos definir quantas casas decimais serão mostradas.
Note que ao invés da vírgula usamos agora o símbolo%:

04/10/2022 BCC 40
Tipos de dados
• Em Python existem diferentes tipos de dados.
• Podemos ter dados no formato:
• Numérico;
• Textual;
• Lógico.
• Para isso, em Python, temos alguns tipos:
• int: Números inteiros (Exemplos: -3, 7, 0, 2022).
• float: Números reais (Exemplos: -3.2, 1.5, 1e-8, 3.2e5).
• str: Cadeia de caracteres/Strings (Exemplos: ”UFABC" e ”BCC-2022.3").
• bool: Valores booleanos: True (Verdadeiro) e False (Falso).
• A função type pode ser utilizada para mostrar o tipo de um dado.

04/10/2022 BCC 41
Tipos de dados

04/10/2022 BCC 42
Exercícios
• Considere o trecho de código abaixo:

• Após a execução desse trecho de código, qual será o valor


armazenado em cada variável?

04/10/2022 BCC 43
Exercícios
• Responda qual tipo de objeto deve ser usado para armazenar cada
uma das seguintes informações:
a) A idade de uma pessoa.
b) A área do seu quintal em metros quadrados.
c) A media da quantidade de chuva no mês de fevereiro.
d) O número de estrelas na galáxia.

04/10/2022 BCC 44
Exercícios
• Faça um programa que leia dois valores inteiros nas variáveis x e y e
troque o conteúdo das variáveis. Por exemplo, supondo que x = 2 e y
= 10 foram os valores lidos, o seu programa deve fazer com que x =
10 e y = 2.

• Refaça o problema anterior usando apenas x e y como variáveis.

04/10/2022 BCC 45
Exercícios
• Faça um programa que leia um ano (valor inteiro) e imprima se ele
é bissexto ou não. Observação: um ano é bissexto se ele é múltiplo
de 400, ou se ele é múltiplo de 4 mas não é múltiplo de 100.

04/10/2022 BCC 46
Bibliografia

04/10/2022 BCC 47
Recomendações para o sucesso
v Assistir às aulas.
v Participar das discussões.
v Fazer tarefas semanais.
v Não acumular dúvidas.
v Utilize seus recursos (livros, slides, discord, colegas).
v Aprender o conteúdo.

04/10/2022 BCC 48
Dica 1
• Não espere até o ultimo minuto para pedir ajuda.

04/10/2022 BCC 49
Dica 2
• Coisas ruins acontecem quando se aprende algo novo. Comece os
trabalhos cedo; se dê tempo para erros.

04/10/2022 BCC 50
Dica 3
• Não se sobrecarregue com esse curso. Não dá para deixar
acumular matéria nem mesmo por alguns dias!.

04/10/2022 BCC 51
Dúvidas?

Você também pode gostar