Lógica de Programação
Dom Pedro II
Eduardo Bloisi
MBA em Gestão da Informação – Unifacs
Bacharel em Ciência da Computação ...
Linguagem de Programação
Viabiliza na prática um algoritmo.
Possui um conjunto de instruções para
implementar um algorit...
Linguagens de Programação
 Como o código-fonte se torna um programa executável ?
Compilador.
 Linguagens de máquina: O n...
Linguagem de Máquina
 Sequência binária (0s e 1s)
 Uma operação de soma pode ser representada
como: 10100100.
 Difícil ...
Linguagem de Montagem
Conhecida como assembly.
Representa um avanço em relação a
linguagem de máquina, pois já possui
co...
Compilador
 Um compilador é um programa de computador que
transformar um código fonte em um código objeto.
 As etapas do...
Compilador
Código fonte
Análise Léxica
Análise Sintática
Código intermediário
Código em linguagem de máquina
Algoritmos
Conceito: Sequência lógica de instruções para
resolução de um problema. Serve como
linguagem intermediária ent...
Algoritmos
Devem ser claros e objetivos.
Declarações curtas.
Não devem deixar dúvidas.
São formados por frases com uma...
Algoritmo - Desenvolvendo
 Devemos pensar de forma lógica e sequenciada.
 Implementando algoritmos para problemas prátic...
Algoritmo - Desenvolvendo
 E se a lâmpada não estivesse queimada ?
 2 . Trocar a Lâmpada
 Teste condicional:
 Pegar um...
Algoritmo - Desenvolvendo
 Otimizando o código:
 3 . Trocar a lâmpada
 Acionar o interruptor
 Se a lâmpada não acender...
Algoritmos - Desenvolvendo
 E se a lâmpada nova estiver queimada ?
 4. Trocar a lâmpada
 Acionar o interruptor
 Se a l...
Algoritmos - Desenvolvendo
 A quarta versão não está finalizada
 5.Trocar a lâmpada
 Acionar o interruptor
 Se a lâmpa...
Elementos dos Algoritmos
 Tipos de Dados
 Numérico, Literal e Lógico
 Constantes: Dados que não sofrem alteração ao
lon...
Elementos dos Algoritmos
Variáveis precisam ser declaradas com o
tipo a ser utilizado:
var a declaração var indica a rela...
Expressões
Aritméticas:
 Operadores: +, -, * e /.
 Operandos: constantes ou variáveis.
Lógicas:
 Operadores: relacion...
Atribuição
 Armazena um determinado valor em uma variável.
 variavel_numerica <- 5
 variavel_literal <- ‘nome do aluno’...
Atribuição
 O valor a ser armazenado pode ser o conteúdo de outra
variável, desde que sejam do mesmo tipo.
Exemplo:
var
a...
Entrada e Saída
 O comando leia permite atribuir uma entrada de
dados a uma variável:
 Leia(salario)
O valor que o usuár...
Desenvolvendo
 Com os elementos básicos já vistos, podemos criar um algoritmo.
 Exemplo 1.1: Criar um algoritmo para rec...
Estrutura Condicional
Desvio condicional simples
se <condição> então
Instruções
fim_se
Instruções
As instruções compreend...
Estrutura Condicional
Desvio condicional simples
Exemplo:
a <- 5
b <- 6
se (b>a) então
escreva (b é maior que a)
fim_se
c...
Estrutura Condicional
 Desvio condicional composto
se <condição> então
Instruções
senão
instruções
fim_se
Instruções
As i...
Estrutura Condicional
 Desvio condicional composto
Exemplo:
a <- 10
b <- 7
se (b>a) então
escreva (b é maior que a)
else
...
Próximos SlideShares
Carregando em…5
×

Lógica de programação 1

695 visualizações

Publicada em

