Você está na página 1de 29

Introduo

Programao
Deise Saccol

Lgica de programao
Adaptado de slides das Profas. Patrcia Jaques e Mnica Py

Lgica de
programao

LGICA DE PROGRAMAO:
Tcnica de encadear pensamentos para atingir
determinado objetivo
Necessria para desenvolver programas e sistemas,
pois permite definir a seqncia lgica para a
soluo de um problema

SEQNCIA LGICA:

? 1. 2. 3. !

Estes pensamentos podem ser descritos como uma


seqncia de instrues, que devem ser seguidas
para se cumprir uma determinada tarefa
Passos executados at se atingir um objetivo ou
soluo de um problema

Lgica de
programao

INSTRUO:
Cada um dos passos, cada uma das aes a
tomar (obedecendo a seqncia lgica) para ir
resolvendo o problema, ou para ir executando a
tarefa
Em informtica, a informao que indica a um
computador uma operao elementar a executar
Ex.: somar, subtrair, comparar se maior, etc

Uma s instruo no resolve problemas


Executar um conjunto de instrues
Executar em uma seqncia lgica
3

Lgica de
programao

EXEMPLO: para fazer omelete


Instrues: quebrar ovos, bater ovos, pr
sal, ligar fogo, pr leo na frigideira, pr
frigideira no fogo, fritar ovos batidos, etc...

Quanto s instrues isoladas:


S quebrar ovos, ou s pr leo na frigideira,
no suficiente para cumprir a tarefa fazer
omelete

Quanto seqncia lgica:


Se executarmos fritar ovos batidos antes de
bater ovos, ou pior, antes de quebrar ovos,
no iremos cumprir a tarefa fazer omelete
4

Lgica de
programao

ALGORITMO:
Seqncia finita de passos que levam execuo
de uma tarefa
Claro e preciso. Ex. somar dois nmeros:
Escrever primeiro nmero no retngulo A
Escrever segundo nmero no retngulo B
Somar o nmero do retngulo A com o nmero do
retngulo B e escrever o resultado no retngulo C

B
+

C
=

Exemplo de algoritmo
Quando uma dona de casa prepara um bolo,
segue uma receita, que nada mais do que
um algoritmo em que cada instruo um
passo a ser seguido para que o prato fique
pronto com sucesso:
1. Bata 4 claras em neve
2. Adicione 2 xcaras de acar
3. Adicione 2 colheres de farinha de trigo, 4
gemas, uma colher de fermento e duas
colheres de chocolate
4. Bata por 3 minutos
5. Unte uma assadeira com margarina e farinha
de trigo
6. Coloque o bolo para assar por 20minutos

Exemplo de algoritmo
Um motorista que necessita efetuar a troca de
um pneu furado segue uma rotina para
realizar essa tarefa:
1. Verifica qual pneu est furado
2. Posiciona o macaco para levantar o carro
3. Pega o estepe
4. Solta os parafusos
5. Substitui o pneu furado
6. Recoloca os parafusos
7. Desce o carro
8. Guarda o macaco e o pneu furado
7

Lgica de
programao

PROGRAMA:
Algoritmo escrito em uma linguagem de
computador (linguagem de programao - C,
Pascal, COBOL, Fortran, Basic, Java, etc.)
Interpretado e executado por um computador
Interpretao rigorosa, exata, do computador
escrita do algoritmo na linguagem de prog.
tem que seguir regras mais rigorosas

Tipos de algoritmos

Lgica de
programao

PSEUDOCDIGO:
Facilita descrever o algoritmo antes de pass-lo
para uma linguagem de programao
Intermediria: linguagem natural linguagem de
programao
Pseudocdigo = cdigofalso

FLUXOGRAMA:
uma forma universal de representao, pois se
utiliza de figuras geomtricas para ilustrar
passos a serem seguidos para a resoluo de
problemas
9

Lgica de
programao

