You are on page 1of 35

Lgica de programao

Lgica
Lgica: Segundo o Aurlio a coerncia de raciocnio ou de ideias ... Sequncia coerente... De programao: Sequncia lgica de comandos que um equipamento segue para executar uma tarefa.

Sequncia lgica
Questes para raciocinar: Qual o nmero que completa a sequncia: 1, 3, 6, 10, ... 13 15 12 11 18 Qual o nmero que completa a sequncia: 1, 1, 2, 3, 5, ... 5 6 7 8 9

Lgica
H trs suspeitos de um crime: o cozinheiro, a governanta e o mordomo. Sabe-se que o crime foi efetivamente cometido por um ou por mais de um deles, j que podem ter agido individualmente ou no. Sabe-se, ainda que: se o cozinheiro inocente, ento a governanta culpada; ou o mordomo culpado ou a governanta culpada, mas no os dois; o mordomo no inocente Logo: a governanta e o mordomo so os culpados o cozinheiro e o mordomo so os culpados somente a governanta culpada somente o cozinheiro inocente somente o mordomo culpado

Sequncia lgica

So passos executados at atingir um objetivo ou soluo de um problema.

Instrues
So um conjunto de regras ou normas definidas para a realizao ou emprego de algo. Em informtica, o que indica a um computador uma ao elementar a executar.

Algoritmos
formalmente uma sequncia finita de passos que levam a execuo de uma tarefa. ou um conjunto de passos lgicos, bem definidos, que descreve a soluo de um problema.

Algoritmos dicas de construo


1. Faa uma leitura de todo o problema at o final, a fim de formar a primeira impresso. A seguir, releia o problema e faa anotaes sobre os pontos principais 2.Verifique se o problema foi bem entendido, se preciso releia o problema quantas vezes for preciso para tentar entend-lo 3. Extraia do problema todas as suas sadas 4.Extraia do problema todas as suas entradas 5. Identifique qual o processamento principal

Algoritmos dicas de construo


6. Verifique se ser necessrio algum valor intermedirio que auxilie a transformao das entradas em sadas. Esta etapa pode parecer obscura no incio, mas com certeza no desenrolar do algoritmo, estes valores aparecero naturalmente. 7.Teste cada passo do algoritmo, com todos os seus caminhos para verificar se o processamento est gerando os resultados esperados. 8.Crie valores de teste para submeter ao algoritmo 9.Reveja o algoritmo, checando as boas normas de criao.

Software
So algoritmos escritos numa linguagem de computador (Pascal, C, Cobol, Fortran, Visual Basic, Java, PHP, dentre outras) e que so interpretados e executados por uma mquina, no caso um computador.

Fluxograma
Utilizao de smbolos grficos para representar algoritmos. No fluxograma existem smbolos padronizados para incio, entrada de dados, clculos, sada de dados, fim etc.
Comando
Deciso

Entrada

Sada
Incio/Fim

Fluxograma
Incio do algoritmo Entrada do nmero Clculo do dobro do nmero Apresentao do resultado Fim do algoritmo

Constantes
Constante um determinado valor fixo que no se modifica ao longo do tempo, durante a execuo de um programa. Conforme o seu tipo, a constante classificada como sendo numrica, lgica e literal. 3 =CONSTANTE Pi := 3,141516

Variveis
Varivel a representao simblica dos elementos de um certo conjunto. Cada varivel corresponde a uma posio de memria, cujo contedo pode ser alterado ao longo do tempo durante a execuo de um programa. Embora uma varivel possa assumir diferentes valores, ela s pode armazenar um valor a cada instante. Varivel Contedo NOME := "JOSE" IDADE := 50

Variveis tipos
Numricas:
Especficas para armazenamento de nmeros, que podero ser utilizados para clculos. Podem ser ainda classificadas como Inteiras (integer) ou Reais (real). As variveis do tipo inteiro so para armazenamento de nmeros inteiros e as reais so para o armazenamento de nmeros que possuam casas decimais. Especficas para armazenamento de conjunto de caracteres que no contenham nmeros (literais). Ex: nomes.

Caracteres:

Variveis tipos
Alfanumricas:
Especficas para dados que contenham letras e/ou nmeros. Pode em determinados momentos conter somente dados numricos ou somente literais. Se usado somente para armazenamento de nmeros, no poder ser utilizada para operaes matemticas.

Lgicas:
Armazenam somente dados lgicos que podem ser Verdadeiro ou Falso. Falso

Variveis declarao
As variveis s podem armazenar valores de um mesmo tipo, de maneira que tambm so classificadas como sendo numricas, lgicas e literais.

Operadores
Os operadores so meios pelo quais incrementamos, decrementamos, comparamos e avaliamos dados em um algoritmo. Temos trs tipos de operadores:
Operadores Aritmticos Operadores Relacionais Operadores Lgicos

