Você está na página 1de 61

Lgica de Programao

Data: 09/2014

Veremos...

Dados x Informao
Estruturando informaes
Programas
Algoritmos
Estruturas

Conceitos

Dado, Informao e Conhecimento


Dado o componente bsico a partir do qual a informao

criada
Informao so dados inseridos em um context

Contexto a situao que est sendo analisada


A partir da informao vem o conhecimento, que permite
tomar decises adequadas, trazendo vantagem
competitiva

Dado
entendido como um elemento da informao, um
conjunto de letras, nmeros ou dgitos, que tomado
isoladamente, no contm nenhum significado claro.
Ex:
ABA
44
17111963
No transmite por si s nenhum conhecimento.

Dado

O que Dado: so fatos, imagens ou sons que


podem ou no ser teis para uma determinada
tarefa.
Dado a estrutura fundamental sobre a qual um
sistema de informao construdo.
Preciso um critrio importante na avaliao da
validade de um dado.

Informao
todo dado trabalhado, til, tratado, com valor
significativo atribudo ou agregado a ele e com um
sentido natural e lgico para quem usa esta informao.
Ex:
Curso: TCNICO DE INFORMTICA
Perodo: 1
Data: 05/09/2014

Informao
O que Informao: Dados cuja forma e contedo so
apresentados de uma maneira tal que so teis para uso
no processo de tomada de deciso.

A transformao de dados em informao freqentemente


realizada atravs da apresentao dos dados em uma forma
compreensvel ao usurio.
Parte do processo de criar informao generalizado a
partir da base de dados.

Informao
UMA INFORMAO DEVE:

Suprir a organizao com informaes valiosas


(acessveis, completas, econmicas, relevantes, seguras,
oportunas e verificveis).
Para isso, deve usar filtros ou tcnicas de reduo,
mostrando apenas o que interessa (transmitir informaes
apenas para as pessoas certas, resumir as informaes, permitir
a seletividade conforme a pessoa ou necessidade e eliminar
informaes desnecessrias).

Conhecimento
uma informao valiosa da mente humana resultante
de reflexo, anlise, contextualizao e sntese.

a informao trabalhada por pessoas e/ou por


recursos computacionais, possibilitando a gerao de
cenrios, simulaes e oportunidades.
Ex:
Relatrio da Evoluo das Vendas
Demonstrativo Receitas e Despesas
Quadro Comparativo da Curva de Aprendizagem

Conhecimento
Fornece a capacidade de resolver
problemas, inovar e aprender baseando-se
em experincias prvias.
Uma combinao de instintos, idias, regras e
procedimentos que guiam as aes e decises.
O xito do conhecimento em explicar a forma como
as coisas acontecem um critrio importante na
validao desse conhecimento.

Em resumo...
INFORMAES BOAS E OUTRAS, NEM TANTO
Nem toda informao valiosa.
Com freqncia recebemos mais informao do que
podemos tratar.
O resultado pode ser uma doena da anti-informao:
o Estresse que ameaa a organizao e seus
empregados.

Em resumo...
O Valor da informao
Pode conferir poder, pois est presente em todas as
atividades que envolvem processos, sistemas,
recursos financeiros, tecnologias etc.
medida em que se sedimenta, qualquer atividade
pode ser realizada com custo menor, com menos
recursos, em tempo reduzido e com resultado
melhor.

Em resumo...
Dado

Informao

Conhecimento

Simples observaes sobre o


estado do mundo.
Facilmente estruturado.
Facilmente obtido por
mquinas.
Freqentemente quantificado.
Facilmente transfervel.

Dado dotado de relevncia e


propsito.
Requer unidade de anlise.
Exige consenso em relao
ao significado.
Exige necessariamente a
mediao humana.

Exemplos:
- Quantidade de produo,
- Custo de matria-prima,
- Nmero de empregados.

Exemplos:
- Capacidade de produo
- Custo de venda de produto
- Produtividade do funcionrio

Informao valiosa da
mente humana.
Inclui reflexo, sntese,
contexto.
De difcil estruturao.
De difcil captura em
mquinas.
Freqentemente tcito.
De difcil transferncia.
Exemplos:
- Incremento da produo
abaixo da capacidade.
- Venda com rentabilidade
acima do padro.
- Bnus pela produtividade

Conceitos
Dado x Informao
Estruturando informaes
Programas
Algoritmos
Estruturas

Estruturando Informaes

Dados

Instrues de
programas

Objetivo: coletar, organizar, armazenar e recuperar dados


e informaes de forma eficiente

Exemplo de estruturao da informao:


Catlogo telefnico
Fichrio organizado alfabeticamente

