Desenvolvimento de Aplicações Desktop

Documentos relacionados
Introdução à Programação. Conceitos Básicos de Programação

Sistema Computacional

Linguagens de Programação Classificação

Algoritmos e Programação

Algoritmos e Programação

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

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

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

Memória. Arquitetura de Von Neumann. Universidade do Vale do Rio dos Sinos Laboratório I Prof.ª Vera Alves 1 CPU. Unidade de controle ULA

Infraestrutura de Hardware. Funcionamento de um Computador

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

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

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

Resolução de Problemas com Computador. Resolução de Problemas com Computador. Resolução de Problemas com Computador

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

Linguagens de Programação

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

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

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

TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE. Professora: Isabela C. Damke

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

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

PROGRAMAÇÃO I. Introdução

3. Linguagem de Programação C

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

Paradigmas de Linguagem de Programação. Aspectos Básicos

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

Introdução à Computação

EA876 - Introdução a Software de Sistema

Linguagem de Programação

MC-102 Aula 01. Instituto de Computação Unicamp

Introdução à Computação

Obs.: para realizar estas atividades tenha certeza de que já tenha instalado no sistema operacional o Java JDK e o NetBeans.

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

Estrutura e Funcionamento dos Computadores (Conceitos Básicos)

Programação de Computadores:

Projeto de Compiladores

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

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

4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo.

INFORMÁTICA: Informação automática

Algoritmos e Programação

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

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06

Introdução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Olá pessoal, Hoje vamos entender os conceitos sobre linguagem de programação. Definição, tipos de linguagens e as linguagens mais utilizadas

SSC510 Arquitetura de Computadores 1ª AULA

Algoritmos Computacionais

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

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

Introdução à Programação

Algoritmos. Prof. Jonatas Bastos Site:

Conceitos de Linguagens de Programação

Algoritmos e Programação

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

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

Linguagens de Domínio Específico

Paradigmas de Programação

Como construir um compilador utilizando ferramentas Java

Introdução ao Python. Programa Computacional

Sistemas Operacionais

Instalação JDK 10/03/2017

Aula 4 Introdução ao C

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação

Instalação JDK. Joyce França. Professora de Ciência da Computação - IFNMG

Fundamentos de Programação. Diagrama de blocos

Transcrição:

Desenvolvimento de Aplicações Desktop Conceitos Básicos de Programação Professor: Charles Leite

O Desenvolvimento de Programas A programação consiste em indicar como o computador (hardware) deve trabalhar ou realizar (executar) tarefas Enviar mensagens eletrônicas, armazenar e recuperar dados, realizar exames e cirurgias, jogar e muitas outras coisas Porém, para que um computador consiga realizar esses serviços, deve-se fazer o que? Escrever Programas 2

O Desenvolvimento de Programas Um programa consiste numa série de INSTRUÇÕES que indicam como o computador irá realizar seus serviços Um programa deve definir a ordem em que as instruções devem ser executadas pelo computador Geralmente, um computador possui muitos programas que podem ser executados ao mesmo tempo 3 Programas constituem o grupo de softwares de um computador

O Desenvolvimento de Programas UMA ANALOGIA ROTEIROS DE FILMES VS. PROGRAMAS DE COMPUTADORES 4

O Desenvolvimento de Programas Do mesmo jeito que um ATOR de cinema precisa de um ROTEIRO de um filme para poder encenálo, um COMPUTADOR precisa de um PROGRAMA para poder realizar algum serviço 5

O Desenvolvimento de Programas Roteiro do filme Matrix 6

O Desenvolvimento de Programas Roteiro do filme Matrix 7

O Desenvolvimento de Programas Roteiro do filme Matrix 8

O Desenvolvimento de Programas Roteiro do filme Matrix 9

O Desenvolvimento de Programas Roteiro do filme Matrix 10

O Desenvolvimento de Programas As observações para ROTEIROS valem também para PROGRAMAS... 11 Mas, na verdade, um ROTEIRO pode ser visto como vários PROGRAMAS, um para cada personagem, deixando claro como os personagens devem interagir

O Desenvolvimento de Programas Um programa contém instruções a serem executadas por um computador Quando solicitado, um computador executa as instruções do programa O computador executa o programa Um programa pode ser executado mais de uma vez Um programa pode se comportar de maneira diferente nas várias execuções Depende do comportamento do usuário, de outros programas, de hardware, etc. 12

