Lógica de programação 1

Preview:

Citation preview

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

bloisi@hotmail.com

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.

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.

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.

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.

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.

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 entre a linguagem humana e as linguagens de programação.

Representação: Através de narrativa, fluxograma ou pseudocódigo (conhecido como portugol).

Algoritmos

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

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.

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.

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

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

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

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.

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

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.

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

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.

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)

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

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.

Estrutura Condicional

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

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.

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

Recommended