Ferramentas Programação

27
UDESC - Prof. Juliano Maia 1 Ferramentas Programação

Transcript of Ferramentas Programação

Page 1: Ferramentas Programação

UDESC - Prof. Juliano Maia 1

Ferramentas Programação

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

Page 3: Ferramentas Programação

UDESC - Prof. Juliano Maia 3

Linguagens de ProgramaçãoSeção 1

� Linguagem de Programação� LP de Alto Nível� LP de Baixo Nível� Interpretador / Compilador

Page 4: Ferramentas Programação

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.

Page 5: Ferramentas Programação

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.

Page 6: Ferramentas Programação

UDESC - Prof. Juliano Maia 6

Exemplo Programa C

� Imprime o caracter * em tela:

#include <stdio.h> //adiciona biblioteca padrão de I/O ao programaint main() { //declara/inicia função “principal” do programa

puts("*"); //escreve o caratcer * em tela} //finaliza a função “principal” e o programa

Page 7: Ferramentas Programação

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.

Page 8: Ferramentas Programação

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 ahmov dl,2ah ;move o valor 2ah p/ o registrador dl (ASCII do caractere *)int 21h ;interrupção 21hmov ah,4ch ;função 4ch, sai para o sistema operacionalint 21h ;interrupção 21h

end ;finaliza o programa

Page 9: Ferramentas Programação

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.

Page 10: Ferramentas Programação

UDESC - Prof. Juliano Maia 10

InterpretadorSeção 2

� Interpretador� Fluxo / Iteração Interpretação� Vantagens / Desvantagens

Page 11: Ferramentas Programação

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.

Page 12: Ferramentas Programação

UDESC - Prof. Juliano Maia 12

Fluxo / Iteração Interpretação

Dados

Programa Fonte

SaídaInterpretadorInterpretador

Page 13: Ferramentas Programação

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.

Page 14: Ferramentas Programação

UDESC - Prof. Juliano Maia 14

Compilador / LinkeditorSeção 3

� Compilador� Fluxo / Iteração Compilação� Vantagens / Desvantagens� Linkeditor� Processo Compilação - Linkedição� Bibliotecas

Page 15: Ferramentas Programação

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.

Page 16: Ferramentas Programação

UDESC - Prof. Juliano Maia 16

Fluxo / Iteração Compilação

Código Fonte

Dados Arquivo Executável Saída

CompiladorCompilador

Page 17: Ferramentas Programação

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.

Page 18: Ferramentas Programação

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.

Page 19: Ferramentas Programação

UDESC - Prof. Juliano Maia 19

Processo Compilação - LinkediçãoPrograma 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

Page 20: Ferramentas Programação

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 andOutput) da linguagem C, por exemplo, é a biblioteca que contem todas as funcionalidade de leitura / escrita (entrada e saída de dados).

Page 21: Ferramentas Programação

UDESC - Prof. Juliano Maia 21

Ambientes de DesenvolvimentoSeção 4

� Ambiente Integrado (IDE)� O IDE Dev-C++� Depurador de Programa

Page 22: Ferramentas Programação

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.

Page 23: Ferramentas Programação

UDESC - Prof. Juliano Maia 23

Exemplo IDE Dev-C++

Page 24: Ferramentas Programação

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.

Page 25: Ferramentas Programação

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.

Page 26: Ferramentas Programação

UDESC - Prof. Juliano Maia 26

Depurando um Programa ...

Page 27: Ferramentas Programação

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>