Você está na página 1de 45

Programação

Instituto Politécnico do Cávado e do Ave


UTeSP: Robótica Colaborativa e Inteligência Industrial (RCII) PL

Docente: Nelson Rodrigues (njrodrigues@ipca.pt)


Ano letivo: 2022/2023

Slides adaptados de: Ana Almeida (acalmeida@ipca.pt)


Bem-vindos ao mundo da
programação em Python!
O que é a programação?
Porque usar programação?
• A Programação é considerada uma ciência de base de qualquer curso
da área científica das Ciências e das Engenharias.
• A programação, como qualquer outra linguagem tem a finalidade de
transmitir informação, neste caso, é usada para “falar” com o
computador. Porquê?
• Ler email
• Escrever sobre as férias
• Jogar (Uma aplicação é uma forma de comunicar.)
Programação
• Procedimentos usados no dia a dia (Fazer torradas)
1. Tirar o pão do armário e a manteiga do frigorífico
2. Abrir o saco do pão e tirar 2 fatias de pão
3. Abrir a torradeira e colocar cada fatia de pão num local disponível
4. Fechar e ligar a torradeira
5. Esperar pelo sinal de que a torrada está pronta
6. Remover as torradas da torradeira
7. Colocar as torradas num prato
8. Colocar manteiga nas torradas

Os computadores levam as coisas à letra. Se algo correr mal, a culpa é


do programa.
Programação
• Uma linguagem de programação é constituída por um conjunto de
regras de semântica e de regras de sintaxe.
• Os comutadores usam uma língua específica
• Para nós podermos comunicar com eles, temos um conjunto de regras a
seguir
• As linguagens de programação, ajudam os humanos a “falar” com os
computadores
• O resultado final da implementação em uma linguagem de
programação é um programa.
Programação
• Existem várias linguagens de programação
• Criadas para facilitarem aplicações específicas
• Existem linguagens de baixo, médio e alto nível
• Baixo nível: Mais próximas do que o computador percebe. São mais rápidas a
correr, mas mais complicadas a codificar e perceber o algoritmo
• Alto nível: Mais próxima da linguagem humana. O código é mais lento, mas
mais fácil de programar, sendo usadas para aplicações mais gerais que não se
focam tanto na eficiência.
• Os quatro principais paradigmas de desenvolvimento são o funcional,
imperativo, orientado a objetos e declarativo.
Porquê Python?
• Menor tempo de desenvolvimento das aplicaçãoes
• O código em Python é normalmente 2 a 10 vezes mais curto do que outras
línguas como C/C++ e Java. Assim, passa-se menos tempo a programar e mais
a usar a aplicação.
• Leitura fácil
• Python tende a ser mais fácil de ler do que outras línguas de programação.
Assim passa-se menos tempo a interpretar o código e tem-se mais tempo
para efectuar alterações.
• Menor tempo de aprendizagem
• Python tem uma linguagem mais próxima da humana e regras mais simples.
Utilizações comuns de Python
• Criar aplicações esquemáticas
• Quando se quer criar código para resolver um problema sem estar ainda
preocupado com a maior eficiência do código
• Aplicações baseadas no browser
• Embora JavaScript seja mais popular nesta área, Python também pode ser
usado e oferece ferramentas mais eficientes que a língua anterior.
• Criar aplicações matemáticas, científicas e de engenharia
• Python tem bibliotecas várias que permite a criação rápida e eficiente deste
tipo de aplicações. Ex. NumPy
Utilizações comuns de Python
• Trabalhar com XML
• Python dispõe de bibliotecas que oferecem grande conectividade com
aplicações XML
• Interacção com bases de dados
• Embora não seja focado no acesso a bases de dados, este permite criar
conexões e manipular os dados em bases de dados de forma relativamente
fácil
• Desenvolvimento de interfaces de Utilizador
• Python tem um grande leque de extensões que facilitam a criação de
interfaces
Ciclo de Desenvolvimento Aplicação
1. Edição de Código fonte
• Todo o trabalho é realizado pelo programador, o qual deverá escrever o
código fonte em ficheiros com extensão .py
2. Interpretação do código
• Uma vez escrito o código, é realizada a interpretação para verificar se este foi
corretamente escrito. Caso seja detetado algum erro, o programador terá de
voltar ao ponto 1
• O computador processa o código linha a linha enquanto interpreta
3. Execução Programa
• Se o processo de interpretação terminar com sucesso, temos então disponível
o código final
Introdução à Algoritmia
Processo de Implementação de um problema
Problema:
• Cálculo da área de um retângulo:
• Recolher cumprimento
• Recolher largura Representação em
linguagem natural
• Calcular a área (multiplicar comprimento por largura)
• Mostrar resultado
Problema:

