Mostrando postagens com marcador Programação. Mostrar todas as postagens
Mostrando postagens com marcador Programação. Mostrar todas as postagens

sexta-feira, 23 de agosto de 2013

Nível de Portabilidade - Java / C++

A linguagem Java é considerada portável, já que após o processo de compilação de uma classe, ela pode ser invocada em qualquer plataforma que dê suporte à Java. Isto só é possível pelo fato de o código-fonte Java ser compilado para byte-code, que é um código interpretado pela Máquina Virtual Java (JVM), portanto toda vez que temos uma JVM que possa interpretar o byte-code podemos reaproveitar o código sem maiores problemas e nos mais diversos ambientes.


O C++ é compilado diretamente para código nativo de maquina. Isso torna a linguagem C++ seja dependente da plataforma. Deste modo, para que programas implementados em C++ possam ser executados em outras plataformas como outro sistema operacional, por exemplo, é preciso realizar uma nova compilação e repetir o processo a cada mudança de plataforma. Vale ressaltar que quando um programa é compilado em código nativo como são os programas de C++ seu tempo de execução é muito inferior a programas interpretados por maquinas virtuais como no caso do Java.

quarta-feira, 21 de agosto de 2013

Confiabilidade e Tratamento de exceções - Java / C++

Um ponto importante de uma linguagem de programação é a sua confiabilidade, pois uma linguagem confiável possibilita a criação de programas mais seguros, mais simples de serem desenvolvidos e com maior facilidade de aceitação por parte do usuário. A confiabilidade nas linguagens pode ser percebida por diversos fatores como, por exemplo: a legibilidade, o tratamento de exceções, a verificação de tipos e a facilidade de escrita.

O C++ possui diversas características que acabam por proporcionar possibilidade de erros de programação, como a manipulação direta de endereços de memória utilizando ponteiros, meios através do qual um endereço de memória é diretamente acessado pelo programa. Em Java, por outro lado, não se tem acesso direto ao endereço de memória. Sendo assim, a linguagem Java se torna mais confiável.

Outro ponto importante ainda sobre a confiabilidade é o tratamento de exceções, na qual as linguagens que dispõem de recursos para o programador tratar exceções, evitando que o programa seja finalizado inesperadamente e deixem o usuário “perdido”, são consideradas mais confiáveis e melhores também para o usuário. Com estas ferramentas o programador implementa um código que possa tratar estas exceções caso ocorram.

O C++, possui um mecanismo de tratamento de exceções, composto pelo try() e pelo catch() simples porem já possibilita ao programador evitar que exceções sejam lançadas diretamente ao usuário. Já em Java, toda exceção é um objeto e existem classes prontas para o tratamento das mais variadas exceções. A superclasse de todas as exceções de Java é a classe java.lang.Throwable. Todos os objetos dessa classe ou de suas subclasses podem ser gerados ou capturados por meio do tratamento de exceções e assim facilitando o processo de tratar exceções e também tornando mais fácil sua visualização.

segunda-feira, 12 de agosto de 2013

Java e C++

Comparação entre JAVA e C++
Vamos fazer uma breve comparação entre linguagens Java e C++ avaliando suas semelhanças e diferenças, visto que Java é uma linguagem baseada em C++ porem com modificações importantes vários pontos:

Semelhanças entre Java e C++:
Pelo fato de Java ter surgido baseada em C++ existem alguns pontos onde até hoje as linguagens são similares abordaremos essas semelhanças:

Sintaxe:
Talvez esse seja o ponto de maior proximidade e semelhanças entre as duas linguagens, ambas contam com basicamente os mesmos comandos básicos (For, If, ElseIf, Switch etc.), tabém contam com uma forma de escrita desses comandos bem similares, como por exemplo no for onde o comando se dá como abaixo em ambas linguagens:
For (i = 0; i <10; i++) {
};
 Como pode ser visto temos a palavra reservada para o laço “FOR”, abertura de parênteses, definição inicial da variável contador, ponto e vírgula como delimitador, comparação do contador com a definição do numero de laços a serem executados, ponto e vírgula como delimitador e incrementador da variável podendo ser escritode forma simplificada pelo ++ ou completa por:

 i = i + 1;
Esse padrão descrito acima é exatente igual em ambas linguagens.E assim como no exemplo acima as semelhanças sintaticas das duas linguagens são evidentes no que se diz respeito parte estrutural do codigo em sua grande maioria.

sexta-feira, 9 de agosto de 2013

Características da Linguagem Java

