1ª QUESTÃO Linguagem C Vantagens: Desvantagens: Linguagem C++ Vantagens: Desvantagens: - PDF
Download "1ª QUESTÃO Linguagem C Vantagens: Desvantagens: Linguagem C++ Vantagens: Desvantagens:"
Luiz Guimarães Caires
1 1ª QUESTÃO Linguagem C Vantagens: É uma linguagem simples que nos permite trabalhar com funções matemáticas, ficheiros, entre outras sendo necessário para tal a inclusão de bibliotecas padrão as quais já vêem com a linguagem; Linguagem acente num paradigma algoritmica e procedimental; Tipos de dados simples; Acesso directo à memória; Definição e declaração simples de variáveis. Os programas criados em C em termos de segurança não são muito seguros uma vez que o código é escrito de uma forma sequencial ( pode-se facilmente incluir uma instrução no nosso código do programa e tornar o resultado final completamente diferente); Não possui colecta automática de lixo ( se durante o programa uma variável declarada não for mais usada ao longo do programa a linguagem não tem capacidade para a eleminar continuando esta a ocupar espaço indevidamente em memória); Não faz uso de classes ou objectos ( como no JAVA ); Multithreading ( a linguagem C não permite a execução de várias tarefas em simultâneo ); Networking ( é uma linguagem que inicialmente não foi pensada para redes ). Linguagem C++ Vantagens: Possibilidade em programação de alto e baixo nível. Alta flexibilidade, portabilidade e consistência. Compatibilidade com C, resultando em vasta base de códigos. Adequado para grandes projetos. Ampla disponibilidade e suporte, devido principalmente à grande base de desenvolvedores. Não está sob o domínio de uma empresa (em contraste do Java - Sun ou Visual Basic Microsoft). Padronização pela ISO. Grandes possibilidades para a metaprogramação e programação genérica. Compatibilidade com o C herdou os problemas de entendimento de sintaxe do
2 mesmo. Os compiladores atuais nem sempre produzem o código mais otimizado, tanto em velocidade quando tamanho do código. Linguagem PHP Vantagens : Além do fato do PHP ser absolutamente gratuito, uma de suas grandes vantagens é que ele é multi-plataforma. Roda não só em servidor Windows mas também em Linux, Unix, FreeBSD e mais uma dúzia de sistemas operacionais. Fácil aprendizado - A linguagem PHP pegou elementos do Perl, Java e do C. A maioria dos programadores para Web conhece ao menos uma destas linguagens, facilitando o aprendizado. Acesso a dados - O PHP se conecta facilmente a sistemas Sybase, MySQL, MS-SQL, Oracle e muitos outros compatíveis com o padrão ODBC. Velocidade e robustez - O ASP tende a deixar o servidor mais lento, o PHP raramente causa este problema. A diferença entre ambos já foi maior, mas o ASP foi sendo otimizado pela Microsoft enquanto que o PHP cresceu, aglutinando mais e mais funções. Multi-plataforma - Como já vimos, o PHP funciona em qualquer plataforma onde for possível instalar um servidor Web. Só para lembrar, há versões para Linux, FreeBSD, Solaris, Windows NT, IRIX, HP-UX e até para o Amiga. Compatibilidade entre versões - Nota-se que falta um pouco de padronização. Por exemplo, um comando que funciona em determinada revisão pode não funcionar em outra. Segurança - Segundo os especialistas, o uso de Servelets e do JSP deixa os códigos mais seguros pois são pré-compilados. Aplicativos de servidor - Segundo algumas correntes de pensamento, o Java leva clara vantagem sobre o PHP, mas isto vem mudando com a implantação das ferramentas para Web 2.0. Web services - Segundo os mesmos especialistas, o PHP precisava desenvolver melhor interligação com os serviços via Web. Isto já foi feito, hoje o PHP pode competir de igual para igual com ferramentas da Microsoft e da adobe na criação de sites dinâmicos com todos os requisitos da Web 2.0. Linguagem Java Vantagens: A tecnologia Java é Free, o custo quase totalmente zero, como já foi explicado anteriormente, os editores e ambientes de produção também são gratuitos (NetBeans, Eclipse, Jcreator, entre outros.) e ainda tem a gratuidade dos Servidores de Aplicação (TomCat, Jboss, Jetty e outros.). A Linguagem é Orientada a Objetos (OO), segue o paradigma OO, o que a torna uma
3 ferramenta extremamente poderosa. E é também Multi-Threaded, o que significa dizer que ela suporta processamento paralelo múltiplo. Possui portabilidade, onde o mesmo código Java roda em diversas plataformas sem a necessidade de alteração de código e as aplicações podem ser facilmente migradas entre servidores. Tornado desnecessário ficar preso a somente um fabricante. Java é padronizada e mantida pela JCP (Java Community.( Process A JCP é mantida por diversas empresas: Sun, Oracle, IBM, Novell, Xerox. Pelo fato de Java ser OO, é possível fazer reuso de código já produzido. E o suporte dado a Tecnologia Java é satisfatório, pois a comunidade Java, hoje, é a mais extensa. Existem inúmeros JUGs (Java User Groups), que promovem eventos, disponibilizam material, artigos, revistas especializadas e fórum de discussoões. A pré-compilação exige tempo, o que faz com que programas Java demorem um tempo significativamente maior para começarem a funcionar. Isso não é um grande problema para programas que rodam em servidores. No entanto isso pode ser bastante indesejável para computadores pessoais. O padrão Java tem uma especificação rígida de como devem funcionar os tipos numéricos. Essa especificação não condiz com a implementação de pontos flutuantes na maioria dos processadores o que faz com que o Java seja significativamente mais lento para aplicações que utilizem bastante processamento numérico quando comparado a outras linguagens. Os bytecodes produzidos pelos compiladores Java podem ser usados num processo de engenharia reversa para a recuperação do programa-fonte original. Esta é uma característica que atinge em menor grau todas as linguagens compiladas. Lembrando que as desvantagens de Java em relação à performance não significam que suas aplicações sejam lentas ao ponto de não serem viáveis para utilização em desktops. Java hoje já possui um desempenho próximo do C++. A grande diferença na performance das aplicações escritas, aplicação da Start no dá se pré-compiladas em Java em relação as outras linguagens quando ocorre a geração dos bytecodes. Entretanto Java não suporta herança múltipla de implementação e nem aritmética de ponteiros, que são aceitos em C++, isso tem um pequeno e importante impacto na produtividade do programador. Herança 2ª QUESTÃO Esse é um dos principais conceitos da POO. A herança é o compartilhamento de atributos e operações entre classes com base em relações hierárquicas, ou seja, é a utilização de superclasses para criar as subclasses. Veja o exemplo abaixo:
4 Aqui representamos a classe Carro e as subclasse GOL e Ferrari. Polimorfismo Polimorfismo é conceito ou melhor é a capacidade que um mesmo método pode se comportar de diferentes maneiras em diferentes classes. Enquanto a herança é voltada mais as classes, o polimorfismo está voltado aos métodos. Imagine o método Correr na classe Carro. Agora imagine o mesmo método na subclasse GOL e na subclasse Ferrari. Em cada subclasse o método irá se comportar de maneira diferentes. Encapsulamento Esse conceito consiste em esconder os detalhes de implementação das Classes. O encapsulamento permite definir a visibilidade dos elementos de uma classe e essa visibilidade controla os acesso aos dados e métodos. Privada: pode ser usado apenas pela classe que o define. Protegida: pode ser usado pela classe que o define e por qualquer subclasse da classe que o define. Pública: pode ser usado por qualquer objeto no sistema. Controle de Acesso Java permite declararmos um membro(método ou atributo) que, embora não seja acessível por outras classes, é herdado por suas sub-classes. Resumindo de visibilidade: private: membros que são vistos só pela própria classe e não são herdados por nenhuma outra. public: membros são vistos e herdados por qualquer classe. protected: membros que são vistos pelas classes do pacote e herdados por qualquer outra classe. package: membros que são vistos e herdados pelas classes do pacote. 3ª QUESTÃO Exemplo if else: // Entrar com um número e imprimir uma das mensagens: maior ou menor do que 20 import java.util.scanner; public class IfElse { public static void main (String args[]){ int num; Scanner input = new Scanner( System.in ); System.out.println("Digite um número:"); num = input.nextint(); if(num>20){
5 else{ System.out.println("O número "+num+", é maior do que 20."); System.out.println("O número "+num+", é menor do que 20."); System.exit(0); Exemplo do while: // Laço de repetição contando 10 números public class DoWhile { public static void main(string[] args) { int i=0; do { System.out.println("Contador " + i); while(++i<10); Exemplo switch case: import javax.swing.joptionpane; public class Switch{ public static void main( String args[] ) { //APRESENTAÇÃO DAS VARIAVEIS String a, b, escolha; int es; float c, d, e; //DEFINIÇÃO DAS VARIAVEIS escolha = JOptionPane.showInputDialog ("Digite 0 para soma, \n Digite 1 para subtraçao, \n Digite 2 para divisao, \n Digite 3 para multiplicacao"); es = Integer.parseInt(escolha); a = JOptionPane.showInputDialog ("Digite o primeiro numero"); c = Float.parseFloat(a); b = JOptionPane.showInputDialog ("Digite o segundo numero"); d = Float.parseFloat(b); //SWITCH CASE switch (es) { case 0: e = c + d; JOptionPane.showMessageDialog(null, "Resultado da soma: " + e, "Feito", JOption- Pane.PLAIN_MESSAGE );break; case 1: e = c - d; JOptionPane.showMessageDialog(null, "Resultado da subtracao: " + e, "Feito", JOptionPane.PLAIN_MESSAGE );break; case 2:
6 e = c / d; JOptionPane.showMessageDialog(null, "Resultado da divisao: " + e, "Feito", JOption- Pane.PLAIN_MESSAGE );break; case 3: e = c * d; JOptionPane.showMessageDialog(null, "Resultado da multiplicacao: " + e, "Feito", JOptionPane.PLAIN_MESSAGE );break; System.exit(0); Exemplo For: // Contar de 1 a 10 public class For { public static void main(string[] args) { int variavel=10; for (variavel=0;variavel<10;variavel++){ System.out.println(variavel+1); 4ª QUESTÃO // Não consegui instalar o mysql no pc de casa 5ª QUESTÃO 6 comandos do terminal do Linux : 1- cd diretório: abre um diretório. Por exemplo, para abrir a pasta /mnt, basta digitar cd /mnt. Para ir ao diretório raiz a partir de qualquer outro, digite apenas cd; 2- id usuário: mostra qual o número de identificação do usuário especificado no sistema; 3- file arquivo: mostra informações de um arquivo; 4- free: mostra a quantidade de memória RAM disponível; 5- history: mostra os últimos comandos inseridos; 6- clear: elimina todo o conteúdo visível, deixando a linha de comando no topo, como se o terminal acabasse de ter sido acessado;