Você está na página 1de 12

1) Explique o que so e qual a utilidade de Estrutura de Dados; A utilidade que disponibiliza um maior conhecimento de como os dados so trabalhados e mostra

a as melhores formas de se trabalhar um dado em diferentes situaes.

2) Explique o que um tipo de dado primitivo e tipo de dado abstrato. D exemplos. Tipo de dado primitivo aquele que serve de base para armazenar os tipos mais bsicos int armazena nmeros inteiros e ocupa 4 bytes de memria; * double armazena nmeros reais e ocupada 8 bytes de memria; * boolean armazena os estados true e false e ocupa 1 bit; * char armazena um nico caractere e ocupa 2 bytes; Tipo de dado abstrato o conjunto de valores e uma sequencia de operaes sobre estes valores. Exemplos: V um conjunto de pares de palavras

3) Crie um algoritmo que armazene dados de vrias contas bancrias utilizando um vetor, sabendo que uma conta composta das seguintes informaes: nomeTitular, numeroConta, numeroAgencia, saldoConta. Crie um mtodo para cadastrar os dados de uma conta, e os mtodos para depositar, sacar e mostrar o saldo desta conta-corrente. package ListaDeExercicioNumero1.exercicio3; import java.util.Scanner; public class ContaBancaria { Scanner in = new Scanner(System.in); ContaBancaria conta[]=new ContaBancaria[10];

private String nome; private int numconta; private int agencia; private float saldo; private int indice=0; private float leitura; public float getLeitura() { return leitura; } public void setLeitura(float leitura) { this.leitura = leitura; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public int getNumconta(){ return numconta; } public void getNumconta(int numconta){ this.numconta=numconta; }

public int getAgencia(){ return agencia; } public void setAgencia(int agencia){ this.agencia=agencia; } public float getSaldo(){ return saldo; } public void setSaldo(float saldo){ this.saldo=saldo; } public void cadastrar(){ System.out.println("digite o nome do titular da conta:"); nome=in.nextLine(); System.out.println("digite o numero da conta:"); numconta=in.nextInt(); System.out.println("digite o numero da agencia:"); agencia=in.nextInt(); conta[indice].saldo=in.nextFloat(); indice++; } public void depositar(){

System.out.println("digite o numero da conta em que deseja fazer o deposito:"); leitura=in.nextInt(); for (int i = 0; i < 10; i++) { if(leitura==conta[i].numconta){ System.out.println("digite o valor a ser depositado"); saldo=in.nextFloat(); } else{ System.out.println("digite o numero da conta correto"); } } } public void sacar(){ System.out.println("digite o numero da conta que deseja sacar:"); leitura=in.nextInt(); for (int i = 0; i < 10; i++) { if (leitura==conta[i].saldo) { System.out.println("digite o valor a sacar:"); saldo=saldo-in.nextFloat(); } } } public void mostrarsaldo (){

System.out.println("digite o numero da conta que deseja saber o saldo:"); leitura=in.nextFloat(); for (int i = 0; i < 10; i++) { if (leitura==conta[i].saldo) { System.out.println("o seu saldo de :"+saldo); } } } } 4) Crie uma classe denominada Funcionario que possua trs campos: nome (String), codigo (int) e salarioMensal (double).Crie um mtodo dentro da classe Funcionrio para cadastr-lo. Escreva uma aplicao denominada FuncionarioTeste (Classe principal ou Main) para demonstrar as capacidades da classe Funcionario. A aplicao deve criar dois objetos Funcionario e mostrar o Salrio Anual (12 x salarioMensal) de cada um. Depois, dar um aumento de 10% e mostrar o valor do salario mensal reajustado. Package ListaDeExercicioNumero1.exercicio4; import java.util.Scanner; /** * * @author Cliente */ public class Funcionario { private String nome;

private double salariomensal; private int codigo; Scanner in = new Scanner(System.in); public int getCodigo() { return codigo; } public void setCodigo(int codigo) { this.codigo = codigo; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public double getSalariomensal() { return salariomensal; } public void setSalariomensal(double salariomensal) { this.salariomensal = salariomensal; } public void cadastrar(){ System.out.println("digite o nome "); nome=in.nextLine();

System.out.println("digite o salario mensal"); salariomensal=in.nextInt(); System.out.println("digite o codigo"); codigo=in.nextInt(); } } package ListaDeExercicioNumero1.exercicio4; /** * * @author Cliente */ public class Main { public static void main (String args[]){ Funcionario func[]= new Funcionario [2]; for(int i=0;i<2;i++){ func[i]= new Funcionario(); func[i].cadastrar(); System.out.println("o salario anual de "+func[i].getSalariomensal()*12); System.out.println("o seu salario mensal reajustado de "+(func[i].getSalariomensal()*10/100)+func[i].getSalariomensal()); } } }

5) Sobre a estrutura de dados do tipo LISTA: a. quais so os ponteiros necessrios para manipular uma lista? Os ponteiros necessrios para uma lista um para indicar a primeira posio e outro para indicar a ultima posio b. Quais so as operaes bsicas de uma lista? Insero, remoo e busca, impresso limpa. c. Como realizada a operao de insero em uma lista esttica? (mostre a implementao do mtodo de insero) Public void inseri (){ IF(primeiro==-1){ Primeiro=0; Lista[primeiro]=n; Ultimo=0 } Else IF(ultimo<lista.lenght()-1){ Ultimo++; Lista[ultimo]=n; } Else{ sout(lista cheia) } } d. O que um N? N uma estrutura de dados "genrica", dentro do N, ns podemos incluir a classe que desejamos aramzenar na estrutura de dados

