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

Documentos relacionados
Laboratório de Programação 1 Algoritmos e a Lógica de Programação

Programação: Compiladores x Interpretadores PROF. CARLOS SARMANHO JR

Desenvolvimento de Aplicações Desktop

Linguagens de Programação Classificação

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

PROGRAMAÇÃO I. Introdução

1.1 Linguagens de Programação

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Sistemas Operacionais

Linguagem de Programação

EA876 - Introdução a Software de Sistema

Algoritmos e Programação

Algoritmos e Programação

16. Compilação no Linux

Conversões de Linguagens: Tradução, Montagem, Compilação, Ligação e Interpretação

Linguagem de Programação C

Programação de Computadores:

COMPILAÇÃO. Ricardo José Cabeça de Souza

Aula 23: Noções de Compilação, Montagem, Link-edição, e Interpretação

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Introdução à Lógica de Programação

Programação Básica. Introdução à programação de computadores

Algoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza

Introdução a Programação de Jogos

Introdução à Computação

Métodos de implementação de linguagens. Kellen Pinagé

Introdução à plataforma Java

Programação I A Linguagem C. Prof. Carlos Alberto

3. Linguagem de Programação C

Linguagens de Programação

Existem três categorias principais de linguagem de programação: linguagem de máquina, linguagens assembly e linguagens de alto nível.

Introdução à Computação Parte 2

Introdução à Computação: Máquinas Multiníveis

Programação de Computadores I Introdução PROFESSORA CINTIA CAETANO

Informática I. Aula 9. Aula 9-17/05/2006 1

Algoritmos Computacionais

CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO

Linguagem de Programação

Introdução à Programação de Computadores Fabricação Mecânica

Sistema Computacional

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO E DO DESPORTO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS CEFET-MG UNIDADE DE ENSINO

Aula teórica 7. Preparado por eng.tatiana Kovalenko

Conceitos básicos sobre computadores (continuação)

Programação de Computadores IV. Introdução a Linguagens de Programação Simone Martins SLIDES CEDIDOS POR BRUNO MARQUES 1

a) Computador b) Estrutura do sistema i. Hardware ii.software c) Linguagens de Programação i. Paradigmas e Programação 1.

Aplicação. Programa Linguagem de Alto Nível. Programa em Linguagem Assembly. Programa em Linguagem Máquina

Infraestrutura de Hardware. Funcionamento de um Computador

Arquitetura e Organização de Computadores. Compiladores e processamento

LAPRO I. Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática - FACIN. Prof. Dr. Rafael Garibotti

II.1 Conceitos Fundamentais. Uma delas é programar o =>

PROGRAMAÇÃO ORIENTADA A OBJETOS I -CONCEITOS PRELIMINARES. Prof. Angelo Augusto Frozza, M.Sc.

Compiladores. Motivação. Tradutores. Motivação. Tipos de Tradutores. Tipos de Tradutores

Informática I. Aula 9. Aula 9-27/09/2006 1

Introdução a Ciência da Computação

Conceitos de Linguagens de Programação

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Web site. Profa. Patrícia Dockhorn Costa.

Aula 01 Algoritmos e lógica de programação e introdução ao C++

Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang

Linguagens de Programação

INTRODUÇÃO À PROGRAMAÇÃO. Introdução. Sérgio Carlos Portari Júnior

Programação Básica. Introdução à programação de computadores

Máquinas. Visão geral O que você precisa Fatores de sucesso O futuro. realizar algo, precisa que alguém m lhe indique o que fazer V.V.

Programação Estruturada Aula - Introdução a Linguagem C

4 O conceito de variável

Introdução à Programação

Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011

Informática I. Aula Aula 18-29/10/2007 1

Introdução à Computação

Linguagens de Programação

Introdução à Programação

Introdução à Computação

ALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal

Projeto de Compiladores

Algoritmos e Programação

Estrutura e funcionamento básico de um computador

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 1ª Parte Prof. Sandra Pais Soares

Compiladores. Introdução

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

Algoritmos e Linguagem de Programação em C. Professor: Bernard Cardoso Oliveira

Classificação das linguagens de programação

Noções de sistemas de computação

Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão.

Compiladores. Análise Semântica

USP - ICMC - SSC SSC o. Semestre Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ]

Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ]

Construção de Compiladores. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2014.

USP - ICMC - SSC SSC o. Semestre BSI. Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

3 Introdução aos algoritmos

Linguagem C Princípios Básicos (parte 1)

Linguagem de Programação I Prof. Tiago Eugenio de Melo.

Algoritmos Fundamento e Prática

Algoritmos. Prof. Jonatas Bastos Site:

Estruturas de Sistemas Operacionais

Transcrição:

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