Estruturando Informaes
de fundamental importncia a forma e a
organizao do armazenamento da informao sob

seus componentes, os dados, para que possamos


ter eficincia nos processos de manipulao e
tratamento da mesma.

Conceitos

Dados x Informao
Estruturando informaes
Programas
Algoritmos
Estruturas

Programas
Seqncia de instrues codificadas em
uma linguagem de programao
Execuo
Armazenado na memria do computador

O desenvolvimento de programas visa a


soluo de problemas computacionais atravs
da manipulao de dados
Entrada e sada

Exemplos de Linguagens de Programao:


COBOL, PASCAL, C, PHP, JAVA

Programas
Etapas para soluo de um problema computacional
Anlise do Problema

Compreenso do enunciado do problema, entradas e


sadas. Estudo dos mtodos existentes para a
resoluo do problema.

Projeto (algoritmos e
estrutura de dados)

Desenvolvimento do algoritmo e definio das


estruturas de dados, visando a construo de um
programa que apresente melhor tempo de execuo
e melhor aproveitamento de espao de memria

Implementao

Codificao do algoritmo em uma linguagem de


programao (Pascal, C, Java, etc)

Verificao do
Comportamento

Avaliao do programa: grau de satisfao da soluo


do problema e desempenho (memria e tempo).

Programas
Etapas para soluo de um problema computacional
Fase 1 Anlise do Problema
Qual o problema??

Fase 2 Projeto
Como se resolve o problema ?

Fase 3 Implementao
Como viabilizar a soluo no ambiente disponvel ?

Fase 4 Verificao de Comportamento


A soluo contempla integralmente a especificao do problema ?

Conceitos

Dados x Informao
Estruturando informaes
Programas
Algoritmos
Estruturas

Algoritmos
Seqncia finita de instrues ou operaes bsicas,
cuja execuo, em tempo finito, resolve um problema
computacional, qualquer que seja sua instncia
A seqncia de instrues ou operaes
organizada segundo o que foi estabelecido durante a
fase de anlise do problema

Algoritmos
Representao em linguagem algortmica ou
fluxogramas
Fluxograma
Cada operao bsica representada por uma figura

Linguagem Algortmica
Cada operao bsica descrita por uma construo de
linguagem semelhante linguagem natural
Regras comuns s linguagens de programao

Algoritmos
Fluxograma
INCIO

Diagrama de Chapin
Leia Nota1
Leia Nota2

Nota1,Nota2

Media (Nota1 + Nota2) /2

Media (Nota1+Nota2) / 2
Se Media
>= 7
Sim
Aprovado

FIM

No

Reprovado

Se Media
>= 7

V
Imprima
Aprovado

F
Imprima
Reprovado

PORTUGOL
algoritmo CalculaMedia"
var
Nota1, Nota2, Media: Real
inicio
Leia Nota1
Leia Nota2
Media:=(Nota1+Nota2)/2
Se Media >= 7 ento
Imprima Aprovado
Seno
Imprima Reprovado
fimalgoritmo

Conceitos
Dados x Informao
Estruturando informaes
Programas
Algoritmos
Estruturas

Estruturas de Dados
Estruturas
de Dados

Uma estrutura de dados retrata as relaes


lgicas existentes entre os dados (Entidades,
ex: Aluno, Disciplinas).

As operaes manipulam e
transformam as estruturas
de dados (Incluir, Alterar, ...)

Operaes
Nvel Abstrato

Estrutura de
Representao

utilizada para o armazenamento de


dados na memria do computador
(Formato dos Dados, ex: inteiro, real, ...)
Nvel Fsico

Perguntas?

ALGORITMOS

Variveis, Operadores e Constantes


01/10/2014
Ubiratan Costa

Agenda

Ubiratan Costa

Introduo
Tipos de Resolues
Variveis
Dado e informao
Operadores
Exerccios
Constantes
Atividade

01/10/2014

Introduo
O sucesso de um algoritmo ou programa depende da
correta declarao de variveis e constantes.
A utilizao de operadores fundamental, se utilizados
erroneamente, o programa pode apresentar o famoso:
erro de lgica.

Ubiratan Costa

01/10/2014

Tipos de Resolues
Resolues Sequenciais neste tipo de resoluo, o

problema simples, como uma nica forma de


resoluo;
Resolues condicionais so problemas que podem
ter mais de um caminho para resoluo ou condies
que podem apresentar mais de uma opo de escolha

de acordo com um pr-requisito;


Resolues com ponto de repetio neste tipo de
resoluo, necessria a contagem de um determinado

elemento.
Ubiratan Costa

01/10/2014

Exemplos de Expresses
0.5 * base * altura
(nota1 + nota2) / 2.0

