Você está na página 1de 21

Programao I

Professor Rogrio

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. 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.

Conceitos Bsicos
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.

Conceitos Bsicos
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
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.

O que Lgica
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
Algoritmos uma sequncia de passos que visa atingir um
objetivo bem definido.
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.

Exerccio de Algoritmos
Exerccio das moedas.
Desenhe 5 crculos. Nos crculos 1 e 2 coloque uma
moeda de 5 e nos crculos 4 e 5 uma moeda de 10.
Objetivo: Trocar as moedas de lugar
Regras: Cada moeda s avana em uma direo e s um
crculo.
Se encontrar outra moeda, poder salt-la desde que o
prximo crculo esteja desocupado.

Programao em Python
Vdeo: TPW 000 Apresentao e Motivao

Programao em Python
Tipos de Dados: Os dados necessrios para a execuo de um
programa e devero ser identificados em um dos tipos abaixo:
Exemplo:
Joo tem 25 anos. (INTEIRO)
Esta classe tem 40 alunos. (INTEIRO)
Ana tirou 9.5 em matemtica. (REAL)
A altura de Pedro 1.85m (REAL)
A placa daquele carro BPP 6745. (CARACTERE)
O nome dela : Maria. (CARACTERE)

Programao em Python
Variveis: Cada varivel corresponde a uma posio de
memria, cujo contedo pode variar durante a execuo de um
programa. Embora possa assumir diferentes valores, ela s pode
armazenar um valor a cada instante.
CPU (unidade central de
processamento) ,
mmoria interna

Monitor (Unidade de Sada


de Dados)

Caixa de Som
(Unidade de Sada de
Dados)

Mouse (Unidade de
Entrada de Dados)

Teclado (Unidade de
Entrada de Dados)

Programao em Python
Variveis:
Cada
varivel
corresponde a uma posio de
memria, cujo contedo pode
variar durante a execuo de um
programa. Embora possa assumir
diferentes valores, ela s pode
armazenar um valor a cada
instante.

Memria interna

nome

sobrenome

e-mail

Memria interna (diviso)

Programao em Python
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.
Nomes vlidos: a , A, nome, nome_funcionario, A12.
Nomes invlidos: 1A, 20_B, if, for, int.

Programao em Python
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:
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

Programao em Python
Operadores Relacionais: So necessrias para fazer algum
tipo de comparao. O resultado sempre um valor lgico
verdadeiro (true) ou falso (false).
== (igualdade) , >, <, >=, <=, != (diferente)
Exemplo:
10 > 7 => verdadeiro (true)
7 != 7 = >falso (false)
Importante: um sinal de = significa atribuio

Programao em Python
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)

Prioridade ou precedncia de Operadores Lgicos:


Prioridade ( ! ; and ou & ; or ou | )
Exemplo:
( 4 > 5) and (2 != 4) F and V F
( 4 > 5) or (2 != 4) F or V V
Proposio A
Verdadeiro
Verdadeiro
Falso
Falso

Proposio B
verdadeiro
Falso
verdadeiro
Falso

Operador and (A e B)
V
F
F
F

Operador or (A ou B)
V
V
V
F

Operador ! (no A)
F
F
V
V

Exerccio 1: Resolva as expresses determinando o valor de x.


a) x = 5 + 3 * 2 + 8

b) x = ( 5 + 3 * 2) % 4

c) x = 64 / pow (4,2)

Exerccio 2: Determine os valores lgicos das expresses.


a) (2+5) > 4
e) 2 < (7-2)

b) 3 != 3
f)pow(3,2) <= 16

c) (2*5) > 3
g) (30 % 7) != 6

Exerccio 3: 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
c) (2>3) and (3<2) or (2<3)
d) (6<8) or (3>7)
e) (5>=6) or (6<7) or !(a+5-6==8) {onde a = 5}
f) ( 4 > 5) or (2 == 4) or (2+3*4 < 15)
g) (6 % 2 == 3) or ( 6 >= 4) or (5+3*2 > 12 )

d) (5+1) < 2
h) (4+3*3) < 14

Programao em Python
Linearizao de Comandos: Todas as expresses matemticas
devem ser colocadas em uma linha, devendo ser feito o
mapeamento dos operadores (precedncia).
x

ab
x ( a b) / c
c

b delta
x
2a

a
x a/b
b

x1 = (-b + pow (delta , 0.5) ) / (2 * a)


x2 = (-b - pow (delta , 0.5) ) / (2 * a)

Programao em Python
TWP010 : Hello World Interativo
TWP020 : Variveis e Modo de Edio
Desenvolver o exerccio 1 das pginas 10 e 11 (apostila do professor).
TWP030 : Operadores relacionais e lgicos
Desenvolver os exerccios 2,3 e 4 das pginas 11 e 12 (apostila do professor).
TWP040 : Marcadores
Desenvolver os exerccios 5 e 6 das pginas 12 e 13 (apostila do professor).
TWP050 dinmica, forte e mltipla
TWP052 Teste de Mesa ou Simulao
TWP053 Entrada de Dados
Desenvolver os exerccios de 1 a 14 das pginas 14 e 15.

Fluxograma
Consiste em analisar o enunciado do problema e escrever,
utilizando smbolos grficos predefinidos, a soluo.

Indica o incio e fim da


soluo
Paralelogramo

Indica
sada
de
dados,
normalmente em um monitor.

Indica o qual o sentido do


fluxo de instrues

Indica
um
processo,
normalmente
uma
atribuio de valores a uma
varivel

Indica que uma entrada de


dados (em uma varivel).

Indica deciso.
losango

10. Calcular o valor de uma viagem de uma cidade a outra.


ANLISE

ALGORITMO

CODIFICAO

TESTE

//entrada
distancia
valorLitro
desempen
ho
pedagio
//processamento

Calcular valorTotal
//sada
valorTotal

distancia = float(input("distancia: "))


valorLitro = float(input("valor do litro: "))
desempenho = float(input ("Km por litro: "))
pedagio = float(input ("Pedagio: "))
valorTotal=(distancia*valorLitro)/desempenho + pedagio
print(" valor do combustivel: %4.2f" %valorTotal)

distancia:100
valor do litro:2.79
Km por litro: 10
pedagio: 10
valor do combustvel: 37.9