Anda di halaman 1dari 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
2

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

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

A +

B =

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
6

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

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
PSEUDOCDIGO:

Lgica de programao

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 4 Dados de sada: a mdia final
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:
Ler N1 mais clareza no pseudocdigo Ler N2 Ler N3 Ler N4 MEDIA = (N1+N2+N3+N4) / 4 Mostrar MEDIA

VARIVEIS:

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 (verdadeiro ou falso):
Exemplo: 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 operadores lgicos criamos operaes lgicas, que produziro resultados lgicos (verdadeiro ou falso). Por exemplo, se A = 5, B = 8 e C = 1:
(A = B) E (B > C) (A <> B) OU (B < C) NO (A > B) (A < B) E (B > C) (A >= B) OU (B = C) NO (A <= B) falso (f e v) verdadeiro (v ou f) verdadeiro (no f) verdadeiro (v e v) falso (f ou f) 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 ( ( ( ( ( ( ( ( ( ) ) ) ) ) ) ) ) )
26

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

( )

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