Buscar

Trabalho-de-programacao-java

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Universidade Politécnica A Politécnica 
Escola Superior de Gestão Ciências e Tecnologias
Departamento de Ciências Tecnológicas e Engenharias
Licenciatura em Engenharia informática e de telecomunicações
3º.ano 1º.semestre
Turma:
Trabalho Individual nº1
REVISÃO BIBLIOGRÁFICA DE CONCEITOS GERAIS E APLICAÇÃO NA RESOLUÇÃO DE EXERCÍCIOS
Discente: 
Docente: 
Maputo, 13 de junho de 2021
Índice
1.	Introdução	3
2.	Colocação do problema	4
3.	Metodologia	5
4.	Revisão bibliográfica sobre subprogramas	6
5.	Exemplos da aplicação dos conceitos na resolução dos exercícios	7
5.2	Exemplo 2	8
Faça um programa que Imprime a soma dos primeiros 20 números naturais.	9
Solução:	9
Da leitura do problema percebemos que é necessário inicializar a partir de zero duas variáveis(C e S) inteiras. Enquanto uma (C) estará a percorrer até 20 unidades, cada unidade que ela percorre estará a ser somada cada à variável S.	9
Em termos de pseudocódigo temos:	9
S=0 e C=0	9
Ler S e C	9
Para C menor que 20 faça mais 1	9
Somar S=S+C	9
Imprimir o resultado S	9
O Programa em algoritmos é:	9
Var	9
C, S:Inteiro	9
Inicio	9
C <- 0//inicializa C	9
S <- 0	9
Para C <- 0 Ate 20 Faca// instrução de controle Para	9
Escreval(C)//saída	9
S <- S	9
6.	Aplicação dos conceitos aplicados na resolução de exercícios	10
7.	CONCLUSÃO	17
Bibliografia	18
1. Introdução
Este é um trabalho de Programação I, feito por um aluno da Universidade com o objectivo de aplicar os conceitos aprendidos na resolução de exercícios.
Neste trabalho serão aplicados alguns conceitos existentes na programação Java bem como nos algoritmos em geral. São estes conceitos, as instruções de controle de fluxo (que estabelecem a sequência de execução de um programa, podendo ser estes de repetição “while, for, do…while” e de condição “if-else”), os operadores relacionais, e tipos de dados.
Um programa Java é composto na sua base, por uma classe principal, um método main e uma instrução de saída:
Public class Programa{
 Public static void main (String[] args){
 Systen.out.println(“Programa em java”);
 }
}
2. Colocação do problema
Depois de abordar os conceitos gerais de informática (evolução de computadores, sistemas operativos, linguagens de programação, etc) iniciamos a programação em Java tendo aprendido os conceitos de identificador, tipos de dados, operadores, expressões entre outros e por fim aprendemos as instruções de controlo do fluxo (if, switch case, do, while, for). 
Este presente trabalho é feito para oferecer um espaço para revisão de conceitos e implementação na resolução dos 13 exercícios da ficha 1.
Um caso seria a resolução do exercício 1. Para tal seria escolhida, por exemplo, a classe scanner para entrada de dados, identificadores de dados (alt, bs e ar), e tipo de dados (int e double). Sendo assim, se torna necessário saber como são aplicadas cada item no programa, recorrendo-se para isso a uma investigação. 
3. Metodologia
Para a resolução do presente trabalho o grupo procedeu conforme os passos descritos abaixo.
3.1 Revisão Bibliográfica
Foram feitas algumas pesquisas de revisão de conceitos aprendidos até agora e alguns não, para a realização deste trabalho.
As pesquisas foram baseadas em internet e documentos providos pelo docente. Dessa pesquisa se percebeu como escolher os tipos de dados certos para cada identificador, como esses dados influenciam na saída, Como cada instrução de controle de fluxo instrui o programa podendo assim saber qual servirá para um determinado propósito. 
Foram usadas duas ferramentas como a IDE Netbeans para a construção e teste dos programas e o editor de textos Microsoft Word para elaborar o relatório.
A busca por mais informação levou a alguns conceitos que facilitaram o entendimento de cada componente de um programa e código.
O Netbeans é um ambiente de desenvolvimento integrado (IDE) gratuito e de código aberto para desenvolvedores de software nas linguagens Java, Java Script, HTML5, entre outras. 
Todo programa independentemente da complexidade ou simplicidade de um método possui um ou mais tipos de estrutura de fluxo. Estás coordenam a execução do programa, e podem ser de condição (if…else) e de repetição (while, for, do…while). Um programa trata dados e esses dados no código são representados por identificadores que por sua vez são classificados por tipos de acordo com o valor a receber. 
Existem vários tipos de dados, mas os mais comuns são: int, boolean, char, double, float.
Porque para um dos exercícios se torna necessário conhecer o que é a série de Fibonacci, a série ou sequência de Fibonacci é uma sequência de números inteiros geralmente começados de 0 e 1 cujo o número seguinte é a soma dos dois números anteriores a este.
E, por fim, temos o conceito de Progressão aritmética. Esta progressão é uma sequência de números onde a diferença entre dois termos consecutivos é sempre a mesma.
4. Revisão bibliográfica sobre subprogramas
Neste capítulo apresenta-se o resumo de conceitos aprendidos, ligados a cada programa feito em cada exercício. 
4.1 Resumo sobre os conceitos aplicados no exercício 1
Foram aplicados conceitos do cálculo da área de um triângulo. A área é a medida de uma superfície, e a área do triângulo é dada por (base x altura)/2.
Foi usado como tipo de dado o float (Que permite o armazenamento de números com parte fracionária) com precisão de 6 ou 7 dígitos significativos. Usa-se a classe scanner para a entrada de dados e o System.out.print para a saída de dados.
4.2 Resumo sobre os conceitos aplicados no exercício 3
Para a construção da resolução deste exercício usamos a classe scanner e recebemos dois números inteiros (a e b) a partir do teclado, usamos a instrução de controle de fluxo (if) para testar qual é o maior número e de seguida com o system.out.print imprimir o maior número. Caso os números sejam iguais é imprimida na tela uma mensagem avisando.
4.3 Resumo sobre os conceitos aplicados no exercício 4
Aplicamos a classe scanner para entrada de 3 números, de seguida a estrutura if…else para fazer as várias comparações e o system.out.print para imprimir na tela os números em ordem crescente.
4.4 Resumo sobre os conceitos aplicados no exercício 5
Para a construção do código para imprimir e calcular o preço final de um automóvel se escolheu como tipos de variáveis “float e String”. Uma string é uma cadeia de caracteres usualmente utilizada para representar palavras, frases ou textos. Usamos o Scanner para entrada de dados e usamos o operador aritmético “Soma” para calcular o preço final do carro e depois imprimiu-se a partir system.out.print a marca e o preço do veiculo.
5. Exemplos da aplicação dos conceitos na resolução dos exercícios
Neste capítulo são apresentados dois exemplos implementados
5.1 Exemplo 1
Faça um programa que receba 2 números e mostre o maior deles.
Solução:
Da leitura do problema percebemos que são lidos dois números N1 e N2. A seguir é comparado qual deles é o maior e depois é exibido no ecrã o maior.
Em termos de pseudocódigo temos:
1. Ler N1
2. Ler N2
3. Comparar (N1>N2 ou N1<N2)
4. Imprimir o Maior
O Algoritmo é:
Algoritmo "Maior"
Var
 //Definir as variáveis que vão receber os números;
 MaiorN, N1, N2:Inteiro