Vantagens da Linguagem Java:
A linguagem Java foi desenvolvida a partir da linguagem C++ com o intuito de corrigir algumas de suas falhas e também implementar algumas novas ideias. As vantagens a serem destacadas da linguagem Java são: 
Gratuito: O Java tem kits de desenvolvimento gratuitos e código aberto a comunidade, além de uma gama de material disponível muito grande e constantemente sendo atualizada.
Segurança: O ambiente e alguns recursos garantem que o código não “derrube o sistema” durante tempo de execução.
Orientação a objeto: É totalmente orientado a objetos, o que possibilita o uso de herança e a reutilização de códigos de forma dinâmica e estática, assim conforme o desenvolvimento de classe avança fica mais simples e rápido a criação de novas.
Desempenho: É uma questão um tanto quanto controversa atualmente, mas a linguagem Java para  internet tem um desempenho considerável rápido quando comparada a outras linguagem script na web(HTML, o JavaScript ou o VBScript). Além de alguns recursos como compilação just-in-time, multithreading e utilização de código nativo.

Portabilidade:Talvez o ponto que mais se destaca na linguagem Java, graças a essa ser uma linguagem interpretada, ela pode ser executada em qualquer plataforma ou equipamento que possua um interpretador Java e que tenha sido compilado para o sistema a ser utilizado, esse diferencial abre um leque de oportunidades muito amplo para esta linguagem podendo ser usada na internet, celulares ou até em geladeiras.

Desvantagens da Linguagem Java:
Essa busca por correções de falhas do C++, juntamente com o fato de ser uma linguagem interpretada geram alguns pontos negativos para o Java. Podendo-se destacar desse:
Pouca integração com o S.O: Devido ao fato da linguagem Java ser interpretada ela possui pouca integração com o S.O além de ser difícil a criação de um código que não seja gerenciado pela JVM.
Desempenho:Apesar de contraditório a citação de desempenho como vantagem e desvantagem do Java a desvantagem fica clara quando comparamos o código em byte-code do Java com o de um código nativo, o byte-code do Java chega a ser 20 vezes mais lento.
Difícil programação: A linguagem Java é totalmente orientada a objeto alem de ter um código com grande rigor metodológico, o que torna o desenvolvimento em Java custoso e lento se comparado a algumas outras linguagens. 

sexta-feira, 24 de maio de 2013

Herança e Classes Abstratas em Java - Exemplo

O exemplo abaixo mostra um exercício a qual trabalhará com os conceitos de Herança e de Classes abstratas:

  • Crie uma classe chamada ExportToFileCommon, esta classe deverá conter o método público Export, este método não deverá ser implementado pois servirá de base para as classes herdeiras.
  • Crie uma classe chamada ExportToExcel que herdará a classe ExportToFileCommon, o método Export deverá ser implementado nesta classe e deverá exibir a seguinte mensagem “Arquivo exportado para o Excel com sucesso.”.
  • Crie uma classe chamada ExportToPdf que herdará a classe ExportToFileCommon, o método Export deverá ser implementado nesta classe e deverá exibir a seguinte mensagem “Arquivo exportado para PDF com sucesso.”.  Observação: Os métodos devem ser públicos.


public class Principal {
public static void main(String[] args) {
ExportToPdf pdf = new ExportToPdf();
pdf.Export();
ExportToExcel excel = new ExportToExcel();
excel.Export();
}
}

public abstract class ExportToFileCommon {
public abstract void Export();
}

public class ExportToExcel extends ExportToFileCommon {
public void Export() {
System.out.println("Arquivo exportado para o Excel com sucesso!");
}
}

public class ExportToPdf extends ExportToFileCommon {
public void Export() {
System.out.println("Arquivo exportado para PDF com sucesso!");
}
}

segunda-feira, 20 de maio de 2013

Comparação entre Linguagens - C# e Visual Basic

Muito se tem escrito sobre o C# (pronúncia: "C-Sharp"). Esta é uma nova linguagem baseada no C/C++. O C#, como o VB.Net, é construído especificamente para a estrutura .NET  (.NET Framework), e muito se tem escrito sobre ela. Dada toda a propaganda, algumas pessoas se perguntam sobre o porquê de escolher VB .NET em lugar de C#.

Embora tanto os projetos VB .NET como C# possam ser criados no ambiente do Visual Studio .NET (VS .NET), o VB .NET foi criado especificamente para os desenvolvedores de VB e tem um número de características únicas que o fazem uma grande escolha para criar aplicações .NET. O VB .NET ainda é a única linguagem no VS .NET que inclui compilação em segundo plano, o que quer dizer que pode sinalizar os erros imediatamente enquanto você digita. VB .NET é a única linguagem .NET que suporta ligação tardia, isto é o que você faz quando declara uma variável do tipo Object no VB 6. No ambiente de trabalho do VS .NET, o VB .NET oferece uma lista do tipo drop-down no topo da janela de código com todos os objetos e eventos.

