Buscar

MCG114 - Prog I - 001 pptx (1)


Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 87 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 87 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 87 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

MCG114 – Programação de 
Computadores I
UFRJ Campus Macaé
 
116:09:20
Objetivos
• Desenvolver Algoritmos
• Implementar Algoritmos em uma linguagem de 
programação (Python)
• Executar programas
• Avaliar seus Resultados
2UFRJ - MACAÉ16:09:20
Bibliografia
316:09:20
Introdução à Programação com Python:
 algoritmos e lógica de programação para iniciantes 
Nilo Ney Coutinho Menezes
Algoritmos e Programação: Teoria e Prática
Marco Medina e Cristina Fertig
Bibliografia
416:09:20
01 – Introdução
516:09:20
616:09:20
716:09:20
Mas… o que é Algoritmo?
Algoritmo
• Procedimento definido passo a passo para a solução de um 
problema
• Uma sequência detalhada de ações a serem executadas para 
realizar uma tarefa.
816:09:20
Algoritmo
• Em matemática: “sequência finita de regras, raciocínios, ou 
operações que, aplicada a um número finito de dados, 
permite solucionar classes semelhantes de problemas.”
• Em informática: “conjunto de regras e procedimentos 
lógicos perfeitamente definidos que levam à solução de um 
problema em um número finito de etapas.”
916:09:20
Trocar lâmpada
• Passo 1: Pegar a lâmpada nova
• Passo 2: Pegar a escada
• Passo 3: Posicionar a escada embaixo da lâmpada queimada
• Passo 4: Subir na escada coma lâmpada nova
• Passo 5: Retirar a lâmpada queimada
• Passo 6: Colocar a lâmpada nova
• Passo 7: Descer da escada
• Passo 8: Ligar o interruptor
• Passo 9: Guardar a escada
• Passo 10: Jogar a lâmpada velha no lixo
1016:09:20
Exemplo de algoritmos
Sacar dinheiro
• Passo 1: Ir até o caixa eletrônico
• Passo 2: Colocar o cartão
• Passo 3: Digitar a senha
• Passo 4: Solicitar o saldo
• Passo 5: Se o saldo for maior ou igual à quantia desejada, 
• sacar a quantia desejada;
• caso contrário sacar o valor do saldo
• Passo 6: Retirar dinheiro e cartão
• Passo 7: Sair do caixa eletrônico
1116:09:20
Exemplo de algoritmos
12
Bolo de Chocolate
Ingredientes
• 4 xícaras (chá) de farinha de trigo.
• 2 xícaras (chá) de açúcar cristal.
• 2 xícaras (chá) de achocolatado.
• 2 colheres (sopa) de fermento em 
pó.
• 1 pitada de sal.
• 3 ovos.
• 2 xícaras (chá) de água morna.
• 1 xícara (chá) de óleo.
• Óleo para untar.
• Farinha de trigo para polvilhar.
Modo de preparo
• Numa vasilha, misture 4 xícaras (chá) de 
farinha de trigo, 2 xícaras (chá) de açúcar 
cristal, 2 xícaras (chá) de achocolatado, 2 
colheres (sopa) de fermento em pó e 1 pitada 
de sal
• Junte 3 ovos, 2 xícaras (chá) de água morna e 1 
xícara (chá) de óleo.
• Misture bem. 
• Unte uma forma retangular de 25 cm x 37 cm 
com óleo
• Polvilhe farinha de trigo sobre a forma untada
• Despeje a massa na forma 
• Asse em temperatura média (de 170°C a 180°
C) por 30 minutos.
• Sirva o Bolo ao Professor na próxima aula.
16:09:20
Exemplo de algoritmos
Exemplo de algoritmos
Algoritmo Euclidiano: algoritmo para obter o máximo 
divisor comum (mdc) entre dois número inteiros. 
MDC(a,b), pode ser resumido em:
1. Dividir um número a por b, o resto é r
2. Substituir a por b
3. Substituir b por r
4. Continuar a divisão de a por b até que não possa mais ser 
dividido pelo outro. Neste caso, a é o mdc
1316:09:20
Como escrever algoritmos
14
• Alternativas para expressar algoritmos para computador:
– Fluxograma
– Pseudocódigo
16:09:20
Fluxograma
1516:09:20
Pseudocódigo
1616:09:20
1716:09:20
Programas de Computador
• Programa de Computador = Conjunto de instruções que 
será executado pelo processador em uma determinada 
sequência. 
• Um programa é que um tipo de algoritmo. 
• Suas operações são específicas para o computador e 
restritas ao conjunto de instruções que o processador 
pode executar.
1816:09:20
Programa
• Algoritmo = método para solucionar um problema
• Um algoritmo passa a ser chamado de programa depois 
de convertido para linguagem aceita por um 
computador
• Todas as tarefas executadas pelo computador são 
realizados por programas
1916:09:20
Por que aprender a programar?
2016:09:20
Por que programar?
• Aprender a programar é uma atividade básica de um 
cientista ou engenheiro da computação.
• Eu não sou da computação!!! Por que programar?
2116:09:20
Por que programar?
Eu sou das engenharias! Como engenheiro:
– ser capaz de automatizar algum processo.
– criar programas para gerenciar e automatizar algum processo 
que hoje é manual
– desenvolver novas ferramentas ou protótipos
– criar ferramentas/protótipos você deverá fazer simulações 
computacionais para fazer testes preliminares
– enxergar situações onde uma solução computacional pode 
trazer benefícios.
– mesmo que você não implemente (programe) a solução você 
poderá propô-la e será capaz de “conversar” com o pessoal de 
TI para implementar a solução.
2216:09:20
02 – Introdução ao Python, 
tipos de dados e variáveis
2316:09:20
2416:09:20
A linguagem:
Python
• Site Oficial:
http://www.python.org/
• Site para Download:
http://www.python.org/downloads/
• Versão Base para as aulas:
Python 3.8
2516:09:20
http://www.python.org/
http://www.python.org/download/
Por que Python?
Produtividade!
• Reduz tempo de desenvolvimento
– Código em Python é 2-10x menor do que em C, C++ e 
Java
• Melhora a manutenção no programa
– O código é bem mais fácil de ler/entender
• Menos treino
– A linguagem é mais fácil de aprender
2616:09:20
Por que Python?
2716:09:20
2816:09:20
Como começar?
2916:09:20
Como representar os dados?
Manipulação de dados
3016:09:20
• Computador é responsável pela manipulação de 
informações
• É necessário que haja formas de se trabalhar com diferentes 
tipos de dados em um programa
• Apesar de internamente o computador 
manipular números, as linguagens de 
programação permitem que utilizemos 
outros tipos de informação
Tipos de Dados
Definições:
• São categorias de valores que são processados de forma 
semelhante
• Um conjunto de objetos que tem em comum o mesmo 
comportamento diante um conjunto definido de operações
Ex. números inteiros são processados de forma diferente dos 
números de ponto flutuante e dos números complexos
3116:09:20
Tipos de Dados
• Tipos primitivos: são aqueles já embutidos no núcleo da 
linguagem
– Simples: números (int, float, complex) e cadeias de caracteres 
(strings)
– Compostos: listas, dicionários, tuplas e conjuntos
• Tipos definidos pelo usuário: são correspondentes a classes 
(orientação objeto)
3216:09:20
Tipos Primitivos De Dados
• Inteiro: Admite somente números inteiros. Utilizado para 
representar uma contagem (quantidade).
3316:09:20
Operações Comparações
Adição (+) Igual (==)
Subtração (-) Diferente (!=)
Multiplicação (*) Maior (>)
Divisão (/) Menor (<)
Potenciação (**) Maior ou igual (>=)
Raiz (sqrt) Menor ou igual (<=)
Resultado inteiro de uma divisão (//)
Resto da divisão por inteiro (%) 
Tipos Primitivos De Dados
• Inteiro: Admite somente números inteiros. Utilizado para 
representar uma contagem (quantidade).
3416:09:20
Tipos Primitivos De Dados
• Float (Real): Admite números reais. Geralmente é utilizado 
para representar uma medição
3516:09:20
Operações Comparações
Adição (+) Igual (==)
Subtração (-) Diferente (!=)
Multiplicação (*) Maior (>)
Divisão (/) Menor (<)
Potenciação (**) Maior ou igual (>=)
Raiz (Sqrt) Menor ou igual (<=)
Tipos Primitivos De Dados
• Floats são implementados usando tipicamente 2 palavras de 
memória.
• Devem possuir um ponto decimal ou escritas em notação 
científica com a letra “e” precedendo a potência de 10. 
>>> 10 # inteiro
10
>>> 10.0 # ponto flutuante
10.0
>>> 99e3
99000.0
>>> 99e-3
0.09900000000000000
3616:09:20
George Boole
Conhecem?
37
George Boole
• O matemático britânico George Boole nos mostrou como as coisas 
podem ser simplesmente relativas.
• Pioneiro no desenvolvimento da lógica e matemática
• Quaisquer valores podem ser reduzidos a sim ou não, verdadeiro 
ou falso, ou 0 ou 1
• Seu sistema binário “booleano”foi detalhado em An Investigation 
of the Laws of Thought ( 1854)
38
Tipos Primitivos De Dados
• Boolean: As constantes True e False são apenas símbolos 
convenientes, qualquer valor não nulo é visto como verdadeiro 
enquanto que 0 ou vazio é visto como falso.
>>> a = 4
>>> b = 4
>>> c = a == b
>>> c
True
>>> b = 5
>>> c = a == b
>>> c
False
39
Expressões Booleanas
• Também chamadas de expressões lógicas
• Resultam em verdadeiro (True) ou falso (False)
• São usadas em comandos condicionais e de repetição
• Servem para analisar o estado de uma computação e 
permitir escolher o próximo passo 
• Operadores mais usados
o Relacionais: > , < , ==, !=, >=, <=
o Booleanos: and, or, not
4016:09:20
Expressões Booleanas
• Tabela Verdade
4116:09:20
AND V F
V V F
F F F
OR V F
V V V
F V F
NOT V F
F V
Obs: Unário
XOR V F
V F V
F V F
Expressões Booleanas
4216:09:20
Expressões Booleanas
4316:09:20
Expressões Booleanas
4416:09:20
Expressões Booleanas
4516:09:20
Link: 
https://www.google.com/doodles/george-booles-200th-birthday?doodle=1861
0284&domain_name=google.com.br&hl=pt-BR
Expressões Booleanas
• Avaliação feita em “Curto-circuito”
– Expressão avaliada da esquerda para a direita
– Se o resultado (verdadeiro ou falso) puder ser 
determinado sem avaliar o restante, este é retornado 
imediatamente 
4616:09:20
Expressões Booleanas
Complete a tabela a seguir utilizando: a = True, b = False e c = True
4716:09:20
Expressão Resultado
a and a ☐True ☐False
b and b ☐True ☐False
not c ☐True ☐False
not b ☐True ☐False
not a ☐True ☐False
a and b ☐True ☐False
b and c ☐True ☐False
a or c ☐True ☐False
b ^ c ☐True ☐False
a or c ☐True ☐False
c ^ a ☐True ☐False
Expressões Booleanas
Complete a tabela a seguir utilizando: a = True, b = False e c = True
4816:09:20
Expressão Resultado
a and a 🗷True ☐False
b and b ☐True 🗷False
not c ☐True 🗷False
not b 🗷True ☐False
not a ☐True 🗷False
a and b ☐True 🗷False
b and c ☐True 🗷False
a or c 🗷True ☐False
b ^ c 🗷True ☐False
a or c 🗷True ☐False
c ^ a ☐True 🗷False
Expressões Booleanas
• Qual é a expressão correta em Python para verificar se um 
número armazenado na variável x está entre 0 e 5.
a) x > 0 and < 5
b) 0 < x < 5
c) x > 0 or x < 5
d) x > 0 and x < 5
4916:09:20
Expressões Booleanas
• Qual é a expressão correta em Python para verificar se um 
número armazenado na variável x está entre 0 e 5.
a) x > 0 and < 5
b) 0 < x < 5
c) x > 0 or x < 5
d) x > 0 and x < 5
5016:09:20
Expressões Booleanas
Precedência:
• Quando uma expressão tiver mais de um operador lógico, 
avalia-se o operador not primeiramente, seguido do 
operador and e finalmente o operador or.
True or False and not True
True or False and False
True or False
True
5116:09:20
Expressões Booleanas
Precedência:
• Os operadores lógicos relacionais também podem ser 
utilizados em expressões com operadores lógicos
• Nesses casos, os operadores relacionais devem ser avaliados 
primeiramente.
salario > 1000 and idade > 18
350 > 1000 and 20 > 18
False and True
False
5216:09:20
Expressões
Precedência das Operações
5316:09:20
Expressões
• Quais das seguintes expressões corresponde, usando 
parênteses, à seguinte expressão:
5*3 > 10 and 4 + 6 == 11
a) ((5*3) > 10) and ((4+6) == 11)
b) (5*(3 > 10)) and (4 + (6 == 11))
c) ((((5*3) > 10) and 4)+6) == 11
d) ((5*3) > (10 and (4+6))) == 11
5416:09:20
Expressões
• Quais das seguintes expressões corresponde, usando 
parênteses, à seguinte expressão:
5*3 > 10 and 4 + 6 == 1
a) ((5*3) > 10) and ((4+6) == 11)
b) (5*(3 > 10)) and (4 + (6 == 11))
c) ((((5*3) > 10) and 4)+6) == 11
d) ((5*3) > (10 and (4+6))) == 11
5516:09:20
Expressões
Exercício:
Calcule o resultado da expressão 
A>B and C or D
sendo que, A = 1, B = 2, C = True e D = False
5616:09:20
Expressões Booleanas
Calcule 
– Inteiros e Reais
a) ((3 + 2) * 4 / 5) ** 2
b) ((3.4 + 2.6) * 4 / 8)
– Lógico
a) True and (True or False)
b) False or (True and False)
c) True and not (True or False)
d) not ( not (True and True) or False)
e) True ^ True
f) not (True ^ False) 
5716:09:20
Tipos Primitivos De Dados
• Caractere: Admite caracteres alfanuméricos. Os números 
quando declarados como caracteres tornam se representativos e 
perdem a atribuição de valor.
5816:09:20
Operações Comparações
Igual (==)
Diferente (!=)
Maior (>)
Menor (<)
Maior ou igual (>=)
Menor ou igual (<=)
Tipos Primitivos De Dados
• Caracteres são representados utilizando um byte da memória. 
Utiliza-se aspas (simples ou duplas para delimitar o caractere. O 
mesmo delimitador deve ser usado no início e fim do caractere)
 >>> a = “b”
