Transcript
Page 1: UDESC - Prof. Juliano Maia1 Ferramentas Programação

UDESC - Prof. Juliano Maia 1

Ferramentas Programação

Page 2: UDESC - Prof. Juliano Maia1 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: UDESC - Prof. Juliano Maia1 Ferramentas Programação

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

Page 4: UDESC - Prof. Juliano Maia1 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: UDESC - Prof. Juliano Maia1 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: UDESC - Prof. Juliano Maia1 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 programa

int main() { //declara/inicia função “principal” do programa puts("*"); //escreve o caratcer * em tela} //finaliza a função “principal” e o programa

Page 7: UDESC - Prof. Juliano Maia1 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: UDESC - Prof. Juliano Maia1 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 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

Page 9: UDESC - Prof. Juliano Maia1 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: UDESC - Prof. Juliano Maia1 Ferramentas Programação

UDESC - Prof. Juliano Maia 10

InterpretadorSeção 2

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

Page 11: UDESC - Prof. Juliano Maia1 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: UDESC - Prof. Juliano Maia1 Ferramentas Programação

UDESC - Prof. Juliano Maia 12

Fluxo / Iteração Interpretação

Dados

Programa Fonte

SaídaInterpretador

Interpretador

Page 13: UDESC - Prof. Juliano Maia1 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: UDESC - Prof. Juliano Maia1 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: UDESC - Prof. Juliano Maia1 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: UDESC - Prof. Juliano Maia1 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: UDESC - Prof. Juliano Maia1 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: UDESC - Prof. Juliano Maia1 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: UDESC - Prof. Juliano Maia1 Ferramentas Programação

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

Page 20: UDESC - Prof. Juliano Maia1 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 and Output) da linguagem C, por exemplo, é a biblioteca que contem todas as funcionalidade de leitura / escrita (entrada e saída de dados).

Page 21: UDESC - Prof. Juliano Maia1 Ferramentas Programação

UDESC - Prof. Juliano Maia 21

Ambientes de Desenvolvimento

Seção 4

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

Page 22: UDESC - Prof. Juliano Maia1 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: UDESC - Prof. Juliano Maia1 Ferramentas Programação

UDESC - Prof. Juliano Maia 23

Exemplo IDE Dev-C++

Page 24: UDESC - Prof. Juliano Maia1 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: UDESC - Prof. Juliano Maia1 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: UDESC - Prof. Juliano Maia1 Ferramentas Programação

UDESC - Prof. Juliano Maia 26

Depurando um Programa ...

Page 27: UDESC - Prof. Juliano Maia1 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>