Ferramentas Programação
UDESC - Prof. Juliano Maia
1
Índice




Seção
Seção
Seção
Seção
1
2
3
4
–
–
–
–
Linguagens de Programação
Interpretador
Compilador / Linkeditor
Ambientes de Desenvolvimento
UDESC - Prof. Juliano Maia
2
Linguagens de Programação
Seção 1




Linguagem de Programação
LP de Alto Nível
LP de Baixo Nível
Interpretador / Compilador
UDESC - Prof. Juliano Maia
3
Linguagem de Programação


Método padronizado para expressar
instruções para um computador.
Conjunto de regras sintáticas e
semânticas usadas para definir um
programa de computador.
UDESC - Prof. Juliano Maia
4
LP de Alto Nível


Linguagens de programação com um
nível de abstração relativamente
elevado, longe do código de máquina e
mais próximo à linguagem humana.
Ex.: COBOL, Pascal, Delphy, Java, C.
UDESC - Prof. Juliano Maia
5
Exemplo Programa C

Imprime o caracter * em tela:
#include <stdio.h> //adiciona biblioteca padrão de I/O ao programa
int main() {
//declara/inicia função “principal” do programa
puts("*");
//escreve o caratcer * em tela
}
//finaliza a função “principal” e o programa
UDESC - Prof. Juliano Maia
6
LP de Baixo Nível


Linguagem de programação mais
próxima ao código da máquina e,
portanto, menos abstrata. Possui forte
relação entre as operações
implementadas pela linguagem e as
operações implementadas pelo
hardware.
Ex.: Assembly.
UDESC - Prof. Juliano Maia
7
Exemplo Programa Assembly

Imprime o caracter * em tela:
.model small ;modelo de memória
.stack
;espaço de memória para instruções do programa na pilha
.code
;as linhas seguintes são instruções do programa
mov ah,2h ;move o valor 2h p/ o registrador ah
mov dl,2ah ;move o valor 2ah p/ o registrador dl (ASCII do caractere *)
int 21h
;interrupção 21h
mov ah,4ch ;função 4ch, sai para o sistema operacional
int 21h
;interrupção 21h
end
;finaliza o programa
UDESC - Prof. Juliano Maia
8
Interpretador / Compilador

Programas (utilitários) que processam
linguagens de alto nível, traduzindo-as
em linguagens de baixo nível.
UDESC - Prof. Juliano Maia
9
Interpretador
Seção 2



Interpretador
Fluxo / Iteração Interpretação
Vantagens / Desvantagens
UDESC - Prof. Juliano Maia
10
Interpretador

Um interpretador, no momento da
execução do programa, traduz cada
instrução do programa e a executa em
seguida.
UDESC - Prof. Juliano Maia
11
Fluxo / Iteração Interpretação
Programa Fonte
Interpretado
r
Saída
Dados
UDESC - Prof. Juliano Maia
12
Vantagens / Desvantagens


Vantagem: Permite implementação de
sub-processos / rotinas dinâmicas, ou
seja, que podem mudar durante a
execução do programa.
Desvantagem:Tempo gasto na
tradução das instruções de um
programa toda vez que este for
executado.
UDESC - Prof. Juliano Maia
13
Compilador / Linkeditor
Seção 3






Compilador
Fluxo / Iteração Compilação
Vantagens / Desvantagens
Linkeditor
Processo Compilação - Linkedição
Bibliotecas
UDESC - Prof. Juliano Maia
14
Compilador

Um compilador lê um programa e o traduz
completamente antes que o programa seja
executado. Neste caso, o programa escrito
em linguagem de alto nível é chamado de
código fonte, e o programa traduzido é
chamado de código objeto. Uma vez que
um programa é compilado, você pode
executá-lo repetidamente, sem que precise
de nova tradução.
UDESC - Prof. Juliano Maia
15
Fluxo / Iteração Compilação
Código Fonte
Dados
Compilador
Arquivo Executável
UDESC - Prof. Juliano Maia
Saída
16
Vantagens / Desvantagens


Vantagem: A execução é mais rápida,
pois o programa executado já se
encontra totalmente traduzido.
Desvantagem: Programa totalmente
estático – não é possível a
implementação de sub-processos /
rotinas dinâmicas.
UDESC - Prof. Juliano Maia
17
Linkeditor


Programa (utilitário) responsável por
gerar, a partir de um ou mais códigos
objeto, um único programa executável.
Suas funções básicas são resolver todas
as referências simbólicas existentes
entre os módulos e reservar memória
para a execução do programa.
UDESC - Prof. Juliano Maia
18
Processo Compilação - Linkedição
Programa Fonte
Programa Fonte
Compilador
Compilador
Programa Objeto
Programa Objeto
Ligador ou
Linkeditor
Biblioteca
Biblioteca
Programa Executável
UDESC - Prof. Juliano Maia
19
Bibliotecas


Bibliotecas são conjuntos de sub-rotinas
(programas ou funções) que podem ser
utilizadas em qualquer programa.
A biblioteca stdio.h (Standart Input and
Output) da linguagem C, por exemplo, é a
biblioteca que contem todas as
funcionalidade de leitura / escrita (entrada
e saída de dados).
UDESC - Prof. Juliano Maia
20
Ambientes de Desenvolvimento
Seção 4



Ambiente Integrado (IDE)
O IDE Dev-C++
Depurador de Programa
UDESC - Prof. Juliano Maia
21
IDE

IDE, Integrated Development
Environment ou Ambiente de
Desenvolvimento Integrado, é um
utilitário que reúne características e
ferramentas de apoio ao
desenvolvimento de software com o
objetivo de agilizar este processo.
UDESC - Prof. Juliano Maia
22
Exemplo IDE Dev-C++
UDESC - Prof. Juliano Maia
23
Depurador de Programa

O depurador, ou debuger, é um utilitário
que permite ao programador controlar
toda a execução de um programa a fim
de detectar erros.
UDESC - Prof. Juliano Maia
24
Funcionalidades



Acompanhar a instrução de um
programa instrução por instrução.
Alterar e visualizar o conteúdo de
variáveis em tempo de execução.
Implementar “breakpoints” – pontos de
parada na execução do programa.
UDESC - Prof. Juliano Maia
25
Depurando um Programa ...
UDESC - Prof. Juliano Maia
26
Informações úteis
Baixe o IDE Dev-c++ (free) em:
www.superdownloads.com.br
 Em plataforma Linux, não há um IDE similar.
Neste caso, usar:
 Editor de texto Kedit
 Utilitário console, para compilação e
execução:
gcc –o <arq exe> <código fonte>
./ <arq exe>

UDESC - Prof. Juliano Maia
27