Inicio
 Escreval("Digite o primeiro numero: ") 
 Leia(N1)
 Escreval("Digite o segundo numero: ")
 Leia(N2)
 Se (N1 >= N2) Entao//Comparar usando a instrução Se
 MaiorN <- N1//MaiorN é variável local, recebe N1.
 Senao
 MaiorN <- N2
 FimSe
 Escreval("O maior numero entre os dois numeros digitados foi: ", MaiorN)
Fim do algoritmo
Testando o fluxograma assim como o programa a saída é:
	
Digite o primeiro numero:4
Digite o segundo numero:5
O maior numero entre os dois números digitados foi:5
Notas de aprendizagem de conceitos e aplicação
Neste exercício aprendemos e aplicamos:
· Os passos de resolução de um exercício
· A estrutura do programa (Palavras a Bold)
· Identificador (o que é?)
· Tipo de dados (quais são)
· Comando de Saída dedados (Escreva)
· Comando de Entrada de dados (Leia)
· Comando de atribuição (<-)
· Instrucao de controle de fluxo (se..entao)
· Alinhamento e indentação do código (as instruções dentro de inicio e fim estão mais para dentro. Outros comandos como SE, Enquanto são escritos da mesma forma)
· Definição e chamada de uma Função
· Inserção de comentários
5.2 Exemplo 2
Faça um programa que Imprime a soma dos primeiros 20 números naturais. 
Solução:
Da leitura do problema percebemos que é necessário inicializar a partir de zero duas variáveis(C e S) inteiras. Enquanto uma (C) estará a percorrer até 20 unidades, cada unidade que ela percorre estará a ser somada cada à variável S.
Em termos de pseudocódigo temos:
S=0 e C=0
Ler S e C
Para C menor que 20 faça mais 1
Somar S=S+C
Imprimir o resultado S
O Programa em algoritmos é:
Algoritmo “NaturalSoma”
Var
 C, S:Inteiro