PSEUDOCDIGO:
Descrio do algoritmo, menos rigorosa que na
linguagem de programao (cdigo fonte)
Fcil de entender e fcil de codificar depois
Independente da linguagem de programao
Simples e objetivo Tcnicas:

10

Lgica de
programao

FASES para desenvolver o algoritmo:


Determinar o problema, defin-lo bem
Dividir a soluo nas trs fases:
ENTRADA

PROCESSAMENTO

SADA

Exemplo:
Problema: calcular a mdia de quatro nmeros
Dados de entrada: os nmeros, N1, N2, N3 e N4
Processamento: somar os quatro nmeros e
dividir a soma por 4
N1 + N2 + N3 + N4
Dados de sada: a mdia final4
11

Lgica de
programao

Algoritmo:

Receber o primeiro nmero


Receber o segundo nmero
Receber o terceiro nmero
Receber o quarto nmero
Somar todos os nmeros
Dividir a soma por 4
Mostrar o resultado da diviso

12

Exerccios
A. Escreva a seqncia de passos para
que uma pessoa abra um arquivo
armazenado em um disquete
utilizando o Word do Windows
B. Escreva os passos necessrios para
uma pessoa efetuar um saque em um
caixa eletrnico

13

Exerccios da lista
1) Identifique os dados de entrada, processamento e sada
no algoritmo abaixo
Receba cdigo da pea
Receba valor da pea
Receba Quantidade de peas
Calcule o valor total da pea (Quantidade * Valor da
pea)
Mostre o cdigo da pea e seu valor total
2) Faa um algoritmo para Calcular o estoque mdio de
uma pea, sendo que
ESTOQUEMDIO = (QUANTIDADE MNIMA + QUANTIDADE
MXIMA) /2

14

TESTE DE MESA

Lgica de
programao

Todo algoritmo deve ser testado


Usar dados e resultados previamente
calculados, seguir precisamente as
instrues do algoritmo e verificar se o
procedimento est correto ou no
Exemplo: Fazer teste de mesa para o
algoritmo da mdia

15

Varivel

Lgica de
programao

Representa uma posio na memria, onde


pode ser armazenado um dado
Possui um nome e um valor
Durante a execuo do algoritmo, pode ter
seu valor alterado (seu valor pode variar)
Mudanas no valor das variveis:
Por entrada de dados (Ler N1)
Por atribuio (MEDIA = <um certo valor>)

16

Lgica de
programao

Exemplo SEQENCIAL:
Calcular a mdia de quatro nmeros
PSEUDOCDIGO:
VARIVEIS:
Ler N1
mais clareza no pseudocdigo
Ler N2

Ler N3
Ler N4
MEDIA = (N1+N2+N3+N4) / 4
Mostrar MEDIA

VARIVEL
17

Atribuio
Atribui o valor da direita varivel da esquerda
O valor pode ser uma constante, uma varivel
ou uma expresso
MEDIA = (N1+N2+N3+N4) / 4
(L-se media recebe N1+...)
Neste caso, estamos atribuindo o resultado da
frmula varivel mdia, ou seja, a varivel
mdia est recebendo como valor o resultado da
frmula

Outros Exemplos:
a = 3;
a = x;

18

Operadores Aritmticos

Exemplos:
MEDIA = (N1+N2+N3+N4) / 4

19

Exerccios
3) Tendo como dados de entrada a altura de uma
pessoa, construa um algoritmo que calcule seu peso
ideal, utilizando a seguinte frmula:
peso ideal = (72.7*h) 58

4) Faca um algoritmo que receba como entrada uma


determinada temperatura em graus Celsius e mostre a
temperatura em fahrenheit
OBS: Fahrenheit = (9/5)*(Celsius) + 32

5) Tendo como entrada o total vendido por um


funcionrio no ms de abril, faa um algoritmo que
mostres a sua comisso e salrio bruto neste ms,
sabendo que o seu salrio base R$1.200,00 e sua
comisso de 10% sobre o total vendido.

