Alc Ficha 04

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 31

Lógica

Computacional

1
Revisão
 Lógica de programação é a técnica de encadear pensamentos
para atingir determinado objectivo;
 Sequência Lógica são passos executados até atingir um objectivo
ou solução de um problema;
 Instruções são um conjunto de regras ou normas definidas para a
realização ou emprego de algo. Em informática, é o que indica a um
computador uma acção elementar a executar;
 Algoritmo é formalmente uma sequência finita de passos que
levam a execução de uma tarefa.
 Programas de computadores nada mais são do que algoritmos
escritos numa linguagem de computador (Pascal, C, Cobol, Fortran,
Visual Basic entre outras) e que são interpretados e executados por
uma máquina, no caso um computador.
2
Formas de Representação de
Algoritmos
Dentre as formas de representação de
algoritmos mais conhecidas podemos citar:

 Descrição Narrativa;
 Fluxograma Convencional;
 Pseudocódigo, também conhecido como
Linguagem Estruturada ou Portugol.

3
Descrição Narrativa

 Nesta forma de representação os algoritmos


são expressos directamente em linguagem
natural.

4
Exemplo de algoritmo
Um motorista que necessita efectuar 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 pneu sobressalente
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
Exemplo de algoritmo
 Trocar uma lâmpada (sequência)
1. pegar uma escada;
2. posicionar a escada embaixo da lâmpada;
3. buscar uma lâmpada nova;
4. subir na escada;
5. retirar lâmpada velha;
6. colocar lâmpada nova.

6
Exemplo de algoritmo

 Trocar uma lâmpada SE estiver queimada (V.1)


Seleção (Decisão)
1. pegar uma escada;
2. posicionar a escada embaixo da lâmpada;
3. buscar uma lâmpada nova;
4. acionar o interruptor;
5. se a lâmpada não acender, então
a) subir na escada;
b) retirar lâmpada queimada;
c) colocar lâmpada nova.
Exemplo de algoritmo

 Trocar uma lâmpada SE estiver queimada (V. 2)


 Seleção (Decisão)-Evita buscar a escada e lâmpada
1. acionar o interruptor;
2. se a lâmpada não acender, então
a) pegar uma escada;
b) posicionar a escada embaixo da lâmpada;
c) buscar uma lâmpada nova;
d) acionar o interruptor;
e) subir na escada;
f) retirar lâmpada queimada;
g) colocar lâmpada nova.
Exemplo de algoritmo
 Trocar uma lâmpada SE estiver queimada (v. 3)
 Seleção (Decisão)-Re-teste depois da troca
1. acionar o interruptor;
2. se a lâmpada não acender, então
a) pegar uma escada;
b) posicionar a escada embaixo da lâmpada;
c) buscar uma lâmpada nova;
d) acionar o interruptor;
e) subir na escada;
f) retirar lâmpada queimada;
g) colocar lâmpada nova;
3. se a lâmpada não acender, então
a) retirar lâmpada queimada;
b) colocar lâmpada nova;
Fluxograma Convencional
 É uma representação gráfica de algoritmos onde formas
geométricas diferentes implicam acções (instruções,
comandos) distintos.
 Tal propriedade facilita o entendimento das ideias
contidas nos algoritmos e justifica sua popularidade.
 Esta forma é aproximadamente intermediária à
descrição narrativa e ao pseudocódigo, pois é menos
imprecisa que a primeira e, no entanto, não se preocupa
com detalhes de implementação do programa, como o
tipo das variáveis usadas.

10
Principais formas geométricas
usadas em fluxogramas

11
Exemplo de fluxograma

12
Exercícios
1. Construa um fluxograma que :
Leia a cotação do dólar
Leia um valor em dólares
Converta esse valor para Meticais
Mostre o resultado

2. Construa um fluxograma que:


Leia 4 (quatro) números
Calcule o quadrado para cada um
Somem todos e Mostre o resultado

13
Exercícios
3. Construa um fluxograma para o pagamento de comissão levando-se
em consideração que sua comissão será de 5% do total da venda e
que você tem os seguintes dados:
Identificação do vendedor
Código da peça
Preço unitário da peça
Quantidade vendida
COM: 0,05

14
Pseudocódigo
 Esta forma de representação de algoritmos é
rica em detalhes, como a definição dos tipos
das variáveis usadas no algoritmo.
 Por assemelhar-se bastante à forma em que
os programas são escritos, encontra muita
aceitação.
 Intermediária: linguagem natural – linguagem de
programação
 Pseudocódigo = “códigofalso”
15
Exemplo de Pseudocódigo

16
Onde:
 Algoritmo é uma palavra que indica o início da definição de
um algoritmo em forma de pseudocódigo.
 <nome_do_algoritmo> é um nome simbólico dado ao
algoritmo com a finalidade de distingui-los dos demais.
 <declaração_de_variáveis> consiste em uma porção
opcional onde são declaradas as variáveis globais usadas no
algoritmo principal e, eventualmente, nos subalgoritmos.
 <subalgoritmos> consiste de uma porção opcional do
pseudocódigo onde são definidos os subalgoritmos.
 Início e Fim são respectivamente as palavras que delimitam
o início e o término do conjunto de instruções do corpo do
algoritmo.
17
Exemplo de um algoritmo em
pseudocodigo
Algoritmo Calculo_Media
Var N1, N2, MEDIA: real
Início
Leia N1, N2
MEDIA ← (N1 + N2) / 2
Se MEDIA >= 7 então
Escreva “Aprovado”
Senão
Escreva “Reprovado”
Fim_se
Fim 18
Lógica de
programação

 FASES para desenvolver o algoritmo:


 Determinar o problema, definí-lo bem
 Dividir a solução nas três fases:
