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 .