20

Operadores

Lgica de
programao

Usados para incrementar, decrementar,


comparar e avaliar dados, que so operaes
bsicas em processamento de dados.
Tipos:
Aritmticos (+, -, *, /, ** ou ^)
Resultados numricos

Relacionais (>, <, >=, <=, =, <> ou #)


Resultados lgicos (V ou F)

Lgicos (e, ou, no)


Combinam resultados lgicos

Precedncia dos operadores


21

Lgica de
programao

Operadores relacionais so muito usados


quando temos que tomar decises nos
algoritmos. Com eles fazemos testes,
comparaes, que resultam em valores
lgicos (verdadeiroExemplo:
ou falso):

tendo duas variveis, A = 5 e B = 3:

22

Exerccios
6) Tendo as variveis SALARIO, IR e SALLIQ, e considerando os
valores abaixo. Informe se as expresses so verdadeiras ou
falsas.

7) Sabendo que A=3, B=7 e C=4, informe se as expresses abaixo


so verdadeiras ou falsas.
a) (A+C) > B
( )
b) B >= (A + 2) ( )
c) C = (B A) ( )
d) (B + A) <= C ( )
e) (C+A) > B
( )

23

Lgica de
programao

Operadores lgicos combinam resultados


lgicos, gerando novos valores lgicos
(verdadeiro ou falso). A tabela-verdade
abaixo mostra todos os valores possveis de
se obter com oper. lgicos:

T = Verdad.
F = Falso
AND = E
OR = OU
NOT = NO

24

Lgica de
programao

Combinando operadores relacionais e


operado-res lgicos criamos operaes
lgicas, que pro-duziro resultados lgicos
(verdadeiro ou falso). Por exemplo, se A = 5,
B = 8 e C = 1:

(A = B) E (B > C) falso (f e v)
(A <> B) OU (B < C)
verdadeiro (v ou f)
NO (A > B) verdadeiro (no f)
(A < B) E (B > C) verdadeiro (v e v)
(A >= B) OU (B = C)
falso (f ou f)
NO (A <= B)
falso (no v)

So usadas em decises nos algoritmos...


25

Exerccios
8. Considere a seguinte atribuio de valores para as
variveis: A=3, B=4, C=8. Avalie as expresses a
seguir indicando o resultado final: verdadeiro ou
falso.
1)
2)
3)
4)
5)
6)
7)
8)
9)

A
A
A
A
A
B
A
A
C

>3EC=8
<> 2 OU B <= 5
( )
= 3 OU B >= 2 E C = 8
= 3 E NO B <= 4 E C = 8
<> 8 OU B = 4 E C > 2
> A E C <> A ( )
> B OU B < 5 ( )
<> B E B = C ( )
> 2 OU A < B ( )

10) A > B OU B > A E C <> B

( )
( )
( )
( )

( )

26

Exerccios
9) Sabendo que A=5, B=4 e C=3 e D=6, informe se as
expresses abaixo so verdadeiras ou falsas.
a) (A > C) AND (C <= D)
( )
b) (A+B) > 10 OR (A+B) = (C+D) ( )
c) (A>=C) AND (D >= C)
( )

27

Exerccios
10) Sabe-se que o uso incorreto da
precedncia de operadores ocasiona erros.
Pensando nisso, determine o resultado das
expresses a seguir (valores: A= 8, B = 5, C
= -4, D = 2)
a) Delta = B2 4 * A * C
b) J = Hoje <> HOJE
c) Media = (A + B + C + D) / 4
d) Media = A + B + C + D / 4
e) Resultado = A + B 10 * C
f) Y = A > 8 E B + C > D
g) Y = A > 3 * 2 OU B + C <> D

28

Exerccios
Fazer exerccios da lista
Arquivo: ExerciciosLogica.doc

29

Você também pode gostar