Your SlideShare is downloading. ×
Lógica de programação 1
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Lógica de programação 1

474
views

Published on

Published in: Education

1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total Views
474
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
29
Comments
1
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. 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. 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. 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. 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. 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. Compilador Código fonte Análise Léxica Análise Sintática Código intermediário Código em linguagem de máquina
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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