>>> a
‘b’
>>> a = ‘b’
>>> a
‘b’
>>> a = ‘ “ ’
>>> a
‘”’
59
Tipos Primitivos De Dados
• Python usa a tabela de caracteres default do S.O.
– Ex.: ASCII, UTF-8
• Caracteres não imprimíveis podem ser expressos usando notação 
“barra-invertida” (\)
– \n é o mesmo que new line
– \t é o mesmo que tab 
– \\ é o mesmo que \ 
6016:09:20
Tipos Primitivos De Dados
6116:09:21
Tipos Primitivos De Dados
• String: Conjunto de caracteres, também conhecido como Cadeia 
de Caracteres
6216:09:21
Operações Comparações
Concatenação (+) Igual (==)
Repetição (*) Diferente (!=)
Maior (>)
Menor (<)
Maior ou igual (>=)
Menor ou igual (<=)
Tipos Primitivos De Dados
• Strings: Utiliza-se aspas (simples ou duplas para delimitar a 
string. O mesmo delimitador deve ser usado no início e fim 
do string)
 >>> a = “Casa”
>>> a
‘Casa’
>>> a = ‘Casa’ + ‘ ‘ + ‘Velha’
>>> a
‘Casa Velha’
>>> a = ‘b’ * 5
>>> a
‘bbbbb’
6316:09:21
Até agora...
int
float Como armazenar?
long
boolean
char Como referenciar?
string
Variáveis!
6416:09:21
Variáveis
• Manipulamos informações que, durante a execução de um 
programa, ficam armazenadas em memória
• Para que tais valores possam ser manipulados na linguagem de 
programação, é preciso que haja algum identificador informando o 
local da memória (endereço)
• Uma variável é o local onde armazenamos valores.
• Uma variável é um local na memória principal, como um 
“endereço”.
6516:09:21
Variáveis
• Todos os dados usados em um programa são armazenados em 
variáveis
• Variáveis só existem durante a execução do programa
• Em Python, as variáveis não precisam ser explicitamente definidas, 
são definidas no momento da atribuição
6616:09:21
Variáveis
Nomenclatura
• Cada variável possui um nome único :: identificador
• Um identificador pode ter letras, números e alguns símbolos 
especiais
• Não podem começar por números nem possuírem espaços
• Letras maiúsculas são diferentes de minúsculas (case 
sensitive).
• Palavras reservadas (if, while, etc) são proibidas
6716:09:21
Variáveis
Nomenclatura
• Exemplos:
– a1
– velocidade
– velocidade90
– salário_médio
– salário médioERRADO! Não pode conter espaços
– _b 
– 1a ERRADO! Não pode começar com números
6816:09:21
Variáveis
Atribuição
– O comando de atribuição serve para atribuir valores para 
variáveis
– Uma variável é modificada usando o comando de atribuição:
variável = valor
– O comando de atribuição pode conter expressões do lado 
direito:
variável = expressão
6916:09:21
Variáveis
Atribuição
>>>a= 2 #atribuição de valor
>>>b= 3 #atribuição de valor
>>>soma = a + b #atribuição de expressão
>>>print(soma)
5
7016:09:21
Variáveis
Atribuição
– É possível também atribuir a várias variáveis simultaneamente:
• var1,var2,...,varN = expr1,expr2,...,exprN
7116:09:21
Variáveis
Representação em Memória: Em Python, uma variável é apenas 
um NOME que REFERENCIA um OBJETO.
 >>> a = 42
 >>> a = a + 1
 >>> b = 43
