Escolar Documentos
Profissional Documentos
Cultura Documentos
Introduo
Computador
Mquina que armazena dados (nmeros, palavras, figuras), interagem com dispositivos (a tela do monitor, o sistema de som, a impressora), e executa programas.
Programas
Os programas so sequencias de instrues e decises que o computador segue para executar uma tarefa.
Um programa de computador executa uma sequencia de operaes bsicas em rpida sucesso.
Programao de Computadores
Ato de projetar e implementar programas .
Introduo
Linguagem de Programao
Uma linguagem de programao um vocabulrio e um conjunto de regras gramaticais usadas para escrever programas de computador. Cada linguagem possui um conjunto nico de palavras-chaves (palavras que ela reconhece) e uma sintaxe (regras) especfica para organizar as instrues dos programas. As linguagens de programao podem ser divididas em trs tipos, com relao sua similaridade com a linguagem humana:
Linguagem de mquina; Linguagem simblica; Linguagem de alto nvel.
Introduo
Linguagem de mquina
a linguagem de mais baixo nvel de entendimento pelo ser humano e a nica, na verdade, entendida pelo processador (UCP). constituda inteiramente de nmeros, o que torna praticamente impossvel entend-la diretamente. Cada UCP tem seu conjunto nico de instrues que definem sua linguagem de mquina, estabelecido pelo fabricante do chip.
Introduo
Linguagem simblica (assembly)
a linguagem de nvel imediatamente acima da linguagem de mquina. Ela possui a mesma estrutura e conjunto de instrues que a linguagem de mquina, porm permite que o programador utilize nomes (chamados mnemnicos) e smbolos em lugar de nmeros. A linguagem simblica tambm nica para cada tipo de UCP, de forma que um programa escrito em linguagem simblica para uma UCP poder no ser executado em outra UCP de uma famlia diferente. Nos primrdios da programao todos os programas eram escritos nessa linguagem.
Introduo
Hoje a linguagem simblica, utilizada quando a velocidade de execuo ou o tamanho do programa executvel gerado so essenciais. A converso da linguagem simblica para a linguagem de mquina se chama montagem, e feito por um programa chamado montador (ou assembler). Uma tpica instruo em linguagem simblica seria:
ADD A,B.
Introduo
Linguagem de alto nvel
So as linguagens de programao que possuem uma estrutura e palavras-chave que so mais prximas da linguagem humana. Tornando os programas mais fceis de serem lidos e escritos. Esta a sua principal vantagem sobre as linguagens de nvel mais baixo. Os programas escritos nessas linguagens so convertidos para a linguagem de baixo nvel atravs de um programa denominado compilador ou de um interpretador. Uma instruo tpica de uma linguagem de alto nvel :
if (A>10) then A:=A-7;
Introduo
Interpretadores e Compiladores
So programas que operam sobre programas escritos pelo programador (programa fonte).
Interpretador
Programa que l o programa fonte e executa as suas instrues linha aps linha. Dessa forma, o interpretador deve sempre estar presente e ativo durante a execuo de um programa; No h gerao de cdigo-objeto (executvel)
Compilador
Programa que l todo o programa fonte e o converte para um cdigo-objeto, que uma traduo do cdigo fonte em uma forma que pode ser diretamente executada pelo processador. H gerao de cdigo-objeto Aps a gerao do cdigo no h mais a necessidade do compilador; Desvantagem: tempo de compilao do programa
Linguagem de Programao
Interpretadas
So interpretadas linha a linha em tempo de execuo.
Perl; ASP(Active Server Pages); JavaScript; Basic.
Linguagem de Programao
Compiladas
Computador traduz o programa fonte , uma vez para a linguagem compilada (executvel). Neste processo de compilao o cdigo e submetido a uma anlise sinttica, lxica e semntica. Caso algum erro seja encontrado, o arquivo executvel no gerado, e os erros so apontados pelo compilador.
Pascal; C/C++; Java.
Java
O que Java?
Plataforma de desenvolvimento de sistema de software composta por:
Linguagem de programao Java; Ferramenta de desenvolvimento: compiladores, depuradores, entre outras; Bibliotecas para desenvolvimento de aplicaes desktop, web, dispositivos mveis, cartes inteligentes, entre outos; Mquina virtual Java (JVM Java Virtual Machine) responsvel pela execuo de um progrma Java em um Sistema Operacional.
Historia do Java
Sun Microsystem
Projeto Green 1991
James Gosling
Star Seven (*7) Linguagem de programao Oak (C e C++)
Duke mascote Java Oak -> Java 1993 -> World Wide Web -> Java para Intenet JavaScript (LiveScript) - Netscape
Mquina Virtual
Compilao em C ou Pascal
Compilao em Java
Mquina Virtual
Mquina Virtual
Mquina Virtual
Java multiplataforma.
Quando um programa Java compilado um cdigo intermedirio gerado, chamado de bytecode. Este bytecode interpretado pelas mquinas virtuais java (JVMs) para a maioria dos sistemas operacionais. A mquina virtual a responsvel por criar um ambiente multiplataforma, ou seja, se algum construir um sistema operacional novo, basta criar uma mquina virtual java que traduza os bytecodes para cdigo nativo e pronto! Todas as aplicaes java estaro rodando sem problemas. Entre outras funes, a mquina virtual java tambm responsvel por carregar de forma segura todas as classes do programa, verificar se os bytecodes aderem a especificao JVM e se eles no violam a integridade e a segurana do sistema.
Verses Java
Java Stand Edition (JavaSE)
APIs funes bsicas do Java como I/O, multitarefas, network, conectividade com banco de dados, etc.
Verses Java
Java Enterprise Edition (JavaEE)
APIs funes para desenvolvimento para aplicaes em servidores tais como Servlets, JSP (JavaServer Pages), EJB (Enterprise Java Beans), JMS (Java Message Service) e JSF (JavaServe Faces).
Obs.: Somente ser gerado o Bytecode se o arquivo fonte estiver livre de erros de sintaxe e semntica.
Erro:
Exerccios
1. 2. Altere seu programa para imprimir a seguinte mensagem Estou iniciando em Java. Altere seu programa para imprimir as frases Meu primeiro programa Java e Estou iniciando em Java em duas linhas de texto usando duas linhas de cdigo System.out. Sabendo que os caracteres \n representam uma quebra de linhas, imprima duas linhas de texto usando uma nica linha de cdigo System.out.
3.