(temperatura > 0) e (quantidade < limite)


4 mod 3 + 5
A>B

Expresses
Observar os smbolos usados para multiplicao (*) e
diviso (/).
Avaliar primeiro as operaes de maior prioridade, por
exemplo (multiplicao e diviso).
Se temos de escolher entre operadores de mesma
prioridade ento escolher o que est mais esquerda.
Ex. 4/2*3 -- primeiro divide-se 4 por 2 e em seguida multiplica-se
o resultado por 3, dando como resultado 6

Caso queira trocar a prioridade use parnteses.


No so permitidos outros smbolos para esta funo tais como {
} e [ ].

Variveis
Na sua declarao, devemos informar o tipo...
Abrindo um parnteses (
Nem toda linguagem de programao exige uma declarao de
varivel tipada

Fechando... )

Tipadas: so aquelas em que a declarao do tipo


obrigatria.

Um tipo significa informar ao computador o que essa


varivel poder receber e armazenar na memria do
computador

Ubiratan Costa

01/10/2014

Variveis
Como tipos podemos ter:
Inteiros - para valores inteiros (nmeros positivos ou
negativos - sem vrgulas);
Caracter - para valores que recebero somente um
caracter (letra ou nmero de 0 a 9 ou um sinal);
Real - para valores decimais (nmeros com vrgulas);
Lgico -

para retornar

os

valores

Falso

ou

Verdadeiro e, no caso de Java, retornar true ou false.

Ubiratan Costa

01/10/2014

Variveis
Algumas regras na criao das variveis:
Utilize nomes significativos para as variveis, de
preferncia nomes curtos;
Nunca utlize nomes para variveis comeando com
nmeros, exemplo:
1numero, o certo numero1 sem espaos e nem
acento. No utilize caracteres especiais como: * , @
ou {, etc...
Em Java, letras maisculas so diferentes de letras
minsculas, ou seja: A diferente de a. Portanto, nos
programas, evite utilizar nomes de variveis com
letras maisculas.

Constantes
utilizada para armazenar informaes (valores)
que sero imutveis durante toda a execuo de
um programa
A constante inicialmente uma varivel que, uma
vez definida como sendo uma constante, o seu

valor no poder ser modificado

Operadores
So elementos utilizados nas expresses matemticas,
lgicas e relacionais. A maioria dos operadores
possuem a mesma representao nas linguagens de
programao
Eles so classificados em:
Aritmticos
Relacionais
Lgicos

Ubiratan Costa

01/10/2014

Operadores
Um caso especial o dos operadores relacionais,

que permitem comparar pares de operandos de


tipos de dados iguais, resultando sempre num valor
lgico.

Operador de Atribuio
Um operador de atribuio serve para atribuir um
valor a uma varivel.
Em Algoritmo usamos o operador de atribuio:
ou :=
A
sintaxe
de
uma
atribuio
NomedaVariavel expressao

A expresso localizada no lado direito do sinal de


igual avaliada e armazenado o valor resultante na
varivel esquerda.

O nome da varivel aparece sempre sozinho, no


lado esquerdo do sinal de igual deste comando.

Operador de Atribuio
Todo comando de atribuio pode ser dividido em
duas etapas:
Avaliao da expresso;
Armazenamento do resultado da avaliao na posio de
memria representada pela varivel.

Exemplo:
a 35 * 6 + 2
O comando acima faz com que o resultado da expresso
(=212) seja armazenado na varivel a.

Operadores :: Aritmticos
Chamamos de operadores aritmticos o conjunto
de smbolos que representam operaes bsicas
da matemtica

Algoritmo Java C++


Funo
Prioridade
+
+
+ Adio
2
- Subtrao
2
*
*
* Multiplicao
1
/
/
/ Diviso
1
mod
%
% Resto da diviso
1
div
/
/ Quociente da diviso
1

Operadores :: Aritmticos
1/4

resultado 0.25

1 / 4 + 7.1

resultado 7.35

1a. Operao: 1 / 4 = 0.25


2a. Operaco: 0.25 + 7.1 = 7.35

(2 + 4)/(3 1) resultado 3
1a. Operao: 2 + 4 = 6
2a. Operao: 3 1 = 2
3a. Operao: 6 / 2 = 3

10 mod3

resultado 1

O resto da diviso de 10 por 3 igual a 1.

Operadores :: Aritmticos
Qual o resultado das expresses abaixo?
1/3*3
10 / 3 * 2

3+6/3-1
12 / 2 mod 4

Operadores :: Relacionais
So utilizados para comparar valores
Algoritmo

Java

C++

Funo

>

>

>

Maior que

<

<

<

Menor que

==

==

Igual

>=

>=

>=

Maior ou igual

<=

<=

<=

Menor ou igual

<>

!=

!=

Diferente de

Operadores :: Relacionais
Considere a=3, b=7, total=200.0, mdia=8.1 e
ano=2014
a>b

-- resultado falso

total = 100.0 -- resultado falso


mdia >= 7.0

-- resultado verdadeiro

ano <> 2001 -- resultado verdadeiro

Operadores :: Relacionais Exerccios


Considerando a=3, b=7, t=20.0 e m=8.1 qual o
resultado das expresses?
t <> 100.0
(m + b) <= 7.0
(t/(b+a)) = 2.0

Operadores :: Lgicos

Operadores lgicos ou booleanos so usados


para combinar expresses relacionais e resultam
nos valores lgicos verdadeiro ou falso.
Existem outros operadores lgicos, como por
exemplo, os operadores ou-exclusivo*, ne (no
e), nou (no ou).
Estes outros operadores podem ser obtidos a
partir dos trs j definidos (e, ou e no).

*Ou Exclusivo - Se as duas condies forem diferentes, a


sentena verdadeira.

Operadores :: Lgicos

Algoritmo
E

Java
&&

C++

Funo

Prioridade

&&

Ser verdadeiro o resultado


somente se na comparao todos
os valores forem verdadeiros

2
1

OU

||

||

Ser verdadeiro o resultado se


um dos valores na comparao
for verdadeiro

NO

Ser verdadeiro somente se a


expresso for falsa

Operadores :: Lgicos

Na expresso
(X=0) OU (X>=2) E (X<=5),

Ser resolvido primeiro


expresso equivale a
(X=0) OU ((X>=2) E (X<=5))

E Assim,

Operadores :: Lgicos
Considerando a=falso, b=verdadeiro e c=falso,
qual o resultado das expresses?
a) a ou b e c

