P ARADIGMAS DE L INGUAGENS C ONCEITOS B ÁSICOS Prof. Thiago Pereira Rique [email protected]

27
PARADIGMAS DE LINGUAGENS CONCEITOS BÁSICOS Prof. Thiago Pereira Rique [email protected] http://thiagorique.wordpress.com/

Transcript of P ARADIGMAS DE L INGUAGENS C ONCEITOS B ÁSICOS Prof. Thiago Pereira Rique [email protected]

Page 1: 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

[email protected]

http://thiagorique.wordpress.com/

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

AGENDA

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

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

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.

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

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

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

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

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

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

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

ALGORITMOS E PROGRAMAS

Construção de algoritmos

Qual o limite do refinamento?

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

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

ALGORITMOS E PROGRAMAS

Formas de representação dos algoritmos

Descrição narrativa

Fluxograma convencional

Pseudocódigo

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

ALGORITMOS E PROGRAMAS

Descrição narrativa

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

Algoritmos expressos em linguagem natural.

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

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

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

ALGORITMOS E PROGRAMAS

Fluxograma convencional

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

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

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

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

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

ALGORITMOS E PROGRAMAS

Fluxograma convencional

Exemplo:

Início

N1, N2

"Aprovado"

MEDIA aaa(N1 + N2) / 2

MEDIA >= 7

"Reprovado"

Fim

.V. .F.

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

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.

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

ALGORITMOS E PROGRAMAS

Pseudocódigo

Algoritmo <nome_do_algoritmo>

<declaração_de_variáveis>

<subalgoritmos>

Início

<corpo do algoritmo>

Fim

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

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

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

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.

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

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.

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

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

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

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

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

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

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

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;

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

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

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

DESENVOLVIMENTO DE PROGRAMAS

Geração de código-fonte

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

Editores

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

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.

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

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.

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

DESENVOLVIMENTO DE PROGRAMAS

Depuradores ou debuggers

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