Inicio
 C <- 0//inicializa C
 S <- 0
 Para C <- 0 Ate 20 Faca// instrução de controle Para
 Escreval(C)//saída
 S <- S + C
 Fim Para
 Escreval(" A soma dos 20 primeiros números naturais e de ", S)
Final do algoritmo
Testando o fluxograma assim como o programa a saída é:
	
A soma dos 20 primeiros números naturais e de 220
Notas de aprendizagem de conceitos e aplicação
· Neste exercício aprendemos e aplicamos:
· Os passos de resolução de um exercício
· A estrutura do programa (Palavras a Bold)
· Identificador (o que é?)
· Tipo de dados (quais são)
· Comando de Saída de dados (Escreva)
· Comando de Entrada de dados (Leia)
· Comando de atribuição (<-)
· Instucao ou ciclo (Para…até…faça)
· Alinhamento e indentação do código (as instruções dentro de inicio e fim estão mais para dentro. Outros comandos como SE, Enquanto são escritos da mesma forma)
· Definição e chamada de uma Função
· Inserção de comentários
6. Aplicação dos conceitos aplicados na resolução de exercícios
Neste capítulo faz-se a aplicação dos conceitos apresentados na revisão bibliográfica através da resolução de x exercícios. Em cada exercício apresenta-se o enunciado, o fluxograma, o programa, o teste do fluxograma e do programa e por fim a indicação dos conceitos aplicados.
import java.util.Scanner;
public class ExerciciosJava{
 public static void main (String [] args){
 Scanner sc = new Scanner(System.in);
 /*Exercício 1. Ler a base e a altura de um triângulo. Em seguida,
 escreva a área do mesmo*/
 float area;
 float base;
 float altura;
 System.out.print("Base: ");
 base=sc.nextFloat();
 System.out.print("Altura:");
 altura=sc.nextFloat();
 area=(base*altura)/2;
 System.out.print("Area: "+area);
 //Exercício 3. Receba 2 números e mostre o maior deles
 int a;
 int b;
 System.out.print("Digite a:");
 a=sc.nextInt();
 System.out.print("Digite b:");
 b=sc.nextInt();
 if(a>b){
 System.out.print("Maior: "+ a);
 }
 else if(b>a){
 System.out.print("Maior: "+b);
 }
 else{
 System.out.print("a e b sao iguais");
 }
 /*Exercício 4. Receba 3 números e imprime-nos em ordem
 Crescent*/
 int c;
 int d;
 int e;
 System.out.print("Digite c: ");
 c=sc.nextInt();
 System.out.print("Digite d: ");
 d=sc.nextInt();
 System.out.print("Digite e: ");
 e=sc.nextInt();
 if(c>d && c>e && d>e){
 System.out.print(e+", "+d+", "+c);
 }
 else if(d>c && d>e && c>e){
 System.out.print(e+", "+c+", "+d);
 }
 else if(e>c && e>d && d>c){
 System.out.print(c+", "+d+", "+e);
 }
 else if(d>c && d>e && e>c){
 System.out.print(c+", "+e+", "+d);
 }
 else if (e>c && e>d && c>d){
 System.out.print(d+", "+c+", "+e);
 }
 else if (c>d && c>e && e>d){
 System.out.print(c+", "+e+", "+d);
 }
 else if (e>d && e>c && c==d){
 System.out.print(c+", "+d+", "+e);
 }
 else if (c>d && c>e && d==e){
 System.out.print(d+", "+e+", "+c);
 }
 else if (d>c && d>e && c==e){
 System.out.print(c+", "+e+", "+d);
 }
 else if (d==c && d==e && c==e){
 System.out.print(c+", "+e+", "+d);
 }
 else if(c==e && d<c && d<e){
 System.out.print(d+", "+c+", "+e);
 }
 else if(c==d && e<c && e<d){
 System.out.print(e+", "+d+", "+c);
 }
 else if(d==e && c<d && c<e){
 System.out.print(c+", "+d+", "+e);
 }
 //Exercício 5. O preço de um automóvel é calculado pela soma do
 //preço de fábrica com o preço dos impostos (45% do preço de
 //fábrica) e a percentagem do revendedor (28% do preço de
 //fábrica). Leia o nome do automóvel e o preço de fábrica e
 //imprima o nome do automóvel e o preço final
 float precfb;
 float precfinal;
 String marca;
 System.out.print("Digite a marca do automovel: ");
 marca = entrada.nextLine();
 System.out.print("Digite o Preço de fabrico: ");
 precfb = entrada.nextFloat();
 precfinal = precfb + (precfb * 0.45) + (precfb * 0.28);
 System.out.println(marca);
 System.out.print(marca+" Preço final: "+ precfinal);
 //Exercício 6. Leia 3 números inteiros e imprima o menor deles
 System.out.print("Introduza tres numeros ");
 int pr;
 int sg;
 int tr;
 pr=sc.nextInt();
 sg=sc.nextInt();
 tr=sc.nextInt();
 if(pr<sg && pr<tr){
 System.out.print(pr+" e o menor numero");
 }
 else if(sg<pr && sg<tr){
 System.out.print(sg+" e o menor numero");
 }
 else if(tr<sg && tr<pr){
 System.out.print(tr+" e o menor numero");
 }
 //Exercício 7. Receba três notas de um aluno, calcule e mostre a
 //média aritmética de Frequência (MF) e o resultado (Excluído,
 //Admitido, Dispensado), conforme os critérios
 short nota1;
 short nota2;
 System.out.print("Introduza as notas do primeiro e segundo teste");
 nota1=en.nextFloat();
 nota2=en.nextFloat();
 short media;
 media=(nota1+nota2)/2;
 if(media<8){
 System.out.print("Media de frequencia "+media+" excluido");
 }
 else if(media>=8 && media<14){
 System.out.print("Media de frequencia "+media+" admitido");
 }
 else{
 System.out.print("Media de frequencia "+media+" dispensado");
 }
 //Exercício 10. Imprime a soma dos primeiros 20 números
 //naturais.
 int j;
 int soma = 0;
 for(j = 1;j <= 20;j++){
 soma = soma + j;
 }
 System.out.print(soma);
 //Exercício 11 Imprime os primeiros 20 números primos.
 int contador;
 int numero = 0;
 for (int i=1;i<=71;i++) {
 contador = 0;
 for (int u = 1; u <= i; u++) {
 if (i % u == 0) {
 contador++;
 numero = u;
 }
 }
 if (contador == 2) {
 System.out.print(numero);
 }
 }
 /* Exercício 12 Imprime os primeiros 100 termos duma
 Progressão Aritmética cujo primeiro termo a1=3 e a razão d=2.*/
 int an;
 int a1 = 3;
 int n = 1;
 int d = 2;
 while(n <= 100){
 an = a1+(n-1)*d;
 System.out.print(an);
 n+=1;;
 }
 //Exercício 13. Imprime os primeiros 100 termos da série de
 //Fibonacci (1,1,2,3,5, … an-1 + an-2)
 int fn;
 int f1=0;
 int f2=1;
 for(int i=0;i<100;i++){
 fn=f1+f2;
 f2=f1;
 f1=fn;
 System.out.print(fn);
 }
 }
}7. CONCLUSÃO
Este trabalho tem como objectivo implementar e praticar os conceitos estudados em aulas. Para a realização deste trabalho foram consultadas enciclopédias que foram de grande ajuda para o propósito. Conseguiu-se realizar ou resolver todos os exercícios propostos pelo docente encontrando dificuldade em alguns como o caso da série de Fibonacci, bem como a somo dos 20 primeiros números primos.
Bibliografia
http://Developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects. (s.d.). String.
https://doc.4d.com/4Dv15/4D/15.6/Controle-de-fluxo.300-3818657.pt.html. (s.d.).
https://www.devmedia.com.br/como-funciona-a-classe-scanner-do-java/28448. (s.d.).
https://www.dm.ufscar.br/~waldeck/curso/java/part22.html. (s.d.).
https://www.guj.com.br/t/qual-a-diferenca-entre-float-e-double/73094. (s.d.).
https://www.todamateria.com.br/area-do-triangulo/. (s.d.).
https://www.todamateria.com.br/progressao-aritmetica/. (s.d.).

Continue navegando