7216:09:21
a int
42
a
int
42
int
43
b int
43
Variáveis
• Representação em Memória:
 >>> x = “Casa”
 >>> y = x
7316:09:21
x String 
’Casa’
y
Variáveis
• Variáveis são criadas dinamicamente e destruídas quando não 
mais necessárias, por exemplo, quandosaem fora de escopo 
(veremos isso mais tarde)
• O tipo de uma variável muda conforme o valor atribuído, i.e., int, 
float, string, etc.
>>> a = 1
>>> type(a)
<class 'int’>
>>> a = "oi"
>>> type(a)
<class 'str'>
7416:09:21
Variáveis
Qual o valor armazenado na variável a no fim do programa?
>>> d = 3
>>> c = 2
>>> b = 4
>>> d = c + b
>>> a = d + 1
>>> a = a + 1
 
7516:09:21
Variáveis
Qual o valor armazenado na variável a no fim do programa?
>>> d = 3
>>> c = 2
>>> b = 4
>>> d = c + b
>>> a = d + 1
>>> a = a + 1
a = 8
 7616:09:21
Variáveis
• Qual é o valor impresso ao final da seguinte sequência de 
comandos?
>>> dia = “quinta-feira”
>>> dia = 32.5
>>> dia = 19
>>> Dia = 20
>>> print(dia)
7716:09:21
Variáveis
• Qual é o valor impresso ao final da seguinte sequência de 
comandos?
>>> dia = “quinta-feira”
>>> dia = 32.5
>>> dia = 19
>>> Dia = 20
>>> print(dia)
19
7816:09:21
Variáveis
• Qual os valores de X e Y?
>>> X = 15
>>> Y = X
>>> X = 22
a) x é 15 e y é 15
b) x é 22 e y é 22
c) x é 15 e y é 22
d) x é 22 e y é 15
7916:09:21
Variáveis
• Qual os valores de X e Y?
>>> X = 15
>>> Y = X
>>> X = 22
a) x é 15 e y é 15
b) x é 22 e y é 22
c) x é 15 e y é 22
d) x é 22 e y é 15
8016:09:21
Variáveis
>>> valor = 6 * 1 – 2
>>> print(valor)
4
Escreva a expressão de forma que o seu 
resultado seja -6
8116:09:21
Variáveis
>>> valor = 6 * 1 – 2
>>> print(valor)
4
Escreva a expressão de forma que o seu 
resultado seja -6
>>> valor = 6 * (1 – 2)
>>> print(valor)
-6
8216:09:21
Variáveis
João tem R$10.000,00. Ele resolveu aplicar esse valor a juros 
compostos, durante 1 ano, à taxa de 3,5% ao mês.
A fórmula para calcular o montante é:
M = P * (1+ i)n
Escreva um programa que contenha as variáveis: M, P, i e n e calcule, 
utilizando a fórmula acima, o valor obtido pelo João no final da 
aplicação.
8316:09:21
Variáveis
João tem R$10.000,00. Ele resolveu aplicar esse valor a juros 
compostos, durante 1 ano, à taxa de 3,5% ao mês.
A fórmula para calcular o montante é:
M = P * (1+ i)n
8416:09:21
Variáveis
Escreva um programa que transforme a temperatura em 
Fahrenheit para Celsius.
Considere o valor da temperatura em Nova York na figura acima.
Celsius = (Fahrenheit – 32) / 1.8
8516:09:21
Variáveis
Escreva um programa que transforme a
temperatura em Fahrenheit para Celsius.
Considere o valor da temperatura em Nova York
ao lado.
Celsius = (Fahrenheit – 32) / 1.8
8616:09:21
MCG114 – Programação de 
Computadores I
Material elaborado por:
Janaína Gomide & Danilo Freitas
Atualizado por: 
Anselmo Pestana R Costa & Adriano Neves 
87UFRJ - MACAÉ16:09:21

Mais conteúdos dessa disciplina