Disciplina: Programao I
Conceitos Bsicos
O homem sempre procurou criar mquinas que o auxiliassem em seu trabalho, diminuindo esforo
e economizando tempo. Dentre essas mquinas, o computador vem se mostrando uma das mais versteis,
rpidas e seguras. O computador pode auxiliar em qualquer tarefa. muito trabalhador, possui muita
energia, mas no tem iniciativa, nenhuma independncia, no criativo nem inteligente, por isso precisa
receber instrues nos mnimos detalhes.
A finalidade de um computador receber, manipular e armazenar dados. Visto somente como um
gabinete composto de circuitos eletrnicos, cabos e fontes de alimentao, certamente ele parece no ter
nenhuma utilidade. O computador s consegue armazenar dados em discos, imprimir relatrios, gerar
grficos, realizar clculos, entre outras funes, por meio de programas. Portanto, a finalidade do
computador realizar a tarefa de processamento de dados, isto receber dados por um dispositivo de
entrada (por exemplo, o teclado), realizar operaes com esses dados e gerar uma resposta que ser
expressa em um dispositivo de sada (por exemplo, o monitor de vdeo).
Um computador possui duas partes distintas que trabalham juntas: o hardware (composto pelas
partes fsicas) e o software (composto pelos programas).
Quando se desenvolve um software para realizar determinado tipo de processamento de dados,
deve-se escrever um programa ou vrios programas interligados. No entanto, para que o computador
compreenda e execute esse programa, devemos escrev-lo usando uma linguagem que tanto o
computador quanto o criador do software entendam. Essa linguagem chamada de linguagem de
programao.
As etapas para o desenvolvimento de um programa so:
Anlise: nesta estuda-se o enunciado do problema para definir os dados de entrada, o processamento e os
dados de sada.
Algoritmo: ferramentas (descrio narrativa, fluxograma ou portugus estruturado) que so utilizados
para descrever o problema com suas solues.
Codificao: o algoritmo transformado em cdigos da linguagem de programao escolhida para se
trabalhar.
O que Lgica.
O homem por si s um ser lgico, e essa lgica um dom que no se aprende de uma hora para
outra. Resulta, em geral, de experincias do dia a dia. Usamos a lgica quando executamos
ordenadamente uma srie de rotinas predeterminadas, tais como: levantar da cama, pegar chinelos, trocar
uma lmpada e etc.
Conceito de lgica: conjunto de leis, princpios ou mtodos que determinam um raciocnio
coerente, induzindo a uma soluo prtica e eficaz do problema.
1) Qual a sequncia lgica a seguir:
a) 1 4 9 16 25 36
b) 1 1 2 3 5 8 ____
c) U D
T
Q
C
_____
d) 6 + 4 = 210
9 + 2 = 711
8 + 5 = 313
5+2 =?
Algoritmos
20
Disciplina: Programao I
Algoritmos uma sequncia de passos que visa atingir um objetivo bem definido.
Algoritmo a descrio de uma sequncia de passos que deve ser seguida para a realizao de
uma tarefa.
Algoritmo uma sequncia finita de instrues ou operaes cuja execuo, tem tempo finito,
resolve um problema computacional.
Analisando as definies anteriores, pode-se perceber que executamos no dia-a-dia vrios
algoritmos:
Algoritmos no computacionais
Algoritmo 1: Trocar uma Lmpada Queimada
Passo 1 - Pegar a lmpada nova.
Passo 2 - Pegar a escada.
Passo 3 - Posicionar a escada embaixo da lmpada queimada.
Passo 4 - Subir na escada com a lmpada nova na mo.
Passo 5 - Retirar a lmpada queimada.
Passo 6 - Colocar a lmpada nova.
Passo 7 - Descer da escada.
Passo 8 - Testar o interruptor.
Passo 9 - Guardar a escada.
Passo 10 - Jogar a lmpada velha no lixo.
Importante: Essa atividade pode ser realizada de uma maneira diferente, pois, s vezes um problema
pode ser resolvido de diversas maneiras, porm, gerando a mesma resposta, ou seja, podem existir vrios
algoritmos para solucionar o mesmo problema.
Algoritmo 2: Fazer um sanduche
Passo 1 Pegar o po.
Passo 2 Cortar o po ao meio.
Passo 3 Pegar a maionese.
Passo 4 Passar a maionese no po.
Passo 5 Pegar e cortar alface e o tomate.
Passo 6 Colocar alface e o tomate no po
Passo 7 Pegar o hambrguer.
Passo 8 Fritar o hambrguer.
Passo 9 Colocar o hambrguer no po.
Algoritmo 3 Ir para a Escola
Passo 1 Acordar cedo.
Passo 2 Ir ao banheiro.
Passo 3 Abrir o armrio para escolher uma roupa.
Passo 4 Se o tempo estiver quente, pegar uma camiseta e uma cala jeans; caso contrrio, pegar
um agasalho e uma cala jeans.
Passo 5 Vestir a roupa escolhida.
Passo 6 Tomar caf.
Passo 7 Pegar uma conduo.
Passo 8 Descer prximo escola.
Algoritmo 4 Sacar o dinheiro no banco 24 horas.
20
Disciplina: Programao I
Algoritmo 5 - Um homem precisa atravessar o rio com um barco que possui capacidade apenas
para transportar ele e mais uma de suas trs cargas, que so: um lobo, um bode e um mao de
alfafas.
Algoritmo 6 - Tenho 9 prolas idnticas, uma falsa e mais leve que as outras. Como posso
identifica-la, utilizando o mnimo de pesagens em uma balana de dois pratos?
20
Disciplina: Programao I
Toda varivel tem um nome (identificador) que formado por um ou mais caracteres, sendo o
primeiro obrigatoriamente uma letra e os caracteres seguintes, letras ou dgitos, no sendo permitido o uso
de smbolos especiais, exceto o _ (underline). No so aceitos palavras reservadas da linguagem.
Importante: Case sensitive um termo da lngua inglesa que significa sensvel ao tamanho, ou
sensvel a maisculas e minsculas, ele usado para indicar que h diferenas entre letras com caixa alta
e com caixa normal.
Operadores Aritmticos: +, -, *, / e % (resto da diviso).
Prioridades ou precedncia de operadores
Prioridade mais alta: * / %
Prioridade mais baixa: + Obs : Parntese garantem maior prioridade;
Ex: para a expresso 2*(4+2) o resultado ser 12
para a expresso 2*4+2 o resultado ser 10
Funes: pow (base, potencia) => Exemplo =>42 => pow (4,2) = 16
Exemplo:
a)
b)
c)
d)
e)
f)
g)
h)
10 + 6 / 2 * 20 = 70
10 % 3 = 1
4 + 5 * 3= 19
(4 + 5) * 3= 27
pow (3,2) = 9 32
pow (9, 0.5) = 3
pow (5, 3 ) = 125 53
pow (27, 0.33333) = 2.99996704181
b) x = ( 5 + 3 * 2) % 4
c) x = 64 / pow (4,2)
Operadores Relacionais: So necessrias para fazer algum tipo de comparao. O resultado sempre
um valor lgico verdadeiro (true) ou falso (false).
== (igualdade) , >, <, >=, <=, != (diferente)
Exemplo:
a) 10 > 7 = verdadeiro (true)
b) 7 != 7 = falso (false)
Importante: um sinal de = significa atribuio
Exerccios:
a) (2+5) > 4
e) 2 < (7-2)
b) 3 != 3
f)pow(3,2) <= 16
c) (2*5) > 3
g) (30 % 7) != 6
d) (5+1) < 2
h) (4+3*3) < 14
20
Disciplina: Programao I
Proposio
Toda proposio uma frase, mas nem toda frase uma proposio. Uma frase uma proposio
apenas quando admite um dos dois valores lgicos: Falso (F) ou Verdadeiro (V). Exemplos:
Frases que no so proposies
Pare!
Quer uma xcara de caf?
Eu no estou bem certo se esta cor me agrada.
Frases que so proposies
A lua o nico satlite do planeta terra (V)
A cidade de Salvador a capital do estado do Amazonas (F)
O numero 712 mpar (F)
Raiz quadrada de dois um nmero irracional (V)
Pergunta: a seguinte frase uma proposio: H vida extraterrestre.
Operadores Lgicos: So utilizados para combinar duas ou mais expresses. Retornam
verdadeiro (true) ou falso (false).
and ou &: conjuno
or ou | : disjuno
!: negao
e (lgico)
ou (lgico)
Proposio B
Verdadeiro
Verdadeiro
Falso
Falso
verdadeiro
Falso
verdadeiro
Falso
Operador and (A e
B)
V
F
F
F
Operador or (A ou B)
Operador ! (no A)
V
V
V
F
F
F
V
V
Exemplo:
( 4 > 5) and (2 != 4) F and V F
( 4 > 5) or (2 != 4) F or V V
Exerccios: Qual o valor lgico das expresses abaixo:
a) (2*5>3) or (5+1<2) and (2<7-2) V or F and V => V or F => V
b) (2>3) or (3<2) and (2<3) F or F and V => F or F => F
20
Disciplina: Programao I
a) x
20
c) x
Disciplina: Programao I
delta
x1 = (-b + pow (delta , 0.5) ) / (2 * a)
2a
d) x
e) x
f) x
5
x = pow (5, 0.5) / (3 * a)
3a
32 x
.9
4 x
( x 1) 2
3,6
2a
Exerccios de fixao
1) Resolva as expresses lgicas, determinando se a expresso verdadeira (True) ou falsa (False):
a.) (12 < 13) =
b.) (6 < 8) or (3 > 7) =
c.) !(pow (2,4) < 23) =
d.) ( 15 == 6) or ( 16< 7) and ! (a+5-6 == 8) {onde a = 7} =
2) Construa a tabela verdade.
3) Identificar o tipo de dado (inteiro, real, caractere ou lgico) de cada valor abaixo.
a) 21 :
b) bola :
c) 0.21 :
d) 4 :
e) 0.21 :
f) aaabbb :
g) False :
h) True :
20
Disciplina: Programao I
b)
c)
d)
Y
2
3
1
2
Z
5
1
2
1
Variveis
COR
AZUL
VERDE
BRANCO
AZUL
NOME
PAULO
JOSE
PEDRO
JOSE
(X*X + Y) > Z
False
Relaes
COR ==AZUL
NOME != JOSE
20
Disciplina: Programao I
Linguagem Python
O que vamos aprender?
- Programar em Python
- Aprender lgica de programao, pois esta a base para todo o resto: desenvolvimento Web,
Games e etc.
Caractersticas bsicas
- Permite focar no problema, sem perder tempo na sintaxe: permite dedicar o seu tempo na soluo
do problema sem pensar em detalhes tcnicos.
- Interativa: tem dois modos de programao, o modo interativo e modo de programao. No
modo interativo, permite testar os comandos obtendo a resposta rapidamente.
- Alta produtividade: os programas em python so mais enxutos, calcula-se que um programa em
Java ou em C que tenha 100 linhas, em Python tem s 15.
- Bibliotecas: na instalao padro, j tem todas as bibliotecas instaladas para fazer coisas
importantes, como, acesso a banco de dados, fazer uma janela (interface grfica).
- Comunidade atuante.
- Linguagem orientada a objetos, funcional e estruturada.
- Linguagem de uso geral versus nichos: uma linguagem que se pode desenvolver sistemas para
WEB, computao grfica, computao cientfica, por exemplo a linguagem rubi, mais forte para
sistemas Web.
20
Disciplina: Programao I
# comentario
=> Adio
=> subtrao
>>> 5+4*2
13
=> precedncia da multiplicao
>>> (5+4)*2
18
=> precedncia dos parnteses
>>> 5/2
2
=> diviso entre nmeros inteiros resultar em um nmero inteiro
>>> 5 % 2
1
=> operador % significa resto da diviso entre inteiros
>>> 5.0 / 2.0
2.5
=> diviso entre nmeros reais resultar em um nmero real
>>> 6 / 2.3
20
2.608695652173913
Disciplina: Programao I
=> diviso entre um nmero inteiro e um nmero real resultar em um nmero real.
20
Disciplina: Programao I
>>> r != c
True
>>> r > c
True
>>> r < c
False
>>> r = "Maria"
>>> c = "Joao"
>>> r = = c
False
>>> r != c
True
>>> c = "MARIA"
>>> r = = c
False
>>> c = "Maria"
>>> r = = c
True
>>> c= 2
>>> C=3
>>> r = 2
>>> c == r
True
>>> C == r
False
>>> print (C)
3
20
Disciplina: Programao I
>>> print (" Ola \n Mundo ") # print com o \n (cursor na prxima linha).
Ola
Mundo
Entre aspas temos o que chamamos de formato, o que aparecer na tela. A string %s significa que
colocaremos um conjunto de caracteres e %d significa que ali ser colocado um inteiro. Depois do formato
colocamos um separador (um %") e, entre parnteses uma lista separada por vrgulas, das variveis que queremos
que substituam os cdigos. Exemplo:
>>> meunome = "Rogerio"
>>> matricula = 991100
>>> print ("Meu nome e %s e minha matricula %d" %(meunome, matricula))
Meu nome e Rogerio e minha matricula 991100
20
Disciplina: Programao I
4r 3
)
3
20
Disciplina: Programao I
20
Disciplina: Programao I
print (" A raiz cbica de %4.2f e o numero %4.2f " %(numero, cubo))
Salve o script: File -> Save , salve com um nome vlido e com extenso .py (exerc09.py)
Aperte F5, para executar o script
Fluxograma
Consiste em analisar o enunciado do problema e escrever, utilizando smbolos grficos
predefinidos, a soluo.
Indica que uma entrada de dados (em
uma varivel).
Indica deciso.
losango
ALGORITMO
CODIFICAO
TESTE
//entrada
distancia
valorLitro
desempenho
pedagio
valorTotal=(distancia*valorLitro)/desempenho + pedagio
distancia:100
valor do litro:2.79
Km por litro: 10
pedagio: 10
valor do combustvel: 37.9
//sada
valorTotal
11. Calcular os juros simples de uma aplicao financeira. Juros = capital * taxa/100 *periodo
ANLISE
ALGORITMO
CODIFICAO
//entrada
capital
taxa
perodo
// processamento
calcular juros
juros=capital*(taxa/100)*periodo
//sada
juros
TESTE
Capital: 1000
Taxa: 2
Periodo: 4
Juros vale: 80
20
Disciplina: Programao I
12. Calcular o valor de x1 e x2 em uma equao do 2 grau (considere que o valor de delta positivo).
ANLISE
ALGORITMO
CODIFICAO
TESTE
//entrada de dados
a
b
c
// processamento
Calcula delta
Calcula x1
Calcula x2
// Sada
x1
x2
valor de a: 1
valor de b: 3
valor de c: -4
x1 vale: 1
x2 vale: -4
ALGORITMO
CODIFICAO
TESTE
//entrada
comprimento
largura
// processamento
Calcular o perimetro
// sada
perimentro
Comprimento:10
Largura: 5
Perimetro: 30
14. Calcule a rea e o permetro de um quadrado. (frmulas: area = lado*lado e permetro = 4*lado).
ANLISE
// entrada
lado
//processamento
Calcular a area
Calcular o permetro
// sada
area
perimetro
ALGORITMO
CODIFICAO
TESTE
Lado: 3
Area: 9
Perimetro: 12
20
Disciplina: Programao I
ALGORITMO
CODIFICAO
TESTE
valor em KM: 10
metros: 10000
//entrada
quilometros
//processamento
Converter para metros
//sada
metros
16. Uma empresa paga o salrio bruto dos funcionrios e deduz 5% de imposto. Qual o salrio lquido e o valor do
desconto para cada funcionrio.
Tela: Salrio Bruto (R$): 1000.00
Imposto de Renda: R$ 50.00
Salrio Lquidio: R$ 950.00
ANLISE
ALGORITMO
CODIFICAO
TESTE
Salario Bruto: 1000
Imposto: 50
Liquido: 950
//entrada
salarioBruto
//processamento
Calcular imposto
Calcular salarioLiquido
// sada
imposto
salarioLiquido
entrada de dados:
raio
processamento:
clculo do volume
sada de dados:
volume
ALGORITMO
4r 3
)
3
CODIFICAO
TESTE
Teste (Tela):
Valor do raio:3
Volume vale: 113.04
18. Calcule a mdia final (mdia ponderada) da disciplina de lgica de programao, de acordo com a seguinte
frmula: mdia _ final nota _ prova * 0.8 nota _ trabalho * 0.2 )
ANLISE
ALGORITMO
CODIFICAO
TESTE
20
Disciplina: Programao I
Teste (Tela):
nota da prova:8
nota do trabalho:6
nota final: 7.6
entrada de dados
nota da prova
nota do trabalho
processamento
calcular nota final
sada
nota final
ALGORITMO
CODIFICAO
entrada de dados
numero
R
TESTE
Numero: 9
raiz quadrada: 3
raiz cubica: 2.08
processamento
Calcular raiz quadrada
Calcular raiz cbica
sada
raiz quadrada
raiz cbica
cateto adjacente: 3
cateto oposto: 4
hipotenusa vale: 5
// processamento
Calcular a hipotenusa
// sada
hipotenusa
20
Disciplina: Programao I
21.) Um funcionrio recebe um salrio fixo mais 4% de comisso sobre vendas. Faa um programa que receba o
salrio fixo do funcionrio e o valor de suas vendas, calcule e mostre a comisso e seu salrio final.
ANLISE
ALGORITMO
CODIFICAO
TESTE
22.) Faa um programa que receba o peso de uma pessoa, calcule e mostre:
a) O novo peso, se a pessoa engordar 15% sobre o peso digitado;
b) O novo peso, se a pessoa emagrecer 20% sobre o peso digitado.
ANLISE
ALGORITMO
CODIFICAO
TESTE
20