25
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 [email protected]

Lógica de programação 1

Embed Size (px)

Citation preview

Page 1: Lógica de programação 1

Lógica de ProgramaçãoDom Pedro II

Eduardo BloisiMBA em Gestão da Informação – Unifacs

Bacharel em Ciência da Computação – UnifacsMCP, CSM

[email protected]

Page 2: Lógica de programação 1

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.

Page 3: Lógica de programação 1

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.

Page 4: Lógica de programação 1

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.

Page 5: Lógica de programação 1

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.

Page 6: Lógica de programação 1

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.

Page 7: Lógica de programação 1

Compilador

Código fonte

Análise Léxica

Análise Sintática

Código intermediário

Código em linguagem de máquina

Page 8: Lógica de programação 1

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).

Page 9: Lógica de programação 1

Algoritmos

Devem ser claros e objetivos.Declarações curtas.Não devem deixar dúvidas.São formados por frases com uma ação.

Page 10: Lógica de programação 1

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.

Page 11: Lógica de programação 1

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.

Page 12: Lógica de programação 1

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

Page 13: Lógica de programação 1

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

Page 14: Lógica de programação 1

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

Page 15: Lógica de programação 1

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.

Page 16: Lógica de programação 1

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 realmatriculado: caractere tipo literal caracterenome: cadeia tipo literal cadeia

aprovado: lógico tipo lógico

Page 17: Lógica de programação 1

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.

Page 18: Lógica de programação 1

Atribuição

Armazena um determinado valor em uma variável. variavel_numerica <- 5 variavel_literal <- ‘nome do aluno’ Exemplos:

varano: inteirosalario: realmatriculado: caracterenome: cadeiaaprovado: lógico

atribuindo ...

ano <- 2012salario < - 3000matriculado <- ´S´nome < - ´Eduardo´Aprovado < - verdadeiro

Page 19: Lógica de programação 1

Atribuição

O valor a ser armazenado pode ser o conteúdo de outra variável, desde que sejam do mesmo tipo.Exemplo:varano: inteiroano_letivo: inteiro

ano < - 2012 a variável ano recebe o valor 2012ano_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.

Page 20: Lógica de programação 1

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)

Page 21: Lógica de programação 1

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_numerosvara, b, c: inteiroinicio

leia aleia bc <- a +bescreva c

fim

Page 22: Lógica de programação 1

Estrutura Condicional

Desvio condicional simplesse <condição> então

Instruções

fim_seInstruções

As instruções compreendidas entre o bloco se ... fim_se serão executadas somente se a condição do desvio for verdadeira.

Page 23: Lógica de programação 1

Estrutura Condicional

Desvio condicional simplesExemplo:a <- 5b <- 6se (b>a) então escreva (b é maior que a)fim_sec <- 10

Page 24: Lógica de programação 1

Estrutura Condicional

Desvio condicional compostose <condição> então

Instruçõessenão

instruçõesfim_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.

Page 25: Lógica de programação 1

Estrutura Condicional

Desvio condicional compostoExemplo:

a <- 10b <- 7se (b>a) então escreva (b é maior que a)else escreva (b é menor que a)fim_sec <- 10