Publicada em: Educação
1 comentário
1 gostou
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
695
No SlideShare
0
A partir de incorporações
0
Número de incorporações
19
Ações
Compartilhamentos
0
Downloads
30
Comentários
1
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Lógica de programação 1

  1. 1. Lógica de Programação Dom Pedro II Eduardo Bloisi MBA em Gestão da Informação – Unifacs Bacharel em Ciência da Computação – Unifacs MCP, CSM bloisi@hotmail.com
  2. 2. Linguagem de Programação Viabiliza na prática um algoritmo. Possui um conjunto de instruções para implementar um algoritmo. A partir do código implementado pela linguagem, são gerados os programas de computador. Conjunto de instruções de um determinado programa de computador = código-fonte.
  3. 3. Linguagens de Programação  Como o código-fonte se torna um programa executável ? Compilador.  Linguagens de máquina: O nível mais baixo de execução de um programa.  Alto desempenho  Difícil implementação  Linguagem de montagem: assembly.  Intermediária entre linguagem de máquina e linguagem de alto nível.  Linguagens de alto nível.  Se aproxima da linguagem humana  Um comando equivale a vários comandos de linguagem de máquina.
  4. 4. Linguagem de Máquina  Sequência binária (0s e 1s)  Uma operação de soma pode ser representada como: 10100100.  Difícil implementação e facilidade para erros.  Código-fonte longo e de difícil manutenção.  Alto desempenho por ser possível otimizar a implementação em relação a linguagens de alto nível.
  5. 5. Linguagem de Montagem Conhecida como assembly. Representa um avanço em relação a linguagem de máquina, pois já possui comando mnemônicos. Uma operação de soma seria representada como: ADD 1,1 É o código intermediário das linguagens de programação antes do código de máquina.
  6. 6. Compilador  Um compilador é um programa de computador que transformar um código fonte em um código objeto.  As etapas do processo de compilação:  Escrita do código fonte.  Análise léxica: identifica os caracteres do código fonte.  Análise sintática: Verifica se as instruções estão corretas.  Geração do código assembly.  Geração do código de máquina.
  7. 7. Compilador Código fonte Análise Léxica Análise Sintática Código intermediário Código em linguagem de máquina
  8. 8. Algoritmos Conceito: Sequência lógica de instruções para resolução de um problema. Serve como linguagem intermediária entre a linguagem humana e as linguagens de programação. Representação: Através de narrativa, fluxograma ou pseudocódigo (conhecido como portugol).
  9. 9. Algoritmos Devem ser claros e objetivos. Declarações curtas. Não devem deixar dúvidas. São formados por frases com uma ação.
  10. 10. Algoritmo - Desenvolvendo  Devemos pensar de forma lógica e sequenciada.  Implementando algoritmos para problemas práticos:  1. Trocar uma lâmpada  Pegar uma escada.  Posicionar a escada embaixo da lâmpada.  Buscar uma lâmpada nova.  Subir na escada.  Retirar a lâmpada queimada.  Colocar a lâmpada nova.
  11. 11. Algoritmo - Desenvolvendo  E se a lâmpada não estivesse queimada ?  2 . Trocar a Lâmpada  Teste condicional:  Pegar uma escada.  Posicionar a escada embaixo da lâmpada.  Buscar uma lâmpada nova.  Acionar o interruptor.  Se a lâmpada não acender, então • Subir na escada. • Retirar a lâmpada queimada. • Colocar a lâmpada nova.
  12. 12. Algoritmo - Desenvolvendo  Otimizando o código:  3 . Trocar a lâmpada  Acionar o interruptor  Se a lâmpada não acender, então  Pegar uma escada  Posicionar a escada embaixo da lâmpada  Buscar uma lâmpada nova  Subir na escada  Retirar a lâmpada queimada  colocar a lâmpada nova
  13. 13. Algoritmos - Desenvolvendo  E se a lâmpada nova estiver queimada ?  4. Trocar a lâmpada  Acionar o interruptor  Se a lâmpada não acender então  Pegar a escada  Posicionar a escada embaixo da lâmpada  Pegar a lâmpada nova  Subir na escada  Retirar a lâmpada queimada  Colocar a lâmpada nova  Se a lâmpada não acender então • Retirar a lâmpada queimada • Colocar outra lâmpada nova
  14. 14. Algoritmos - Desenvolvendo  A quarta versão não está finalizada  5.Trocar a lâmpada  Acionar o interruptor  Se a lâmpada não acender então  Pegar uma escada  Colocar a escada embaixo da lâmpada  Buscar uma lâmpada nova  Subir na escada  Retirar a lâmpada queimada  Colocar a lâmpada nova  Enquanto a lâmpada não acender faça • Retirar a lâmpada queimada • Colocar outra lâmpada nova
  15. 15. Elementos dos Algoritmos  Tipos de Dados  Numérico, Literal e Lógico  Constantes: Dados que não sofrem alteração ao longo do programa.  Variáveis: Dados que podem sofrer modificação ao longo do programa.  Identificadores (nomes) de variáveis.  Tipo de variáveis.  Declaração de variáveis.  Atribuição de variáveis.
  16. 16. Elementos dos Algoritmos Variáveis precisam ser declaradas com o tipo a ser utilizado: var a declaração var indica a relação de variáveis ano: inteiro tipo numérico inteiro salario: real tipo numérico real matriculado: caractere tipo literal caractere nome: cadeia tipo literal cadeia aprovado: lógico tipo lógico
  17. 17. Expressões Aritméticas:  Operadores: +, -, * e /.  Operandos: constantes ou variáveis. Lógicas:  Operadores: relacionais (=, <>, >, <, >=, <=, <>) e os lógicos (não, e, ou).  Tabela lógica.
  18. 18. Atribuição  Armazena um determinado valor em uma variável.  variavel_numerica <- 5  variavel_literal <- ‘nome do aluno’  Exemplos: var ano: inteiro salario: real matriculado: caractere nome: cadeia aprovado: lógico atribuindo ... ano <- 2012 salario < - 3000 matriculado <- ´S´ nome < - ´Eduardo´ Aprovado < - verdadeiro
  19. 19. Atribuição  O valor a ser armazenado pode ser o conteúdo de outra variável, desde que sejam do mesmo tipo. Exemplo: var ano: inteiro ano_letivo: inteiro ano < - 2012 a variável ano recebe o valor 2012 ano_letivo <- ano a variável ano_letivo tem o seu valor modificado para o mesmo valor da variável ano que é 2012  As atribuições entre variáveis devem ser feitas com atenção para não perder o valor das mesmas indevidamente durante a execução do programa.
  20. 20. Entrada e Saída  O comando leia permite atribuir uma entrada de dados a uma variável:  Leia(salario) O valor que o usuário informar, será atribuído a variável salario.  O comando escreva permite exibir o valor de variáveis e constantes:  Escreva(‘O salário é ’, salario) Na tela será mostrado O salário é <valor da variável salario>  Comentários (chaves)
  21. 21. Desenvolvendo  Com os elementos básicos já vistos, podemos criar um algoritmo.  Exemplo 1.1: Criar um algoritmo para receber dois números inteiros, somá-los e apresentar o resultado na tela. programa soma_dois_numeros var a, b, c: inteiro inicio leia a leia b c <- a +b escreva c fim
  22. 22. Estrutura Condicional Desvio condicional simples se <condição> então Instruções fim_se Instruções As instruções compreendidas entre o bloco se ... fim_se serão executadas somente se a condição do desvio for verdadeira.
  23. 23. Estrutura Condicional Desvio condicional simples Exemplo: a <- 5 b <- 6 se (b>a) então escreva (b é maior que a) fim_se c <- 10
  24. 24. Estrutura Condicional  Desvio condicional composto se <condição> então Instruções senão instruções fim_se Instruções As instruções compreendidas entre o bloco se ... senão serão executadas somente se a condição do desvio for verdadeira. Caso a condição seja falsa, serão executadas apenas as instruções entre o senão e o fim_se.
  25. 25. Estrutura Condicional  Desvio condicional composto Exemplo: a <- 10 b <- 7 se (b>a) então escreva (b é maior que a) else escreva (b é menor que a) fim_se c <- 10

×