Você está na página 1de 7

O que Programar?

Programar conceber algoritmos expressos numa dada linguagem. Um algoritmo uma representao procedimental de uma soluo para um dado problema. A definio da soluo especificada numa sequncia finita de aces.

Propriedades: o Deve permitir comunicao com o exterior entrada de Dados e Sada de Resultados; Deve ser finito - Alcanar a soluo em tempo finito; Deve ser bem definido Sem ambiguidade.

o o

Varivel um contentor de informao, uma posio de memria caracterizada por: Nome; Endereo; Valor (contedo).

Varivel tem associado um Tipo de Dados, que define: O conjunto de valores que a varivel pode armazenar; O tipo de operaes em que as variveis podem ocorrer.

Teorema Fundamental da Programao Estruturada

possvel escrever qualquer programa utilizando exclusivamente as trs estruturas bsicas de controlo de fluxo: Sequncia - permite a ordenao em srie de instrues Seleco/Deciso - permite a seleco em alternncia de um ou outro conjunto de aces por avaliao de uma condio Repetio - permite a execuo condicional em circuito fechado (ciclo) de um dado grupo de instrues. A condio testada em cada iterao para decidir se sair ou no do ciclo.

Compilador e Interpretador O compilador ( um tipo de software) traduz o programa fonte num programa em linguagem mquina que depois executado como um todo; O interpretador traduz e executa instruo a instruo at concluir o programa.

Compilador 1. Traduz o cdigo fonte java numa representao especial designado por bytecodes; 2. Uma outra componente de software, chamada Java Virtual Machine, traduz os bytecodes na respectiva linguagem maquina e executa. Nota: O compilador de Java no est ligado a nenhuma mquina, por isso, cada mquina ter instalado a sua Java Virtual Machine. Fases de criao e execuo de um programa em Java 1. Edio do cdigo O programa criado com um editor e armazenado no disco num file .java 2. Compilao O compilador (javac) transforma os files .java em bytecodes e armazena no disco em file .class 3. Load O Class Loader carrega na memria os bytecodes dos .class do programa e os .class das classes java que o programa usa 4. Verificao Verifica que todos os bytecodes so vlidos e no viola as restries de segurana do java 5. Execuo Para executar um programa a JVM (Java Virtual Machine) traduz os bytecodes na linguagem mquina do computador e manda executar

Caractersticas da linguagem em java Orientada a objectos; Independente da plataforma; Biblioteca muito rica; Robusta; Segura; Multithread; Distribuda e Dinmica; Desenvolvimento de aplicaes web.

Podemos considerar trs tipos de aplicaes em java Aplicaes de consola correm uma nica janela simples de texto; Aplicaes com interface grfica usam uma ou vrias janelas com componentes de interface para o utilizador; Applets so aplicaes do tipo das aplicaes grficas que so executadas a partir de um web browser.

Nota: Java uma linguagem case sensitive Total, total e TOTAL so identificadores diferentes. Tipos de dados primitivos 4 deles representam inteiros byte, short, int, long; 2 deles representam reais float, double; 1 deles representa caracteres char; E outro representa valores booleanos boolean.

Caracteres Uma varivel do tipo char armazena um nico caracter do conjunto de caracteres UNICODE; O conjunto de caracteres UNICODE um sistema de codificao de 16 bits permitindo 65,536 caracteres nicos; Os caracteres literais so delimitados por plicas: x, /..; O sistema de codificao Ascci um subconjunto do sistema UNICODE.

Constantes Uma constante um identificador semelhante ao de uma varivel, mas que guarda um valor inaltervel enquanto o programa est activo; O compilador assinalar um erro se se tentar alterar o valor de uma constante durante a execuo do programa; Em java usa-se o modificador final para declarar uma constante (final int MAXALUNOS=30).

Nota: A comparar nmeros reais nem sempre o operador == o mais conveniente. Deve-se usar a seguinte tcnica:

Converses Em Java, as converses de dados podem ocorrer de trs maneiras: Por atribuio quando um valor de um tipo atribudo a uma varivel de outro tipo. S podem ocorrer promoes; Por promoo aritmtica acontece automaticamente quando os operadores numa expresso convertem os seus operandos; Por Casting a mais poderosa e perigosa tcnica de converso, da responsabilidade do programador.

Criar Strings Criar um objecto designa-se por instanciao. Um objecto uma instncia de uma determinada classe; Todo o String de caracteres um objecto de classe String; Num programa uma String no pode ser dividida por duas linhas.

Erros

o Erros de compilao O compilador detecta erros de sintaxe e outros problemas bsicos. Se houver erros de compilao abortado o processo de construo do programa compilado; o Erros de execuo Durante a execuo do programa podem ocorrer erros como por exemplo divises por zero,..; o Erros lgicos Um programa pode correr, mas pode produzir resultados incorrectos, talvez porque implementa erradamente os processos. Ver pagina 21, 23 power point 33

Comentrios o Comentrios de implementao // comentrio que se estende at ao final da linha; /* comentrio que se estende at seguinte marca de fim de comentrio*/ o Comentrios javadoc /** descrevem classes, mtodos,*/

Mtodos Tipos de procedimentos Funo que executa um bloco de instrues e retorna um valor para a linha de cdigo que a chamou atravs da instruo return valor; Subrotina apenas executa um bloco de instrues.

A utilizao da modularizao cumpre 3 objectivos fundamentais da programao: Dividir dividir em partes mais pequenas e por isso mais fceis de codificar e testar; Reutilizar Permite a reutilizao do cdigo tornando assim o desenvolvimento das aplicaes mais rpido; Abstrair Um mtodo comporta-se como uma caixa negra no interessa como funciona, s interessa qual o resultado esperado. Liberta dos detalhes.

Nota: Para escrever mtodos em pseudo-cdigo: Definir FClassifica(nota) . . . Retorna valor FimDefinir

Estruturas de dados arrays

Um modo de copiar arrays Considere int novaDim=??? int [ ] vec={1,2,3,4,5,6}; int [ ] vecCopia= new int(novaDim); Copiar o array vec para o array vecCopia System.arraycopy(vec,0,vecCopia,0,vec.length); O primeiro argumento de System.arraycopy a referncia do array origem, de onde sero copiados os elementos. O segundo argumento o ndice que especifica o incio dos elementos a copiar. O terceiro argumento o array destino, que armazena a cpia. O quarto argumento o ndice do array destino para onde o primeiro elemento copiado. O quinto argumento especifica o nmero de elementos a copiar.

Remover Elementos REPETIDOS public static int removerRepetidos(int[ ] v, int nEl) { for(int i=0;i<nEl-1;i++) { for(int j=i+1; j<nEl; j++) { if( v[i] ==v[j]){ for (int k=j; k <nEl-1;k++){ v[k]=v[k+1]; } j--; nEl--; } } } return nEl; }