programação de computadores - ic.uff.brotton/graduacao/programacao/4b_aulas_operadores... ·...
TRANSCRIPT
![Page 1: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/1.jpg)
Programação de Computadores
Instituto de Computação UFFDepartamento de Ciência da Computação
Otton Teixeira da Silveira Filho
![Page 2: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/2.jpg)
Conteúdo
● Alguns Conceitos sobre Linguagens
● Conceito de Algoritmo
● Pseudocódigo
● Tipos de Variáveis
● Operadores
● Estruturas de Controle
● Estruturas de Dados
● Subprogramação
![Page 3: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/3.jpg)
Variáveis
Variáveis
São espaços reservados na memória do computador que será lido e escrito de uma forma pré-estabelecida
![Page 4: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/4.jpg)
Variáveis
As linguagens de programação trabalham com tipos de variáveis que ocupam valores múltiplos de bytes
1 B
2 B
4 B
8 B
16 B
![Page 5: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/5.jpg)
Variáveis
Os tipos de variáveis mais comuns em linguagens de programação são usadas para representar
Caracteres, tabela ASCII, “inteiros” curtos - 1 B
Caracteres, Unicode, Números “inteiros” - 2 B
Números “inteiros” longos e de ponto flutuante - 4 B
Números de ponto flutuante - 8 B
Números de ponto flutuante - 16 B
![Page 6: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/6.jpg)
Tabela ASCII básica
Caracteres - 1 B
![Page 7: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/7.jpg)
Caracteres
Observemos os caracteres da tabela ASCII de numeração até 31 decimal são caracteres não imprimíveis. O 32 é o primeiro caracter imprimível, espaço em branco simbolizado por SP
Embora um carater da tabela ASCII possa ser representado em um baite, não é incomum que a representação no computador seja feito em mais baites por questões de uso mais eficiente do processador
Há extensões da tabela ASCII que representam outros caracteres
![Page 8: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/8.jpg)
Caracteres
Para caracteres há também o Unicode, um padrão de representação de caracteres que permite escrever caracteres específicos de várias línguas e caligrafias.
A maioria das linguagens manipulam Unicode mas não permitem seu uso como identificadores
![Page 9: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/9.jpg)
Inteiros
Números “inteiros” - 2 B e “inteiros“ longos - 4 B
![Page 10: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/10.jpg)
Inteiros
Embora este tipo de caracterização de inteiros seja comum, há variações em algumas linguagens
![Page 11: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/11.jpg)
Ponto flutuante
Números de ponto flutuante - 4 B e 8 B
![Page 12: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/12.jpg)
Variáveis
Os tipos apresentados são os mais elementares e apresentaremos outros tipos mais a frente
![Page 13: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/13.jpg)
Python
Vamos agora centrar foco na linguagem a ser usada neste curso, ou seja, Python.
![Page 14: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/14.jpg)
Python - Identificadores
Identificadores são uma sequência de símbolos com os quais designamos algum elemento dentro do programa em questão.
Identificadores são usados para designar variáveis, funções, classes e métodos (falaremos um pouco disto depois)
![Page 15: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/15.jpg)
Python - Identificadores
● Um identificador em Python é constituído de caracteres do alfabeto latino, algarismos arábicos e o sinal _
● Não se começa um nome de variável por um algarismo
● Não podem ser usados os seguintes caracteres especiais:
/ \ = ! @ # $ % & ( ) [ ] ^ ~ ´
● Não são permitidos sinais diacríticos (acentos, cedilha, etc.)
![Page 16: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/16.jpg)
Python - Identificadores
● Um identificador em Python é constituído de caracteres do alfabeto latino, algarismos arábicos e o sinal _
● Não se começa um nome de variável por um algarismo
● Não podem ser usados os seguintes caracteres especiais:
/ \ = ! @ # $ % & ( ) [ ] ^ ~ ´
● Não são permitidos sinais diacríticos (acentos, cedilha, etc.)
● Nas versões mais recentes é permitido o uso do unicode
![Page 17: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/17.jpg)
Python - Identificadores
● Não se pode usar as seguintes palavras reservadas
and def exec if not return False
assert del finally import or try None
break elif for in pass while
class else from is print yield
continue except global lambda raise True
![Page 18: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/18.jpg)
Identificadores
● Há sensibilidade quanto os caracteres serem minúsculos ou maiúsculos:
SOMA e soma
são considerados identificadores diferentes
![Page 19: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/19.jpg)
Identificadores
● Exemplos válidos
a
Ab
dados
velocidade
![Page 20: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/20.jpg)
Identificadores
● Exemplos não válidos
\a
:w
+dados
2xpto
True
![Page 21: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/21.jpg)
Identificadores
● Exemplos válidos mas ruins
TRUE
A_c2_tcb_kmtp
amorzinho
blablabla
xpto
![Page 22: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/22.jpg)
Python - Variáveis
Em Python as variáveis que inicialmente usaremos são dos tipos
● Número
int
float
bool
![Page 23: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/23.jpg)
Python - Variáveis
● Sequências
Cadeia de caracteres
str
basicamente tudo em Python é caracter, a não ser que você prescreva algo em contrário
![Page 24: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/24.jpg)
Python - Variáveis
Há outros tipos de variáveis em Python mas falaremos delas mais adiante
![Page 25: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/25.jpg)
Variáveis
Descrição dos tipos das variáveis
str – Podemos representar sequências de caracteres convencionados na tabela ASCII, embora haja adicionais
int – Representamos um subconjunto dos inteiros com sinal. Representação com tamanho limitado pela memória disponível
float – Representamos um subconjunto dos reais com representação em 8 baites, aproximadamente 17 algarismos significativos, embora isto dependa da implementação
bool – São variáveis booleanas que só admitem dois valores True e False
![Page 26: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/26.jpg)
Variáveis
A distinção de conteúdo entre um número de tipo int e um número de tipo float é feita pelo uso de um ponto decimal nestes últimos
Assim uma atribuição de um int se dá como
a = 123
e um no caso de float
a = 123.
● Como os computadores foram primeiramente desenvolvidos na Inglaterra e nos Estados Unidos da América, nas linguagens de computação se usa o ponto como separador decimal e não vírgula como no Brasil, Portugal, Alemanha, França, Rússia e outros países.
![Page 27: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/27.jpg)
Operadores
Operador de atribuição
Atribuição não é igualdade
Caracter Operação Exemplo
= a ←b a=b
![Page 28: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/28.jpg)
Operadores
Operadores aritméticos
Caracteres Tipos operados Operação Exemplo
+ int, float Soma, operador unário a+b; +b
- int, float Subtração, operador unário a-b; -b
/ float divisão a/b
// int divisão a//b
% int Resto da divisão a % b
* int, float multiplicação a * b
** float potenciação a ** b
![Page 29: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/29.jpg)
Operadores
Observe que há uma sobrecarga de operadores. Isto significa que o mesmo símbolo é usado para operar variáveis diferentes como, por exemplo, na soma.
Veremos que existem outras sobrecargas ainda não anunciadas
![Page 30: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/30.jpg)
Operadores
Observe que há uma sobrecarga de operadores. Isto significa que o mesmo símbolo é usado para operar variáveis diferentes como, por exemplo, na soma.
Veremos que existem outras sobrecargas ainda não anunciadas
Por enquanto só estamos falando de operadores aritméticos
![Page 31: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/31.jpg)
Operadores
Operadores aritméticos
Se a e b int e a = 3 e b = 5
a+b resulta em 8
a-b resulta em -2
a//b resulta em 0
b//a resulta em 1
b ** a resulta em 125
![Page 32: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/32.jpg)
Operadores
Operadores aritméticos
Se a e b int e a = 3 e b = 5
Em Python temos algo diferente na aritmética dos números int que é distinto de outras linguagens
Enquanto:
3//2 resulta em 1
-3//2 resulta em -2
A divisão inteira em Python dá como resultado o valor imediatamente menor
![Page 33: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/33.jpg)
Operadores
Operadores aritméticos
A divisão inteira em Python dá como resultado o valor imediatamente menor
Mas porque isto?
Consistência de algumas equações
● (a + b) // b = a // b + 1
● b * (a // b) + a % b = a
![Page 34: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/34.jpg)
Operadores
Operadores aritméticos
Se a e b float e a = 3.0 e b = 5.0
a+b resulta em 8.0
a-b resulta em -2.0
a/b resulta em 0.6
b/a resulta em 1.6666666
b ** a resulta em 125.0
![Page 35: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/35.jpg)
Operadores
E se a e b forem de tipos diferentes?
![Page 36: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/36.jpg)
Operadores
E se a e b forem de tipos diferentes?
● Tome cuidado com estas operações
![Page 37: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/37.jpg)
Operadores
E se a e b forem de tipos diferentes?
● Tome cuidado com estas operações
Se estamos falando de tipos de números diferentes o melhor é você especificar o que deseja, caso possa haver ambiguidades. Por exemplo:
a = float (b)
a = int (b)
![Page 38: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/38.jpg)
Operadores
Operadores lógicos
Caracteres Operação Exemplo
not não not b
and e a and b
or ou a or b
![Page 39: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/39.jpg)
Operadores
Tabela verdade para o operador lógico not
not Operando Resultado
True False
False True
![Page 40: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/40.jpg)
Operadores
Tabela verdade para o operador lógico and
and Operando 1 Operando 2 Resultado
False False False
False True False
True False False
True True True
![Page 41: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/41.jpg)
Operadores
Tabela verdade para o operador lógico or
or Operando 1 Operando 2 Resultado
False False False
False True True
True False True
True True True
![Page 42: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/42.jpg)
Operadores
Operadores relacionais
O resultado da comparação será verdadeiro ou falso
Caracteres Operação Exemplo
== Igual a a == b
!= Não igual a != b
< Menor que a < b
<= Menor ou igual a a<=b
> Maior que a>b
>= Maior ou igual a a>=b
![Page 43: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/43.jpg)
Operadores
Os operadores tem prioridades
Temos os operadores já
apresentados indo do mais
prioritário, os parênteses,
até os menos prioritários,
os operadores lógicos
Operador Prioridade
() 1
** 2
+, - unários 3
*, /, %, // 4
+, - 5>, >=, < <= 6
==, != 7
= 8
and, or, not lógicos 9
![Page 44: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/44.jpg)
Operadores
Pela tabela acima temos que qualquer operação dentro de um parênteses terá prioridade sobre qualquer operação. Isto inclui aninhamento de parênteses
![Page 45: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/45.jpg)
Alguns “comandos“ úteis
● Leitura
n = input (“texto”)
Lê a variável desejada, em geral o teclado, emitindo um texto (opcional) como indicação do usuário
● Escrita
print(“texto”, variável1, “texto2”, variável2, ...)
Escreve as variáveis apresentadas no dispositivo padrão de saída, em geral a tela os textos são indicativos opcionais
![Page 46: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/46.jpg)
Um exemplo de programa
Margareth Hamilton com uma
listagem do programa que ela
elaborou para o Projeto Apollo
![Page 47: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/47.jpg)
Um exemplo de programa
E aqui ela testando um programa no interior de uma cápsula Apollo
![Page 48: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/48.jpg)
Um exemplo simples
Atribua a duas variáveis dois números do tipo int. Some estas variáveis e atribua esta soma a outra variável. Imprima este resultado
![Page 49: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/49.jpg)
Um exemplo simples
Atribua a duas variáveis dois números do tipo int. Some estas variáveis e atribua esta soma a outra variável. Imprima este resultado
Este exemplo será apresentado para compreendermos a estrutura básica de um programa em Python
![Page 50: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/50.jpg)
Um exemplo simples
Atribua a duas variáveis dois números do tipo int. Some estas variáveis e atribua esta soma a outra variável. Imprima este resultado
def main():
a = 3 b = 5 c = a+b print(“soma = “, c) main()
![Page 51: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/51.jpg)
Um exemplo simples
Atribua a duas variáveis dois números do tipo int. Some estas variáveis e atribua esta soma a outra variável. Imprima este resultado
def main():
a = 3 b = 5 c = a+b print(“soma = “, c) main()
Aqui def main(): no início e main() ao final são dispensáveis.
![Page 52: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/52.jpg)
Um exemplo simples
Se def main(): no início e main() ao final são dispensáveis, porque eles estão aí?
● Tal situação é uma marcação da parte do programa que chamaremos de Programa Principal para diferenciá-la de outras partes que veremos quando abordarmos a subprogramação.
● Neste material eu apresentarei assim, no entanto, vocês estão livres de usar ou não.
![Page 53: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/53.jpg)
Testes em Python
Apresentemos uma estrutura condicional do Python que pode ser usada de várias formas
i) if condição lógica: comando comando
Exemplo: … … if x < y : x = x + 1 ou if x < y : asq = x * y x = x + 1 … asq = x * y …
![Page 54: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/54.jpg)
Testes em Python
Apresentemos uma estrutura condicional do Python que pode ser usada de várias formas
ii) if (condição lógica) : comando(s)
Exemplo: … if x> y : asq = x * y isq = x/y sisc = x ...
As operações após o sinal : e colocados em indentação serão operados. Diremos que este conjunto de operações formam um bloco
![Page 55: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/55.jpg)
Testes em Python
Apresentemos uma estrutura condicional do Python que pode ser usada de várias formas
iii) if (condição lógica) : comando(s) else : comando(s)
Exemplo: … if x> y : asq = x * y isq = x/y else : sisc = x istis = y/x …
![Page 56: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/56.jpg)
Testes em Python
Apresentemos uma estrutura condicional do Python que pode ser usada de várias formas
iv) if (condição lógica) : comando(s) elif (condição lógica) : comando(s) else : comando(s)
Neste caso temos um aninhamento de if e else.
● Para simplificar, o código a conjunção de else com um if é escrito elif. Isto também torna a escrita mais concisa.
![Page 57: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/57.jpg)
Mais um exemplo simples
Leia duas variáveis do tipo int a e b. Se a for maior que b, some as duas variáveis, caso não subtraia b de a. Imprima o resultado seja qual for a operação feita
![Page 58: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/58.jpg)
Mais um exemplo simples
Leia duas variáveis do tipo int a e b. Se a for maior que b, some as duas variáveis, caso não subtraia b de a. Imprima o resultado seja qual for a operação feita
def main(): a = int(input()) b = int(input()) if a>b : c = a + b else : c = a - b print( c) main()
![Page 59: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/59.jpg)
Mais um exemplo simples
Leia duas variáveis do tipo int a e b. Se a for maior que b, some as duas variáveis, caso não subtraia b de a. Imprima o resultado seja qual for a operação feita
def main(): a = int(input()) b = int(input()) if a>b : c = a + b else : c = a - b print( c) main()
Este é o tipo de programa “mal educado“: se você o executar você verá que aparentemente o programa fica parado. Olhe que o programa “diz” para ler algo mas não avisa ao usuário...
![Page 60: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/60.jpg)
E mais um exemplo...
Leia duas variáveis do tipo int a e b. Imprima primeiro o menor valor.
def main(): a = int(input(“Entre com um numero inteiro”)) b = int(input(“Entre com outro numero inteiro”)) if a > b : print (b) else : print (a) main()
![Page 61: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/61.jpg)
E mais um exemplo...
Leia duas variáveis do tipo int a e b. Imprima primeiro o menor valor.
def main(): a = int(input(“Entre com um numero inteiro”)) b = int(input(“Entre com outro numero inteiro”)) if a > b : print (b) else : print (a) main()
Está faltando algo...
![Page 62: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/62.jpg)
E mais um exemplo...
Leia duas variáveis do tipo int a e b. Imprima primeiro o menor valor.
def main(): a = int(input(“Entre com um numero inteiro”)) b = int(input(“Entre com outro numero inteiro”)) if a > b : print (b, a) else : print (a, b) main()
![Page 63: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/63.jpg)
E mais um exemplo...
Leia duas variáveis do tipo int a e b. Se uma delas for negativa ache o módulo deste valor e multiplique pelo outro valor. Se não, calcule a soma. Imprima o resultado.
def main(): a = int(input(“Entre com um numero “)) b= int(input(“Entre com um numero “)) if a < b : a = -a print(a * b) elif b < 0 : b = -b print (a * b) else print(a + b)
main()
![Page 64: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/64.jpg)
E mais um exemplo...
Leia duas variáveis do tipo int a e b. Se uma delas for negativa ache o módulo deste valor e multiplique pelo outro valor. Se não, calcule a soma. Imprima o resultado.
def main(): a = int(input(“Entre com um numero “)) b= int(input(“Entre com um numero “)) if a < b : a = -a print(a * b) elif b < 0 : b = -b print (a * b) else print(a + b)
main()
Mas é isto o que foi solicitado?
![Page 65: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/65.jpg)
E mais um exemplo...
Leia duas variáveis do tipo int a e b. Se uma delas for negativa ache o módulo deste valor e multiplique pelo outro valor. Se não, calcule a soma. Imprima o resultado.
def main(): a = int(input(“Entre com um numero “)) b= int(input(“Entre com um numero “)) if a < 0 : a = -a print(a * b) elif b < 0 : b = -b print (a * b) else print(a + b)
main()
![Page 66: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/66.jpg)
E mais um exemplo...
Observe que o uso do Chinês facilita perceber erros de lógica que podem surgir
![Page 67: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/67.jpg)
E mais um exemplo...
Leia duas variáveis do tipo int a e b. Se ambas forem negativas imprima o produto das variáveis, caso não imprima a soma das mesmas.
![Page 68: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/68.jpg)
E mais um exemplo...
Leia duas variáveis do tipo int a e b. Se ambas forem negativas imprima o produto das variáveis, caso não imprima a soma das mesmas.
def main(): a = int(input(“Entre com um numero “)) b= int(input(“Entre com um numero “)) if (a < 0) and (b < 0) : print(a * b) else : print(a + b) main()
![Page 69: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/69.jpg)
Tipos de variáveis
Programa tipos.py
Aqui constataremos mais uma sobrecarga e o cuidado que temos que ter ao especificarmos os conteúdos das variáveis
Executemos o programa que se segue
![Page 70: Programação de Computadores - ic.uff.brotton/graduacao/programacao/4b_Aulas_operadores... · Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1003b809d3f2a8238be99a/html5/thumbnails/70.jpg)
Tipos de variáveis
Programa tipos.py
def main():
a = input("Entre com a: ") b = input("Entre com b: ")
print (a + b) print (a * 3)
a = int(a) b = int(b)
print (a + b) print (a * 3)
main()