Você está na página 1de 29

Introduo Programao

Algortmos e Programao

2 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

3 Lgica de programao

SEQNCIA LGICA: ? 1. 2. 3. !
Estes pensamentos podem ser descritos como uma sequncia de

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

4 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

5 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

6 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

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

9 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

10

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

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

12 Lgica de programao

FASES para desenvolver o algoritmo: Determinar o problema, definir bem o algortmo Dividir a soluo nas trs fases:

ENTRADA
Exemplo:

PROCESSAMENTO

SADA

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 final 4

13 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

14

Exerccios
A.

Escreva a seqncia de passos para que uma pessoa abra um arquivo armazenado em um pen drive utilizando o Word do Windows

B. Escreva os passos necessrios para uma pessoa efetuar um saque em um caixa eletrnico

15

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

16 Lgica de programao

TESTE DE MESA
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

17 Lgica de programao

Varivel
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>)

18 Lgica de programao

Exemplo SEQENCIAL:

Calcular a mdia de quatro nmeros


PSEUDOCDIGO: VARIVEIS:

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

no pseudocdigo

VARIVEL

19

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;

20

Operadores Aritmticos

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

21

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.

22

Operadores
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

Lgica de programao

Usados para incrementar, decrementar, comparar e avaliar dados,

Precedncia dos operadores

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

24

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 ( )

25 Lgica de programao

Operadores lgicos combinam resultados lgicos, gerando

novos valores lgicos (verdadeiro ou falso). A tabelaverdade abaixo mostra todos os valores possveis de se obter com oper. lgicos:

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

26 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) (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...

27

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) A > 3 E C = 8 2) A <> 2 OU B <= 5 3) A = 3 OU B >= 2 E C = 8 4) A = 3 E NO B <= 4 E C = 8 5) A <> 8 OU B = 4 E C > 2 6) B > A E C <> A 7) A > B OU B < 5 8) A <> B E B = C 9) C > 2 OU A < B 10) A > B OU B > A E C <> B ( ( ( ( ( ( ( ( ( ( ) ) ) ) ) ) ) ) ) )

28

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) ( )

29

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