PARADIGMAS DE LINGUAGENS
CONCEITOS BÁSICOS
Prof. Thiago Pereira Rique
[email protected]
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
problema em subproblemas cada vez menores.
Exemplo:
Trocar pneu de um
carro
1. pegue o macaco
2. levante o carro
3. retire o pneu furado
4. pegue o estepe
5. coloque-o na roda
6. aperte os parafusos
7. abaixe o carro
8. reaperte os parafusos
o
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
distintas.
diferentes
implicam
ações

Não se preocupa com detalhes de implementação do
programa.
ALGORITMOS E PROGRAMAS

Fluxograma convencional
Início e final do fluxog rama
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
Iníc i o

Exemplo:
N1, N2
MEDIA aaa
(N1 + N2) / 2
.V.
MEDIA >= 7
"Aprovado"
.F.
"Reprovado"
Fi m
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
Algoritmo Calculo_Media

Exemplo:
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
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

acima
da
LINGUAGENS DE PROGRAMAÇÃO

Linguagem de alto nível

Possui uma estrutura e palavras-chave
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;
mais
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”.
Download

Conceitos Básicos - Thiago Rique