SlideShare uma empresa Scribd logo
1 de 54
Baixar para ler offline
Aula 1:
Introdução à Programação
Curso de Programação em Python I
Filipe Chagas Ferraz
Faculdade de Tecnologia SENAI Mato Grosso
07-10-2023
Apresentação do curso
Instrutores
Filipe Chagas Ferraz Felipe Lima Jardim
1 44
Sobre o curso
Público alvo: iniciantes em programação e programadores
iniciantes em Python
Duração: de dia 7/10 (hoje) até dia 11/11
Hórarios de aula:
▶ Aulas presenciais aos sábados, das 8:00 até 12:00 de manhã,
e das 13:00 até 17:00 de tarde
▶ Aulas gravadas e atividades complementares no Classroom
Conteúdos:
▶ “Lógica de programação”
▶ Banco de dados – MongoDB
▶ Programação Orientada a Objetos
▶ Interface Gráfica – Qt
▶ Web
▶ Processamento de dados e gráficos
▶ Machine Learning
2 44
Introdução
O que é um algoritmo?
3 44
O que é um algoritmo?
Um algoritmo é uma sequência de instruções bem definidas que,
quando executadas, realizam uma tarefa
3 44
Representação de um Algoritmo - Fluxograma
Figura: Algoritmo de um aquecedor de liquido com controle de
temperatura, para manter a temperatura em torno de 50ºC
4 44
Representação de um Algoritmo - Texto
Um algoritmo pode ser descrito textualmente como uma
sequência de passos com possíveis “saltos” condicionais entre
passos.
Algoritmo do aquecedor de líquido
1. Obtenha a temperatura t do líquido em ºC;
2. verifique se t ≤ 50:
2.1 caso sim, ligue o ebulidor;
2.2 caso não, desligue o ebulidor;
3. aguarde 1 segundo;
4. retorne ao passo 1.
5 44
Representação de um Algoritmo - Texto
Um algoritmo pode ser descrito textualmente como uma
sequência de passos com possíveis “saltos” condicionais entre
passos.
Algoritmo do aquecedor de líquido
1. Obtenha a temperatura t do líquido em ºC;
2. verifique se t ≤ 50:
2.1 caso sim, ligue o ebulidor;
2.2 caso não, desligue o ebulidor;
3. aguarde 1 segundo;
4. retorne ao passo 1.
Porém, este tipo de representação não conta com um conjunto
bem definido de instruções.
5 44
Representação de um Algoritmo - Cálculo
Lambda
Cálculo Lambda é um modelo matemático de computação
proposto por Alonzo Church em 1932
Neste modelo, os algoritmos são descritos como cadeias de
Funções Lambda
Cálculo Lambda inspirou a linguagem de programação LISP
Fatorial de 5 em Cálculo Lambda
(λn.(λf.(λx.n(λg.(λa.(g(fga))))(λa.x))(λx.x))(λf.(λx.f(fx))))5
6 44
Representação de um Algoritmo - Máquina de
Turing
A Máquina de Turing, proposta por Alan Turing em 1936, é o
principal modelo matemático de computação
Neste modelo, os algoritmos são descritos como cadeias de
símbolos que induzem mudanças de estado em um
autômato
Este modelo deu origem às CPUs (Central Processing Unit)
Figura: Esboço dos elementos de uma Máquina de Turing
7 44
Unidades de Processamento Central (CPUs)
A CPU é o “coração” de um computador. Ela é responsável
por executar as sequências de instruções que constituem os
algoritmos.
Uma CPU tem um conjunto bem definido de instruções que
pode executar.
8 44
Instruções de uma CPU
Figura: Conjunto de instruções de um processador ARM
9 44
Linguagem de Montagem (Assembly)
Linguagens de Montagem
(Assembly) são linguagens
de programação primitivas
que funcionam como
notações legíveis do código
binário
Desenvolver um programa
em Assembly é
extremamente trabalhoso e
requer conhecimentos
avançados sobre o
hardware do computador
As intruções variam de
computador para
computador
Figura: Exemplo de código em
linguagem de montagem
(Assembly) para processadores
ARM
10 44
Programação nos velhos tempos
Nos anos 70, os códigos em Assembly eram convertidos em
código de máquina manualmente
Os programadores transferiam os programas em código de
máquina para o computador através de um painel
Figura: Painel de programação de um computador PDP-11
https://youtu.be/XV-7J5y1TQc?si=gy9aS6kd3qcXwtuB
11 44
Linguagens de Programação de Alto Nível
Linguagens de Programação de Alto Nível de Abstração
existem para facilitar o processo de programação
Exemplos de linguagens de alto nível ancestrais são: COBOL,
FORTRAN, ALGOL, BASIC, etc
Exemplos de linguagens de alto nível modernas são: Python,
JavaScript, Java, C#, C++, etc
12 44
O que é uma linguagem de programação?
Linguagens de
Programação são idiomas
formais pelos quais os
programas de computador
são descritos
Idiomas formais têm regras
gramaticais rigorosamente
definidas que devem ser
seguidas à risca
A maioria das linguagens de
programação modernas são
compostas por termos em
inglês, como if, else, for,
while, etc
Figura: Código em Python
13 44
Características de linguagens de programação
Linguagens de programação são classificadas por:
Nível de abstração:
▶ baixo nível (ex: Assembly),
▶ alto nível (ex: Python, JavaScript, C++, Java, etc).
Tipo de processamento:
▶ interpretadas (ex: Python, JavaScript, etc),
▶ compiladas (ex: C, C++, Java, etc),
▶ transpiladas (ex: TypeScript, CoffeScript, etc).
Paradigma: Imperativo, Estruturado, Orientado a Objetos,
Funcional, Lógico, etc.
Tipagem: dinâmica, estática, forte ou fraca.
14 44
Características da linguagem Python
Python é uma linguagem interpretada, de alto nível de
abstração, e de uso geral.
Python é preferida em aplicações que envolvem mais
matemática, como ciência de dados, inteligência artificial e
computação científica.
Python combina os paradigmas estruturado, orientado a
objetos e funcional.
Python é dinamicamente e fortemente tipada.
▶ Tipagem dinâmica: variáveis não possuem tipo de dado fixo.
▶ Tipagem forte: um tipo de dado não pode ser tratado como
se fosse outro.
15 44
Python - prós e contras
Prós:
Amplamente difundida
Ecossistema de bibliotecas poderoso e homogêneo
Sintaxe simples e fácil de aprender
Contras:
Lentidão (se usada de maneira inapropriada)
Alto consumo de memória
A tipagem dinâmica pode causar desorganização
16 44
Áreas que usam Python
Área de Dados
A área de dados lida com a coleta, manipulação e análise de
dados de usuários.
Engenheiro de Dados - profissional que
desenvolve e mantém os sistemas de
coleta e processamento de grandes
volumes de dados.
Cientista de Dados - profissional que
modela os dados com técnicas de
predição estatística e de machine
learning.
Analista de Dados - profissional que
analisa dados a fim de tirar
interpretações, conclusões e auxiliar em
tomadas de decisões.
17 44
Área de Dados – O que estudar
Engenharia de
Dados
Banco de
dados
Infraestrutura
de Nuvem
Computação
Distribuída
Ciência de Dados
Estatística
Machine
Learning
Análise de Dados
Representação
de dados
Storytelling
Inteligência de
Negócios
18 44
Inteligência Artificial
Inteligência Artificial é a área da computação que se concentra
em criar sistemas e algoritmos capazes de realizar tarefas que,
normalmente, exigiriam inteligência humana.
Alguns tópicos importantes em IA:
Machine Learning
Visão Computacional
Processamento de Linguagem Natural
Processamento Inteligente de Sinais
Pesquisa Operacional e Otimização
IAs Generativas
19 44
Inteligência Artificial - Visão Computacional
A Visão Computacional se concentra no desenvolvimento de
sistemas de identificação de padrões e extração de informações
em imagens digitais
Figura: Exemplo de aplicação de Visão Computacional – detecção de
objetos
20 44
Inteligência Artificial - Processamento de Lin-
guagem Natural
O Processamento de Linguagem Natural se concentra no
desenvolvimento de sistemas que extraem informações (como
intensões, conclusões, etc) da comunicação humana
21 44
Inteligência Artificial - Processamento Inteli-
gente de Sinais
O Processamento Inteligente de Sinais se concentra no
desenvolvimento de sistemas que reconhecem padrões e
extraem informações de sinais digitais, como áudio, vibração
mecânica, ondas eletromagnéticas, etc
22 44
Inteligência Artificial - Pesquisa Operacional e
Otimização
Pesquisa Operacional e Otimização são áreas que utilizam
técnicas matemáticas e computacionais para resolver problemas
complexos de tomada de decisão em uma ampla variedade de
áreas, como logística, finanças, produção, transporte e muito
mais.
Figura: Pathfindig, que consiste em encontrar o caminho mais curto
entre dois pontos em meio a obstaculos, é um problema de Pesquisa
Operacional
23 44
Inteligência Artificial Generativa
IAs Generativas são sistemas inteligentes capazes de gerar
dados artificialmente, como fotos, textos, obras de arte e áudios
de fala.
Figura: Sistemas de Deep Fake são
exemplos de IAs Generativas Figura: IAs Generativas podem ser
utilizadas para gerar obras de arte
24 44
Desenvolvimento Web
Desenvolvedores Web são proficionais que desenvolvem
sistemas para a internet, como websites e APIs.
Front-End - frente que lida
com o desenvolvimento da
parte visual dos sistemas,
que é executada no
computador do usuário.
Back-End - frente que lida
com o desenvolvimento da
parte sistêmica que é
executada no servidor.
Python pode ser utilizada no Back-End.
25 44
Dicas de Estudo
Inglês é fundamental – Inglês é o idioma da tecnologia.
Além de linguagens de programação terem palavras em
Inglês, a esmagadora maioria dos materiais de tecnologia,
como livros, artigos, tutoriais e documentações, são escritos
em inglês.
26 44
Inglês é fundamental – Inglês é o idioma da tecnologia.
Além de linguagens de programação terem palavras em
Inglês, a esmagadora maioria dos materiais de tecnologia,
como livros, artigos, tutoriais e documentações, são escritos
em inglês.
Procure se atualizar constantemente – Prepare-se para
passar o resto da vida estudando, pois a área da tecnologia
está sempre passando por mudanças radicais. Quem para de
estudar, fica para trás!
26 44
Mão na massa!
Ambiente de desenvolvimento online
https://www.onlinegdb.com/online_python_compiler
27 44
Hello World
Digite a seguinte linha de código no editor e execute:
Código
print("Hello World!") #escreve hello world
print(...) - função que escreve no terminal.
"Hello World!" - string contendo a frase “hello world!”.
#... - comentário, ignorado pelo interpretador.
28 44
Variáveis
Variáveis são pequenos espaços de memória reservados para
armazenar dados.
Para criar uma variável em Python, basta digitar um nome
seguido por um valor.
Exemplo de código
name = " F i l i p e Chagas " #meu nome
height = 1 . 7 1 #minha altura
age = 24 #minha idade
print ( f "Meu nome e {name} " )
print ( f "Minha altura e {name} " )
print ( f "Minha idade e { age } " )
29 44
Tipos de dados
Em Python, todos os dados são objetos. Cada objeto tem um
tipo.
Exemplos de tipos de dados:
str - texto
int - número inteiro
float - número real
bool - tipo lógico (True ou False)
Escreva no editor e execute
print ( type ( " F i l i p e Chagas " ) )
print ( type ( 1 . 7 1 ) )
print ( type ( 2 4 ) )
print ( type ( True ) )
30 44
Conversões
É possível converter tipos de dados.
Escreva no editor e execute
height = float ( " 1 . 7 1 " ) #converte s tr em float
age = int ( " 24 " ) #converte s tr em int
height_text = str ( 1 . 7 2 ) #converte float em s tr
age_text = str ( 2 4 ) #converte int em s tr
print ( f " { height } { type ( height ) } " )
print ( f " { age } { type ( age ) } " )
print ( f " { height_text } { type ( age ) } " )
print ( f " { age_text } { type ( age_text ) } " )
31 44
Entrada
É possível pedir para o usuário digitar um valor no terminal
utilizando a função input.
Escreva no editor e execute
name = input ( " Digite um nome: " )
age = int ( input ( " Digite uma idade : " ) )
height = float ( input ( " Digite uma altura (m) : " ) )
print ( f " {name} tem { age } anos e { height }m de altura "
input(...) escreve uma mensagem no terminal e retorna o
que o usuário digitou como str.
32 44
Aritmética
Python possui os operadores aritméticos “+” (soma), “-”
(subtração), “*” (multiplicação), “/” (divisão), “//” (divisão
inteira), “%” (resto) e “**” (potenciação).
Escreva no editor e execute
a = float ( input ( " Digite a : " ) )
b = float ( input ( " Digite b : " ) )
print ( f "Soma : { a + b} " )
print ( f " Subtracaoo : { a − b} " )
print ( f " Multiplicacao : { a * b} " )
print ( f " Divisao : { a / b} " )
print ( f " Divisao i n t e i r a : { a // b} " )
print ( f " Resto : { a % b} " )
print ( f " Potenciacaoo : { a ** b} " )
33 44
Comparações
Python possui os operadores relacionais “==” (igualdade), “!=”
(não-igualdade), “<” (menor-que), “<=” (menor-ou-igual), “>”
(maior-que) e “>=” (maior-ou-igual).
Escreva no editor e execute
a = float ( input ( " Digite A : " ) )
b = float ( input ( " Digite B : " ) )
print ( f "A igual B ? : { a == b} " )
print ( f "A diferente de B ? : { a ! = b} " )
print ( f "A maior que B ? : { a > b} " )
print ( f "A maior ou igual B ? : { a >= b} " )
print ( f "A menor que B? : { a < b} " )
print ( f "A menor ou igual B ? : { a <= b} " )
34 44
Operações matemáticas especiais
Python possui os operadores matemáticos especiais, como raiz
quadrada, logaritmo, seno, cosseno, piso e teto, na biblioteca
math.
Escreva no editor e execute
import math
a = float ( input ( " Digite A : " ) )
print ( f " Raiz quadrada de a : { math . sqrt ( a ) } " )
print ( f " Log de a na base 10: { math . log ( a , 10)} " )
print ( f "Seno de a : { math . sin ( a ) } " )
print ( f " Cosseno de a : { math . cos ( a ) } " )
print ( f " Piso de a : { math . floor ( a ) } " )
print ( f " Piso de b : { math . c e i l ( a ) } " )
35 44
Estruturas de controle - if
Um bloco if determina que o código em seu escopo só deve ser
executado caso uma determinada condição seja satisfeita.
Escreva no editor e execute
age = int ( input ( " Digite uma idade : " ) )
i f age >= 18:
print ( " Maior de idade " )
print ( f "A idade e { age } " )
36 44
Estruturas de controle - else
Escreva no editor e execute
age = int ( input ( " Digite uma idade : " ) )
i f age >= 18:
print ( " Maior de idade " )
else :
print ( "Nao e maior de idade " )
O código no escopo do bloco else só é executado caso a
condição do if não seja satisfeita.
37 44
Estruturas de controle - elif
Para adicionar mais uma condição, podemos acrescentar um
bloco elif, que significa “else if”.
Escreva no editor e execute
age = int ( input ( " Digite uma idade : " ) )
i f age >= 60:
print ( " Idoso " )
e l i f age >= 18:
print ( " Adulto " )
else :
print ( "Menor" )
38 44
Estruturas de controle - while
O código dentro do escopo do while é repetido enquanto a
condição é satisfeita.
Escreva no editor e execute
age = int ( input ( " Digite uma idade : " ) )
while age > 0:
print ( f " Idade : { age } " )
age = age − 1 #decrementa a idade em 1
39 44
Estruturas de controle - for
O código dentro do escopo do for é repetido por uma
quantidade predeterminada de vezes.
Escreva no editor e execute
for age in range (0 , 100):
i f age >= 60:
print ( f " { age } anos − idoso " )
e l i f age >= 18:
print ( f " { age } anos − adulto " )
e l i f age >= 1 3 :
print ( f " { age } anos − adolescente " )
else :
print ( f " { age } anos − crianca " )
No exemplo acima, age é incrementada de 0 até 99.
40 44
Desafio – Teste de Paridade
Faça um programa que diga se um número
digitado pelo usuário é par ou ímpar.
Tempo: 5 minutos
41 44
Desafio – Fatoração
Faça um programa que, para um número inteiro x
digitado pelo usuário, mostre todas as fatorações
inteiras possíveis.
Exemplo: para x = 40, as fatorações são 2 × 20, 4 × 10 e 5 × 8.
Tempo: 15 minutos
42 44
Desafio – Teste de Primalidade
Faça um programa que diga se um número
digitado pelo usuário é primo ou não.
Tempo: 15 minutos
43 44
Desafio – Calculadora
Faça uma programa onde o usuário digita um
número a, um número b, e uma operação, que
pode ser adição, subtração, multiplicação,
divisão, resto da divisão e potenciação. A saída
do programa deve ser a aplicação da operação
escolhida aos operandos a e b.
44 / 44
Obrigado!

