Você está na página 1de 52

Apresentação da 10793 – Fundamentos de Python

Nuno Miguel Guedes

01 de Fevereiro de 2024
Algoritmos

• Definição
– Um algoritmo é sequencia finita de instruções
bem definidas e não ambíguas, cada uma das
quais pode ser executada mecanicamente num
período de tempo finito com uma quantidade de
esforço finita.:
Linguagens de Programação
• :Linguagem Máquina
• Linguagem Assembly
• Linguagem de Alto nível
Python
• Lançada em 1991 na holanda
• Linguagem imperativa de alto nivel
Python
• Vantagens
– Fácil aprendizagem
– Simples de programar
– Open source
– Multi-plataforma
– Grande quantidade de bibliotecas
• Desvantagens
– Velocidade mais lento do que c/C++, java,…
– Consumo de memoria:
Constantes e variáveis
• Constantes podem ser números, valores
lógicos ou cadeia de caracteres.
• Tipos de constantes:
– Numeros inteiros
– Numeros Reais
– Valores lógicos
– Cadeia de Caracteres/string
Constantes e variáveis
Uma variável é um endereço de memória que
pode ser alterado e, quando o endereço de
memória não pode ser alterado, essa variável
é conhecida como constante. Variável é o
nome do local de memória onde os dados
são armazenados. Uma vez que uma variável
é armazenada, o espaço é alocado na
memória. Ele define uma variável usando
uma combinação de números, letras e ou
caractere.
Constantes e variáveis
• Regras para nomes de variáveis
– Tem de começar por um caracter ou por _
– Não podem começar por números
– Não pode conter espaços
– Não podem conter caracteres especiais ? / %
– Não podem ser palavras reservadas
• and def finally in or while as del for is pass with assert
elseif from lambda break else global None return
– As variáveis são case sensative, xpto, Xpto XPTO
são 3 variáveis diferentes.
Tipos de dados
• Tipo inteiro (int)
• Tipo Real (float)
• Tipo Lógico(bool)
• Cadeia de caracteres(string)
Atribuição
• A instrução de atribuição recorre à
operação embutida “=“, operador de
atribuição.
nome_variável=expressão
idade=16
• Operadores de atribuição são utilizados
para atribuirmos um valor a uma variável
• Pode ser para definir um valor inicial ou
para sobrescrever um valor já existente.
Atribuição
Operador Descrição Exemplo

= Atribuição C = A + B atribui o valor de A + B em C

+= Atribuição de soma C += A equivale a C = C + A

Atribuição de
-= C -= A equivale a C = C – A
subtração
Atribuição de
*= C *= A equivale a C = C * A
multiplicação

/= Atribuição de divisão C /= A equivale a C = C / A

%= Atribuição de resto C %= A equivale a C = C % A


Operadores
• Operadores Aritméticos
Os operadores aritméticos são
aqueles que executam operações
matemáticas
Operador Descrição Exemplo
+ Adição A + B = 30
– Subtração A – B = -10
* Multiplicação A * B = 200
/ Divisão B/A=2
Módulo (resto da
% B%A=0
divisão)
** Exponenciação A**2 = 100
Operadores
• Operadores Lògicos
Os operadores lógicos mais
importantes são not and or
Operador Descrição Exemplo
and e true and true
Or ou true or true
not não not true
Operadores
• Operadores Relacionais

Operador Descrição Exemplo


== igual 5==2 false
!= Diferente 5!=2 true

< menor 5<2 false


> maior 5>2 true
<= Menor ou igual 5<=2 false
>= Maior ou igual 5>=2 true
Entrada e Saída de Dados
• :A obtenção de valores do exterior é feita
através de operações de leitura de dados.
• Uma operação de leitura de dados é a função
“input”
– input()
– input(“informação”)
– input(“qual a sua idade”)
– eval(input()):
Entrada e Saída de Dados
• ::A comunicação de valores para o exterior é
feita através de operações de escrita de
dados.
• Uma operação de escrita de dados é a função
“print”
– print()
– print(“informação”)
– print(“o seu IMC é”)
– Print(“a= ”,a, “b=“,b)
Entrada e Saída de Dados
• Funções escape
Caracter escape Significado
\\ Barra ao contrario (\)
\’ Plica (´)

