Ferramentas Programação
Transcript of Ferramentas Programação
![Page 1: Ferramentas Programação](https://reader035.fdocumentos.com/reader035/viewer/2022071106/62ca743a518bdc2a0a339a6d/html5/thumbnails/1.jpg)
UDESC - Prof. Juliano Maia 1
Ferramentas Programação
![Page 2: Ferramentas Programação](https://reader035.fdocumentos.com/reader035/viewer/2022071106/62ca743a518bdc2a0a339a6d/html5/thumbnails/2.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022071106/62ca743a518bdc2a0a339a6d/html5/thumbnails/3.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022071106/62ca743a518bdc2a0a339a6d/html5/thumbnails/4.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022071106/62ca743a518bdc2a0a339a6d/html5/thumbnails/5.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022071106/62ca743a518bdc2a0a339a6d/html5/thumbnails/6.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022071106/62ca743a518bdc2a0a339a6d/html5/thumbnails/7.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022071106/62ca743a518bdc2a0a339a6d/html5/thumbnails/8.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022071106/62ca743a518bdc2a0a339a6d/html5/thumbnails/9.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022071106/62ca743a518bdc2a0a339a6d/html5/thumbnails/10.jpg)
UDESC - Prof. Juliano Maia 10
InterpretadorSeção 2
� Interpretador� Fluxo / Iteração Interpretação� Vantagens / Desvantagens
![Page 11: Ferramentas Programação](https://reader035.fdocumentos.com/reader035/viewer/2022071106/62ca743a518bdc2a0a339a6d/html5/thumbnails/11.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022071106/62ca743a518bdc2a0a339a6d/html5/thumbnails/12.jpg)
UDESC - Prof. Juliano Maia 12
Fluxo / Iteração Interpretação
Dados
Programa Fonte
SaídaInterpretadorInterpretador
![Page 13: Ferramentas Programação](https://reader035.fdocumentos.com/reader035/viewer/2022071106/62ca743a518bdc2a0a339a6d/html5/thumbnails/13.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022071106/62ca743a518bdc2a0a339a6d/html5/thumbnails/14.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022071106/62ca743a518bdc2a0a339a6d/html5/thumbnails/15.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022071106/62ca743a518bdc2a0a339a6d/html5/thumbnails/16.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022071106/62ca743a518bdc2a0a339a6d/html5/thumbnails/17.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022071106/62ca743a518bdc2a0a339a6d/html5/thumbnails/18.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022071106/62ca743a518bdc2a0a339a6d/html5/thumbnails/19.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022071106/62ca743a518bdc2a0a339a6d/html5/thumbnails/20.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022071106/62ca743a518bdc2a0a339a6d/html5/thumbnails/21.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022071106/62ca743a518bdc2a0a339a6d/html5/thumbnails/22.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022071106/62ca743a518bdc2a0a339a6d/html5/thumbnails/23.jpg)
UDESC - Prof. Juliano Maia 23
Exemplo IDE Dev-C++
![Page 24: Ferramentas Programação](https://reader035.fdocumentos.com/reader035/viewer/2022071106/62ca743a518bdc2a0a339a6d/html5/thumbnails/24.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022071106/62ca743a518bdc2a0a339a6d/html5/thumbnails/25.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022071106/62ca743a518bdc2a0a339a6d/html5/thumbnails/26.jpg)
UDESC - Prof. Juliano Maia 26
Depurando um Programa ...
![Page 27: Ferramentas Programação](https://reader035.fdocumentos.com/reader035/viewer/2022071106/62ca743a518bdc2a0a339a6d/html5/thumbnails/27.jpg)
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>