Mais conteúdo relacionado

Mais procurados

Exercícios resolvidos de geometria plana triângulos retângulos - celso brasil
Exercícios resolvidos de geometria plana   triângulos retângulos - celso brasilExercícios resolvidos de geometria plana   triângulos retângulos - celso brasil
Exercícios resolvidos de geometria plana triângulos retângulos - celso brasilCelso do Rozário Brasil Gonçalves
 
Logaritmo e função logaritmica (exercícios resolvidos sobre logaritmos, logar...
Logaritmo e função logaritmica (exercícios resolvidos sobre logaritmos, logar...Logaritmo e função logaritmica (exercícios resolvidos sobre logaritmos, logar...
Logaritmo e função logaritmica (exercícios resolvidos sobre logaritmos, logar...wilkerfilipel
 
Materialdeapoioextensivo matematica-exercicios-poligonos-regulares-inscritos-...
Materialdeapoioextensivo matematica-exercicios-poligonos-regulares-inscritos-...Materialdeapoioextensivo matematica-exercicios-poligonos-regulares-inscritos-...
Materialdeapoioextensivo matematica-exercicios-poligonos-regulares-inscritos-...Breno Raphael
 
Tabela trigonometria
Tabela trigonometriaTabela trigonometria
Tabela trigonometriaCamila Farias
 
22 exercícios - inequação produto e quociente (1)
22   exercícios - inequação produto e quociente (1)22   exercícios - inequação produto e quociente (1)
22 exercícios - inequação produto e quociente (1)Kualo Kala
 
Ficha de trabalho de estatística
Ficha de trabalho de estatísticaFicha de trabalho de estatística
Ficha de trabalho de estatísticatelmadeira
 
www.AulasDeMatematicaApoio.com - Matemática - Prismas e Cilindros
www.AulasDeMatematicaApoio.com  - Matemática - Prismas e Cilindroswww.AulasDeMatematicaApoio.com  - Matemática - Prismas e Cilindros
www.AulasDeMatematicaApoio.com - Matemática - Prismas e CilindrosAulas De Matemática Apoio
 
Apostila matematica concursos
Apostila matematica concursosApostila matematica concursos
Apostila matematica concursoseducacao f
 
EquaçõEs Do 2º Grau
EquaçõEs Do 2º GrauEquaçõEs Do 2º Grau
EquaçõEs Do 2º Grauguest1c8bcb5b
 
1ª LISTA DE EXERCÍCIOS( PIRÂMIDES)
1ª LISTA DE EXERCÍCIOS( PIRÂMIDES)1ª LISTA DE EXERCÍCIOS( PIRÂMIDES)
1ª LISTA DE EXERCÍCIOS( PIRÂMIDES)carlos josé gomes
 
Expressões algébricas
Expressões algébricasExpressões algébricas
Expressões algébricasleilamaluf
 
Números racionais
Números racionaisNúmeros racionais
Números racionaisjonihson
 

Mais procurados (20)

Exercícios resolvidos de geometria plana triângulos retângulos - celso brasil
Exercícios resolvidos de geometria plana   triângulos retângulos - celso brasilExercícios resolvidos de geometria plana   triângulos retângulos - celso brasil
Exercícios resolvidos de geometria plana triângulos retângulos - celso brasil
 
Raiz quadrada
Raiz quadradaRaiz quadrada
Raiz quadrada
 
Logaritmo e função logaritmica (exercícios resolvidos sobre logaritmos, logar...
Logaritmo e função logaritmica (exercícios resolvidos sobre logaritmos, logar...Logaritmo e função logaritmica (exercícios resolvidos sobre logaritmos, logar...
Logaritmo e função logaritmica (exercícios resolvidos sobre logaritmos, logar...
 
Questões geom. plana
Questões geom. planaQuestões geom. plana
Questões geom. plana
 
Materialdeapoioextensivo matematica-exercicios-poligonos-regulares-inscritos-...
Materialdeapoioextensivo matematica-exercicios-poligonos-regulares-inscritos-...Materialdeapoioextensivo matematica-exercicios-poligonos-regulares-inscritos-...
Materialdeapoioextensivo matematica-exercicios-poligonos-regulares-inscritos-...
 
Tabela trigonometria
Tabela trigonometriaTabela trigonometria
Tabela trigonometria
 
22 exercícios - inequação produto e quociente (1)
22   exercícios - inequação produto e quociente (1)22   exercícios - inequação produto e quociente (1)
22 exercícios - inequação produto e quociente (1)
 
Notação de conjuntos
Notação de conjuntosNotação de conjuntos
Notação de conjuntos
 
Ficha de trabalho de estatística
Ficha de trabalho de estatísticaFicha de trabalho de estatística
Ficha de trabalho de estatística
 
www.AulasDeMatematicaApoio.com - Matemática - Prismas e Cilindros
www.AulasDeMatematicaApoio.com  - Matemática - Prismas e Cilindroswww.AulasDeMatematicaApoio.com  - Matemática - Prismas e Cilindros
www.AulasDeMatematicaApoio.com - Matemática - Prismas e Cilindros
 
Apostila matematica concursos
Apostila matematica concursosApostila matematica concursos
Apostila matematica concursos
 
Função afim
Função afimFunção afim
Função afim
 
Logaritmo decimal
Logaritmo decimalLogaritmo decimal
Logaritmo decimal
 
Cinésica
CinésicaCinésica
Cinésica
 
EquaçõEs Do 2º Grau
EquaçõEs Do 2º GrauEquaçõEs Do 2º Grau
EquaçõEs Do 2º Grau
 
1ª LISTA DE EXERCÍCIOS( PIRÂMIDES)
1ª LISTA DE EXERCÍCIOS( PIRÂMIDES)1ª LISTA DE EXERCÍCIOS( PIRÂMIDES)
1ª LISTA DE EXERCÍCIOS( PIRÂMIDES)
 
Análise combinatória
Análise combinatóriaAnálise combinatória
Análise combinatória
 
Expressões algébricas
Expressões algébricasExpressões algébricas
Expressões algébricas
 
Álgebra Booleana
Álgebra BooleanaÁlgebra Booleana
Álgebra Booleana
 
Números racionais
Números racionaisNúmeros racionais
Números racionais
 

Semelhante a Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)

Por Que Python É Tão Lento?
Por Que Python É Tão Lento?Por Que Python É Tão Lento?
Por Que Python É Tão Lento?Rudá Moura
 
Congresso iii unifacsv3
Congresso iii unifacsv3Congresso iii unifacsv3
Congresso iii unifacsv3IP10
 
Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Robson Ferreira
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alvesGrupython Ufla
 
Aprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoAprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoandreluizlugon
 
Aprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoAprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoFelipeDi
 
Aprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoAprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoWeldir Fernando Dias
 
Técnicas_Implementação
Técnicas_ImplementaçãoTécnicas_Implementação
Técnicas_ImplementaçãoWagner Zaparoli
 
Congresso iv
Congresso ivCongresso iv
Congresso ivIP10
 
python_para_desenvolvedores.pdf
python_para_desenvolvedores.pdfpython_para_desenvolvedores.pdf
python_para_desenvolvedores.pdfProfIvanSaboia
 
Python No Terra (2006-12-21)
Python No Terra  (2006-12-21)Python No Terra  (2006-12-21)
Python No Terra (2006-12-21)Rudá Moura
 
Python Training #1, ed. 6
Python Training #1, ed. 6Python Training #1, ed. 6
Python Training #1, ed. 6Fabio Spanhol
 
Ampliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do PythonAmpliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do PythonIP10
 
00 programando em python - introducao
 00   programando em python - introducao 00   programando em python - introducao
00 programando em python - introducaoVictor Marcelino
 
Python Training #1 - ed5
Python Training #1 - ed5Python Training #1 - ed5
Python Training #1 - ed5Fabio Spanhol
 
E14 s07-t3-algoritmos-2013-04-24 (1)
E14 s07-t3-algoritmos-2013-04-24 (1)E14 s07-t3-algoritmos-2013-04-24 (1)
E14 s07-t3-algoritmos-2013-04-24 (1)Alex Almeida
 

Semelhante a Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT) (20)

AulaPython.pdf
AulaPython.pdfAulaPython.pdf
AulaPython.pdf
 
Por Que Python É Tão Lento?
Por Que Python É Tão Lento?Por Que Python É Tão Lento?
Por Que Python É Tão Lento?
 
Congresso iii unifacsv3
Congresso iii unifacsv3Congresso iii unifacsv3
Congresso iii unifacsv3
 
Apostila_IC.pdf
Apostila_IC.pdfApostila_IC.pdf
Apostila_IC.pdf
 
Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alves
 
Mini Curso de C
Mini Curso de CMini Curso de C
Mini Curso de C
 
Aprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoAprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalho
 
Aprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoAprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalho
 
Aprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoAprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalho
 
Técnicas_Implementação
Técnicas_ImplementaçãoTécnicas_Implementação
Técnicas_Implementação
 
Congresso iv
Congresso ivCongresso iv
Congresso iv
 
python_para_desenvolvedores.pdf
python_para_desenvolvedores.pdfpython_para_desenvolvedores.pdf
python_para_desenvolvedores.pdf
 
Python No Terra (2006-12-21)
Python No Terra  (2006-12-21)Python No Terra  (2006-12-21)
Python No Terra (2006-12-21)
 
Python Training #1, ed. 6
Python Training #1, ed. 6Python Training #1, ed. 6
Python Training #1, ed. 6
 
Python b1tch
Python b1tchPython b1tch
Python b1tch
 
Ampliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do PythonAmpliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do Python
 
00 programando em python - introducao
 00   programando em python - introducao 00   programando em python - introducao
00 programando em python - introducao
 
Python Training #1 - ed5
Python Training #1 - ed5Python Training #1 - ed5
Python Training #1 - ed5
 
E14 s07-t3-algoritmos-2013-04-24 (1)
E14 s07-t3-algoritmos-2013-04-24 (1)E14 s07-t3-algoritmos-2013-04-24 (1)
E14 s07-t3-algoritmos-2013-04-24 (1)
 

Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)

  • 1. Aula 1: Introdução à Programação Curso de Programação em Python I Filipe Chagas Ferraz Faculdade de Tecnologia SENAI Mato Grosso 07-10-2023
  • 3. Instrutores Filipe Chagas Ferraz Felipe Lima Jardim 1 44
  • 4. Sobre o curso Público alvo: iniciantes em programação e programadores iniciantes em Python Duração: de dia 7/10 (hoje) até dia 11/11 Hórarios de aula: ▶ Aulas presenciais aos sábados, das 8:00 até 12:00 de manhã, e das 13:00 até 17:00 de tarde ▶ Aulas gravadas e atividades complementares no Classroom Conteúdos: ▶ “Lógica de programação” ▶ Banco de dados – MongoDB ▶ Programação Orientada a Objetos ▶ Interface Gráfica – Qt ▶ Web ▶ Processamento de dados e gráficos ▶ Machine Learning 2 44
  • 6. O que é um algoritmo? 3 44
  • 7. O que é um algoritmo? Um algoritmo é uma sequência de instruções bem definidas que, quando executadas, realizam uma tarefa 3 44
  • 8. Representação de um Algoritmo - Fluxograma Figura: Algoritmo de um aquecedor de liquido com controle de temperatura, para manter a temperatura em torno de 50ºC 4 44
  • 9. Representação de um Algoritmo - Texto Um algoritmo pode ser descrito textualmente como uma sequência de passos com possíveis “saltos” condicionais entre passos. Algoritmo do aquecedor de líquido 1. Obtenha a temperatura t do líquido em ºC; 2. verifique se t ≤ 50: 2.1 caso sim, ligue o ebulidor; 2.2 caso não, desligue o ebulidor; 3. aguarde 1 segundo; 4. retorne ao passo 1. 5 44
  • 10. Representação de um Algoritmo - Texto Um algoritmo pode ser descrito textualmente como uma sequência de passos com possíveis “saltos” condicionais entre passos. Algoritmo do aquecedor de líquido 1. Obtenha a temperatura t do líquido em ºC; 2. verifique se t ≤ 50: 2.1 caso sim, ligue o ebulidor; 2.2 caso não, desligue o ebulidor; 3. aguarde 1 segundo; 4. retorne ao passo 1. Porém, este tipo de representação não conta com um conjunto bem definido de instruções. 5 44
  • 11. Representação de um Algoritmo - Cálculo Lambda Cálculo Lambda é um modelo matemático de computação proposto por Alonzo Church em 1932 Neste modelo, os algoritmos são descritos como cadeias de Funções Lambda Cálculo Lambda inspirou a linguagem de programação LISP Fatorial de 5 em Cálculo Lambda (λn.(λf.(λx.n(λg.(λa.(g(fga))))(λa.x))(λx.x))(λf.(λx.f(fx))))5 6 44
  • 12. Representação de um Algoritmo - Máquina de Turing A Máquina de Turing, proposta por Alan Turing em 1936, é o principal modelo matemático de computação Neste modelo, os algoritmos são descritos como cadeias de símbolos que induzem mudanças de estado em um autômato Este modelo deu origem às CPUs (Central Processing Unit) Figura: Esboço dos elementos de uma Máquina de Turing 7 44
  • 13. Unidades de Processamento Central (CPUs) A CPU é o “coração” de um computador. Ela é responsável por executar as sequências de instruções que constituem os algoritmos. Uma CPU tem um conjunto bem definido de instruções que pode executar. 8 44
  • 14. Instruções de uma CPU Figura: Conjunto de instruções de um processador ARM 9 44
  • 15. Linguagem de Montagem (Assembly) Linguagens de Montagem (Assembly) são linguagens de programação primitivas que funcionam como notações legíveis do código binário Desenvolver um programa em Assembly é extremamente trabalhoso e requer conhecimentos avançados sobre o hardware do computador As intruções variam de computador para computador Figura: Exemplo de código em linguagem de montagem (Assembly) para processadores ARM 10 44
  • 16. Programação nos velhos tempos Nos anos 70, os códigos em Assembly eram convertidos em código de máquina manualmente Os programadores transferiam os programas em código de máquina para o computador através de um painel Figura: Painel de programação de um computador PDP-11 https://youtu.be/XV-7J5y1TQc?si=gy9aS6kd3qcXwtuB 11 44
  • 17. Linguagens de Programação de Alto Nível Linguagens de Programação de Alto Nível de Abstração existem para facilitar o processo de programação Exemplos de linguagens de alto nível ancestrais são: COBOL, FORTRAN, ALGOL, BASIC, etc Exemplos de linguagens de alto nível modernas são: Python, JavaScript, Java, C#, C++, etc 12 44
  • 18. O que é uma linguagem de programação? Linguagens de Programação são idiomas formais pelos quais os programas de computador são descritos Idiomas formais têm regras gramaticais rigorosamente definidas que devem ser seguidas à risca A maioria das linguagens de programação modernas são compostas por termos em inglês, como if, else, for, while, etc Figura: Código em Python 13 44
  • 19. Características de linguagens de programação Linguagens de programação são classificadas por: Nível de abstração: ▶ baixo nível (ex: Assembly), ▶ alto nível (ex: Python, JavaScript, C++, Java, etc). Tipo de processamento: ▶ interpretadas (ex: Python, JavaScript, etc), ▶ compiladas (ex: C, C++, Java, etc), ▶ transpiladas (ex: TypeScript, CoffeScript, etc). Paradigma: Imperativo, Estruturado, Orientado a Objetos, Funcional, Lógico, etc. Tipagem: dinâmica, estática, forte ou fraca. 14 44
  • 20. Características da linguagem Python Python é uma linguagem interpretada, de alto nível de abstração, e de uso geral. Python é preferida em aplicações que envolvem mais matemática, como ciência de dados, inteligência artificial e computação científica. Python combina os paradigmas estruturado, orientado a objetos e funcional. Python é dinamicamente e fortemente tipada. ▶ Tipagem dinâmica: variáveis não possuem tipo de dado fixo. ▶ Tipagem forte: um tipo de dado não pode ser tratado como se fosse outro. 15 44
  • 21. Python - prós e contras Prós: Amplamente difundida Ecossistema de bibliotecas poderoso e homogêneo Sintaxe simples e fácil de aprender Contras: Lentidão (se usada de maneira inapropriada) Alto consumo de memória A tipagem dinâmica pode causar desorganização 16 44
  • 22. Áreas que usam Python
  • 23. Área de Dados A área de dados lida com a coleta, manipulação e análise de dados de usuários. Engenheiro de Dados - profissional que desenvolve e mantém os sistemas de coleta e processamento de grandes volumes de dados. Cientista de Dados - profissional que modela os dados com técnicas de predição estatística e de machine learning. Analista de Dados - profissional que analisa dados a fim de tirar interpretações, conclusões e auxiliar em tomadas de decisões. 17 44
  • 24. Área de Dados – O que estudar Engenharia de Dados Banco de dados Infraestrutura de Nuvem Computação Distribuída Ciência de Dados Estatística Machine Learning Análise de Dados Representação de dados Storytelling Inteligência de Negócios 18 44
  • 25. Inteligência Artificial Inteligência Artificial é a área da computação que se concentra em criar sistemas e algoritmos capazes de realizar tarefas que, normalmente, exigiriam inteligência humana. Alguns tópicos importantes em IA: Machine Learning Visão Computacional Processamento de Linguagem Natural Processamento Inteligente de Sinais Pesquisa Operacional e Otimização IAs Generativas 19 44
  • 26. Inteligência Artificial - Visão Computacional A Visão Computacional se concentra no desenvolvimento de sistemas de identificação de padrões e extração de informações em imagens digitais Figura: Exemplo de aplicação de Visão Computacional – detecção de objetos 20 44
  • 27. Inteligência Artificial - Processamento de Lin- guagem Natural O Processamento de Linguagem Natural se concentra no desenvolvimento de sistemas que extraem informações (como intensões, conclusões, etc) da comunicação humana 21 44
  • 28. Inteligência Artificial - Processamento Inteli- gente de Sinais O Processamento Inteligente de Sinais se concentra no desenvolvimento de sistemas que reconhecem padrões e extraem informações de sinais digitais, como áudio, vibração mecânica, ondas eletromagnéticas, etc 22 44
  • 29. Inteligência Artificial - Pesquisa Operacional e Otimização Pesquisa Operacional e Otimização são áreas que utilizam técnicas matemáticas e computacionais para resolver problemas complexos de tomada de decisão em uma ampla variedade de áreas, como logística, finanças, produção, transporte e muito mais. Figura: Pathfindig, que consiste em encontrar o caminho mais curto entre dois pontos em meio a obstaculos, é um problema de Pesquisa Operacional 23 44
  • 30. Inteligência Artificial Generativa IAs Generativas são sistemas inteligentes capazes de gerar dados artificialmente, como fotos, textos, obras de arte e áudios de fala. Figura: Sistemas de Deep Fake são exemplos de IAs Generativas Figura: IAs Generativas podem ser utilizadas para gerar obras de arte 24 44
  • 31. Desenvolvimento Web Desenvolvedores Web são proficionais que desenvolvem sistemas para a internet, como websites e APIs. Front-End - frente que lida com o desenvolvimento da parte visual dos sistemas, que é executada no computador do usuário. Back-End - frente que lida com o desenvolvimento da parte sistêmica que é executada no servidor. Python pode ser utilizada no Back-End. 25 44
  • 33. Inglês é fundamental – Inglês é o idioma da tecnologia. Além de linguagens de programação terem palavras em Inglês, a esmagadora maioria dos materiais de tecnologia, como livros, artigos, tutoriais e documentações, são escritos em inglês. 26 44
  • 34. Inglês é fundamental – Inglês é o idioma da tecnologia. Além de linguagens de programação terem palavras em Inglês, a esmagadora maioria dos materiais de tecnologia, como livros, artigos, tutoriais e documentações, são escritos em inglês. Procure se atualizar constantemente – Prepare-se para passar o resto da vida estudando, pois a área da tecnologia está sempre passando por mudanças radicais. Quem para de estudar, fica para trás! 26 44
  • 36. Ambiente de desenvolvimento online https://www.onlinegdb.com/online_python_compiler 27 44
  • 37. Hello World Digite a seguinte linha de código no editor e execute: Código print("Hello World!") #escreve hello world print(...) - função que escreve no terminal. "Hello World!" - string contendo a frase “hello world!”. #... - comentário, ignorado pelo interpretador. 28 44
  • 38. Variáveis Variáveis são pequenos espaços de memória reservados para armazenar dados. Para criar uma variável em Python, basta digitar um nome seguido por um valor. Exemplo de código name = " F i l i p e Chagas " #meu nome height = 1 . 7 1 #minha altura age = 24 #minha idade print ( f "Meu nome e {name} " ) print ( f "Minha altura e {name} " ) print ( f "Minha idade e { age } " ) 29 44
  • 39. Tipos de dados Em Python, todos os dados são objetos. Cada objeto tem um tipo. Exemplos de tipos de dados: str - texto int - número inteiro float - número real bool - tipo lógico (True ou False) Escreva no editor e execute print ( type ( " F i l i p e Chagas " ) ) print ( type ( 1 . 7 1 ) ) print ( type ( 2 4 ) ) print ( type ( True ) ) 30 44
  • 40. Conversões É possível converter tipos de dados. Escreva no editor e execute height = float ( " 1 . 7 1 " ) #converte s tr em float age = int ( " 24 " ) #converte s tr em int height_text = str ( 1 . 7 2 ) #converte float em s tr age_text = str ( 2 4 ) #converte int em s tr print ( f " { height } { type ( height ) } " ) print ( f " { age } { type ( age ) } " ) print ( f " { height_text } { type ( age ) } " ) print ( f " { age_text } { type ( age_text ) } " ) 31 44
  • 41. Entrada É possível pedir para o usuário digitar um valor no terminal utilizando a função input. Escreva no editor e execute name = input ( " Digite um nome: " ) age = int ( input ( " Digite uma idade : " ) ) height = float ( input ( " Digite uma altura (m) : " ) ) print ( f " {name} tem { age } anos e { height }m de altura " input(...) escreve uma mensagem no terminal e retorna o que o usuário digitou como str. 32 44
  • 42. Aritmética Python possui os operadores aritméticos “+” (soma), “-” (subtração), “*” (multiplicação), “/” (divisão), “//” (divisão inteira), “%” (resto) e “**” (potenciação). Escreva no editor e execute a = float ( input ( " Digite a : " ) ) b = float ( input ( " Digite b : " ) ) print ( f "Soma : { a + b} " ) print ( f " Subtracaoo : { a − b} " ) print ( f " Multiplicacao : { a * b} " ) print ( f " Divisao : { a / b} " ) print ( f " Divisao i n t e i r a : { a // b} " ) print ( f " Resto : { a % b} " ) print ( f " Potenciacaoo : { a ** b} " ) 33 44
  • 43. Comparações Python possui os operadores relacionais “==” (igualdade), “!=” (não-igualdade), “<” (menor-que), “<=” (menor-ou-igual), “>” (maior-que) e “>=” (maior-ou-igual). Escreva no editor e execute a = float ( input ( " Digite A : " ) ) b = float ( input ( " Digite B : " ) ) print ( f "A igual B ? : { a == b} " ) print ( f "A diferente de B ? : { a ! = b} " ) print ( f "A maior que B ? : { a > b} " ) print ( f "A maior ou igual B ? : { a >= b} " ) print ( f "A menor que B? : { a < b} " ) print ( f "A menor ou igual B ? : { a <= b} " ) 34 44
  • 44. Operações matemáticas especiais Python possui os operadores matemáticos especiais, como raiz quadrada, logaritmo, seno, cosseno, piso e teto, na biblioteca math. Escreva no editor e execute import math a = float ( input ( " Digite A : " ) ) print ( f " Raiz quadrada de a : { math . sqrt ( a ) } " ) print ( f " Log de a na base 10: { math . log ( a , 10)} " ) print ( f "Seno de a : { math . sin ( a ) } " ) print ( f " Cosseno de a : { math . cos ( a ) } " ) print ( f " Piso de a : { math . floor ( a ) } " ) print ( f " Piso de b : { math . c e i l ( a ) } " ) 35 44
  • 45. Estruturas de controle - if Um bloco if determina que o código em seu escopo só deve ser executado caso uma determinada condição seja satisfeita. Escreva no editor e execute age = int ( input ( " Digite uma idade : " ) ) i f age >= 18: print ( " Maior de idade " ) print ( f "A idade e { age } " ) 36 44
  • 46. Estruturas de controle - else Escreva no editor e execute age = int ( input ( " Digite uma idade : " ) ) i f age >= 18: print ( " Maior de idade " ) else : print ( "Nao e maior de idade " ) O código no escopo do bloco else só é executado caso a condição do if não seja satisfeita. 37 44
  • 47. Estruturas de controle - elif Para adicionar mais uma condição, podemos acrescentar um bloco elif, que significa “else if”. Escreva no editor e execute age = int ( input ( " Digite uma idade : " ) ) i f age >= 60: print ( " Idoso " ) e l i f age >= 18: print ( " Adulto " ) else : print ( "Menor" ) 38 44
  • 48. Estruturas de controle - while O código dentro do escopo do while é repetido enquanto a condição é satisfeita. Escreva no editor e execute age = int ( input ( " Digite uma idade : " ) ) while age > 0: print ( f " Idade : { age } " ) age = age − 1 #decrementa a idade em 1 39 44
  • 49. Estruturas de controle - for O código dentro do escopo do for é repetido por uma quantidade predeterminada de vezes. Escreva no editor e execute for age in range (0 , 100): i f age >= 60: print ( f " { age } anos − idoso " ) e l i f age >= 18: print ( f " { age } anos − adulto " ) e l i f age >= 1 3 : print ( f " { age } anos − adolescente " ) else : print ( f " { age } anos − crianca " ) No exemplo acima, age é incrementada de 0 até 99. 40 44
  • 50. Desafio – Teste de Paridade Faça um programa que diga se um número digitado pelo usuário é par ou ímpar. Tempo: 5 minutos 41 44
  • 51. Desafio – Fatoração Faça um programa que, para um número inteiro x digitado pelo usuário, mostre todas as fatorações inteiras possíveis. Exemplo: para x = 40, as fatorações são 2 × 20, 4 × 10 e 5 × 8. Tempo: 15 minutos 42 44
  • 52. Desafio – Teste de Primalidade Faça um programa que diga se um número digitado pelo usuário é primo ou não. Tempo: 15 minutos 43 44
  • 53. Desafio – Calculadora Faça uma programa onde o usuário digita um número a, um número b, e uma operação, que pode ser adição, subtração, multiplicação, divisão, resto da divisão e potenciação. A saída do programa deve ser a aplicação da operação escolhida aos operandos a e b. 44 / 44