Você está na página 1de 20

Faculdade de Tecnologia de Ourinhos

Curso: Segurana da Informao


Professor Rogrio

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

Faculdade de Tecnologia de Ourinhos


Curso: Segurana da Informao
Professor Rogrio

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

Faculdade de Tecnologia de Ourinhos


Curso: Segurana da Informao
Professor Rogrio

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?

Algoritmo 7 - 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
Tipos de Dados: Os dados necessrios para a execuo de um programa 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)
Variveis: Nos algoritmos destinados a resolver um problema no computador, cada varivel
corresponde a uma posio de memria, cujo contedo pode variar ao longo do tempo durante a execuo
de um programa. Embora possa assumir diferentes valores, ela s pode armazenar um valor a cada
instante.

20

Faculdade de Tecnologia de Ourinhos


Curso: Segurana da Informao
Professor Rogrio

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

Exerccios: 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)

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

Faculdade de Tecnologia de Ourinhos


Curso: Segurana da Informao
Professor Rogrio

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)

Prioridade ou precedncia de Operadores Lgicos:


Prioridade mais alta: !
Prioridade mdia: and ou &
Prioridade baixa: or ou |
Complete a tabela verdade abaixo:
Proposio A

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

Faculdade de Tecnologia de Ourinhos


Curso: Segurana da Informao
Professor Rogrio

Disciplina: Programao I

c) (2>3) and (3<2) or (2<3) F and F or V => F or V => V


d) (6<8) or (3>7) V or F => V
e) (5>=6) or (6<7) or !(a+5-6==8) {onde a = 5} F or V or !(F) = V
f) ( 4 > 5) or (2 == 4) or (2+3*4 < 15) = F or F or V = V
g) (6 % 2 == 3) or ( 6 >= 4) or (5+3*2 > 12 )= F or V or F = V
Precedncia de operadores (prioridade)
Considere a Tabela
Precedncia Operador
Aritmtico
1. parnteses ( )
2. Funes, por exemplo, pow ()
3. * , / ou %
4. + ou Relacional
Lgico
1. no
2. e
3. ou
Exemplo:
(4 + 5 >= 9) ou (3 <= 2)
(9 >= 9) ou ( F )
(V) ou (F)
V
(6 % 2 = 3) ou ( 6 >= 4) e (5 + 3*2 > 12 )
(0 = 3) ou (V) e (11> 12)
F ou V e F
F ou F F
Linearizao de Comandos: Todas as expresses matemticas devem ser colocadas em uma linha,
devendo ser feito o mapeamento dos operadores (precedncia).
a
x a/b
b
ab
b) x
x ( a b) / c
c

a) x

20

Faculdade de Tecnologia de Ourinhos


Curso: Segurana da Informao
Professor Rogrio

c) x

Disciplina: Programao I

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

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

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

Faculdade de Tecnologia de Ourinhos


Curso: Segurana da Informao
Professor Rogrio

Disciplina: Programao I

4) Assinale com um X os nomes de variveis vlidos.


( ) abc ( ) 3abc
( )a
( ) 123a
( ) a ( ) acd1
( ) A&a
( ) guarda-chuva
( ) A123 ( ) Aa ( ) guarda_chuva
( ) ABC DE ( ) etc.
( ) b316
5) Qual a regra para os nomes de variveis (identificadores) em uma linguagem de programao?

6) Desenvolva a linearizao das expresses abaixo.


a)

b)

c)

d)

7) Sendo P, Q, R variveis inteiras e S, varivel real, cujos valores, em um determinado momento


da execuo do programa, so respectivamente 2, 3, 12 e 4.5, quais so os valores de cada uma das
seguintes expresses aritmticas?
a) 100 * (R / P) + Q =
b) P * (R % 5) Q =
c) pow (R Q, 0.5) + S =
8) Complete a tabela.
X
1
4
1
1

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

9) Considerando as variveis (A=3, B=16, NOME=MIRIAM E PROFISSAO=ADVOGADO),