Representação em
linguagem algorítmica-
Pseudocódigo
Pseudocódigo
• Notação Linguagem Algorítmica Escrever
Ler
Selecionar
Senão
Fim
Para…Fazer
Enquanto…Fazer
Repetir…Até
Variáveis
Interromper
Continuar

Pseudocódigo
• Palavras Reservadas

Algoritmo Variáveis Inicio Fim inteiro


Real Numérico Caracter Verdadeiro Falso
Repetir Até Enquanto Fazer Para
selecionar Caso Se Então Senão
E Ou Escrever Ler Função
Procedimento Interromper Continuar Booleano …
Palavras Reservadas- Linguagem Programação
Void Main boolean char byte
Short Int long Float Double
True False String Null This
Default Do While Break Continue
Return Switch Case If Then
Else for Private public Protected
new class extends interface …
Fluxograma
• Representação
https://app.diagrams.net/
Fluxograma
• Notação
Implementação em Linguagem Programação
C C# JAVA

Python
Instruções
• Sequência
• Ordens simples, usadas em cálculos, atribuição de valores, leitura e escrita de
dados
• Decisão
• Permitem a escolha entre dois caminhos de processamento com base em
avaliações lógicas de uma condição
• Repetição
• Permitem a execução de forma repetida de um conjunto de instruções
Instruções Sequência
• Atribuição
• Inserir valor numa variável
nome <- “Nelson Rodrigues”
nome = str("Nelson Rodrigues")
• Leitura de dados
• Recolher informação introduzida pelo utilizador
ler(nome)
nome = str(input(“Introduza o seu nome:"))
• Escrita de dados
• Mostrar resultados ao utilizador
escrever(“Hello world”)
print(“Hello world”)
Instruções Sequência- Variáveis
• Uma variável deve ter um nome sugestivo
• Não deve ter o nome de uma palavra reservada da linguagem de
programação
• A primeira letra do nome deve ser sempre uma letra ou um _
• O nome da varável não pode conter espaços brancos
• Em Python, as variáveis são sensíveis a maiúsculas e minúsculas
• A =/= a
Tipo de Variáveis
• Numéricos
• Texto
• Listas
• Tuplos
• Dicionários
Operadores Matemáticos
Operadores Aritméticos Ordem de precedência dos operadores
Operadores de Atribuição
O meu primeiro Programa!
• print(“Hello World!”)
Carácter Especial \
• Em Python, um programa começa a ser interpretado pelo início;
• O código a executar é estruturado por espaçamento;
• As funções devem ser declaradas antes de serem invocadas;
• O Python é case sensitive;
• As strings em Python são delimitadas pela carácter aspas “ ou plicas ‘;
• Python permite a inclusão de uma vasta gama de bibliotecas
utilizando o import;
• As linhas começadas por # não são lidas, correspondendo a
comentários
Exercício:
1. Pretende-se um algoritmo capaz calcular a média dum aluno à
disciplina de matemática, a partir do conhecimento das notas do teste
um e do teste dois.
->Linguagem natural
->Pseudocódigo
->Fluxograma
->Python
2. Implementar o algoritmo anterior desta vez com interação com o
utilizador
Ficha 1:
[01] - Um professor pretende encontrar uma forma simplificada de calcular a
nota final à disciplina de inglês de um aluno. A fórmula que usa na sua
metodologia de avaliação considera uma ponderação diferente do primeiro
teste (t1) para o segundo (t2).
NF= 0.4T1+ 0.6T2
a) Considerando que os valores das notas devem ser inseridas pelo
utilizador, proponha um algoritmo (e implemente-o), que apresente ao
utilizador a nota final da disciplina.
b) Evolua o algoritmo anterior no sentido de ser inserido e apresentado o
nome do aluno aquando da resposta da nota final.
c) Evolua ainda o mesmo algoritmo, para que a nota final possa também
ser calculada para outras disciplinas usando a mesma fórmula.
Ficha 1:
[02] – Há a necessidade de conhecer informaticamente o resultado das
operações aritméticas entre dois números inteiros escolhidos pelo
utilizador.
a) Construa um algoritmo que seja capaz de apresentar, em várias linhas, os
resultados da sua adição, subtração, multiplicação, divisão (não tratar
exceção da divisão por zero) e resto. Implemente o algoritmo criado.
Ficha 1:
[03] – O consumo de combustível de um carro pode ser calculado em
função da distância percorrida com determinada quantidade de
combustível, como apresentado na fórmula seguinte.
x = litrosConsumidos / kmPercorridos * 100
a) Proponha um algoritmo que recolha os dados referentes a uma viagem
(litros consumidos e quilómetros percorridos), e calcule o consumo aos
100km obtido na viagem. Implemente o algoritmo.
b) Evolua o algoritmo de forma a perguntar o custo do combustível por litro e,
com esta nova informação, indique qual o custo da viagem.
Ficha 1:
[04] – Com a criação do Euro (moeda usada nos países da CE
aderentes), a nossa necessidade de cálculo de câmbios reduziu
drasticamente. No entanto, e principalmente quando realizamos
negócios com países não pertencentes à CE, é frequente ter que se
calcular o câmbio da moeda, ou seja, quanto vale um determinado
valor em euros, noutra moeda estrangeira. A imagem seguinte
apresenta uma proposta de algoritmo que visa resolver este problema.
Ficha 1:
[04] – Continuação
a) Considera que o algoritmo resolve integralmente o problema? Justifique.
Proponha o seu algoritmo no sentido de materializar possíveis melhorias e
otimizações. Implemente a sua proposta.
Operadores Relacionais
Operadores Lógicos e Bitwise