O ambiente do VS .NET não oferece esta funcionalidade para nenhuma das outras linguagens. O VB .NET também é a única a fornecer valores default para parâmetros opcionais e a ter uma coleção Controls disponível para o desenvolvedor. Não esqueça também que o C#, assim como seus irmãos C e C++, diferencia maiúsculas de minúsculas (case sensitive), algo que deixa os programadores mais experientes em VB completamente loucos. Some-se a isto que o C# usa diferentes símbolos para o operador de atribuição (=) e o operador de comparação de igualdade (==). Finalmente, consideremos, se você sabe VB, você está a meio caminho de dominar o VB .NET do que estaria para dominar o C#. Mesmo tendo mudado muitas coisas, a sintaxe básica da linguagem do VB .NET continua semelhante à do VB, assim você já sabe como declarar variáveis, criar loops, e assim por diante.

domingo, 19 de maio de 2013

Cálculo de imposto de renda em Java

Calculando o imposto de renda, de forma simples, para demonstração de alguns recursos que a Linguagem Java oferece:

public class CalculoDeImposto {
    public static void main(String[] args) {
       //Declaração de Variáveis
       double imposto;
       double impostotot;
       double valor = 1200.50;
       String porcento;

        if (valor >= 1201f && valor <= 5000f) {
                 imposto = 1.1f;
                 porcento = "10%";
                 impostotot = 0.1f;
        } else if(valor >= 5.001f && valor <= 10000f){
                 imposto = 1.15f;
                 porcento = "15%";
                 impostotot = 0.15f;
       } else{
                imposto = 1.2f;
                porcento = "20%";
                impostotot = 0.2f;
       }
     
       //Saída de dados
       System.out.println("Valor:   R$ " + valor);
       System.out.println("Imposto pago:  " + porcento + " | Valor em Dinheiro: R$" + (valor*impostotot));
       System.out.println("Valor Total Pago  R$ " + (valor * imposto));
    }

}

segunda-feira, 13 de maio de 2013

Estrutura de Condição Se-Senão (If-else)


Exemplo de exercício para mostrar o valor da média. Se for maior ou igual a 5 exibe a mensagem “Aluno aprovado”, ou “Aluno Desaprovado” caso contrário.

Início
/*Entrada de Dados*/
real media, nota1, nota2, nota3, nota4;

Escreva (“Insira a primeira nota”);
leia (nota1);
Escreva (“Insira a segunda nota”);
leia (nota2);
Escreva (“Insira a terceira nota”);
leia (nota3);
Escreva (“Insira a quarta nota”);
leia (nota4);

/*Processamento*/
media = (nota1 + nota2 + nota3 + nota4) / 4;

/*Saída de Dados*/
Se (media >= 5) {
Escreva (“Aluno aprovado com média”, media);
}
Senão {
Escreva (“O aluno foi reprovado com a média”, media);
};

fim!

domingo, 12 de maio de 2013

Escrevendo Data na Linguagem C

Abaixo, na Linguagem C, estão alguns comandos básicos, como entrada, formatação e saída de dados, manipulando então as entradas para "saírem" com os espaçamentos e divisões corretas para exibição.

#include <stdio.h>

#include <stdlib.h>
#include <ctype.h>

int main (int arg, char * args[])
{
    int dia, mes, ano;
    
    printf("Digite uma data no formato dd/mm/aaaa: ");
    scanf("%d %*c %d %*c %d",&dia,&mes,&ano);

    printf("\n\nData digitada: ");
    printf("%d/%d/%d",dia, mes, ano);

    printf("\n\nData digitada formatada com espacamentos: ");
    printf("%2d/%2d/%4d",dia, mes, ano);

    system("Pause >> null");
    
    return 0;
}

quarta-feira, 8 de maio de 2013

Algoritmo para Rotina de Ordenação

Existem vários métodos para obter a ordenação de elementos de uma matriz. Um método bastante simples de ordenação consiste na comparação de cada elemento com todos os elementos subsequentes. Sendo o elemento comparado menor para ordenação decrescente, ou maior para ordenação crescente que o atual, ele será trocado de posição com o outro.

Ordem crescente
Para (i=0; i<4; i=i+1) {
    Para (j=i+1; j<=4; j=j+1) {
        Se (A[i] > A[j]) então {
            X = A[i];
            A[i]=A[j];
            A[j]= X;
        };
    };
};

Ordem decrescente (troca de sinal "<")
Para (i=0; i<4; i=i+1) {
    Para (j=i+1; j<=4; j=j+1) {
        Se (A[i] < A[j]) então {
            X = A[i];
            A[i]=A[j];
            A[j]= X;
        };
    };
};

terça-feira, 7 de maio de 2013

Cálculo de Fatorial

Algoritmo para Cálculo de Fatorial
Para (cont = 1; cont <= 10; cont = cont + 2) 
{
    Para(i = 1; i <=cont; i = i + 1) {
        fat = fat * i;
    }
    Escreva (“O fatorial de ”, cont, “é: ”, fat);
}

-------------------------------------------------------------

Cálculo de Fatorial em C
- números em um array

int Fatorial()
{
  int i, j;
  for (i=0; i<=2; i=i+1){
      int fat = 1;
      for (j=1; j<=A[i]; j=j+1){
          fat = fat * j;
          B[i] = fat;
      };
  };  
};