Lógica de Programação
2º Fase
Germano
Curiosidades

Lógica não é matemática, mas a lógica
utiliza da matemática.

Cálculos Binários.
Direcionando nosso algoritmo
Vamos começar a produzir algoritmos que venham a se encaixar
numa pseudo-linguagem...
Interpretador
Linguagens de alto ou baixo nível
Assembly
Delphi
Compilador
Direcionando nosso algoritmo
Para representarmos textualmente um algoritmo
usamos a nossa língua, no caso, o português.
Contudo, não podemos usar toda a riqueza do
nosso idioma. Por que?
R: a ambiguidade!
Direcionando nosso algoritmo
“O pregador foi grampeado durante o conserto.”
Pode possuir vários significados, principalmente se for
verbalizado Podemos até tentar supor o real significado
da frase, por exemplo, analisando o contexto em que
tenha sido dita.
Mas o computador não tem o raciocínio necessário para
interpretar! E agora?!
Direcionando nosso algoritmo
De agora em diante, para evitar o problema
da ambigüidade, assim como outros, vamos
usar regras com o intuito de restringir e
estruturar o uso do português na
representação de algoritmos. Regras essas
que são bem parecidas com as usadas em
algumas linguagens de programação (C e
Pascal, por exemplo), facilitando assim, o
nosso aprendizado.
Algoritmo – Tipos de dados
•
A Informação
- Matéria-prima para os computadores
- Computadores manipulam e armazenam
dados massivamente, e com ótimo
desempenho (melhor do que nós!)
- Nós ficamos, assim, liberados para tarefas
intelectuais.
Dados
I
n
f
o
r
m
a
ç
ã
o
Algoritmo – Tipos de dados
•
Qual a diferença entre Dado e Informação?
•
Quando citamos uma data, como 8 de
março, estamos apresentando um dado.
•
Ao dizermos que 8 de março é o dia
Internacional da Mulher, estamos agregando
valor ao dado data, uma informação.
Algoritmo – Tipos de dados
•
Vamos agora conhecer os tipos de dados
básicos sobre os quais vamos trabalhar
- Constantes
- Variáveis
Algoritmo – Tipos de dados
Constante
- Como o nome mesmo diz, é o dado que não
varia no decorrer do tempo;
- Tem valor fixo e inalterável.
Algoritmo – Tipos de dados
Variáveis
- Fundamentais para a criação de programas através de linguagens
de programação;
- Uma variável é um espaço reservado na memória do computador
para armazenar um certo tipo de dado;
- Cada variável deve ter um nome para referenciar o seu conteúdo,
um identificador;
- O nome variável vem da ideia que esta pode conter, a cada tempo,
valores distintos, respeitando o tipo associado.
Algoritmo – Tipos de dados
O Tipos de variáveis e constantes
- Restringe o tipo (valor) de dado que a variável
(gaveta) pode conter a cada tempo;
- Também informa o espaço (em bytes) que a variável
pode ocupar na memória (armário) do computador
Algoritmo – Tipos de dados
int - Inteiro
- Informação numérica pertencente ao conjunto Z;
- Exs.:
- A aluno tem 19 anos;
- A mão do homem possui 5 dedos;
- O concurso oferece 3 carros novos.
Dado Vs Informação???
Algoritmo – Tipos de dados
float - Ponto Flutuante (Real)
- Informação numérica pertencente ao conjunto R;
- Exs.:
- A aluna tem 1.65 m de altura;
- O prêmio acumulado foi de 3.233.123 reais;
- A área do hexágono é 12.753 m2;
- A molécula tem 0,0000129 m2
Dado Vs Informação???
Algoritmo – Tipos de dados
double - Ponto Flutuante (Real)
- Similar ao tipo float, porém, possui dupla precisão em
relação a este;
Algoritmo – Tipos de dados
Caracter - char
- Informação composta de um conjunto de caracteres
alfanuméricos: (0 … 9), (a...z, A...Z) e (#$%ˆ&, por
exemplo)
- Exs.:
- Os nadadores usavam roupas especiais;
- O aviso é claro: “é proibido fumar!”;
- A aluna premiada foi Maria das Graças;
Dado Vs Informação???
Algoritmo – Tipos de dados
Tipos Primitivos – Lógico
- Informação que pode assumir uma de duas possibilidades
(biestável);
- Exs.:
- O interruptor pode estar ligado ou desligado;
- O uniforme deve ser azul ou vermelho;
- A lâmpada pode estar acesa ou apagada.
Dado Vs Informação???
Algoritmo – Tipos de dados
Exercício de Fixação
Determine qual é o tipo primitivo presente nas sentenças a
seguir:
a) A placa “Pare!” tinha dois furos de bala.
b) Josefina subiu 5 degraus para pegar uma maça madura
c) Alberta levou 3,5 horas para chegar à maternidade
d) Astrogilda pintou em sua camisa: “Preserve o meio ambiente”,
e ficou devendo R$ 30,00 ao vendedor de tintas.
e) Felisberto recebeu sua 18ª medalha por ter alcançado a
marca de 57,3 segundos nos 100 metros rasos.
Algoritmo – Tipos de dados
Variável
- É o dado que tem a possibilidade de ser alterado em
algum instante durante a execução do algoritmo em
que é utilizado;
- O valor do dado sofre alteração;
- O dado é dependente da execução em um
determinado momento.
Algoritmo – Tipos de dados
Variável
Exemplos:
- A cotação de uma moeda;
- O peso de uma pessoa;
- O valor de um imposto.
Algoritmo – Tipos de dados
Pensemos na construção de um algoritmo para
calcular o valor da área de uma circunferência, que
usa a fórmula Plr2.
Qual o tipo de dado para PI?
O PI pode variar?
Algoritmo – Tipos de dados
Identificadores
Vamos pensar sobre um contrato de locação de
imóvel:
- Não podemos usar um valor fixo em moeda
corrente como base para o reajuste, pois,
como o tempo essa valor estaria defasado.
Para resolver esse problema poderíamos usar
um parâmetro que fornecesse valores
atualizados: um dado variável.
Algoritmo – Tipos de dados
Identificadores
Como pensamos em criar esse novo
parâmetro, então surge a necessidade de
que seja nomeado, como, por exemplo,
IRT (índice de reajustes totais)
Algoritmo – Tipos de dados
Identificadores
São os nomes das informações
que variam no decorrer do
tempo.
Algoritmo – Tipos de dados
Identificadores
Para nomearmos as variáveis, devemos respeitar algumas
regras, de modo a formarmos identificadores válidos.
São elas:
1) Devem começar por um caractere alfabético
2) Podem ser seguidos por mais caracteres alfabéticos ou
numéricos
3) Não devem ser usados caracteres especiais.
Algoritmo – Tipos de dados
Identificadores
Diagrama com as regras de formação:
identificador
letra
letra
letra
dígito
Algoritmo – Tipos de dados
Declaração de Variáveis
As variáveis são armazenadas dentro do
computador no dispositivo eletrônico
denominado MEMÓRIA (principal)
Analogamente a MEMÓRIA pode ser comparado a
um armário com várias gavetas
Algoritmo – Tipos de dados
Declaração de Variáveis
Essas “gavetas” equivalem aos locais físicos
onde os dados são armazenados na
MEMÓRIA
Esses dados são os objetos que podem ser
armazenados nas “gavetas” da MEMÓRIA.
Algoritmo – Tipos de dados
Declaração de Variáveis
Como na MEMÓRIA existem várias “gavetas”, devemos
nomear cada gaveta, de forma a diferenciar uma
“gaveta” das outras.
Fazemos isso criando os INDENTIFICADORES.
E cada “gaveta” só pode conter um dado por vez, e de um
tipo previamente determinado.
Algoritmo – Tipos de dados
Declaração de Variáveis
Os IDENTIFICADORES são usados para a nomeação
e a DECLARAÇÃO DE VARIÁVEIS, que só é
completa se, além do rótulo, for determinado o tipo
da variável.
Algoritmo – Tipos de dados
Declaração de Variáveis
Diagrama com as regras de formação:
,
Declaração
de variáveis
tipo
tipo
:
inteiro
real
caracter
lógico
identificador
;
Algoritmo – Tipos de dados
Declaração de Variáveis
Vamos praticar um pouco!!
Algoritmo – Tipos de dados
Expressões Aritméticas
São aquelas em que usamos os operadores
aritméticos e os operandos são
CONSTANTES ou VARIÁVEIS do tipo
numérico (??)
Algoritmo – Tipos de dados
Expressões Aritméticas
Operadores (básicos e não-convencionais)
+ - * /
pot(x, y) → x elevado a y
rad(x) → raiz quadrada de x
x mod y → resto da divisão inteira de x por y
x div y → quociente da divisão inteira de x por y
Algoritmo – Tipos de dados
Expressões Aritméticas
Regras de Precedência
1ª ( ) → parênteses aninhados
2ª pot rad
3ª * / div mod
4ª + -
Algoritmo – Tipos de dados
Expressões Aritméticas
Obs.:
1 º. Empatando, resolvemos a expressão da esquerda
para a direita.
2 º. Os “( )” podem ser usados para alterar a
precedência.
Algoritmo – Tipos de dados
Expressões Aritméticas
Diagrama com as regras de formação:
Expressão
aritmética
operando
operador aritmético
operando
Algoritmo – Tipos de dados
Exercício
1.
Supondo que as variáveis NOME, QUANTIDADE,
FABRICANTE e PRECO, serão utilizadas respectivamente
para: nome do produto, quantidade do produto, fabricante do
produto e preço do produto;
declare-as corretamente associando o tipo primitivo
adequado ao dado que será armazenado.
Algoritmo – Tipos de dados
Exercício
2.
Encontre os erros das seguintes
declarações de variáveis:
a)
Inteiro : Endereço, Nfilhos;
Caractere : idade, 1endereço, endereco;
Real : peso, nota_do_aluno, R$;
Logico : falso, ApaGaDa.
b)
c)
d)
Lógica de Programação
2º Fase
Germano
Algoritmo – Tipos de dados
Qual a diferença entre
Bill Gates e o Batman ??????
O Batman consegue vencer o Pinguin
Algoritmo – Tipos de dados
Exercício
3.
Supondo que A, B e C são constantes do tipo
inteiro igual a 5, 10 e -8 respectivamente, e uma
constante real D com valor de 1,5 ; calcule as
seguintes expressões aritméticas:
a) 2 * A mod 3 – C
b) rad (-2 * C) div 4
c) ((20 div 3) div 3) + pot(8,2) / 2
d) (30 mod 4 * pot(3,3)) * -1
Algoritmo – Tipos de dados
Operadores Relacionais
Servem para realizar comparações entre dois valores de mesmo tipo.
Esses valores podem ser tanto constantes e variáveis, quanto
expressões aritméticas.
Na Matemática usamos os operadores relacionais para construirmos
equações e inequações.
Algoritmo – Tipos de dados
Operadores Relacionais
= → igual a
> → maior que
< → menor que
>= → maior ou igual a
<= → menor ou igual a
<> → diferente de
Algoritmo – Tipos de dados
Operadores Relacionais
O avaliação de uma relação dá como resultado um valor LÓGICO.
Ex.: m + n = p
A avaliação dessa expressão será verdadeira ou falsa à medida que
o membro esquerdo da equação foi igual ou diferente da variável
que representa o membro direito.
Algoritmo – Tipos de dados
Operadores Lógicos
Para construirmos proposições lógicas usamos três
operadores básicos a partir de outras proposições lógicas
mais simples.
Algoritmo – Tipos de dados
Operadores Lógicos
NÃO → negação
E → conjunção
OU → disjunção não exclusiva
Algoritmo – Tipos de dados
Operadores Lógicos - Tabelas Verdade
É o conjunto de todas as possibilidades entre os
valores de variáveis lógicas, que podem assumir
uma de duas alternativas, V ou F, bem como
variáveis lógicas em conjunto com operadores
lógicos
Algoritmo – Tipos de dados
Operadores Lógicos - Tabelas
Tabela Lógica
A
B
1
0
0
0
0
1
1
1
0
1
1
0
1
1
AeB
A ou B
não A
não B
Exercitando – NÃO consta no material
Seja A = 10010 e B = 11110 onde A e B são entradas de uma
tabela verdade. Mostre o resultado das seguintes operações
lógicas:
1) X = A*B
2) X = A + B
3) X = A
4) X = B
5) X = A * B
6) X = A + B
Algoritmo – Tipos de dados
Atribuição
Dado que agora já sabemos declarar uma variável,
o comando de ATRIBUIÇÃO é o modo com que
fornecemos um valor a uma variável, de acordo
com o seu tipo.
Algoritmo – Tipos de dados
Atribuição Exemplos:
caractere: A, B;
real: X;
A ← B;
X ← 8 + 13 div 5;
B←5=3
X ← 2;
Algoritmo – Tipos de dados
Atribuição Exemplos:
Qual a falha no slide anterior?
B ← 5 = 3 (o “;” para terminar a ação!)
B ← 5 = 3;
Algoritmo – Tipos de dados
Atribuição
Notemos que os comandos atribuem os
valores fornecidos a direita de cada
variável
É importante lembrar que a esquerda do
símbolo de atribuição deve haver apenas
um identificador.
Algoritmo – Tipos de dados
Atribuição
Nos comandos onde o valor a ser atribuído à
variável é uma expressão aritmética ou
lógica, estas devem ser resolvidas antes,
para que o resultado possa ser
armazenado na variável.
B ← 5 = 3 (qual a avaliação dessa
igualdade?)
B←F
Algoritmo – Tipos de dados
Comandos de Entrada e Saída (in/out)
A maneira que temos para “alimentar” o computador.
Analogamente podemos pensar no processo de respiração
do homem:
Dados de entrada: o ar
O ar é processado
Dados de saída: CO2 N2 e etc.
Algoritmo – Tipos de dados
Comandos de Entrada e Saída (in/out)
Mais uma analogia: fazer um bolo!
Dados de entrada: ingredientes
“Mão na massa”
Dados de saída: o bolo
Algoritmo – Tipos de dados
Entrada de Dados – IN
Vamos adicionar um novo comando aos que já
aprendemos, de modo que o algoritmo possa receber
dados.
Faremos isso através do comando LEIA, o qual atribui o
dado a ser fornecido à variável indicada.
Algoritmo – Tipos de dados
Saída de Dados – OUT
E agora vamos adicionar um comando que de modo que
o algoritmo possa mostrar os dados que calculou.
Faremos isso através do comando ESCREVA, o qual
apresenta o conteúdo da variável indicada.
Algoritmo – Tipos de dados
Blocos
São ações em conjunto para uma função
definida.
Um algoritmo, na sua totalidade, pode ser
considerado um bloco.
Delimitam o espaço onde as variáveis
declaradas podem atuar.
Algoritmo – Tipos de dados
Comentários
São observações importantes a respeito de trechos do
algoritmo.
Aumentam a clareza do algoritmo.
Algoritmo – Tipos de dados
Comentários
Ex.:
inteiro: nAluno, mAluno; // variáveis para
armazenar o nome e
a matrícula do
aluno
Algoritmos
O Pato Donald vai trazer o teclado,
e o Mickey?
Mickey Mouse
Algoritmos
Para começarmos a praticar
Utilizaremos
Cláudio Morgado de Souza
REGRA: 1) Realizar divisões sucessivas por 2 enquanto
quociente
zero
451 |_2_
1 225 |_2_
1 112 |_2_
0
56 |_2_
0
28 |_2_
0
14 |_2_
0
7 |_2_
1
3 |_2_
1
1 |_2_
quociente = 0
1
0
Download

Aula 01 - WordPress.com