avalie as expresses a seguir.
a) ( (A+1) > pow (B,0.5) ) or (NOME != ANA)
b) ( (A+1) > pow (B,0.5) ) and (PROFISSAO!= MEDICO)

20

Faculdade de Tecnologia de Ourinhos


Curso: Segurana da Informao
Professor Rogrio

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

Faculdade de Tecnologia de Ourinhos


Curso: Segurana da Informao
Professor Rogrio

Disciplina: Programao I

Exerccios: Utilizando o Python Shell, digite os seguinte comandos.


1) (operadores matemticos) Digite os seguintes comandos:
O interpretador atua como uma calculadora bem simples: voc pode digitar uma expresso e o
valor resultando ser apresentado aps a avaliao da expresso. A sintaxe da expresso a usual:
operadores +, -, * e / funcionam da mesma forma que em outras linguagens tradicionais.
O sinal de igual (=) utilizado para atribuio de um valor a uma varivel. Nenhum resultado
exibido at o prximo prompt interativo:
>>> width = 20
>>> height = 5*9
>>> width * height
900
>>>lado = 6
>>>area = lado*lado
>>>area
36
Um valor pode ser atribudo a diversas variveis simultaneamente:
>>> x = y = z = 0
# Zero x, y e z
>>> x
0
>>> y
0
>>> z
0
>>> 5+6
11
>>> 5-6
-1

# 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

Faculdade de Tecnologia de Ourinhos


Curso: Segurana da Informao
Professor Rogrio

2.608695652173913

Disciplina: Programao I

=> diviso entre um nmero inteiro e um nmero real resultar em um nmero real.

>>> pow (9,2)


81 => pow (significa elevado ou raiz), neste caso, nove elevado a 2.
>>> pow ( 9, 0.5 )
3.0 => raiz quadrada de nove.
>>> pow (27, 0.333333333)
2.999999996704163 => raiz cbica de 27
>>> pow (27, 0.3333333334)
3.0000000006591674 => raiz cbica de 27

2) (operadores relacionais) Digite os seguintes comandos:


>>> 9 = = 9
True
>>> 9 != 9
False
>>> 9 > 8
True
>>> 9 < 8
False
>>> 9 >= 7
True
>>> 9 <= 9
True

# comentrio => igual


# => diferente

# => maior que


# => menor que
# =>maior ou igual que
# => menor ou igual que

3) (operadores lgicos) Digite os seguintes comandos:


>>> (9 > 8) & (8 >= 5) #
=> operador &, equivale a e
True
>>> (9 > 8) & (8 <= 5)
False
>>> (9 > 8) | (8 >= 5)
# => operador |, equivale a ou
True
>>> (9 < 8) | (8 <= 5)
False
4) (Com variveis) Digite os seguintes comandos:
>>> r = 5
>>> c = 4
>>> r = = c
False

20

Faculdade de Tecnologia de Ourinhos


Curso: Segurana da Informao
Professor Rogrio

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

5) (Exibindo dados com print) Digite os seguintes comandos:


>>> print (" valor de ",C ) # print usado para exibir dados.
valor de 3
>>> print (" valor de C ", C, " e valor de r ", r)
valor de C 3 e valor de r 2
>>> print (" ola Mundo")
ola Mundo

20

Faculdade de Tecnologia de Ourinhos


Curso: Segurana da Informao
Professor Rogrio

Disciplina: Programao I

>>> print (" Ola \n Mundo ") # print com o \n (cursor na prxima linha).
Ola
Mundo

6) (Exibindo dados formatados) Digite os seguintes comandos:


