aula 02 - algoritmos_introdução aula 2
DESCRIPTION
AlgoritmosTRANSCRIPT
-
Lgica de Programao
Data: 09/2014
-
Conceitos Veremos...
Dados x Informao
Estruturando informaes
Programas
Algoritmos
Estruturas
-
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:
A B A
44
17111963
No transmite por si s nenhum conhecimento.
-
Dado
Dado a estrutura fundamental sobre a qual um
sistema de informao construdo.
Preciso um critrio importante na avaliao da
validade de um dado.
O que Dado: so fatos, imagens ou sons que
podem ou no ser teis para uma determinada
tarefa.
-
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
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.
Fornece a capacidade de resolver
problemas, inovar e aprender baseando-se
em experincias prvias.
-
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
Simples observaes sobre o
estado do mundo.
Facilmente estruturado.
Facilmente obtido por
mquinas.
Freqentemente quantificado.
Facilmente transfervel.
Exemplos:
- Quantidade de produo,
- Custo de matria-prima,
- Nmero de empregados.
Informao
Dado dotado de relevncia e
propsito.
Requer unidade de anlise.
Exige consenso em relao
ao significado.
Exige necessariamente a
mediao humana.
Exemplos:
- Capacidade de produo
- Custo de venda de produto
- Produtividade do funcionrio
Conhecimento
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
DadosInstrues de
programas
Exemplo de estruturao da informao:
Catlogo telefnico
Fichrio organizado alfabeticamente
Objetivo: coletar, organizar, armazenar e recuperar dados
e informaes de forma eficiente
-
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.
Estruturando Informaes
-
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
1 Anlise do Problema
Compreenso do enunciado do problema, entradas e
sadas. Estudo dos mtodos existentes para a
resoluo do problema.
2Projeto (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
3 ImplementaoCodificao do algoritmo em uma linguagem de
programao (Pascal, C, Java, etc)
4Verificao 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 Diagrama de Chapin PORTUGOL
INCIO
Se Media
>= 7
FIM
Media (Nota1+Nota2) / 2
Nota1,Nota2
Reprovado
Aprovado
No
Sim
Leia Nota1
Leia Nota2
Media (Nota1 + Nota2) /2
Se Media
>= 7
Imprima
Aprovado
Imprima
Reprovado
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
V F
-
Conceitos
Dados x Informao
Estruturando informaes
Programas
Algoritmos
Estruturas
-
Estruturas
de Dados
Uma estrutura de dados retrata as relaes lgicas existentes entre os dados (Entidades, ex: Aluno, Disciplinas).
OperaesAs operaes manipulam e transformam as estruturas de dados (Incluir, Alterar, ...)
Nvel Abstrato
Estrutura de
Representao
utilizada para o armazenamento de dados na memria do computador (Formato dos Dados, ex: inteiro, real, ...)
Nvel Fsico
Estruturas de Dados
-
Perguntas?
-
ALGORITMOS
Variveis, Operadores e Constantes
01/10/2014
Ubiratan Costa
-
Agenda
Introduo
Tipos de Resolues
Variveis
Dado e informao
Operadores
Exerccios
Constantes
Atividade
01/10/2014Ubiratan Costa
-
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.
01/10/2014Ubiratan Costa
-
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.
01/10/2014Ubiratan Costa
-
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, porexemplo (multiplicao e diviso).
Se temos de escolher entre operadores de mesmaprioridade ento escolher o que est mais esquerda.
Ex. 4/2*3 -- primeiro divide-se 4 por 2 e em seguida multiplica-seo 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
01/10/2014Ubiratan Costa
-
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.
01/10/2014Ubiratan Costa
-
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
01/10/2014Ubiratan Costa
-
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 umvalor 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 deigual avaliada e armazenado o valor resultante navarivel esquerda.
O nome da varivel aparece sempre sozinho, nolado esquerdo do sinal de igual deste comando.
-
Operador de Atribuio
Todo comando de atribuio pode ser dividido emduas 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
-
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 oresultado das expresses?
t 100.0
(m + b)
-
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 porexemplo, os operadores ou-exclusivo*, ne (noe), nou (no ou).
Estes outros operadores podem ser obtidos apartir dos trs j definidos (e, ou e no).
*Ou Exclusivo - Se as duas condies forem diferentes, asentena verdadeira.
-
Operadores :: Lgicos
Algoritmo Java C++ Funo Prioridade
E && &&
Ser verdadeiro o resultado
somente se na comparao todos
os valores forem verdadeiros
3
OU || ||
Ser verdadeiro o resultado se
um dos valores na comparao
for verdadeiro
2
NO ! !Ser verdadeiro somente se a
expresso for falsa1
-
Operadores :: Lgicos
Na expresso
(X=0) OU (X>=2) E (X=2) E (X
-
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
-
Faa um algoritmo que receba dois nmeros e exiba o
resultado da sua soma.
01/10/2014Ubiratan Costa
Exerccios
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
-
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 = 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
-
1 de outubro de 2014Fundamentos e Classificao 57
-
Exerccios
-
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.
01/10/2014Ubiratan Costa
Exerccio para prxima
aula.
-
3. Elaborar 10 questes COM RESPOSTAS do material
apresentado em sala;
01/10/2014Ubiratan Costa
Exerccio para prxima
aula.
-
61
Obrigado:
e-mail: [email protected]
Foco no Aluno Gente Meritocracia Qualidade Foco no Resultado Inovao Simplicidade tica
1 de outubro de 2014Fundamentos e Classificao
mailto:[email protected]