Upload
internet
View
111
Download
0
Embed Size (px)
Citation preview
UDESC - Prof. Juliano Maia 1
Ferramentas Programação
UDESC - Prof. Juliano Maia 2
Índice Seção 1 – Linguagens de Programação Seção 2 – Interpretador Seção 3 – Compilador / Linkeditor Seção 4 – Ambientes de
Desenvolvimento
UDESC - Prof. Juliano Maia 3
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 4
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 5
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 6
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 7
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 8
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 9
Interpretador / Compilador
Programas (utilitários) que processam linguagens de alto nível, traduzindo-as em linguagens de baixo nível.
UDESC - Prof. Juliano Maia 10
InterpretadorSeção 2
Interpretador Fluxo / Iteração Interpretação Vantagens / Desvantagens
UDESC - Prof. Juliano Maia 11
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 12
Fluxo / Iteração Interpretação
Dados
Programa Fonte
SaídaInterpretador
Interpretador
UDESC - Prof. Juliano Maia 13
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 14
Compilador / LinkeditorSeção 3
Compilador Fluxo / Iteração Compilação Vantagens / Desvantagens Linkeditor Processo Compilação - Linkedição Bibliotecas
UDESC - Prof. Juliano Maia 15
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 16
Fluxo / Iteração Compilação
Código Fonte
Dados Arquivo Executável Saída
CompiladorCompilador
UDESC - Prof. Juliano Maia 17
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 18
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 19
Processo Compilação - Linkedição
Programa FontePrograma Fonte Programa FontePrograma Fonte
CompiladorCompilador CompiladorCompilador
Programa ObjetoPrograma Objeto Programa ObjetoPrograma Objeto
Ligador ou Linkeditor
Ligador ou Linkeditor
Programa ExecutávelPrograma Executável
BibliotecaBiblioteca
BibliotecaBiblioteca
UDESC - Prof. Juliano Maia 20
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 21
Ambientes de Desenvolvimento
Seção 4
Ambiente Integrado (IDE) O IDE Dev-C++ Depurador de Programa
UDESC - Prof. Juliano Maia 22
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 23
Exemplo IDE Dev-C++
UDESC - Prof. Juliano Maia 24
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 25
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 26
Depurando um Programa ...
UDESC - Prof. Juliano Maia 27
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>