ENTRADA PROCESSAMENTO SAÍDA

 Exemplo:
 Problema: calcular a média de quatro números
 Dados de entrada: os números, N1, N2, N3 e N4
 Processamento: somar os quatro números e dividir
a soma por 4 N1 + N2 + N3 + N4
4

19
 Dados de saída: a média final
Exercício
 Usando o Pseudocodigo, construa algoritmos
para os três exerci cicios apresentados
anteriormente.

20
Síntese
 Há diversas formas de representação de algoritmos que
diferem entre si pela quantidade de detalhes de
implementação que fornecem ou, inversamente, pelo
grau de abstração que possibilitam com relação à
implementação do algoritmo em termos de uma
linguagem de programação específica.
 Dentre as principais formas de representação de
algoritmos destacam-se: a descrição narrativa, o
fluxograma convencional e o pseudocódigo (ou
linguagem estruturada).

21
Tipos de Dados
 Os dados correspondem à porção das informações a
serem processadas pelo computador.

 Os dados podem ser classificados de acordo com o tipo


de informação contida neles. A classificação
apresentada não se aplica a nenhuma linguagem de
programação específica; pelo contrário, ela sintetiza os
padrões utilizados na maioria das linguagens.

22
Dados Numéricos
 Recordemos alguns conceitos básicos relacionados à teoria
dos números e conjuntos:
 O conjunto dos números naturais é representado por N e é dado
por: N = {1, 2, 3, 4, ...};
 Na sequência, encontramos o conjunto dos números inteiros: Z =
{..., -3, -2, -1, 0, 1, 2, 3, ...};
 Englobando o conjunto dos números inteiros, existe o conjunto dos
números fraccionários (Q) e é dado por: Q = ( p/q | p, q pertencem
a Z};
 Por último, surge o conjunto dos números reais (R), formado pela
união do conjunto dos números fraccionários Q com o conjunto dos
números que não podem ser expressos na forma de uma fracção (os
números irracionais).
23
Dados Numéricos Inteiros
 Os números inteiros são aqueles que não possuem
componentes decimais ou fraccionários, podendo ser
positivos ou negativos. Os elementos pertencentes aos
conjuntos N e Z, apesar de serem representáveis na
classe dos números reais, são classificados como dados
do tipo inteiro, por não possuírem parte fraccionária
 Como exemplos de números inteiros temos:
24 - número inteiro positivo
0 - número inteiro
12 - número inteiro negativo.

24
Dados Numéricos Reais
 Os dados de tipo real são aqueles que podem possuir componentes
decimais ou fraccionários, e podem também ser positivos ou negativos. Os
elementos dos conjuntos de números fraccionários e reais são
necessariamente representados no computador por dados do tipo real.

 Exemplos de dados do tipo real:


24.01 - número real positivo com duas casas decimais
144. - número real positivo com zero casas decimais
-13.3 - número real negativo com uma casa decimal
0.0 - número real com uma casa decimal
0. - número real com zero casas decimais

 Note que há uma diferença entre “0”, que é um dado do tipo inteiro “0.” (ou
“0.0”) que é um dado do tipo real. Portanto, a simples existência do ponto
decimal serve para diferenciar um dado numérico do tipo inteiro de um do
tipo real.
25
Dados Literais
 O tipo de dados literal é constituído por uma sequência
de caracteres contendo letras, dígitos e/ou símbolos
especiais. Este tipo de dados é também muitas vezes
chamado de alfanumérico, cadeia (ou cordão) de
caracteres, ainda, do inglês, string.
 Usualmente, os dados literais são representados nos
algoritmos pela colecção de caracteres, delimitada em
seu início e término com o caractere aspas (").

26
 Exemplos de dados do tipo literal:

 "QUAL ?" - literal de comprimento 6


 " " - literal de comprimento 1
 "qUaL ?!$" - literal de comprimento 8
 " AbCdefGHi" - literal de comprimento 9
 "1-2+3=" - literal de comprimento 6
 “0” - literal de comprimento 1
 Note que, por exemplo, "1.2" representa um dado
do tipo literal de comprimento 3, constituído
pelos caracteres "1", "." e "2", diferindo de 1.2 que
é um dado do tipo real.

27
Dados Lógicos
 O tipo de dados lógico é usado para representar dois
únicos valores lógicos possíveis: verdadeiro e falso.
 É comum encontrar-se em outras referências outros
tipos de pares de valores lógicos como sim/não, 1/0,
true/false.

 Exemplo:
.V. - valor lógico verdadeiro
.F. - valor lógico falso

28
Síntese
 Os dados numéricos dividem-se em duas classes:
 inteiros, que não possuem parte fraccionária e podem ser
positivos ou negativos;
 reais, que podem possuir parte fraccionária e podem ser
positivos ou negativos.
 Os dados do tipo literal podem conter sequências de letras,
dígitos ou símbolos especiais, delimitados por aspas ("). Seu
comprimento é dado pelo número de caracteres em string.
 Os dados do tipo lógico só possuem dois valores possíveis (.V.
e .F.).

29
Síntese

30
Exercício
 Classifique os dados especificados abaixo de acordo com seu tipo, assinalando com
I os dados do tipo inteiro, com R os reais, com L os literais, com B os lógicos
(booleanos), e com N aqueles para os quais não é possível definir a priori um tipo de
dado.

31

Você também pode gostar