Ferramentas Programação UDESC - Prof. Juliano Maia 1
Í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 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 Interpretador 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 Compilador / Linkeditor Seção 3 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 Compilador Dados Arquivo Executável Saída UDESC - Prof. Juliano Maia 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 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