%d para valores do inteiros.
%f ou %x.xf (%4.2f) para valores do tipo real ou ponto flutuante.
%s para valores do tipo caractere ou alfanumrico.
>>> idade = 25
>>> print ("idade : %d ", idade)
idade : %d 25
>>> print ("idade : %d " %idade)
idade : 25
>>> print (" %d e a sua idade " %idade)
25 e a sua idade
>>> valor = 7.5
>>> print (" a variavel valor vale : %4.2f" %valor)
a variavel valor vale : 7.50
>>> print (" a variavel valor vale : %10.2f" %valor)
a variavel valor vale :
7.50
>>> print (" a variavel valor vale : %10.4f" %valor)
a variavel valor vale : 7.5000

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

Faculdade de Tecnologia de Ourinhos


Curso: Segurana da Informao
Professor Rogrio

Disciplina: Programao I

Exerccios: Desenvolva na linguagem Python os seguintes programas:


1 Exiba na tela do computador a mensagem: Aprendendo programao!!!.
2. Exiba na tela do computador a mensagem: Aprendendo programao!!! Na disciplina de
Algoritmos.
3. Exiba na tela do computador a mensagem: Aprendendo programao!!!.
Na disciplina de Algoritmos.
4. Exiba na tela do computador a mensagem: Aprendendo programao!!!.
Na disciplina de Algoritmos.
Fica tudo mais fcil.
Entrada de dados
Os programas precisam em algum momento de alguma interao com o usurio. J vimos como
funcionam as impresses por meio da sada padro do sistema, e agora veremos como podemos realizar
entradas de informaes para nossos programas em Python.
Pode-se dizer que existem duas grandes formas de realizar entradas de dados em Python:
input() - entrada padro. Exemplo:
Verso 3.1
a = float ( input ("Entre com um valor ")) => entrada de dados n. REAL
Entre com um valor 6.7
a = int ( input ("Entre com um valor ")) => entrada de dados n. INTEIRO
Entre com um valor 6
5. Calcule a rea e o permetro de um quadrado. (frmulas : rea = lado*lado e permetro = 4*lado).
Tela: Entre com o valor do lado: 6
A rea vale: 36
O permetro vale: 24
lado = float (input ("Entre com o valor do lado: "))
area = pow (lado,2)
permetro = 4*lado
print (" A area vale : %4.2f" %area)
print (" o perimetro vale : %4.2f" %permetro)
6.. Calcule o volume de uma esfera. (frmula: V
Tela:

4r 3
)
3

Entre com o valor do raio: 3


O volume vale: 113.10

Observao: import math


PI = math.pi
7.. Calcule a mdia final (mdia ponderada) da disciplina de lgica de programao sabendo que o aluno tem de
nota final das provas o valor de 8 e de nota final dos trabalhos o valor 7. (frmula:
mdia _ final nota _ prova * 0.7 nota _ trabalho * 0.3 )
Tela: Nota final das provas: 8.0

20

Faculdade de Tecnologia de Ourinhos


Curso: Segurana da Informao
Professor Rogrio

Disciplina: Programao I

Nota final dos trabalhos: 7.0