O Desenvolvimento de Programas 13 Um computador pode executar vários programas ao mesmo tempo Cópias de um mesmo programa podem ser executadas em vários computadores ao mesmo tempo Para executar um programa, um computador tem que ter uma cópia do programa O programa tem que ser instalado ou carregado no computador Um programa define a ordem de execução das suas instruções pelo computador

O Desenvolvimento de Programas Do mesmo jeito que a encenação de um ROTEIRO por vários ATORES gera um FILME, a execução de um ou mais PROGRAMAS que interagem constitui, junto com o HARDWARE associado, um SISTEMA COMPUTACIONAL 14 SISTEMA = PROGRAMA em execução e interagindo + HARDWARE

Linguagens de Programação Para escrever programas, precisamos de uma linguagem de programação Por exemplo: Java, C, C++,... Esses programas, por sua vez, devem ser traduzidos para uma forma que um computador entenda e possa executá-los Ou seja, uma linguagem que possa ser entendida pelo computador 15

Linguagens de Programação Eventualmente, erros podem ser gerados durante esse processo e devem ser corrigidos Veremos em breve! Diversas ferramentas de software podem ser usadas para auxiliar em todo processo de construção de programas Veremos em breve! 16

Linguagens de Programação 17 Para ilustrar melhor o processo de construção de programas, vamos supor que você esteja dando orientações de viagem a um amigo Você pode expressar essas orientações em qualquer linguagem (inglês, português, italiano,...) As orientações são as mesmas, independente da linguagem usada Porém, a forma de expressar essa orientações é diferente em cada linguagem Ou seja, para que essas informações sejam compreendidas, seu amigo deve ser capaz de entender a linguagem que você está falando

