Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 UNIP-ICET Linguagem de Programação e Algoritmo Prof.Me.Nelson Batista Leitão Neto 1: Java Linguagem de programação orientada a objetos projetada para poder ser executada em diferentes plataformas e sistemas operacionais. Desenvolvida pela Sun Microsystems onde possui características semelhantes à linguagem de programação C++ em sua modelagem e inclui recursos especiais que o tornam ideal para programas na Internet. Com Java é possível colocar gráficos interativos e outros efeitos especiais em páginas da Internet utilizando Applets (Mini programas (scripts) que utilizam uma interface de entrada e/ou saída com o código intermediário Java que é executado pelo browser). Um pouco da história de Java™ Inicialmente foi desenvolvida para programar chips de aplicativos de consumo (Projeto Green), tais como controles de TV,telefones, geladeiras, fornos de microondas, etc. A equipe liderada por James Gosling da Sun, inicialmente utilizou C ou C++, descobriu que a linguagem não se adequava ao projeto. Como resultado, em 1990, Gosling começou a projetar uma nova linguagem (Oak). O nome teve que ser mudado, pois já existia o registro do mesmo. O projeto avançou, mas o mercado decepcionou e a Sun decidiu redirecionar o rumo do projeto investindo no ramo da TV interativa. O programa durou dois anos e consumiu milhões de dólares. Consistia no desenvolvimento de um protótipo de controle para TV interativa, usando uma linguagem desenvolvida especialmente para este fim. Quando o projeto finalmente foi apresentado em 1993, descobriu-se que o mercado de TV interativa não existia, sem previsão de implantação. O financiamento do projeto estava para ser cortado quando a equipe foi transferida para outros projetos. Então a Sun decidiu abandonar o hardware do projeto, e focar o seu desenvolvimento na Web. A partir daí, a equipe trabalhou em um ritmo alucinante e em segredo até liberar a primeira versão Alfa da linguagem, em maio de 1995. Fonte: "Java 1001 dicas de programação" Mark C Chan, Steven W.Griffith e Anthony F.Ias Características Importantes Orientada a Objetos: com exceção de seus tipos primitivos, tudo em Java são classes ou instâncias de uma classe. Oferece mecanismos de abstração, encapsulamento e hereditariedade. Independente de Plataforma: a utilização de uma Máquina Virtual Java (JVM) permite que os programas possam ser executas em qualquer arquitetura. Ausência de ponteiros: não permite a manipulação direta de endereços de memória (como na linguagem C) e nem exige que os objetos criados sejam destruídos. Possui mecanismo de garbage collection. (lixeira) 2 Performance: levando em conta que é uma linguagem interpretada, possui uma performance razoável. Para superar algumas limitações, várias JVM dispõe de compiladores JIT que compilam os bytecodes para código nativo durante a execução. 2-Estrutura Sequencial Num Algoritmo aparecem em primeiro lugar às declarações, seguidas por comandos que deverão ser executados numa sequência linear, seguindo-se o texto em que estão escritos, de cima para baixo. Exemplo 2.1: Este programa escreve “Unip. Ciencia da Computacao” na tela: Algoritmo Escreva “Unip. Ciencia da Computacao” fim algoritmo Java: Passo 1: Criar , dentro doNetBeans, File/New Projet...(ou Arquivo/ Novo Projeto...), o pacote (package) com o nome “ALPOO” e o arquivo “CComp” (CComp.java). package alpoo; // Primeiro programa Java linha de comentário public class CComp { public static void main(String[] args) { // (static void main) → Indica que o método deve ser compartilhado por todos os objetos criados a partir desta classe **** string[] args → Vetor de strings que recebe os argumentos passados ao programa // (System.out.) → Objeto de saída padrão. Esta classe faz parte do pacote java.lang, que é importado automaticamente em todo programa Java **** (println) →Função do Java para escrever no formato texto System.out.println("UNIP – CIÊNCIA DA COMPUTAÇÃO !"); System.out.println("LINGUAGEM DE PROGRAMAÇÃO E ALGORITMO."); } } O nome do arquivo .java deve ser idêntico ao nome da classe public, tanto na ortografia quanto nas letras maiúsculas e minúsculas. Java é CASE SENSITIVE! Salvar o arquivo com o nome da classe e extensão .java. Ex.: class CComp, arquivo CComp.java Exemplo 2.2: Este programa lê duas variáveis inteiras, A e B e mostra o somatório das duas em C. Algoritmo var A,B,C inteiro leia A,B C ← A+B escreva C fim algoritmo Java public class somaabc { public somaabc() { } public static void main(String[] args) { int a,b,c; 3 a = 10; b = 20; c = a + b; System.out.println (" O valor de A e "+ a +", e B e "+ b ); System.out.println ("O somatorio de A + B e : "+ c ); } } Exemplo 2.3: Faça um algoritmo que converta dias(inteiro) em anos(decimal). Algoritmo var dia,ano decimal escreva Entre com o numero de dias(valor inteiro): dia← 500 Anos← Dias/365,25 (Obs.: 1 ano tem 365 dias e 8 hs = 0,25 dia) escreva Anos fim algoritmo Java import java.text.DecimalFormat; public class DiaAno { public DiaAno() { } public static void main(String[] args) { float dia = 500f; float ano, quant_dia; DecimalFormat casas= new DecimalFormat("0.00"); ano=dia/365; System.out.println(dia + " dias corresponde a " + casas.format(ano)+" anos"); } } Exercício: Faça um algoritmo que: a) escreva na tela, seu nome, data de nascimento, endereço e cidade em que nasceu. b) escreva na tela a idade de João = 31, Pedro = 27, Lucas =35, Rodolfo = 23 e Marina = 22 e mostre o resultado da soma das idades. c) converta R$ 3.657,38 para dólar ($). Usar para formula: $ 1,00 = R$ 2,35. (utilizar as variáveis vreal = 2657.38, vdolar = 2.35 e dolar). Aula 2 3-Estrutura Condicional A estrutura condicional permite a escolha de grupo de ações e estruturas a ser executado quando determinadas condições, representadas por expressões lógicas, são ou não satisfeitas. Exemplo 3.1: Verificação da condição para poder votar (idade > ou igual a 16). Algoritmo var idade inteiro idade = 15 4 se idade >= 16 estão escreva “Você pode votar.” senão escreva “Você não pode votar.” fimse fimalgoritmo Java public class condicao1 { public condicao1() { } public static void main(String[] args) { int idade = 15; if (idade >= 16) { System.out.println("Vc tem "+idade+". Voce pode votar. "); } else { System.out.println("Vc tem "+idade+". Voce nao pode votar. "); } } Exemplo 3.2: Faça um algoritmo que, dado sua renda anual igual a R$ 9.900,00, faça: se sua renda anual for maior ou igual a R$ 12.000.00, você deverá declarar imposto de renda; caso contrário, não declarar. Algoritmo var RENDA inteiro RENDA = 9900 se RENDA >= 12000 então escreva “Você deve declarar imposto de renda este ano” senão escreva “Você não deve declarar imposto de renda este ano” fimse fimalgoritmo Java public class condicao1 { public condicao1() { } public static void main(String[] args) { int renda = 15; if (renda >= 12000) { System.out.println("Sua renda = R$ "+renda+",00. Voce deve declarar imposto de renda. "); } else { System.out.println("Sua renda = R$ "+renda+",00. Voce não deve declarar imposto de renda. "); } } 5 Exemplo 3.3: Dado três valores: A = 4, B =6 e C = 9 , verifique se o somatório de A+B é maior, igual ou menor que C. Algoritmo var A,B,C inteiro A = 4 B = 6 C = 9 se A+B > C então escreva “A+B é maior que C” senão se A+B = C então escreva “A+B é igual a C” senão escreva “A+B é menor que C” fimse fimse fim algoritmo Java public class condicaoabc { public condicaoabc() { } public static void main(String[] args) { int a = 4; int b = 6; int c = 9; if ((a+b) > c) { System.out.println("A soma de A + B e maior que C."); } else { if ((a+b)==c){ System.out.println("A soma de A + B e igual que C."); } else{ System.out.println("A soma de A + B e menor que C."); } } } } 1) Exercício: Faça um algoritmo que: a) Dada a variável quantirmãos = 3, verifique se ela é maior ou igual a 2 ( escrever na tela que terá um desconto de 10%); caso contrario, escreva que não terá o desconto. b) Sabendo que a quantidade de alunos da turma do 2º/3º ano de Engenharia é igual a 32, usando estrutura condicional verifique se esta quantidade é maior que 30; neste caso, ganharão uma passagem para Cancun. Se for igual a 30, ganharão uma passagem para Fortaleza. Se for menor que 30, ganharão uma passagem para Caldas Novas. c) Verifique qual foi o valor de sua compra numa determinada loja (sugestão: R$ 637,78). Se o valor total for maior que R$ 150.00, pegar este valor, calcular o desconto de 10% e escrever na tela o novo valor total. Se for igual a R$ 150.00, calcular o desconto de 7% e escrever na tela o novo valor total. Se for menor que R$ 150.00, calcular o desconto de 4% e escrever na tela o novo valor. d) verifique a quantidade de pontos na carteira no período de 1 (hum) ano . Se a quantidade de pontos for menor que 5, escreva que você, apesar da multa, é um bom(boa) condutor(a); se for igual a 5, escreva 6 que, apesar de ser um bom condutor, tome cuidado; se for maior que 5, escreva que você é uma pessoa legal mas tem que prestar mais atenção às leis de trânsito. e) Verifique a quantidade de mulheres(homens) que você ficou até esta data. Se for menor que 5, escreva que você é uma pessoa tranquila; se for igual a 5, escreva que você é uma pessoa normal; se for maior que 5, escreva “TU TÁ ANIMADO” 2) Faça uma retrospectiva sobre a linguagem Java.(histórico) 3) Como funciona a estrutura sequencial? 4) Faça um algoritmo que leia 4 valores e calcule sua média.Converta para Java. 5) Faça um algoritmo que escreva na tela o bloco onde você estuda ( Computação = Bloco D) e a data em que você fará a prova de ELM.Converta para Java. 6) Descreva o funcionamento da estrutura condicional. 7) Faça um algoritmo que leia seu nome, endereço e número da sua casa. Se o número de sua casa for menor que 65, escrever na tela que: você pagara o IPTU deste ano parcelado em 3 vezes; se for igual a 65, você pagara o IPTU em duas parcelas; se for maior 65, você pagara o IPTU à vista. Converta para Java. 4 – Utilizando Interface Gráfica O pacote javax.swing contém diversas classes que permitem a criação de interfaces gráficas. No exemplo a seguir, o programa irá ler seu nome, idade e peso: import java.io.*; import java.text.*; import javax.swing.JOptionPane; //importa somente a classe JoptionPane public class nomeidpeso { public nomeidpeso() { } public static void main(String[] args) { String nome; int idade; float peso; DecimalFormat casas= new DecimalFormat("0.00"); String lerNome = JOptionPane.showInputDialog("Digite seu nome: "); nome = lerNome; String leridade = JOptionPane.showInputDialog("Entre com sua idade: "); idade = Integer.parseInt(leridade); String lerpeso = JOptionPane.showInputDialog("Entre com seu peso: "); peso = Float.parseFloat(lerpeso); JOptionPane.showMessageDialog(null,"Seu nome: "+nome+" ."); JOptionPane.showMessageDialog(null,"Sua idade: "+idade+" anos."); JOptionPane.showMessageDialog(null,"Seu peso: "+peso+" Kg."); } } 7 No programa a seguir, você irá calcular quanto deve pagar pro Nelson, sobre um determinado valor, durante um determinado período, com uma taxa de juros simples qualquer: import java.io.*; import java.text.*; import javax.swing.JOptionPane; public class calcjuros { public calcjuros() { } public static void main(String[] args) { String nome; double valor, valor_juros, juros_mes; float taxa_juros; int meses, contador; DecimalFormat casas= new DecimalFormat("0.00"); contador = 1; juros_mes =0; String lerNome = JOptionPane.showInputDialog("Digite seu nome: "); nome = lerNome; String lervalor = JOptionPane.showInputDialog("O Nelson te emprestou: R$ "); valor = Double.parseDouble(lervalor); String lertaxa = JOptionPane.showInputDialog("a uma taxa de (%): "); taxa_juros = Float.parseFloat(lertaxa); String lermeses = JOptionPane.showInputDialog("durante (meses): "); meses = Integer.parseInt(lermeses); valor_juros = valor * (taxa_juros/100); while (contador <= meses) { juros_mes= juros_mes +valor_juros ; // juros_mes +=valor_juros; JOptionPane.showMessageDialog(null,"Juros "+contador+ " mes = R$ "+casas.format(juros_mes)); contador++; } JOptionPane.showMessageDialog(null,"Eu: "+nome+", vou pagar R$ " +casas.format(juros_mes)+" de juros " +"sobre R$ "+casas.format(valor)+ " no periodo de "+meses+ " meses , pro Nelson, num total de R$ " +casas.format(valor+juros_mes)+"."); } } Exercícios: 1) Faça um programa que leia o nome do produto, a quantidade da compra, e o valor unitário. Calcular o valor total (quantidade * valor unitário). Escrever na tela o nome do produto, a quantidade, o valor unitário e o valor total. 2) Faça um programa que leia, enquanto não for digitado o número 9999, valores (inteiros ou reais) e calcule sua média. (Ex.: Leia: 5, Leia: 2, Leia: 3,Leia: 10, Leia: 9999 ----- media: (5+2+3+10) / 4 = 5). Escrever o resultado na tela. 3) Faça um programa que leia o valor da nota de NP1, Institucional, de NP2 e calcule a sua média. 8 Média semestral: (NP1 * 3 + INSTITUCIONAL * 4 + NP2 * 3) / 10. Se a media semestral for menor que 7,0, calcular a média final, sabendo que MF = (Média semestral + Exame) / 2. (ler, então, o valor do exame). 4) Faça um programa que leia seu nome, CPF, carteira de identidade e endereço. Leia também qual o valor do seu último salário. Sobre este salário, calcule um aumento de 7% durante 6 meses e mostre na tela o novo valor calculado. 5) Faça um programa que leia o modelo de carro dos seus sonhos. Leia o preço de venda deste carro e calcule as parcelas a serem pagas em 48 meses, sabendo que a cada mês existe um reajuste de 1,5% ao mês (juros simples). Escrever na tela o modelo de seu carro, valor final com juros e a diferença entre o preço à vista e a prazo. 4 - O Comando for O loop for é usado para repetir um comando, ou bloco de comandos, diversas vezes, de maneira que se possa ter um bom controle sobre o loop. Abaixo veremos um programa que coloca os primeiros 10 números inteiros na tela em ordem crescente e decrescente: Algoritmo var contador inteiro para contador = 1 atécontador = 100 faça// ou para contador = 100 até contador = 1 faça escreva contador fimalgoritmo Java package c10; import java.io.*; import java.text.*; public class conta10 { public conta10() {} public static void main(String[] args) { int contador; for (contador=1; contador<=10; contador++) { System.out.println(" " + contador); } for (contador=10; contador>=1; contador--) { System.out.println(" " + contador); } } } Exercícios: 1) Faça um algoritmo que, usando estrutura de repetição “for”, calcule a soma dos números compreendidos no intervalo de 1278 a 1256. 2) Faça um algoritmo que, usando estrutura de repetição “for”, mostre na tela o quadrado dos números de 1 a 10, em ordem decrescente.Ler o primeiro e o último número do teclado. Ex.: 100, 81, 64, ...,1. 9 3) Faça um algoritmo que calcule qual o valor final da aplicação, durante um período que será digitado por você, sabendo que a taxa da aplicação é de 10% ao mês. Exemplo: Valor = R$ 1000,00 Quantidade de meses = 3 1˚ mês: 1000 * 1.1 = 1100,00 2˚ mês: 1100 * 1.1 = 1210,00 3˚ mês: 1210 * 1.1 = 1331,00 4) Faça um algoritmo que, usando o comando “for”, calcule a soma dos números pares compreendidos no intervalo de 160 a 190. 5) Você esta num consórcio entre amigos no valor de R$ 100,00, com 10 participantes.Faça um algoritmo que, usando o comando “for”, calcule qual o valor final que você irá receber, sabendo que sua cota é a última e a partir do segundo mês, o valor é reajustado em 2%. Valor = R$ 100,00 Quantidade de meses = 10 1˚ mês: 100,00 * 10 = 1000,00 2˚ mês: (100 * 1.02) * 10 = 102 * 10 = 1020,00 3˚ mês: (102 * 1.02) * 10 = 104,04 * 10 = 1040,04 ... 10˚ mês: Total = 119,5093 * 10 = 1195,093 6) Faça um algoritmo que, usando estrutura de repetição, mostre na tela o cubo dos números impares de 1 a 20, em ordem crescente. Arrays Arrays em Java são diferentes do que em outras linguagens(são objetos que podem ser passados e acoplados a outros objetos). Podem conter qualquer tipo de elemento (tipos primitivos ou objeto), mas você não pode armazenar diferentes tipos em um simples array. Estes, em Java, são genéricos homogêneos, ou seja, um único array pode armazenar qualquer tipo de objeto com a restrição que todos sejam da mesma classe (int, string,...) package array; import java.io.*; import java.text.*; import javax.swing.JOptionPane; public class array_1 { public array_1() { } public static void main(String[] args) { String nome[]=new String[5]; int idade[]=new int[5]; int conta=0; for(conta=0;conta<=4;conta++){ String lerNome = JOptionPane.showInputDialog("Digite seu nome: "); 10 nome[conta]=lerNome; String leridade = JOptionPane.showInputDialog("Entre com sua idade: "); idade[conta] = Integer.parseInt(leridade); } JOptionPane.showMessageDialog(null,"Consta na posicao 3 o nome: "+nome[2]+" ."); JOptionPane.showMessageDialog(null,"A idade da posicao 4 e: "+idade[3]+" ."); } } Exercícios: 1) Utilizando o conceito de polimorfismo, faça um programa que escreva na tela os cursos que existem no prédio em que estudamos. 2) Utilizando array, crie um programa que leia o nome, cpf, nota 1, nota 2 de 10 alunos. Escreva o nome do 4° aluno cadastrado, o cpf do 7° aluno, a média das nota 1 e 2 do 2° aluno .
Compartilhar