P ARADIGMAS DE L INGUAGENS C ONCEITOS B ÁSICOS Prof. Thiago Pereira Rique thiagorique2011@gmail.com

Post on 17-Apr-2015

105 views 2 download

Transcript of P ARADIGMAS DE L INGUAGENS C ONCEITOS B ÁSICOS Prof. Thiago Pereira Rique thiagorique2011@gmail.com

PARADIGMAS DE LINGUAGENS

CONCEITOS BÁSICOS

Prof. Thiago Pereira Rique

thiagorique2011@gmail.com

http://thiagorique.wordpress.com/

AGENDA

Algoritmos e programas Linguagens de programação Desenvolvimento de programas

ALGORITMOS E PROGRAMAS

Algoritmos

Conjunto finito de passos sequenciais que descrevem como resolver um determinado problema.

Informações de entrada, modificação da informação, informações de saída.

ALGORITMOS E PROGRAMAS

Exemplo: Receita de bolo:

Misture os ingredientes

Unte a forma com manteiga

Despeje a mistura na forma

Se houver coco ralado

então despeje sobre a mistura

Leve a forma ao forno

Enquanto não corar

deixe a forma no forno

Retire do forno

Deixe esfriar

ALGORITMOS E PROGRAMAS

Construção de algoritmos

Dividir-e-conquistar: divide-se sucessivamente o problema em subproblemas cada vez menores.

Exemplo:Trocar pneu de um carro

1. pegue o macaco2. levante o carro3. retire o pneu furado4. pegue o estepe5. coloque-o na roda6. aperte os parafusos7. abaixe o carro8. reaperte os parafusos

ALGORITMOS E PROGRAMAS

Construção de algoritmos Exemplo: Refinamento do passo 1.

Refinamento ou procedimento do passo 1

1.1 abra a mala

1.2 remova o macaco do porta-malas

1.3 coloque o macaco sob o carro, próximo ao pneu furado

1.4 desaperte os parafusos da roda

1.5 insira a manivela no macaco

1.6 coloque um calço sob o carro para impedi-lo de se mover

1.7 levante o carro com o macaco até que haja espaço suficiente para colocar o estepe

ALGORITMOS E PROGRAMAS

Construção de algoritmos

Qual o limite do refinamento?

Um algoritmo pode ser escrito de forma gráfica ou textual.

ALGORITMOS E PROGRAMAS

Formas de representação dos algoritmos

Descrição narrativa

Fluxograma convencional

Pseudocódigo

ALGORITMOS E PROGRAMAS

Descrição narrativa

Pouco usada na prática (permite equívocos).

Algoritmos expressos em linguagem natural.

ALGORITMOS E PROGRAMAS

Descrição narrativa

Exemplo:Calcular média de um aluno

Obter as suas 2 notas de provas

Calcular a média aritmética

Se a média for maior que 7,

o aluno foi aprovado,

senão

ele foi reprovado

ALGORITMOS E PROGRAMAS

Fluxograma convencional

Formas geométricas diferentes implicam ações distintas.

Não se preocupa com detalhes de implementação do programa.

ALGORITMOS E PROGRAMAS

Fluxograma convencional

Início e final do fluxograma

Operação de entrada de dados

Operação de saída de dados

Operação de atribuição

Decisão

ALGORITMOS E PROGRAMAS

Fluxograma convencional

Exemplo:

Início

N1, N2

"Aprovado"

MEDIA aaa(N1 + N2) / 2

MEDIA >= 7

"Reprovado"

Fim

.V. .F.

ALGORITMOS E PROGRAMAS

Pseudocódigo

Algoritmo escrito em português utilizando convenções próximas de uma linguagem de programação.

Forma de representação rica em detalhes.

Encontra bastante aceitação.

ALGORITMOS E PROGRAMAS

Pseudocódigo

Algoritmo <nome_do_algoritmo>

<declaração_de_variáveis>

<subalgoritmos>

Início

<corpo do algoritmo>

Fim

ALGORITMOS E PROGRAMAS

Pseudocódigo

Exemplo: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

ALGORITMOS E PROGRAMAS

Programas

Conjunto de instruções executadas numa certa sequência de modo a resolver algum problema.

Formalização de um algoritmo em alguma linguagem de programação.

LINGUAGENS DE PROGRAMAÇÃO

Linguagens de programação

Conjunto limitado de instruções (vocabulário), associado a um conjunto de regras (sintaxe) que define como as instruções podem ser associadas.

Cada linguagem possui um conjunto único de palavras-chave ou palavras reservadas e uma sintaxe específica.

LINGUAGENS DE PROGRAMAÇÃO

De acordo com a sua similaridade com a linguagem humana:

Linguagem de máquina

Linguagem simbólica

Linguagem de alto nível

LINGUAGENS DE PROGRAMAÇÃO

Linguagem de máquina

Mais baixo nível de entendimento pelo ser humano e a única entendida pelo processador (UCP).

Instrução típica em linguagem de máquina: 0100 1111 1010

LINGUAGENS DE PROGRAMAÇÃO

Linguagem simbólica (Assembly)

Linguagem de nível imediatamente acima da linguagem de máquina.

Permite o uso de nomes (mnemônicos) e símbolos em lugar de números.

Linguagem simbólica para linguagem de máquina (Montador: Assembler).

Instrução típica em linguagem simbólica: MOV R1, R2 ADD R1, R2

LINGUAGENS DE PROGRAMAÇÃO

Linguagem de alto nível

Possui uma estrutura e palavras-chave mais próximas da linguagem humana.

Programas escritos em linguagem de alto nível são convertidos para linguagem de baixo nível através de uma programa denominado compilador ou de um interpretador.

Instrução típica em linguagem de alto nível: if (A > 10) then A := A – 7;

DESENVOLVIMENTO DE PROGRAMAS

Desenvolvimento de programas

É associado ao uso de ferramentas ou ambientes de desenvolvimento

Principais etapas: Geração de código-fonte Tradução do código-fonte Editores de ligação Depuradores

DESENVOLVIMENTO DE PROGRAMAS

Geração de código-fonte

Codificação em alguma linguagem de programação

Editores

DESENVOLVIMENTO DE PROGRAMAS

Tradução do código-fonte

O código-fonte não é executável.

É necessário que o código-fonte seja traduzido para o código de máquina.

Esta tradução (ou conversão) é realizada de forma automática graças à existência de ferramentas como os montadores (ou Assemblers) e os compiladores.

O código gerado por essas ferramentas é denominado código-objeto.

DESENVOLVIMENTO DE PROGRAMAS

Editores de ligação

Conhecidos como linkers

Rearranjar o código do programa, incorporando a ele todas as partes referenciadas no código original.

DESENVOLVIMENTO DE PROGRAMAS

Depuradores ou debuggers

Auxiliar o programador a eliminar a quantidade de “bugs”.