\b Retrocesso de um espaço
\n Mudar de linha
\r “Return”
\t Tabulação horizontal
Exercícios
• Exercicio 1:
– Elabore um programa que imprima a mensagem
“Bem-vindos ao python”, precedida por uma linha
em branco
• Exercicio 2:
– Elabore um programa que atribua a mensagem a
uma variável “mensagem” e , em seguida,
imprima o valor da variavel
Exercícios
• Exercício 3:
– Elabore um programa que intercale a designação da
linguagem de programação e o nome do
formando(guardar “python” e nome do formando em
variáveis) “bem-vindos ao python, nuno”
• Exercício 4
– Elabore um programe que calcule
• 4+3(15-2)
• 23
• 40 a dividir por 9
• Resto de divisão 40 por 3
• Divisao inteira de 30 por 4
Exercícios
• Exercício 5:
– Elabore um programa que calcule o valor lógico
das seguinte proposições:
• 4==5
• 4 diferente 6
• 4 menor que 5 e 6 maior que 10
• 40 menor que 50 ou 60 maior ou igual que 90
• Negação da proposição anterior
Exercícios
• Exercicio6:
– Elabore um programa que receba um inteiro, o multiplique por
12 e mostre o seu resultado e o numero de dígitos do numero.
Dicas: int(string) || str(int) || len(string)
• Exercício 7:
– Elabore um programa que pede ao utilizador que lhe forneça
um inteiro correspondente a um numero de segundos e calcula
o numero de dia, horas, min e segundos correspondentes a esse
numero de segundos
Dica 1: utilizar resto de divisão e divisão inteira
Dica 2: 1 dia = 86400s x_dias=seg//86400
1 hora=3600s
1 min=60s
Estruturas de Seleção
• A instrução if permite a seleção entre duas ou mais
alternativas. Dependendo do valor de uma condição,
esta instrução permite-nos selecionar uma de duas ou
mais instruções para serem executadas.
• Sintaxe da função if
• If condição: if condição :
– Instruções- -Instruções-
– Instruções- elif condição
-Instruções-
else:
-Instruções-
Exercícios
• Exercício 8:
– Elabore um programa que imprima o maior de
dois números reais
• Exercício 9:
– Elabore um programa que calcule o maior e
menor de 3 números.
Dicas: comparar 2 a 2
Dicas: ou camparar os 3 usando o and
Exercícios
• Exercício 10:
– Os salários-base dos funcionários de determinada empresa
estão tabelados segundo a categoria profissional:
Categoria Salário-Base
A 2500
B 2000
C 1750
D 1250
OUTRA 750

Elabore um programa que, a partir da leitura da categoria


profissional, imprima o respetivo salário-base
Estruturas de Repetição
Condicionais
• :Em programação, uma sequencia de instruções
executadas repetidamente é chamada um ciclo.
• Ciclos while, permite especificar a execução
repetitiva de um conjunto de instruções
enquanto uma determinada condição tiver o
valor verdadeiro
• Sintaxe
• while condição:
– Instrução
– instrução
Estruturas de Repetição
• :Instrução break apenas pode aparecer dentro
do corpo de um ciclo.
• Ao encontrar uma instrução break, o ciclo
termina independentemente da condição que
controla o ciclo
Exercícios
• Exercício 11:
– Faça um programa que peça uma nota, entre zero e vinte.
Mostre uma mensagem caso o valor seja inválido e continue
pedindo introduza um valor correto,
• Exercicio12:
– Faça um programa que receba e valide as seguintes informações:
• Nome: maior que 3 caracteres;
• idade: entre 0 e 100;
• Salário: maior que zero;
• Sexo: 'f' ou 'm’;
• Estado Civil: 's', 'c', 'v', 'd’;
– Use a função len(string) para saber o tamanho de um texto (número
de caracteres).
Estruturas de Repetição controladas
por contador automático
• Nas estruturas repetitivas controladas por
contador automático, a instrução de controlo de
ciclo indica explicitamente quantas vezes o ciclo
será executado.:
• Contador:
– Assume um valor inicial
– É incrementado (ou decrementado)
automaticamente, cada vez que o ciclo se executa até
atingir o valor final
– Toma o valor final e o ciclo é executado pela ultima
vez.
Estruturas de Repetição controladas
por contador automático
• :Numero de vezes que o ciclo é executado
– Int((final-inicial)/passo)-1
• Sintaxe
– For contador in range(inicial, final, passo):
Instruçao
instrução
Exercícios
• Exercício 13
– Imprima todos os números de 100 até 1

• Exercicio 14
– Imprima todos os números pares e não divisíveis por 3 de
1 até 100

• Exercicio 15
– Elabore um programa que recebe a idade de 10 pessoas e
que imprima quantas pessoas tem idade superior a 18
Exercícios
• Exercício 16
– Faça um programa que recebe a idade de 15 pessoas e que
no final mostre a distribuição conforme a sua faixa etária
• 1 Até 15 anos
• 2 De 16 a 30 anos
• 3 De 31 a 45 anos
• 4 De 46 a 60 anos
• 5 Acima de 61 anos
• Exercicio 17
– Receba um numero e calcule o fatorial desse numero
• por de feito 0!=1
• n! = 1*2*3*…*(n-1)!*n!
Funções

• Funções são blocos de código que realizam


determinadas tarefas.:
• A sintaxe de uma função é definida por
três partes: nome, parâmetros e corpo, o
qual agrupa uma sequência de linhas que
representa algum comportamento.
• No corpo de uma função pode ser
utilizada uma instrução adicional retun::
Funções
• Sintaxe
Def nome_função (parametros)
corpo
Exercícios
• Exercício 18
– Escreva uma função que tem o valor true se o seu
argumento for 5 e false no caso contrario.
• Exercício 19
– Escreva a função bissexto que determina se um
ano é bissexto.
• Divisível por 4 e não divisível por 100 a não ser que seja
divisível por 400
– Teste 1984 e 2000 é bissexto
– 1100 não é bissexto
Exercícios