b) (a e c) ou b
c) a e (b ou c)

d) no (a e b)
e) a ou b ou c

Exerccios
Faa um algoritmo que receba dois nmeros e exiba o
resultado da sua soma.
Algoritmo "ex1"
var
x, y: inteiro
inicio
escreva("Digite o primeiro nmero: ")
leia (x)
escreva("Digite o segundo nmero: ")
leia (y)
escreva("A soma dos nmeros : ",x+y)
fimalgoritmo
Ubiratan Costa

01/10/2014

Operadores Caracteres
Um exemplo de operao comum em vrias linguagens
a concatenao de duas cadeias de caracteres.
Smbolo + usado em algumas linguagens para

representar esta operao.


Considere as cadeias 'dia', ' ', 'da' e 'semana'
A operao
'dia' + ' ' + 'da' + ' ' + 'semana'
Cria a cadeia

'dia da semana'

Expresses mistas
muito comum em algoritmos juntar operadores

relacionais e lgicos em expresses.

Estas expresses so geralmente do tipo:


(nota1 > 7.0) ou (nota2 > 7.0)
(salario > valor) e (ano > 2001)

O resultado destas expresses do tipo lgico


(verdadeiro ou falso).

Expresses mistas
Considerando l1=5, l2=3, l3=4 e l4=7:
(l1 > l3) e (l2 > l4)
((l1+2) = l3) ou (l2 <= l4)

Considerando presente=verdadeiro, n1=7.5 e


n2=6.5, qual o resultado da expresso?
(((n1+n2)/2.0) >= 7.0) e presente

Exerccios
Faa um algoritmo que receba dois nmeros e exiba o
resultado da sua soma.
Algoritmo soma"
var
num1,num2: inteiro
inicio
escreval ("Digite o primeiro nmero: ")
leia (num1)
escreval("Digite o segundo nmero: ")
leia (num2)
escreva ("A soma dos nmeros : ", num1+num2)
fimalgoritmo

Fundamentos e Classificao

1 de outubro de 2014

57

Exerccios

Exerccio para prxima


aula.

1. Faa um algoritmo que receba dois nmeros e ao final


mostre a soma, subtrao, multiplicao e a diviso
dos nmeros lidos.
2. Escrever um algoritmo para determinar o consumo
mdio de um automvel sendo fornecida a distncia
total percorrida pelo automvel e o total de
combustvel gasto.

Ubiratan Costa

01/10/2014

Exerccio para prxima


aula.

3. Elaborar 10 questes COM RESPOSTAS do material


apresentado em sala;

Ubiratan Costa

01/10/2014

Obrigado:

e-mail: david.remigio@icloud.com
Prof.ubiratan@gmail.com
Foco no Aluno Gente Meritocracia Qualidade Foco no Resultado Inovao
Fundamentos e Classificao

1 de outubro de 2014

Simplicidade tica
61