Operadores aritmticos
Adio + Subtrao Multiplicao * Diviso / OBS: A linguagem Pascal no possui um operador para potenciao; a mesma calculada a partir de clculos de produto ou atravs de uma funo exponencial (ex) e funo logartmica (LN(X)). Sintaxe: XY := EXP(Y*LN(X)) EX. X0.5 = EXP(0.5 * LN(X))

Operadores relacionais
Descrio Smbolo Igual a = Diferente de <> Maior que > Menor que < Maior ou igual a >= Menor ou igual a <=

Operadores lgicos
E - AND OU - OR NO - NOT

Operaes lgicas
Exemplo: Tomada de deciso:
INCIO INCIO Pegar aaBala Pegar Bala

No Sim Chupar uma bala. No Sim de morango de morango Pegar a bala A bala de morango? No chupar aabala Retirar oopapel Retirar papel Se sim, no chupe a bala No chupar bala Chupar aaBala Se no, continue o Chupar Bala algoritmo Jogar papel no lixo Jogar papel no lixo Retirar o papel Chupar a bala Jogar o papel no lixo FIM FIM

Engenharia de software
algumas observaes

Engenharia de software
algumas observaes

Estrutura de deciso
Os comandos de deciso ou desvio fazem parte das tcnicas de programao que conduzem a estruturas de programas que no so totalmente sequenciais. As principais estruturas de deciso so: Se Ento, Se ento Seno e Caso Selecione

Condicional (If ... Then ... Else ...)


Incio; Definir variveis; Ler N1; Ler N2; Se N1=N2 Ento Escrever (N1=N2) Seno {ELSE} Se N1>N2 Ento Escrever (N1>N2) Seno {ELSE} Escrever (N2>N1); Fim.

N1=N2 ?

S
N1=N2

N
N1>N2 ?

N
N1<N2

S
N1>N2

1 Declara Constantes: Pi=3,14; FreqN=60; FreqAlt=70; Declara Variveis: Indut: Real; Reat: Real; Ler Indut Reat:=2*Pi*FreqN*Indut Reatncia Indutiva=,reat 1 N Reatncia Baixa

S Reat>100? Reatncia Alta

N S Reat=100? Reatncia Padro

Ler dois nmeros e uma letra. Se a letra for a, adicionar, se for s, subtrair, se for m, multiplicar, se for d, dividir, seno, exibir Operao inexistente
Incio Incio
Definir N1,N2,Resultado:Real; Definir N1,N2,Resultado:Real; Definir Letra,Tecla: Char; Definir Letra,Tecla: Char;
1 1 S

Letra=m? Letra=m?
n n

Resultado:= Resultado:= N1*N2 N1*N2

Operao: Operao: Multiplicao Multiplicao

Ler N1; Ler N1; Ler N2; Ler N2; Ler Letra; Ler Letra;
S

Letra=d? Letra=d?

Resultado:= Resultado:= N1/N2 N1/N2

Operao: Operao: Diviso Diviso

Operao: Operao: Inexistente Inexistente Resultado:= Resultado:= N1+N2 N1+N2 Operao: Operao: Adiao Adiao

Letra=a? Letra=a?
n n

Fim Fim

Letra=s? Letra=s?
n 1 1 n

Resultado:= Resultado:= N1-N2 N1-N2

Operao: Operao: Subtrao Subtrao

Exerccios
1. 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 2. Construa um algoritmo que avalie cada uma das expresses acima, considerando que os valores de A, B e C so variveis e so dados pelo usurio.

Exerccios
3. Elabore um algoritmo que dada a idade de um nadador classifique-o em uma das seguintes categorias:
Infantil A = 5 a 7 anos Infantil B = 8 a 11 anos Juvenil A = 12 a 13 anos Juvenil B = 14 a 17 anos Adultos = Maiores de 18 anos

Exerccios
3. A mdia parcial (MP) de uma disciplina semestral no Ifba calculada com base na mdia aritmtica no ponderada de 3 notas (Uni1, Uni2, Uni3). Caso o estudante alcance mdia parcial igual ou superior a 7,0, ele aprovado sem precisar fazer prova final (PF). Caso ele alcance mdia parcial entre 3,0 e 6,9, ele precisar fazer prova final. Caso ele obtenha mdia inferior a 3,0, ele reprovado. Utilizando uma pseudo linguagem (portugus estruturado), construa um algoritmo que leia o nome do estudante, suas notas nas 3 unidades, calcule sua mdia parcial e informe a situao de aprovao. Para os casos de ser necessrio fazer prova final, deve tambm mostrar a nota mnima que ele precisa na prova final. O clculo para a nota mnima necessria na prova final =(7*MP)/3. (2,0) MP < 3 reprovado 3,0 <= MP < 7,0 precisa fazer prova final MP >= 7,0 aprovado

Um pouco de humor Um pouco de humor sempre cai bem... sempre cai bem...

Talvez se tivesse casado com uma programadora oodilogo seria melhor Talvez se tivesse casado com uma programadora dilogo seria melhor

You might also like