6) Tomando como base uma estrutura de dados do tipo PILHA, responda as seguintes questes:

a. Quais so os ponteiros para a manipulao de uma pilha e descreva a utilidade de cada um deles; Possui um ponteiro para o topo e um indicando o inicio da pilha b. Como funciona o procedimento de retirada de um elemento de uma pilha? E a insero? Esboce o mtodo de insero (empilha) e remoo (desempilha); public void empilha(No n){ IF (topo<(tamanho-1)){ Topo++; Pilha[topo]=n; } Else{ Sou(pilha lotada); } } Public void desempilha(){ IF(topo!=-1){ Pilha[topo]=null; Topo--; } Else { Sout(pilha vazia);

} } c. Dado uma estrutura de pilha pr definida, faa um procedimento para imprimir uma pilha; public void imprime(){ for(int i=0; i<=topo.lenght; i++){ System.out.println(+pilha[topo].toString); } 7) Transforme cada uma das extenses pr-fixas em ps-fixas (notao polonesa reversa): ex. : A+B+C => AB+C+; a. A+B-C; b. (A+B)*(C-D) / (E*F); c. {(A-B)/(C*D)}/E; d. (A+ {[(B-C)*(D-E)+F]/G})/(H-J); 8) Transforme cada uma das extenses ps-fixas em pr-fixas e desenhe a pilha passo a passo, conforme h a incluso de um operador, como no exemplo: ex. AB-CD+- =>(A+B) (C+D); + -DB C C+D A A-B A-B (A-B)-(C+D) a. AB+C-; b. AB-C+DEF-+/; c. AB*C/DE/+; d. AB/CD*+;

9) Tomando como base uma estrutura de dados do tipo responda as seguintes questes:

FILA,

a. Quais so os ponteiros para a manipulao de uma pilha e descreva a utilidade de cada um deles; ini -> Faz referncia ao inicio da fila fim -> Faz referencia ao final da fila

b. Como funciona o procedimento de retirada de um elemento de uma fila? E a insero? Esboce o mtodo de insero e remoo; public void inseri(No n){ IF(fim < (tamanho-1)){ IF(inicio==-1){ Inicio=++; Fim++; fila[fim]=n } Else { Sout(fila lotada); } ] c. Dado uma estrutura de fila pr definida, faa um procedimento para imprimir uma fila;

10) A partir de uma lista encadeada esttica de inteiros ordenada, representada a seguir, simule as seguintes operaes na lista: primeiro ultimo Indice 0 1 2 3 4 5 6 7 8 Valor 2 3 6 7 8

Insere(1), Insere(15), Remove(3), Insere(4), Remove(7), LimpaLista(), Insere(10), Insere(9), Insere(5), Insere(7);

Você também pode gostar