======================
A mdia final vale: 7.7
8. Calcule o valor do resto e do quociente da diviso de dois nmeros inteiros.
Tela: Entre com um nmero inteiro: 18
Entre com outro nmero inteiro: 4
O resto vale: 2
O quociente vale: 4
9. Calcule a raiz quadrada e raiz cbica de um determinado nmero.
Tela: Entre com um nmero: 9
A raiz quadrada de 9 o nmero 3.
A raiz cbica de 9 o numero 2.08.
Soluo 1 exerccio 9, sem dados formatados
Entre no Editor de Scripts (Python) : Iniciar -> Python -> IDLE (Python GUI)
Para criar um script (arquivo), aperte ctrl + n.
Digite o seguinte script:
# Autor: Rogerio
# Programa: Exerccio 9
# Entrada de Dados
numero = float (input (" Digite um numero : "))
# Processamento
quadrado = pow (numero, 0.5)
cubo = pow (numero , 0.33333333)
# Saida
print (" A raiz quadrada de %4.2f e %4.2f" %(numero,quadrado))
print (" A raiz cbica de %4.2f e %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
Soluo 1 exerccio 9, com dados formatados
Entre no Editor de Scripts (Python) : Iniciar -> Python -> IDLE (Python GUI)
Para criar um script (arquivo), aperte ctrl + n.
Digite o seguinte script:
# Autor: Rogerio
# Programa: Exerccio 9
# Entrada de Dados
numero = float (input (" Digite um numero : "))
# Processamento
quadrado = pow (numero, 0.5)
cubo = pow (numero , 0.33333333)
# Saida
print (" A raiz quadrada de %4.2f e o numero %4.2f " %(numero, quadrado))

20

Faculdade de Tecnologia de Ourinhos


Curso: Segurana da Informao
Professor Rogrio

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

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


ANLISE

ALGORITMO

CODIFICAO

TESTE

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


valorLitro = float(input("valor do litro: "))
desempenho = float(input ("Km por litro: "))
pedagio = float(input ("Pedagio: "))

//entrada
distancia
valorLitro
desempenho
pedagio

valorTotal=(distancia*valorLitro)/desempenho + pedagio

print(" valor do combustivel: %4.2f" %valorTotal)


//processamento
Calcular valorTotal

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

capital = float (input("Capital:"))


taxa= float (input("Taxa:"))
periodo= float(input("Periodo :"))

// processamento
calcular juros

juros=capital*(taxa/100)*periodo

//sada
juros

print ("Juros vale: %4.2f" %juros)

TESTE
Capital: 1000
Taxa: 2
Periodo: 4
Juros vale: 80

20

Faculdade de Tecnologia de Ourinhos


Curso: Segurana da Informao
Professor Rogrio

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

a = float (input( " valor de a: "))


b = float (input( " valor de b: "))
c = float (input( " valor de c: "))

//entrada de dados
a
b
c

delta = pow (b,2) - 4*a*c


x1 = (-b - pow (delta,0.5)) / (2*a)
x2 = (-b + pow (delta,0.5)) / (2*a)
print (" x1 vale: %4.2f" %x1)
print (" x2 vale: %4.2f" %x2)

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

13. Calcular o valor do Permetro ( 2*comprimento + 2*largura ) de um retngulo.


ANLISE

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

Faculdade de Tecnologia de Ourinhos


Curso: Segurana da Informao
Professor Rogrio

Disciplina: Programao I

15. Dado o valor em quilmetros, converte esse valor em metros.


ANLISE

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

Exerccios: Desenvolva o algoritmo (fluxograma) e a codificao.


17. Calcule o volume de uma esfera. (frmula: V
ANLISE

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

Faculdade de Tecnologia de Ourinhos


Curso: Segurana da Informao
Professor Rogrio

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

19. Calcule a raiz quadrada e raiz cbica de um determinado nmero.


ANLISE

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

Exerccios: Desenvolva a codificao de acordo (na linguagem C) de acordo com o fluxograma.


20. Leia os valores dos catetos de um tringulo e exiba a hipotenusa (hipotenusa 2 = cateto12 + cateto22)
//entrada
catetoOposto
catetoAdjacente

cateto adjacente: 3
cateto oposto: 4
hipotenusa vale: 5

// processamento
Calcular a hipotenusa
// sada
hipotenusa

20

Faculdade de Tecnologia de Ourinhos


Curso: Segurana da Informao
Professor Rogrio

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

Exerccio: Vamos fazer os fluxogramas e as codificaes.


23) Faa um programa que calcule e mostre a rea de um losango. Sabendo-se que
Area = (diagonal maior * diagonal menor) / 2
24) Faa um programa que receba o valor do salrio mnimo e o valor do salrio de um funcionrio, calcule e mostre a
quantidade de salrios que esse funcionrio ganha.
25) Faa um programa que receba o ano do nascimento de uma pessoa e o ano atual, calcule e mostre:
a) A idade da pessoa em anos;
b) A idade da pessoa em meses;
c) A idade da pessoa em dias.

20