Linguagens de Programação Similarmente, um problema pode ser resolvido pela escrita de um programa, através de várias linguagens de programação (Java, C, C++, C#, Pascal etc.) O propósito do programa é o mesmo, independente da linguagem que está sendo usada Porém, as declarações usadas para expressar as instruções e a própria estrutura de organização dessas instruções variam de linguagem para linguagem Para que o programa seja executado, um computador deve ser capaz de entender as instruções para que possa executá-las 18

Linguagens de Programação Nesse sentido, as linguagens de programação podem ser classificadas em quatro grupos: Linguagens de máquina Linguagens assembly Linguagens de alto nível Linguagens de 4ª geração 19

Linguagens de Programação Linguagem de máquina Para que um programa seja executado num computador, ele deve ser expresso na linguagem de máquina desse computador Cada CPU tem a sua própria linguagem de máquina Um programa escrito para uma estação de trabalho da Sun (processador Sparc) não pode ser executado em um computador da Dell (processador Intel) O código de um programa em linguagem de máquina é expresso por uma série de dígitos binários, sendo extremamente difícil de entender (ler e escrever) para os humanos A tarefa de escrever em linguagem de máquina consome muito tempo e é propensa a geração de muitos erros 20

Linguagens de Programação Linguagem assembly Diante da dificuldade de se escrever em linguagem de máquina, surgiram as linguagens assembly, onde os dígitos binários foram substituídos por mnemônicos palavras pequenas em inglês para representar comandos e dados Mesmo assim, um código em assembly deve ser traduzido para linguagem de máquina a fim de ser executado Mesmo sendo um avanço em relação às linguagens de máquina, escrever em assembly é ainda muito tedioso 21 Linguagens de máquina e assembly são consideradas linguagens de baixo nível

Linguagens de Programação Linguagens de alto nível Uma linguagem de alto nível é muito semelhante com uma linguagem natural, sendo de fácil compreensão pelos humanos As linguagens de alto nível permitem que um programador ignore os detalhes específicos de uma linguagem de máquina Mesmo assim, um código escrito em uma linguagem de alto nível deve ser traduzido para linguagem de máquina a fim de ser executado Exemplos Java, C, C++, C#, Pascal etc. 22

Linguagens de Programação Linguagens de 4ª geração Algumas linguagens de programação operam num nível ainda mais alto que as linguagens de alto nível Elas incluem facilidades especiais para geração de relatórios ou interação com banco de dados São as chamadas linguagens de 4ª geração, pelo fato delas terem sucedido as três primeiras gerações de linguagens Exemplo SQL 23

Sintaxe e Semântica de LP Uma linguagem de programação define as palavras e símbolos que podem ser usados para escrever um programa Assim como uma linguagem natural, uma linguagem de programação é definida por um conjunto de regras sintáticas e semânticas 24

Sintaxe e Semântica de LP A sintaxe define como as palavras e símbolos podem ser agrupados de maneira a formar instruções válidas em um programa A semântica de um programa define o significado das instruções declaradas nesse programa Ou seja, o seu propósito ou função num programa 25

Tradutores Cada tipo de CPU executa programas apenas na sua própria linguagem de máquina Portanto, deve-se traduzir um programa, escrito numa linguagem de programação, para um programa equivalente na linguagem de máquina apropriada Portanto, precisamos de tradutores: Compiladores Interpretadores 26

Tradutores Um COMPILADOR é um programa que traduz o código de um programa (código fonte) em uma linguagem num código equivalente numa outra linguagem O resultado desse processo é um código pronto para ser executado numa máquina 27

Tradutores Um INTERPRETADOR é similar a um compilador, porém com uma diferença importante Um interpretador mistura as atividades de tradução e execução, ao mesmo tempo Uma pequena parte do código fonte (uma declaração, por exemplo) é traduzida e executada Em seguida, uma outra declaração é traduzida e executada, e assim por diante Ou seja, um interpretador traduz instrução por instrução em linguagem de máquina e imediatamente executa a instrução 28

Tradutores Existem vários exemplos de linguagens tanto compiladas quanto interpretadas Java é uma linguagem que utiliza um processo híbrido de tradução (compilação + interpretação) Veremos em breve! 29

Editores Através de um editor, o código de um programa pode ser digitado no computador e salvo num arquivo Após editar e salvar um programa, ele deve ser traduzido da linguagem de alto nível em que ele foi criado para uma forma que possa ser executado numa máquina Essa tradução pode gerar erros Nesse caso, deve-se retornar ao editor a fim de fazer as modificações necessárias no código do programa Uma vez que a tradução ocorra com sucesso, o programa pode ser executado e seus resultados avaliados Se esses resultados não são o esperado ou se pretende melhorar o programa, novamente, o editor deve ser usado para alterar o código 30

Ambientes Integrados de Desenvolvimento Ambientes Integrados de Desenvolvimento IDEs (Integrated Development Environment) são ferramentas usadas no processo de desenvolvimento de programas, incluindo: Editor de código, compilador, interpretador, depurador para encontrar e corrigir erros, gerador de documentação do código, ferramentas de arquivamento do código, ferramentas de visualização da estrutura do código 31

Erros em Programação Diversos tipos de problemas (erros) podem ocorrer com software, desde o seu processo de desenvolvimento até o seu uso Erros em tempo de compilação Erros em tempo de execução Erros lógicos 32

Erros em Programação Erros de compilação O compilador verifica se o programa está em conformidade com a sintaxe (regras sintáticas) da linguagem Qualquer declaração que não esteja de acordo com a sintaxe, o compilador gera um ERRO DE SINTAXE O compilador também tenta encontrar outros problemas como, por exemplo, o uso de tipos de dados incompatíveis Nesses casos, a sintaxe pode até estar correta, mas houve uma tentativa de se fazer algo que a linguagem SEMANTICAMENTE não permite ERRO DE SEMÂNTICA Enfim, qualquer erro identificado pelo compilador é considerado um ERRO DE COMPILAÇÃO Erros de compilação não permitem gerar uma versão executável de um programa 33

Erros em Programação Erros de execução Ocorre durante a execução do programa, causando a sua interrupção Nesse caso, o programa é compilado (ou seja, livres de erros de compilação) Porém, ao ser executado, um erro é encontrado Por exemplo, uma tentativa de dividir um número por zero Nesse caso, o sistema interrompe o processamento do restante do programa 34

Erros em Programação Erros lógicos Nesse caso, o software compila e executa sem problemas Porém, produz resultados incorretos Por exemplo, um valor que é calculado incorretamente ou um botão gráfico que não aparece no lugar correto 35

Erros em Programação O processo de encontrar e corrigir erros é chamado de DEPURAÇÃO (debugging) 36

DÚVIDAS...