Nota:
As palavras lógicas: “and”, “or” e “not” são usadas para comparar valores lógicos directamente,
isto é, verdadeiro com falso. Os símbolos à direita, “&” e “|” são usados para comparar os valores
da variável bit a bit e têm usos específicos. Só têm a mesma função a comparar valores lógicos. Se
existem números ou outras variáveis, podemos ter resultados que não são os esperados.
Operadores de pertença e identidade
Operadores Relacionais
Operadores Lógicos

Um enunciado alternativo para este problema seria:


A pessoa em questão é maior de idade e tem pelo menos 1.5m de altura?
Tabela da Verdade
a b aEb a OU b 𝐚 𝐛̅ 𝐚 E 𝐛̅ 𝐚 OU 𝐛̅

V V V V F F F F
V F F V F V F V
F V F V V F F V
F F F F V V V V

Prioridade Operador
1 Aritmético
2 Relacional
3 Negação
4 E
5 OU
Exercício:
[01] - Desenvolva um algoritmo que peça ao utilizador 3 números
inteiros (a, b e c) e que apresente o resultado das seguintes expressões.
• (a + b) > b
• b >= (a + 2)
• c == b - a
• (b + a) <= c
• (c + a) > b
a = 3; b = 7; c = 4
Exercício:
[02] - Determine o resultado das seguintes expressões, considerando as
variáveis do tipo lógico.
a <- verdadeiro; b <- falso; c <- falso; d <- verdadeiro
a) a OU (b E c) OU (NAO d OU NAO a);
b) NAO(NAO a OU b) E (c OU d);
c) b E NAO c OU a E d;
d) NAO a E NAO NAO c E d.
Depois de determinar os resultados confirme-os implementando estas
expressões em python.
Operadores += e -=
• Estes operadores unários += e –= são particularmente uteis pois
permitem o incremento e decremento de variáveis (não podem ser
usados em constantes)

Operador Significado Exemplo


++ Incremento de 1 i+=i
-- Decremento de 1 j-=j

Você também pode gostar