• Exercício 20
– Escreva uma função num_divisores que recebe
um n e devolve o numero de divisores de n.
• O programa devera correr sempre até o utilizador
introduzir o numero 9999
Exceções
• A introdução e o processamento de dados
podem gerar erros que alteram a execução
dos programas.:
• Estes erros são designados por exceções, uma
vez que resultam de situações extraordinárias
que alteram a execução geral do programa.
Exceções
Estrutura de tratamento de dados
try:
instruções
except:
instruções
else:
instrução
finaly:
instrução
Exercícios

• Exercício 20
Escreva uma função que calcule a seguinte função
x/(Y-6)
Mas que imprima uma mensagem sempre que o
denominador for igual a zero

• Exercício 21
Elabore uma função que valide a idade, em anos, digitada
por um estudante. A idade tem de ser um inteiro, igual
ou superior a 17 anos e inferior a 77 anos
Listas
• Os diversos tipos de dados primitivos podem
agregar-se em estruturas mais complexas para
simplificar o processamento algoritmo
• As listas são conjuntos de dados.
• As listas são identificadas pelos respetivos
nomes e seus elementos são identificados
individualmente através do nome da lista
seguido do índice:
Listas
• Sintaxe
Lista= [1,2,3,”a”]

• Funçoes de listas
list.append(x) list.count(x)
list.extend() list.sort()
list.insert(i, x) list.reverse()
list.remove(x)
list.pop([i])
list.clear()
Exercícios
• Exercicio 22
– Elabore um programa que imprima os nomes da
equipa de um projeto ordenada por ordem
inversa alfabética
• Considere os elementos da equipa antonio, ana ,
teresa, telmo, joao, guilherme, luis
• Exercicio 23
– Dada a lista de cidades abaixo substitua uma
cidade indicada pelo utilizador por Porto
• Cidades=[“Aveiro”, “Braga”, “Bragança”, “Regua”]
• #Ex24
• #Elabore um programa que conte o número de
vezes que cada elemento aparece na lista
• #Por exemplo
• # -Lista[4,2,5,4,3,5,2,2,4]
• # - Output
• # - 4 ocorre 3 vezes
• # -2 ocorre 3 vezes
• # - 5 ocorre 2 vezes
• # -3 ocorre 1 vez
Dicionarios
• São estruturas de dados que implementam
mapeamentos
• Um mapeamento é uma coleção de
associações entre pares de valores
– O primeiro elemento do par é chamado de chave
e o outro de valor
Dicionários
• 1. Faça um programa, utilizando Dicionários,
que peça para o utilizador inserir o nome de
três produtos de mercado e seus respectivos
preços e os mostre na tela.
• 2. Faça um programa,
utilizando Dicionários, que peça para o
utilizador inserir quatro notas e mostre na tela
as notas e a média entre elas.
• Crie um dicionário que é uma agenda e
coloque nele os seguintes dados: chave (nif),
nome, idade, telefone. O programa deve ler
um número indeterminado de dados, criar a
agenda e imprimir todos os itens do dicionário
Exercícios

• Exercicio24
– Elabore um programa que conte o numero de
vezes que cada elemento aparece na lista
• Por exemplo
– Lista= [4,2,5,4,3,5,2,2,4]
– Output
– 4 ocorre 3vezes
– 2 ocorre 3 vezes
– 5 ocorre 2 vezes
– 3 ocorre 1 vez
Ficheiros
• Um ficheiro é um tipo estruturado de dados
constituído por uma sequencia de elementos
todos do mesmo tipo.
• Os ficheiros são entidades que existem fora do
nosso programa.:
• A operação através da qual identificamos a
localização do ficheiro e o modo como queremos
utiliza-lo é conhecida por operação de
aberturado ficheiro.:
– open(<caminho+nome>, <modo>, <encoding>)
Ficheiros
• Leitura de ficheiros
– f=open(‘exemplo.txt’,r)
– ln1=f.readline() #readline lê só uma linha(1º)
– ln2=f.readlines() #lista de todas as linhas
– rtln=f.read(8) #lê 8 caracteres
– rtln=f.read() #lê todoo ficheiro(da 2º linha ate
final)
– f.close()
Ficheiros
• Escrita em ficheiros
– f=open(‘exemplo.txt’,r)
– f.write(“uma linha de teste”)
– f.close()
Exercícios

• Exercício 24
– Elabore um programa com um menu que permite
ao utilizador escolher escrever uma lista de
compras, ler a lista de compras e sair.
Exercicios
• Exercício 25
Escreva um a função conta vogais que recebe o
nome do ficheiro, lê esse ficheiro linha a linha e
calcula quantas vezes aparece cada uma das vogais,

Você também pode gostar