Prévia do material em texto
LINGUAGEM DE PROGRAMAÇÃO III
Professor: Lázaro P. de Oliveira
TUTORIAL PARA A
CRIAÇÃO DE UM
PROGRAMA SIMPLES
NO JAVA
Vejamos o passo a passo de como criar um programa simples em java para
escrever, na tela, a seguinte mensagem: Olá, Mundo!
TURORIAL PARA A CRIAÇÃO DE UM
PROGRAMA SIMPLES NO JAVA
PASSO1: Abra o NetBeans
PASSO2: Clique nas opções de
menu: “Arquivo” “Novo
Projeto”
TURORIAL PARA A CRIAÇÃO DE UM
PROGRAMA SIMPLES NO JAVA
PASSO3: Na tela que se abrir, clique na
Categoria “Java” e no Projeto “Aplicação
Java”.
PASSO4: Clique no botão “Próximo”.
TURORIAL PARA A CRIAÇÃO DE UM
PROGRAMA SIMPLES NO JAVA
PASSO5: Digite o nome do
Projeto: “PrimeiroPrograma”.
Observe que as primeiras
letras das palavras ficam
maiúsculas e que não há
espaços entre elas.
PASSO6: Clique no botão
“Finalizar”
TURORIAL PARA A CRIAÇÃO DE UM
PROGRAMA SIMPLES NO JAVA
PASSO7: Uma tela se abrirá. Vejamos o que há nela.
7.1: Nome da Classe:
“ (extensão “.Java”)
TURORIAL PARA A CRIAÇÃO DE UM
PROGRAMA SIMPLES NO JAVA
PASSO7: Uma tela se abrirá. Vejamos o que há nela.
7.2: Nome do
Pacote:
“primeiroprograma“
(extensão “.Java”)
TURORIAL PARA A CRIAÇÃO DE UM
PROGRAMA SIMPLES NO JAVA
Observe que a própria IDE já criou a estrutura da classe para você, como pode ser visto
abaixo. Essa é uma das grandes vantagens de se utilizar uma IDE. Neste nosso estudo,
estamos utilizando a IDE NetBeans, que é a IDE distribuída oficialmente pela Oracle:
package primeiroprograma;
public class PrimeiroPrograma {
public static void main(String[] args) {
}
}
TURORIAL PARA A CRIAÇÃO DE UM
PROGRAMA SIMPLES NO JAVA
package primeiroprograma;
public class PrimeiroPrograma {
public static void main(String[] args) {
System.out.print(“Olá, Mundo!”);
}
}
PASSO8: Digite o comando de saída na tela para
escrever a mensagem “Olá, Mundo!”.
TURORIAL PARA A CRIAÇÃO DE UM
PROGRAMA SIMPLES NO JAVA
PASSO9: Para executar este
programa, basta clicar no
botão “Executar Projeto”.
Importante frisar que, ao
fazer isso, o programa será
executado e SALVO
automaticamente.
9.1: Resultado da execução
– comando de saída
TURORIAL PARA A CRIAÇÃO DE UM
PROGRAMA SIMPLES NO JAVA
package primeiroprograma;
public class PrimeiroPrograma {
public static void main(String[] args) {
System.out.println(“Olá, Mundo!”);
}
}
PASSO10: Caso queira que seja escrita a mensagem e
pule para a linha de baixo, basta acrescentar as letras
“ln” (line) no comando “print”, deixando com a seguinte
escrita: “println”. Veja abaixo:
TURORIAL PARA A CRIAÇÃO DE UM
PROGRAMA SIMPLES NO JAVA
PASSO11: Agora veja,
com a alteração do
comando, como fica
exibida a mensagem
de saída. Escreveu e
pulou uma linha
TURORIAL PARA A CRIAÇÃO DE UM
PROGRAMA SIMPLES NO JAVA
Nome da Classe
(primeiras letras em caixa alta – Camel-Case)
Nome do Pacote
(todos em caixa baixa)
Método Principal
( main() )
RESUMO DA ESTRUTURA
Estrutura
Sequencial
(simples)
PROGRAMAS COM ESTRUTURA SEQUENCIAL
PROGRAMA 0: Faça um programa para ler dois números e informar a soma entre eles
PROGRAMA 0.5: Faça um programa para ler dois números e informar a soma e a média
entre eles
PROGRAMA 1: Faça um programa Java para ler os valores de dois pontos flutuantes de
dupla precisão “A” e “B”, correspondentes a duas notas de um aluno. Na sequência,
calcule a média do aluno, considerando que a nota “A” tem peso 3,5 e a nota “B” tem
peso 7,5. Cada nota pode variar de zero a dez, sempre com um dígito após o ponto
decimal.
PROGRAMA 2: Faça o programa para calcular a área (AREA) e o perímetro (P) de uma
sala retangular, sendo que as dimensões da sala (L e C) são fornecidas pelo usuário.
Apresente a área e o perímetro depois de calculados.
PROGRAMA 3: Faça o programa que calcule a idade de uma pessoa, sendo que o ano
atual (AA) e o ano do nascimento da pessoa (AN) são fornecidos pelo usuário
(considere que a pessoa já fez aniversário este ano). Apresentar a idade da pessoa
depois de calculada.
package somadoisnumeros;
import java.util.Scanner;
public class SomaDoisNumeros {
public static void main(String[] args) {
Scanner ent = new Scanner(System.in);
int NUM1, NUM2, SOMA;
System.out.println("Informe o primeiro número: ");
NUM1=ent.nextInt();
System.out.println("Informe o segundo número: ");
NUM2=ent.nextInt();
SOMA = NUM1 + NUM2;
System.out.println("A soma entre dois números é: " + SOMA);
}
}
package javaapplication7;
import java.util.Scanner;
public class JavaApplication7 {
public static void main(String[] args) {
Scanner ent = new Scanner(System.in);
double num1, num2, soma = 0;
System.out.println("Digite um número: ");
num1 = ent.nextDouble(); // usuario digita um número
System.out.println("Digite outro número: ");
num2 = ent.nextDouble(); // usuario digita um número
soma = num1 + num2; // soma o valor digitado AGORA com o digitado ANTES
System.out.println("A soma é: " + soma);
System.out.println("A média é: " + (num1+num2)/2);
}
}
package mediaponderada;
import java.util.Scanner;
public class MediaPonderada {
public static void main(String[] args) {
Scanner ent = new Scanner(System.in);
double NUM1, NUM2, MEDIA;
System.out.println("Informe o primeiro número: ");
NUM1=ent.nextDouble();
System.out.println("Informe o segundo número: ");
NUM2=ent.nextDouble();
MEDIA = ((NUM1 * 3.5)+(NUM2*7.5))/11;
System.out.println("A média ponderada é: " + MEDIA);
}
}
#include <iostream>
#include<locale.h>
using namespace std;
int main()
{
setlocale(LC_ALL,"portuguese");
float A,B,MEDIA;
cout<<"Informe a primeira nota do aluno: ";
cin>>A;
cout<<"Informe a segunda nota do aluno: ";
cin>>B;
MEDIA = ((A*3.5)+(B*7.5))/11;
cout<<"Média do aluno: " <<MEDIA <<endl;
system("pause");
return 0;
}
package areaperimetro;
import java.util.Scanner;
public class AreaPerimetro {
public static void main(String[] args) {
Scanner ent = new Scanner(System.in);
double C, L, AREA, PERIMETRO;
System.out.println("Informe o comprimento da sala: ");
C=ent.nextDouble();
System.out.println("Informe a largura da sala: ");
L=ent.nextDouble();
AREA = C * L;
PERIMETRO = (C*2) + (L*2);
System.out.println("A área da sala mede: " + AREA);
System.out.println("O perímetro da sala mede: " + PERIMETRO);
}
}
package areaperimetroswing;
import javax.swing.JOptionPane;
public class AreaPerimetroSwing {
public static void main(String[] args) {
double C, L, AREA, PERIMETRO;
C=Double.parseDouble(JOptionPane.showInputDialog("Comprimento da sala: "));
L=Double.parseDouble(JOptionPane.showInputDialog("Largura da sala: "));
AREA = C * L;
PERIMETRO = (C*2) + (L*2);
JOptionPane.showMessageDialog(null,"Área da sala mede: " + AREA);
JOptionPane.showMessageDialog(null,"Perímetro da sala mede: " + PERIMETRO);
}
}
package idade;
import java.util.Scanner;
public class Idade {
public static void main(String[] args) {
Scanner ent = new Scanner(System.in);
int ANONASC, ANOATUAL, IDADE;
System.out.println("Informe o ano de nascimento: ");
ANONASC = ent.nextInt();
System.out.println("Informe o ano atual: ");
ANOATUAL=ent.nextInt();
IDADE = ANOATUAL - ANONASC;
System.out.println("A idade da pessoa é: " + IDADE);
}
}
package idadeswing;
import javax.swing.JOptionPane;
public class IdadeSwing {
public static void main(String[] args) {
int ANONASC, ANOATUAL, IDADE;
ANONASC =Integer.parseInt(JOptionPane.showInputDialog("Ano de nascimento: "));
ANOATUAL =Integer.parseInt(JOptionPane.showInputDialog("Ano atual: "));
IDADE = ANOATUAL - ANONASC;
JOptionPane.showMessageDialog(null,"A idade da pessoa é: " + IDADE);
}
}
PROGRAMAS COM ESTRUTURA SEQUENCIAL
PROGRAMA 4: Faça o programa que calcule o valor em reais (VAL_REAL), correspondente
aos dólares que um turista possui no cofre do hotel. O programa deve solicitar os seguintes
dados: quantidade de dólares guardados no cofre (VAL_DOLAR) e cotação do dólar naquele
dia (COT).
PROGRAMA 5: Faça o programa para calcular o valor monetário do desconto (D), sendo
que o preço doproduto (PR) é fornecido pelo usuário e o desconto é de 5%. Apresentar o
valor do desconto.
PROGRAMA 6: Faça o programa para calcular quanto será pago por um produto (PAGO),
sendo que o preço do produto (PRECO) e o desconto (DESC), em porcentagem, são
fornecidos pelo usuário. Apresentar o valor a ser pago pelo produto.
import java.util.Scanner;
public class Exercicio04 {
public static void main(String[] args) {
Scanner ent = new Scanner(System.in);
double Dolar,VReal,CDolar;
System.out.println("Informe quanto money em Dolar possui: ");
Dolar = ent.nextDouble();
System.out.println("Informe a cotação atual do dolar: ");
CDolar = ent.nextDouble();
VReal = Dolar * CDolar;
System.out.println("O seu valor em Reais é: " + VReal);
}
}
package exercicio05;
import java.util.Scanner;
public class Exercicio05 {
public static void main(String[] args) {
Scanner ent = new Scanner(System.in);
double Valor,Desconto;
System.out.println("Informe o valor do Produto: ");
Valor = ent.nextDouble();
Desconto = (Valor * 5)/100;
System.out.println("O valor do desconto é: " + Desconto);
}
}
PROGRAMAS COM ESTRUTURA SEQUENCIAL
PROGRAMA 7: Faça o programa para calcular qual foi a porcentagem de desconto
dada em um determinado produto (DESC), sendo que o preço original do produto
(PRECO) e o preço que foi cobrado por ele depois do desconto (PRECOF) são
fornecidos pelo usuário.
PROGRAMA 8: Faça o programa que receba, do usuário, uma temperatura em graus
Farenheit (F) e a transforme em graus Celsius (C). A fórmula é C = 5/9 (F – 32).
PROGRAMA 9: Faça o programa que calcule a quantidade de tijolos iguais (QTD)
necessários para construir uma determinada parede. São dados de entrada do
programa: dimensões do tijolo (altura: AT e largura: LT) e dimensões da parede a ser
construída (altura: AP e largura: LP).
package percdesconto;
import java.util.Scanner;
public class PercDesconto {
public static void main(String[] args) {
Scanner ent = new Scanner(System.in);
double DESC, PRECO, PRECOF;
System.out.println("Preço original do produto é: ");
PRECO = ent.nextDouble();
System.out.println("Preço cobrado depois do desconto: ");
PRECOF = ent.nextDouble();
DESC = 100 - ((PRECOF * 100) / PRECO);
System.out.println("A porcentagem de desconto do produto foi de: " + DESC +"%");
}
}
PROGRAMAS COM ESTRUTURA SEQUENCIAL
PROGRAMA 10: Faça o programa para calcular o valor a ser pago pelo período de
estacionamento de um automóvel (VALPAGO). O usuário entra com os seguintes
dados: hora (HE) e minuto (ME) de entrada, hora (HS) e minuto (MS) de saída. Sabe-
se que esse estacionamento cobra R$ 4,00, mas calcula as frações de hora também.
Por exemplo, se a pessoa ficar 1 hora e quinze minutos, pagará R$ 5,00 (R$ 4,00 pela
hora e R$ 1,00 pelos quinze minutos).
public class Exercicio10 {
public static void main(String[] args) {
int HE, MINE, HRS, MINS, HoraTT, MINTT;
double CH, CM;
HE = Integer.parseInt(JOptionPane.showInputDialog("Informe a hora de entrada: "));
MINE = Integer.parseInt(JOptionPane.showInputDialog("Informe o minuto de entrada: "));
HRS = Integer.parseInt(JOptionPane.showInputDialog("Informe a hora de saída: "));
MINS = Integer.parseInt(JOptionPane.showInputDialog("Informe o minuto de saída: "));
HoraTT = HRS - HE;
MINTT = MINS - MINE;
CH = HoraTT * 4;
CM = (MINTT / 15);
JOptionPane.showMessageDialog(null, "O valor a ser pago é: " + CH + CM);
}
PROGRAMAS COM ESTRUTURA SEQUENCIAL
PROGRAMA 11: Baseado no programa abaixo, o que é apresentado como saída (em
tela ou papel) desse programa?
Programa EXERC 12
real A, B, C, D
Início
A=2
B=4
C= (A+B) *B
D= C * B / (A*A)
A= D / (C+B)
B= B + A
escreva (“A variavel A vale: “, A)
escreva (“A variavel B vale: “, B)
escreva (“A variavel C vale: ”, C)
escreva (“A variavel D vale: ”, D)
fim
PROGRAMAS COM ESTRUTURA SEQUENCIAL
PROGRAMA 12: No programa abaixo, o que está errado?
Programa EXERC11
Var
inteiro A, B, C, RESULTADO
Início
leia (A)
leia (B)
RASCUNHO = (A-B) * A/3
RESULTADO = B – 100
escreva (“O resultado da operação foi: ”, RESULTADO);
Fim
PROGRAMAS COM ESTRUTURA SEQUENCIAL
PROGRAMA 13: Faça o programa que receba, como dados de entrada, a quantidade de
cabeças de gado (QTDGADO) e a quantidade de herdeiros dessas cabeças de gado
(QTDHERD). Calcular e apresentar a quantidade de cabeças de gado que sobrarão depois da
divisão ter sido feita entre os herdeiros, lembrando que cada herdeiro deverá receber uma
quantidade igual de cabeças de gado.
PROGRAMA 15: Faça o algoritmo que calcule as raízes de uma equação do segundo grau
(Ax2 + Bx + C), sendo que A, B e C são fornecidos pelo usuário.
import java.util.Scanner;
public class GadoFamilia {
public static void main(String[] args) {
Scanner ent = new Scanner(System.in);
int QTDE_GADO, QTDE_PESSOAS, QTDE_GADO_PESSOA;
double SOBRA;
System.out.println("Quantidade de Gado: ");
QTDE_GADO = ent.nextInt();
System.out.println("Quantidade de Pessoas da família: ");
QTDE_PESSOAS = ent.nextInt();
QTDE_GADO_PESSOA = (int) QTDE_GADO / QTDE_PESSOAS; // traz o inteiro da divisão
SOBRA = (double) QTDE_GADO % QTDE_PESSOAS; //% traz o resto da divisão
System.out.println("Cada pessoa recebe: "+QTDE_GADO_PESSOA+" gado(s) e sobrará(ão) "+ SOBRA +" Gado(s)");
}
}
PROGRAMAS COM ESTRUTURA SEQUENCIAL
PROGRAMA 16: Faça o algoritmo para calcular a área de um círculo (AREA), sendo que o
raio (R) do círculo é fornecido pelo usuário. Obs.: A área de um círculo é calculada por:
AREA = pR2 – considerar p = 3,14.
PROGRAMA 17: Faça o algoritmo para calcular o volume de uma esfera (VOL), sendo que o
raio (R) da esfera é fornecido pelo usuário. Obs.: o volume de uma esfera é calculado por:
VOL = 4/3 pR3 – considerar p = 3,14.
PROGRAMA 18: Faça o algoritmo que calcule o montante financeiro (M), ao final de um
determinado período de tempo (N), de um capital inicial (C) aplicado a uma taxa de juros
(I). Os valores do período de tempo, do capital inicial e da taxa de juros são fornecidos pelo
usuário. Apresentar o valor do montante após ser calculado. Obs.: O montante financeiro é
calculado por: M = C (1 + I)N.
public class ES_EXERC17 {
public static void main(String[] args) {
double VOLUME,RAIO,D = 0,r=0;
double AREA;
RAIO = Double.parseDouble(JOptionPane.showInputDialog("insira o raio da esfera :"));
R = Math.pow(RAIO,3);
VOLUME = (4 * 3.14 * R)/3;
JOptionPane.showMessageDialog(null,"a area círcular é: " + VOLUME);
}
}
public class ES_EXERC18 {
public static void main(String[] args) {
double C, J, I, N, M;
C = Double.parseDouble(JOptionPane.showInputDialog("Insira o capital incial:"));
I = Double.parseDouble(JOptionPane.showInputDialog("Insira o juros:"));
N = Double.parseDouble(JOptionPane.showInputDialog("Insira o tempo:"));
J = C * I / 100;
M = C * (1+N)*j;
JOptionPane.showMessageDialog(null,"O montante é:“ + M);
}
}
PROGRAMAS COM ESTRUTURA SEQUENCIAL
PROGRAMA 19: Faça o algoritmo que calcule e exiba o desvio padrão (DESVPAD) de uma
amostra de três números (A e B), que serão fornecidos pelo usuário.
PROGRAMA 20: Faça o algoritmo que receba do usuário os seguintes dados: o
Dimensões de uma parede (Largura - L e Altura – H) em metros; o Rendimento da tinta
em metros quadrados por litro (R); o Tamanho da lata de tinta em litros (LATA); o Preço
da lata de tinta (PR). Apresentar o tamanho da parede (área), a quantidade de latas de
tinta necessária para pintar a parede (essa quantidade pode não ser um valor inteiro) e o
quanto será gasto financeiramente para pintar essa parede.
PROGRAMA 21: Faça o algoritmo que calcule e apresente o custo de uma
viagem de automóvel. O usuário apresentará os seguintes dados para o
programa: o Tempo gasto na viagem em horas (TEMPO); o Velocidade
média durante a viagem em quilômetros por hora (VELOCIDADE); o
consumo médio do automóvel utilizado na viagem em quilômetros por
litro (CM); o Preço do combustível utilizado durante a viagem em R$ por
litro (PR). Obs.: A distância percorridana viagem é calculada por:
DISTANCIA = TEMPO X VELOCIDADE
package ES_EXERC19;
import java.util.*;
import java.math.*;
public class DesvioPadrao {
public static void main(String[] args) {
Scanner ent = new Scanner(System.in);
double N1,N2,N3,MEDIA,PT1,PT2,PT3;
System.out.println("insira o primeiro número");
N1= ent.nextDouble();
System.out.println("insira o segundo número");
N2= ent.nextDouble();
System.out.println("insira o terceiro número");
N3= ent.nextDouble();
MEDIA = (N1+N2+N3)/3;
PT1= Math.pow((N1-MEDIA),2); //eleva a função ao quadrado
PT2= Math.pow((N2-MEDIA),2);
PT3= Math.pow((N3-MEDIA),2);
// a ser continuado pelo aluno Andrey
}
}
package es_exerc21;
import java.util.Scanner;
public class ES_Exerc21 {
public static void main(String[] args) {
Scanner ent = new Scanner(System.in);
Double tempo,velocidade,consumo,preco,distancia,litroscom,custo;
System.out.println("Tempo gasto na viagem em horas: ");
tempo = ent.nextDouble();
System.out.println("Velocidade média durante a viagem em Km/h: ");
velocidade = ent.nextDouble();
System.out.println("Consumo médio do automóvel em Km/litro: ");
consumo = ent.nextDouble();
System.out.println("Preço do combustível utilizado: ");
preco = ent.nextDouble();
distancia = tempo * velocidade;
litroscom = distancia / consumo;
custo = litroscom * preco;
System.out.println("Distância percorrida em Km/h: " + distancia);
System.out.println("Quantidade consumida de Litros de combustível: " + litroscom);
System.out.println("Custo da viagem foi de: " + custo);
}
}
PROGRAMAS COM ESTRUTURA SEQUENCIAL
PROGRAMA 22: Faça o algoritmo que calcule e apresente o custo para pintar um tambor
cilíndrico (por dentro e por fora).
O usuário apresentará os seguintes dados para o programa:
Raio do tambor em metros (R);
Altura do tambor em metros (H);
Rendimento da tinta em metros quadrados por litro (REND);
Tamanho da lata de tinta em litros (LATA);
Preço da lata de tinta em reais (PR).
Obs.: Algumas informações são conhecidas:
AREA_TAMPA = pR2;
AREA_LATERAL = 2pRH;
Considerar p = 3,14.
Estrutura
Condicional
PROGRAMA COM ESTRUTURA CONDICIONAL
PROGRAMA0: Escreva um programa para ler 2 números diferentes e informar o
maior entre eles.
PROGRAMA1: Escreva um programa para ler 3 números diferentes e informar o
maior entre eles.
PROGRAMA 2: para exibir Maior e menor número
PROGRAMA 3: Faça um programa para permitir que o usuário informe 3 números
diferentes. O programa deverá exibir o Maior, o menor e número do meio
package javaapplication6;
import javax.swing.JOptionPane;
public class JavaApplication6 {
public static void main(String[] args) {
int soma, num1 = 0, num2 = 0;
num1 = Integer.parseInt(JOptionPane.showInputDialog("Digite o primeiro número:",));
num2 = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite segundo número: "));
if (num1 > num2){
JOptionPane.showMessageDialog(null, "O maior número é: " + num1);
}
else{
JOptionPane.showMessageDialog(null, "O maior número é: " + num2);
}
}
}
Algoritmo maiorde3
Var
N1, N2, N3,MAIOR: inteiro
Início
escreva (“Digite o Primeiro Número: “)
Leia(N1)
escreva (“Digite o Segundo Número: “)
Leia(N2)
escreva (“Digite o Terceiro Número: “)
Leia(N3)
Se (N1 > N2) e (N1 > N3) então
MAIOR <- N1
Senão
Se (N2 > N3) então
MAIOR <- N2
Senão
MAIOR <- N3
Fim-se
Fim-se
Escreva (“O maior número é: “, N3)
Fim-algoritmo
#include<iostream>
#include<locale.h>
using namespace std;
int main()
{
setlocale(LC_ALL,"portuguese"); // aceita pontução
int N1, N2, N3, MAIOR;
cout<<"Digite o primeiro número: "; // escreva("Digite o primerio número")
cin>>N1; // lei(N1)
cout<<"Digite o segundo número: ";
cin>>N2;
cout<<"Digite o Terceiro número: ";
cin>>N3;
if(N1>N2 & N1>N3){ // se (N1>N2 e N1>N3)
MAIOR = N1;
}
else{
if (N2>N3){
MAIOR = N2;
}
else{
MAIOR = N3;
}
}
cout<<"O maior número digitado foi: "<<MAIOR;
system(“pause”)
}
package maiormenormeio_v2;
import javax.swing.JOptionPane;
public class MaiorMenorMeio_v2 {
public static void main(String[] args) {
int n1, n2, n3, maior, meio, menor;
n1 = Integer.parseInt(JOptionPane.showInputDialog("Informe o primeiro número: "));
n2 = Integer.parseInt(JOptionPane.showInputDialog("Informe o segundo número: "));
n3 = Integer.parseInt(JOptionPane.showInputDialog("Informe o terceito número: "));
if (n1 > n2 && n1 > n3) {
maior = n1;
} else {
if (n2 > n3) {
maior = n2;
} else {
maior = n3;
}
}
if (n1 < n2 && n1 < n3) {
menor = n1;
} else {
if (n2 < n3) {
menor = n2;
} else {
menor = n3;
}
}
if (n1 > menor && n1 < maior) {
meio = n1;
} else {
if (n2 > menor && n2 < maior) {
meio = n2;
} else {
meio = n3;
}
}
JOptionPane.showMessageDialog(null, "O maior número é: " + maior);
JOptionPane.showMessageDialog(null, "O número do meio é: " + meio);
JOptionPane.showMessageDialog(null, "O menor número é: " + menor);
}
}
package maiormenormeio_v3;
import javax.swing.JOptionPane;
public class MaiorMenorMeio_v3 {
public static void main(String[] args) {
int n1, n2, n3, maior, meio, menor;
n1 = Integer.parseInt(JOptionPane.showInputDialog("Informe o primeiro número: "));
n2 = Integer.parseInt(JOptionPane.showInputDialog("Informe o segundo número: "));
n3 = Integer.parseInt(JOptionPane.showInputDialog("Informe o terceito número: "));
if (n1 > n2 && n1 > n3) {
maior = n1;
} else {
if (n2 > n3) {
maior = n2;
} else {
maior = n3;
}
}
if (n1 < n2 && n1 < n3) {
menor = n1;
} else {
if (n2 < n3) {
menor = n2;
} else {
menor = n3;
}
}
meio = (n1+n2+n3)-(maior+menor);
JOptionPane.showMessageDialog(null, "O maior número é: " + maior);
JOptionPane.showMessageDialog(null, "O númeo do meio é: " + meio);
JOptionPane.showMessageDialog(null, "O menor número é: " + menor);
}
}
ALGORITMO MAIOR_MENOR_MEIO
VAR
inteiro: N1, N2, N3, MAIOR, MENOR, MEIO
Início
escreva("Informe o primeiro número: ")
leia(N1)
escreva("Informe o segundo número: ")
leia(N2)
escreva("Informe o terceiro número: ")
leia(N3)
se (N1 > N2 e N1 > N3) então
MAIOR <- N1
Se (N2 > N3) então
MEIO <- N2
MENOR <- N3
Senão
MEIO <- N3
MENOR <- N2
Fim-se
Senão
se (N2 > N3) então
MAIOR <- N2
Se (N1 > N3) então
MEIO <- N1
MENOR <- N3
senão
MEIO <- N3
MENOR <- N1
fim-se
senão
MAIOR <- N3
Se (N1 > N2) então
MEIO <- N1
MENOR <- N2
Senão
MEIO <- N2
MENOR <- N1
Fim-se
fim-se
fim-se
escreva("O maior número informado foi: ", MAIOR)
escreva("O menor número informado foi: ", MENOR)
escreva("O número do meio é: ", MEIO)
Fim-algoritmo
RESO
LU
ÇÃO
PRO
G
RAM
A 3
Form
a 3
package maiormenormeio_v4;
import java.util.Scanner;
public class MaiorMenorMeio_v4 {
public static void main(String[] args) {
int n1, n2, n3, maior, menor, meio;
Scanner teclado = new Scanner(System.in);
System.out.println("Digite o primeiro numero:");
n1 = teclado.nextInt();
System.out.println("Digite o segundo numero:");
n2 = teclado.nextInt();
System.out.println("Digite o terceiro numero:");
n3 = teclado.nextInt();
if(n1 > n2 && n1 > n3){
maior = n1;
if(n2 > n3){
meio = n2;
menor = n3;
}else{
menor = n2;
meio = n3;
}
}else
if(n2 > n3){
maior = n2;
if(n1 > n3){
meio = n1;
menor = n3;
}else{
meio = n3;
menor = n1;
}
}else{
maior = n3;
if(n1 > n2){
meio = n1;
menor = n2;
}else{
meio = n2;
menor = n1;
}
}
RESO
LU
ÇÃO
PRO
G
RAM
A 3
Form
a 3
System.out.println("maior: " + maior);
System.out.println("meio: " + meio);
System.out.println("menor: " + menor);
}
}
PROGRAMAS COM ESTRUTURA CONDICIONAL
PROGRAMA 4: Faça um programa para simular um saque em um caixa
eletrônico. Considere que o caixa eletrônico dispensa notas de R$100, R$50 e
R$20.
PROGRAMA 5: Faça o algoritmo que leia o valor de uma conta de luz (CL) e, caso
o valor seja maior que R$ 50,00, apresente a mensagem: “Você está gastando
muito”. Caso contrário, exiba a mensagem: “Seu gasto foi normal”.
PROGRAMA 6: Faça o algoritmo que leia o valor de uma conta de luz (CL) e, caso
o valor seja maior do que R$ 50,00, apresente a mensagem: “Você está gastando
muito”. Caso contrário, não exibamensagem alguma.
#include <iostream>
#include <locale.h>
using namespace std;
Int main()
{
setlocale(LC_ALL,"portuguese"); //Permite exibir acentuação das palavras
int C100, C50, C20, VALOR, VALORSAQUE, CONFERENCIA;
cout<<"Informe o valor que deseja sacar de sua conta: ";
cin>>VALOR;
VALORSAQUE=VALOR;
if (VALOR < 20){
cout<<"O valor mínimo para saque é de R$20,00" <<endl; //endl = pular linha
}
else{
if (VALOR>=100){
C100 = VALOR / 100; // a barra (/) corresponde ao DIV = traz o valor do quociente
VALOR = VALOR % 100; //% corresponde ao MOD = Traz o resto da divisão
if (VALOR%50 != 0){
C100 = C100-1;
VALOR = VALOR+100;
}
}
... (continua no próximo slide)
.... (continuando)
C50 = VALOR/50;
VALOR = VALOR % 50; //% corresponde ao MOD = Traz o resto da divisão
if (VALOR%20 != 0){
C50 = C50-1;
VALOR = VALOR+50;
}
C20 = VALOR/20;
VALOR = VALOR % 20;
CONFERENCIA = (C100*100)+(C50*50)+(C20*20);
cout<<"CONFERENCIA: "<<CONFERENCIA<<endl;
if (CONFERENCIA != VALORSAQUE || C100<0 ||C50<0||C20<0){
cout<<"Digite um valor correto. Considere apenas notas de R$100, R$50 e R$20";
}
else{
cout<<"Pegue seu dinheiro e confira: "<<endl;
cout<<"R$100 = " <<C100 <<endl;
cout<<" R$50 = " <<C50 <<endl;
cout<<" R$20 = " <<C20 <<endl;
}
}
return 0;
}
PROGRAMA 7: Faça o algoritmo que, tendo como dados de entrada a altura (H) e o sexo
(S) de uma pessoa, calcule e apresente seu peso ideal (PI) utilizando as seguintes
fórmulas:
Para homens: PI = (72,7H) – 58
Para mulheres: PI = (62,1H) – 44,7
PROGRAMA 8: Faça o algoritmo que calcule e apresente quanto será gasto para encher o
tanque de um carro (VAL_GASTO), sabendo-se que o preço da gasolina é de R$ 4,90 e o
preço do álcool é de R$ 3,70. O usuário fornecerá os seguintes dados:
Tipo de carro (TIPO_CARRO) (as opções do que o usuário pode digitar como tipo
de carro são a letra “G” – gasolina, ou a letra “A” – álcool)
Capacidade do tanque (CAP_TANQ), em litros.
PROGRAMAS COM ESTRUTURA CONDICIONAL
PROGRAMA 9: Faça o algoritmo que leia um número inteiro (positivo ou negativo) e
apresente o seu módulo.
Obs.: O módulo de um número significa que, não importando o número digitado
na entrada (positivo ou negativo), a saída sempre apresentará um número
positivo.
PROGRAMA 10: Faça o algoritmo que leia um número e apresente uma mensagem se ele
é par ou ímpar. O programa só deve levar em consideração valores positivos.
PROGRAMA 11: Faça o algoritmo que leia a quantidade de dinheiro existente no caixa de
uma empresa (CAIXA), a quantidade de produtos a ser comprada (QTDE) e o preço de
cada unidade (PRECO). Caso o valor total da compra seja superior a 80% do valor em
caixa, a compra deve ser feita a prazo (3×), com juros de 10% sobre o valor total. Caso
contrário, a compra deverá ser realizada a vista, pela qual a empresa receberá 5% de
desconto. Apresentar a forma de pagamento escolhida e o valor a ser pago (total a vista
ou total a prazo), dependendo da escolha realizada pelo programa.
PROGRAMAS COM ESTRUTURA CONDICIONAL
PROGRAMA 12: Faça o algoritmo que calcule o montante financeiro (MONTANTE), ao final
de um determinado período de tempo (TEMPO), de um capital inicial (CAPITAL) aplicado a
uma taxa de juros (TAXA). Os valores do período de tempo, do capital inicial e da taxa de
juros são fornecidos pelo usuário. Caso o valor do montante seja o dobro do capital
aplicado, apresentar a mensagem “Investimento seguro”; caso contrário, apresentar a
mensagem “Investimento sem segurança”. Obs.: O montante financeiro é calculado por:
MONTANTE = CAPITAL (1 + TAXA)TEMPO.
PROGRAMA 13: Faça o algoritmo que receba os seguintes dados de entrada acerca de uma
viagem: o Tempo gasto na viagem em horas (TEMPO); o Velocidade média durante a viagem
em quilômetros por hora (VELOCIDADE); O consumo médio do automóvel utilizado na
viagem em quilômetros por litro (CONSUMO); o Preço do combustível utilizado durante a
viagem em R$ por litro (PRECO).
Obs.: A distância percorrida na viagem é calculada por: DISTANCIA = TEMPO ×
VELOCIDADE. Após calcular o custo dessa viagem, apresentar a mensagem “Solicitar
reembolso”, caso o custo tenha sido maior do que R$ 200,00. Do contrário, não
apresentar mensagem alguma.
PROGRAMAS COM ESTRUTURA CONDICIONAL
PROGRAMA 14: Faça o algoritmo para calcular e apresentar o valor a ser pago pelo
período de estacionamento de um automóvel (VAL_PAGO). O usuário entra com os
seguintes dados:
hora (HORA_E) e minuto (MIN_E) de entrada, hora (HORA_S) e minuto
(MIN_S) de saída. Sabe-se que esse estacionamento cobra hora cheia, ou seja:
se passar um minuto, ele cobra a hora inteira. O valor da hora é R$ 4,00.
Obs.: Nenhum automóvel poderá ficar estacionado por um período superior a
23 horas e 59 minutos, mas ele poderá entrar em um dia e sair no dia
seguinte, desde que não ultrapasse o limite de estadia.
PROGRAMAS COM ESTRUTURA CONDICIONAL
Estrutura de Repetição
FOR e WHILE
PROGRAMA 1: Programa para exibir o peso do boi mais gordo e do boi mais magro.
PROGRAMA 2: Escreva um programação para ler o nome, o sexo e a altura de 30 pessoas.
Ao final, deverá informar o nome, o sexo e a altura da pessoa mais alta e da pessoa mais
baixa. Também deverá informar a média das alturas de todas as pessoas.
PROGRAMA 3: Escreva um programa para ler o nome, o sexo e a altura de 30 pessoas. Ao
final, deverá informar o nome e a altura da pessoa mais alta e da pessoa mais baixa do
sexo masculino e do sexo feminino. Também deverá informar a média das alturas de todas
as mulheres e a média das alturas de todos os homens
PROGRAMA 4: Escreva um programa para ler o nome, o preço e a quantidade de produto
vendido. Calcular e informar o preço total (preço unitário multiplicado pela quantidade
vendida).
PROGRAMAS COM ESTRUTURA DE REPETIÇÃO FOR e WHILE
Obs. O programa começa com o usuário informando a quantidade
de itens que contém a nota fiscal de venda. Assim sendo, a
estrutura de repetição deverá obedecer esta quantidade.
PROGRAMA 5: Escreva um programa para ler o nome, o preço e a quantidade de produto
vendido. Calcular e informar o preço total (preço unitário multiplicado pela quantidade
vendida).
Obs. O programa começa com o usuário informando a quantidade de itens que contém
a nota fiscal de venda. Assim sendo, em tese a estrutura de repetição deveria obedecer
esta quantidade. Contudo, a cada item informado no programa, deverá ser perguntado
ao usuário se deseja continuar a operação. Se responder que Não, então o programa
deverá ser interrompido imediatamente
PROGRAMAS COM ESTRUTURA DE REPETIÇÃO FOR e WHILE
PROGRAMA 6: Escreva um programa para ler o nome, o sexo e o ano de nascimento
de uma pessoa. Para homem menor de 18 anos de idade ou mulher menor de 21
anos de idade, deverá exibir a mensagem: “É de menor idade”. Para mulher com
idade igual ou superior a 21 anos ou homem com idade igual ou superior a 18 anos,
exibir a mensagem: “É de maior idade”.
PROGRAMA 7: Escreva um programa para ler o nome, o sexo e o ano de nascimento de
“N” pessoas. A quantidade será informada pelo usuário. Para homens menores de 18 anos
de idade ou mulheres menores de 21 anos de idade, deverá exibir o nome, a idade e a
mensagem: “É de menor idade”. Para mulheres com idade igual ou superior a 21 anos ou
homens com idade igual ou superior a 18 anos, deverá exibir o nome, a idade e a
mensagem: “É de maior idade”.
PROGRAMA 8: Utilizando a linguagem de programação C++, elabore um programa para:
1) Ler a matrícula, o nome e o ano de nascimento de uma turma com “N” alunos. A
quantidade de alunos será informada pelo usuário.
2) Para cada aluno, deverá ser calculado e informado sua idade.
3) Ao final, deverá ser informado o nome, a matrícula e a idade dos alunos mais novos,
sendo um aluno do sexo masculino e outro do sexo feminino.
PROGRAMAS COM ESTRUTURA DE REPETIÇÃO FOR e WHILE
PROGRAMA 9: Escreva um programa para ler o nome e duas notas de cada aluno de uma
turmacom 60 alunos. Para cada aluno, calcule e exiba sua média, considerando que a nota
“A” tem peso 3,5 e a nota “B” tem peso 7,5. Considere que cada nota pode variar de zero a
dez. Ao final, deve ser exibido na tela:
Nome e nota do aluno com a maior média;
Nome e nota do aluno com a menor média;
Média geral da turma.
PROGRAMA 10: Fazer um programa em c++ para simular um saque em um caixa
eletrônico. Considere que o caixa eletrônico dispensa notas de R$100, R$50 e R$20.
PROGRAMAS COM ESTRUTURA DE REPETIÇÃO FOR e WHILE
Matriz
Unidimensional
Vetor
CONCEITO DE ESTRUTURA DE DADOS HOMOGÊNEA
(MATRIZ UNIDIMENSIONAL – VETOR)
• Em determinadas situações, é necessário utilizar várias variáveis para
armazenar o mesmo tipo de dado, mas com identificações diferentes.
• Por exemplo, um determinado programa necessita armazenar a nota de dez
alunos diferentes para poder manipulá-las posteriormente.
• Nesse exemplo, é necessário declarar dez variáveis diferentes (com nomes
diferentes), uma para cada dado que será armazenado durante o
processamento do algoritmo.
• Em casos como esses, é interessante utilizar um recurso que facilita o
tratamento dessas variáveis: a estrutura de dados homogênea.
• Como o próprio nome indica, essa estrutura armazena vários dados, mas
todos esses dados devem ser do mesmo tipo (mesmo tipo de variável). Na
verdade, essa estrutura nada mais é do que uma variável que, sob o mesmo
nome, consegue armazenar vários dados, diferenciando -os por meio de
índices.
• O conceito é semelhante ao conceito das matrizes, em Matemática.
CONCEITO DE ESTRUTURA DE DADOS HOMOGÊNEA
(MATRIZ UNIDIMENSIONAL – VETOR)
• O primeiro tipo que será apresentado é a matriz unidimensional,
normalmente conhecida como vetor (termo que será utilizado daqui por
diante).
• É possível representar graficamente esse vetor por meio de uma matriz
composta somente por uma linha (daí a denominação unidimensional).
• Observe o exemplo abaixo, de um vetor denominado NOTA, composto por
dez posições diferentes:
0 1 2 3 4 5 6 7 8 9
NOTA
• Observe que temos uma variável composta, ou seja, a variável possui
somente um nome (no exemplo, NOTA), mas várias posições onde os
dados podem ser armazenados, sendo que cada posição do vetor é
identificada por um índice, que se inicia por zero.
DECLARAÇÃO DE UM VETOR
Em algoritmo, esse comando declara um vetor do tipo real com dez
posições para armazenar os dados.
0 1 2 3 4 5 6 7 8 9
NOTA
var
real NOTA [10]
ATRIBUIR VALORES A UMA POSIÇÃO DO VETOR
• Esse comando armazena o valor 8,5 no índice 4 do vetor.
• Observe que o valor é armazenado no índice 4, mas quando observamos o
vetor, a posição utilizada é a quinta posição, pois a contagem dos índices
começa no valor zero.
0 1 2 3 4 5 6 7 8 9
NOTA
NOTA [4] 8,5
0 1 2 3 4 5 6 7 8 9
8,5
NOTA
ATRIBUIR VALORES A UMA POSIÇÃO DO VETOR
Na atribuição de valores para um vetor, podemos utilizar qualquer detalhe
que observamos até aqui, isto é, podemos atribuir um valor diretamente,
podemos atribuir o valor de uma variável ou podemos atribuir o
resultado de uma operação (aritmética ou matemática).
Obs.: A representação no fluxograma desse comando é a mesma utilizada
para atribuição de valores em uma variável simples.
0 1 2 3 4 5 6 7 8 9
8,5
NOTA
LER VALORES DE UMA POSIÇÃO DE UM VETOR
Para utilizar o valor armazenado em uma posição de um vetor, o conceito é o mesmo, ou
seja, utilizamos o mesmo modo que uma variável simples, apenas explicitando o índice
do vetor que desejamos acessar.
Podemos utilizar o valor de uma posição do vetor para apresentar o valor diretamente
(comando escreva, em algoritmo) ou utilizar o valor como componente de uma operação
(aritmética ou matemática).
Declaração de um Vetor:
Real: NOTA [10]
Atribuição de Valor:
NOTA [4] 8,5
Leitura de Valor:
leia (NOTA [4])
Processamento do Valor:
RESULTADO (NOTA [4] * 2)
Saída / Escrita do Valor:
escreva (NOTA [4])
Declaração de um Vetor:
float: NOTA [10];
Atribuição de Valor:
NOTA [4] = 8,5;
Leitura de Valor:
cin >> NOTA [4]
Processamento do Valor:
RESULTADO = (NOTA [4] * 2);
Saída / Escrita do Valor:
cout << NOTA [4];
PROGRAMA 1: Escreva um programa para ler a nota de 10 alunos e, ao final, exibir essas
10 notas
Utilizamos duas estruturas de repetição (comandos para):
A primeira, para armazenar os dados no vetor;
A segunda, para apresentar os dados armazenados.
Utilizamos também a variável CONT como identificador do índice do vetor. Esse método
facilita a utilização dos vetores, permitindo utilizar uma repetição para realizar
operações posição por posição do vetor.
O valor inicial e final da variável CONT devem ser zero e nove (respectivamente) para
respeitar os índices do vetor.
PROGRAMAS COM VETORES
PROGRAMA 2: Escreva um programa para ler a nota de 10 alunos e, ao final, exibir a
média das 10 notas
PROGRAMA 3: Escreva um programa para ler a nota de 10 alunos e, ao final, exibir a
média das 10 notas
PROGRAMA 4: elabore um programa para ler a matrícula, o nome e o ano de
nascimento de uma turma com 40 alunos. Para cada aluno, deverá ser calculado e
informado sua idade. Ao final, deverá ser informado o nome, a matrícula e a idade
dos alunos mais novos, sendo um aluno do sexo masculino e outro do sexo
feminino.
Deverá ser empregado o uso de vetor. Assim sendo, deverão existir três
estruturas “FOR”, sendo uma para entrada de dados, outra para cálculo e
exibição das idades de cada aluno e outra para descobrir os alunos mais novos
(um do sexo masculino e outro do sexo feminino).
PROGRAMAS COM VETORES
PROGRAMA 5: Elabore um programa para ler a matrícula, o nome e o ano de nascimento
de uma turma com “N” alunos. A quantidade de alunos será informada pelo usuário. Para
cada aluno, deverá ser calculado e informado sua idade. Ao final, deverá ser informado o
nome, a matrícula e a idade dos alunos mais novos, sendo um aluno do sexo masculino e
outro do sexo feminino.
Deverá ser empregado o uso de vetor. Assim sendo, deverão existir três estruturas
“FOR”, sendo uma para entrada de dados, outra para cálculo e exibição das idades de
cada aluno e outra para descobrir os alunos mais novos (um do sexo masculino e outro
do sexo feminino).
PROGRAMA 6: Elabore um programa para ler o código, o nome e o preço de “N” produtos
vendidos (em uma estrutura “FOR”). A quantidade será informada pelo usuário. Em outra
estrutura “FOR”, o usuário deverá digitar o código do produto e a quantidade a ser
vendida. O programa deverá procurar pelo código de produto informado pelo usuário. Caso
não encontra, deverá exibir a mensagem: “Código de produto não encontrado”. Caso
encontre, deverá calcular o preço total do produto (preço unitário multiplicado pela
quantidade vendida) e exibir o nome do produto e o valor total.
PROGRAMAS COM VETORES
PROGRAMA 7: Utilizando vetor, elabore um programa para ler o código, o nome e o
preço de “N” produtos vendidos (em uma estrutura “FOR”). A quantidade será
informada pelo usuário. Em outra estrutura “FOR”, o usuário deverá digitar o código do
produto e a quantidade a ser vendida. O programa deverá procurar pelo código de
produto informado pelo usuário. Caso não encontra, deverá exibir a mensagem: “Código
de produto não encontrado”. Caso encontre, deverá informar calcular o preço total do
produto (preço unitário multiplicado pela quantidade vendida), exibir o nome do
produto e o valor total. Ao final, deverá informar o nome e o valor total do produto com
o maior valor total, bem como o nome e o valor total do produto com o menor valor
total.
PROGRAMAS COM VETORES
PROGRAMA 8: Usando vetor, elabore o seguinte programa: Para todos os colaboradores
de uma empresa com apenas 30 funcionários, leia o nome do funcionário, seu salário
bruto e o número de dependentes que possui. Após serem informados todos os dados
acima (somente após), o programa deverá, para cada funcionário, verificar aquele que
possui o maior númerode dependentes. Ao final, o programa deverá exibir o nome deste
funcionário que possui o maior número de dependentes, seu salário bruto, a quantidade
de dependentes que possui e o valor de abono que este funcionário receberá. Para
calcular o valor do abono, o programa deve considerar 10% do salário bruto do
funcionário para cada dependente que o mesmo possui.
PROGRAMAS COM VETORES
PROGRAMA 1: Escreva um programa para ler a nota de 10 alunos e, ao final, exibir essas 10 notas
programa VETOR
var
real NOTA [10];
inteiro CONT;
inicio
para (CONT de 0 até 9 passo 1) faça
leia (NOTA [CONT]);
fim_para
para (CONT de 0 até 9 passo 1) faça
escreva (NOTA [CONT]);
fim_para
fim
RESOLUÇÃO: PROGRAMAS COM VETORES
PROGRAMA 2: Escreva um programa para ler a nota de 10 alunos e, ao final, exibir a média das 10 notas
programa VETOR2
var
real: NOTA [10], SOMA, MEDIA
inteiro: CONT
inicio
SOMA 0
para (CONT de 0 até 9 passo 1) faça
leia (NOTA [CONT])
fim_para
para (CONT de 0 até 9 passo 1) faça
SOMA SOMA + NOTA [CONT]
fim_para
MEDIA SOMA / 10
escreva (MEDIA)
fim
RESOLUÇÃO: PROGRAMAS COM VETORES
PROGRAMA 3: Escreva um programa para ler a nota de 10 alunos e, ao final, exibir a média das 10 notas
Int main()
{
float NOTA [10], SOMA, MEDIA;
int CONT;
SOMA = 0;
for (CONT=0; CONT<=9; CONT++) {
cin >> NOTA [CONT];
}
for (CONT=0; CONT<=9; CONT++) {
SOMA = SOMA + NOTA [CONT];
}
MEDIA = SOMA / 10;
cout << “Média entre as notas: “ << MEDIA;
}
programa VETOR2
var
real: NOTA [10], SOMA, MEDIA
inteiro: CONT
inicio
SOMA 0
para (CONT de 0 até 9 passo 1) faça
leia (NOTA [CONT])
fim_para
para (CONT de 0 até 9 passo 1) faça
SOMA SOMA + NOTA [CONT]
fim_para
MEDIA SOMA / 10
escreva (MEDIA)
fim
RESOLUÇÃO: PROGRAMAS COM VETORES