Ir ao conteúdo
  • Cadastre-se

Lauro Viana

Membro Júnior
  • Posts

    12
  • Cadastrado em

  • Última visita

Reputação

9

1 Seguidor

  1. Quero encaixar o "bubblesort" no meu código para fazer o item 1 a troca, porém ele está dando erro em todo o resto. Quem puder me ajudar agradecerei muito. package prova1avestruturadedados; import java.util.Random; import java.util.Scanner; class vet { } class vetAux{ } public class Prova1AVEstruturaDeDados { public static void main(String[] args) { int vet[] = new int[20]; int vetAux[] = new int[vet.length]; if(vetAux == null){ throw new NullPointerException("The array doesn't exist."); } boolean flag = true; for(int i = 0; i < vetAux.length - 1 && flag; i++){ flag = false; //quando não há trocas, flag continuará false for(int j = 0; j < vetAux.length - i - 1; j++){ if(vetAux[j] > vetAux[j + 1]){ int temp = vetAux[j]; vetAux[j] = vetAux[j + 1]; vetAux[j + 1] = temp; flag = true; //troca realizada, flag true } } } } } System.out.println("### Lista Desordenada ###"); for(int val:vet){ System.out.print(val+"-"); } System.out.println(""); Scanner leia = new Scanner(System.in); int opc = 0; while (opc != 4){ System.out.println(""); System.out.println("# Vamos Ordenar? #"); System.out.println("1 - Por Troca"); System.out.println("2 - Por Seleção"); System.out.println("3 - Por Inserção"); System.out.println("4 - Sair"); System.out.println(""); System.out.print("Informe a opção desejada: "); opc = leia.nextInt(); switch (opc) { case 1: vetAux = vet.clone(); ordenarPorTroca(vetAux); break; case 2: vetAux = vet.clone(); ordenarPorSelecao(vetAux); break; case 3: vetAux = vet.clone(); ordenarPorInsercao(vetAux); break; case 4: System.out.println("Sair"); break; default: System.out.println("Opção inválida!"); break; } } } private static void ordenarPorTroca(int vetAux[]) { int tro = 0; //Variável para contar a quantidade de Trocas desse método int com = 0; //Variável para contar a quantidade de Comparações desse método System.out.println("### Ordenação por Troca ###"); //criar aqui a lógica da Ordenação por Troca listarComplexiade(tro,com); listarVetorOrdenado(vetAux); } private static void ordenarPorSelecao(int vetAux[]) { int tro = 0; //Variável para contar a quantidade de Trocas desse método int com = 0; //Variável para contar a quantidade de Comparações desse método System.out.println("### Ordenação por Seleção ###"); //criar aqui a lógica da Ordenação por Seleção listarComplexiade(tro,com); listarVetorOrdenado(vetAux); } private static void ordenarPorInsercao(int vetAux[]) { int tro = 0; //Variável para contar a quantidade de Trocas desse método int com = 0; //Variável para contar a quantidade de Comparações desse método System.out.println("### Ordenação por Inserção ###"); //criar aqui a lógica da Ordenação por Inserção listarComplexiade(tro,com); listarVetorOrdenado(vetAux); } private static void listarVetorOrdenado(int vetAux[]) { System.out.println("### Lista Ordenada ###"); for(int val:vetAux){ System.out.print(val+"-"); } System.out.println(""); } private static void listarComplexiade(int tro, int com) { System.out.println("### Complexidade ###"); System.out.println("Comparações: "+com); System.out.println("Trocas: "+tro); } }
  2. Algoritmo "Lanchonete" // Disciplina : [Linguagem e Lógica de Programação] // Professor : Antonio Carlos Nicolodi Const max = 10 tipo rCadPedido = registro nome :caractere pedido :caractere fimregistro funcao finserir (pos_lista : inteiro) : inteiro inicio pos_lista := pos_lista + 1 se pos_Lista > max entao pos_lista := pos_lista - 1 escreval ("Lista Cheia!!!") senao escreva ("Informe o Nome do Cliente: ") leia (Vpedido[pos_lista].Nome) escreva ("Informe o pedido: ") leia (Vpedido[pos_lista].pedido) escreval ("- Pedido Confirmado -") fimse retorne pos_lista fimfuncao procedimento plistar (pos_lista : inteiro) var ind : inteiro inicio se pos_lista = 0 entao escreval ("Lista de Pedidos Vazia!!!") senao para ind de 1 ate pos_lista faca escreval (ind,"º Cliente:", Vpedido[ind].Nome," Pedido: ",Vpedido[ind].pedido) fimpara fimse fimprocedimento procedimento pbuscar (pos_lista : inteiro) var j,k, vb : inteiro dados : vetor[1..max] de rCadPedido achou : logico var j : inteiro inicio para ind de 1 ate pos_lista faca dados[ind].nome dados[ind].pedido fimpara fimprocedimento inicio pbuscar escreva("Entre com o valor de busca (ESC termina) :") leia(vb) ind <- 1 repita se dados[ind].ind = vb entao achou <- verdadeiro senao ind <- ind+1 fimse ate (achou=verdadeiro) ou (ind>10) se achou entao escreval("Achei o cliente ", nome , " na posição ", ind, " o pedido é : ", dados[ind].pedido) senao escreval("não achei.") fimse Var pause, pfim, opcao , NumPed :inteiro ValTotal :real Vpedido :vetor [1..max] de rCadPedido Inicio pfim := 0 Repita limpatela escreval ("#########################") escreval ("*******LANCHONETE********") escreval ("# 1 - INCLUIR PEDIDO #") escreval ("# 2 – ATENDER PEDIDO #") escreval ("# 3 – LISTAR PEDIDO #") escreval ("# 4 – PESQUISAR PEDIDO #") escreval ("# 0 - ENCERRAR #") escreval ("#########################") escreval ("") escreva ("Informe a opção desejada: ") leia (opcao) escolha opcao caso 0 escreval ("") escreval ("Finalizando...") escreval ("") caso 1 pfim := finserir(pfim) escreval("**************************") escreval ("Aperte ENTER para voltar") escreval("**************************") leia(pause) caso 2 leia(pause) caso 3 plistar(pfim) leia(pause) caso 4 pbuscar(pfim) leia(pause) outrocaso escreval ("") escreval ("Opção inválida!!!") escreval ("") leia(pause) fimescolha ate opcao = 0 Fimalgoritmo
  3. o codigo é exatamente o mesmo e já está o print anexado a parte do código q está dando erro, é justamente o "procedimento pbuscar", as outras estão funcionando 100%@Simon Viegas
  4. o erro que está dando é no "inicio", corrigi o "pbuscar" mas o erro continua
  5. Algoritmo "Lanchonete" Const max = 10 tipo rCadPedido = registro nome :caractere pedido :caractere fimregistro funcao finserir (pos_lista : inteiro) : inteiro inicio pos_lista := pos_lista + 1 se pos_Lista > max entao pos_lista := pos_lista - 1 escreval ("Lista Cheia!!!") senao escreva ("Informe o Nome do Cliente: ") leia (Vpedido[pos_lista].Nome) escreva ("Informe o pedido: ") leia (Vpedido[pos_lista].pedido) escreval ("- Pedido Confirmado -") fimse retorne pos_lista fimfuncao procedimento plistar (pos_lista : inteiro) var ind : inteiro inicio se pos_lista = 0 entao escreval ("Lista de Pedidos Vazia!!!") senao para ind de 1 ate pos_lista faca escreval (ind,"º Cliente:", Vpedido[ind].Nome," Pedido: ",Vpedido[ind].pedido) fimpara fimse fimprocedimento procedimento pbuscar (pos_lista : inteiro) var j,k, vb : inteiro dados : vetor[1..max] de rCadPedido achou : logico procedimento pbuscar var j : inteiro inicio para ind de 1 ate pos_lista faca dados[ind].nome dados[ind].pedido fimpara fimprocedimento inicio pbuscar escreva("Entre com o valor de busca (ESC termina) :") leia(vb) ind <- 1 repita se dados[ind].ind = vb entao achou <- verdadeiro senao ind <- ind+1 fimse ate (achou=verdadeiro) ou (ind>10) se achou entao escreval("Achei o cliente ", nome , " na posição ", ind, " o pedido é : ", dados[ind].pedido) senao escreval("não achei.") fimse Var pause, pfim, opcao , NumPed :inteiro ValTotal :real Vpedido :vetor [1..max] de rCadPedido Inicio pfim := 0 Repita limpatela escreval ("#########################") escreval ("*******LANCHONETE********") escreval ("# 1 - INCLUIR PEDIDO #") escreval ("# 2 – ATENDER PEDIDO #") escreval ("# 3 – LISTAR PEDIDO #") escreval ("# 4 – PESQUISAR PEDIDO #") escreval ("# 0 - ENCERRAR #") escreval ("#########################") escreval ("") escreva ("Informe a opção desejada: ") leia (opcao) escolha opcao caso 0 escreval ("") escreval ("Finalizando...") escreval ("") caso 1 pfim := finserir(pfim) escreval("**************************") escreval ("Aperte ENTER para voltar") escreval("**************************") leia(pause) caso 2 leia(pause) caso 3 plistar(pfim) leia(pause) caso 4 pbuscar(pfim) leia(pause) outrocaso escreval ("") escreval ("Opção inválida!!!") escreval ("") leia(pause) fimescolha ate opcao = 0 Fimalgoritmo
  6. Algoritmo "Lanchonete" Const max = 10 tipo rCadPedido = registro nome :caractere pedido :caractere fimregistro funcao finserir (pos_lista : inteiro) : inteiro inicio pos_lista := pos_lista + 1 se pos_Lista > max entao pos_lista := pos_lista - 1 escreval ("Lista Cheia!!!") senao escreva ("Informe o Nome do Cliente: ") leia (Vpedido[pos_lista].Nome) fimse retorne pos_lista fimfuncao procedimento plistar (pos_lista : inteiro) var ind : inteiro inicio se pos_lista = 0 entao escreval ("Fila Vazia!!!") senao para ind de 1 ate pos_lista faca escreval (ind,"º Cliente:", Vpedido[ind].Nome," Pedido: ",Vpedido[ind].pedido) fimpara fimse fimprocedimento Var opcao , NumPed :inteiro ValTotal :real Vpedido :vetor [1...max] de rCadPedido Inicio pfim := 0 Repita limpatela escreval ("##########################") escreval ("*******LANCHONETE******") escreval ("# 1 - INCLUIR PEDIDO #") escreval ("# 2 – ATENDER PEDIDO #") escreval ("# 3 – LISTAR PEDIDO #") escreval ("# 4 – PESQUISAR PEDIDO #") escreval ("# 0 - ENCERRAR #") escreval ("##########################") escreval ("") escreva ("Informe a opção desejada: ") leia (opcao) escolha opcao caso 0 escreval ("") escreval ("Finalizando...") escreval ("") caso 1 pfim := finserir(pfim) leia(pause) caso 2 plistar(pfim) leia(pause) caso 3 leia(pause) caso 4 leia(pause) outrocaso escreval ("") escreval ("Opção inválida!!!") escreval ("") leia(pause) fimescolha ate opcao = 0 Fimalgoritmo Sintaxe incorreta na declaração de variáveis.
  7. Escreva um pseudocódigo (algoritmo) que receba as informações do pedido. Esses pedidos devem entrarem uma fila de produção e serem retirados da fila quando forem atendidos. Construa um menu, para que a atendente possa escolher a operação que deseja executar:###### LANCHONETE####### 1 –INCLUIR PEDIDO ## 2 -ATENDER PEDIDO ## 3 -LISTAR PEDIDOS ## 4–PESQUISARPEDIDO## 5–ENCERRAR#########################Construa as funções ou procedimentos necessários para cada item do menu. Utilize um vetor de 10 posições para registrar os pedidos. Não permita que o usuário encerre o programa (opção ENCERRAR) se ainda existirem pedidos para serem atendidos e ao encerrar o programa, informe ao usuário o faturamento total(soma de todos os valores dos pedidos) e a quantidade pedidos que foram atendidos. Observação: Implemente as mensagens de “ListaVazia–Não Existem Pedidos” e “Fila Cheia–Não Pode Mais Incluir Pedidos”, quando necessário. Criar o registro “rCadPedido” (tipo de dado dos pedidos), contendo os seguintes itens: número do pedido do tipo inteiro, tipo de atendimento do tipo inteiro(“1” para atendimento na loja e “2” para atendimento via delivery), nome do cliente do tipo caractere, valor total do tipo real; Criar um vetor com 10 posições do tipo rCadPedido; Criar uma função/procedimento Incluir Pedido. Esta função ou procedimento deve incluir um pedido no vetor. Atenção para a mensagem de lista cheia; Criar uma função/procedimento Atender Pedido. Esta função ou procedimento deve apagar o pedido mais antigo ou apenas mover o ponteiro do pedido a ser atendido, de tal forma que o algoritmo saiba que o pedido foi atendido. Atenção para a mensagem de lista vazia; Criar uma função/procedimento Listar Pedidos. Esta função ou procedimento deve listar todos os pedidos que ainda não foram atendidos. Atenção para a lista vazia; Criar uma função/procedimento Pesquisar Pedido. Esta função ou procedimento deve pesquisar um pedido pelo seu número e informar a posição do pedido. Caso o pedido não seja encontrado, enviar uma mensagem para o usuário que o pedido não foi encontrado. Atenção para lista vazia; Criar uma função/procedimento Encerrar. Esta função ou procedimento deve encerrar o algoritmo apenas se não existirem pedidos para ser atendidos. Caso ainda existam pedidos, uma mensagem deve ser enviada ao usuário e o algoritmo não deve ser finalizado.
  8. Var aprovado, reprovado, final: inteiro media, maior, menor: real cont_nota, cont_dis : inteiro cont_mat, cont_por, cont_geo, cont_fil, cont_his, cont_qui : inteiro opc_dis, opc_rep, opc_nota : inteiro rep, rep_disc: inteiro mediaD, mediaT:real Naluno, Ndis:inteiro somamedia:inteiro log_alun, log_dis, log_nota : logico nota, nota1, nota2, N1, N2: real Inicio cont_nota := 0 log_nota := verdadeiro log_alun := verdadeiro log_dis := verdadeiro Naluno := 0 Ndis := 0 aprovado:=0 reprovado:=0 final:=0 menor:= 0 enquanto log_nota faca cont_nota := cont_nota + 1 escreva ("Informe o nome do aluno: ") leia (nota) repita cont_dis := cont_dis + 1 escreval ("--------------------") escreval ("1-matemática") escreval ("2-portugues") escreval ("3-geografia") escreval ("4-Filosofia") escreval ("5-historia") escreval ("6-quimica") escreval ("--------------------") escreva ("Informe qual a disciplina: ") leia (opc_dis) escolha opc_dis caso 1 cont_mat := cont_mat caso 2 cont_por := cont_por caso 3 cont_geo := cont_geo caso 4 cont_fil := cont_fil caso 5 cont_his := cont_his caso 6 cont_qui := cont_qui fimescolha ESCREVAL("SISTEMA DE MÉDIAS") ESCREVA("DIGITE A PRIMEIRA NOTA: ") LEIA(N1) ESCREVA("DIGITE A SEGUNDA NOTA: ") LEIA(N2) MEDIA <- (N1 + N2 ) / 2 SE (MEDIA >= 7) ENTAO ESCREVAL("ALUNO APROVADO!") SENAO SE (MEDIA <= 3) ENTAO ESCREVAL("ALUNO REPROVADO!") SENAO SE (MEDIA <=5) ENTAO ESCREVAL("ALUNO EM RECUPERAÇÃO...") FIMSE FIMSE FIMSE se N1 > N2 entao maior:= N1 senao se N1 < N2 entao menor:= N1 se N2 > N1 entao maior:= N2 senao se N2 < N1 entao menor:=N2 fimse fimse fimse escreval("") escreval("A média do(a) aluno(a) é:", media) escreval("A maior nota do(a) aluno(a) é:", maior) escreval("A menor nota do(a) aluno(a) é:", menor) mediaD := somamedia/Naluno se (media >= 0) entao somamediaD := media + somamediaD fimse mediaT:= somamediaD / (Naluno*Ndis) escreva ("Deseja informar outro aluno? (1-Sim ou 2-Não)") leia (opc_nota) se opc_nota = 2 entao log_nota := falso fimse escreval("") escreval("----------- DISCIPLINA: ",caso," ----------") escreval("- QUANTIDADE TOTAL DE ALUNOS: ", Naluno) escreval("- MÉDIA GERAL DA DISCIPLINA: ", mediaD) escreval("- MAIOR MÉDIA DA DISCIPLINA: ", maior) escreval("- MENOR MÉDIA DA DISCIPLINA: ", menor) escreval("- QUANTIDADE ALUNOS REPROVADOS: ", reprovado) escreval("- QUANTIDADE ALUNOS NA FINAL: ", final) escreval("- QUANTIDADE ALUNOS APROVADOS: ", aprovado) escreva("") maior:= maior - maior menor:= menor - menor somamedia:= -1 somamedia:= somamedia + 1 aprovado := -1 aprovado := aprovado + 1 reprovado := -1 reprovado := reprovado + 1 final := -1 final := final + 1 Naluno := -1 Naluno := Naluno + 1 escreva ("Deseja informar outra disciplina? (1-Sim ou 2-Não): ") leia (opc_rep) Fimalgoritmo [Código reeindentado pela moderação via "Ctrl+G" no VisualG]
  9. @kgin na verdade é um código mais longo, só que eu estava achando estranho o porque das notas estarem dando zero. na minha máquina ainda está dando zero mesmo mudando o numero da disciplina, mas mesmo assim agradeço.
  10. quero fazer a maior, menor e a média de um aluno, entretanto, a maior e menor nota deste tal aluno está ficando zerada
  11. Var media, maior, menor: real i: inteiro cont_nota, cont_dis : inteiro cont_mat, cont_por, cont_geo, cont_fil, cont_his, cont_qui : inteiro opc_dis, opc_rep, opc_nota : inteiro log_nota : logico nota1, nota2, N1, N2: real nota, maiornota, menornota : caractere Inicio cont_nota := 0 log_nota := verdadeiro enquanto log_nota faca cont_nota := cont_nota + 1 escreva ("Informe o nome do aluno: ") leia (nota) repita cont_dis := cont_dis + 1 escreval ("--------------------") escreval ("1-matemática") escreval ("2-portugues") escreval ("3-geografia") escreval ("4-Filosofia") escreval ("5-historia") escreval ("6-quimica") escreval ("--------------------") escreva ("Informe qual a disciplina: ") leia (opc_dis) escolha opc_dis caso 1 cont_mat := cont_mat caso 2 cont_por := cont_por caso 3 cont_geo := cont_geo caso 4 cont_fil := cont_fil caso 5 cont_his := cont_his caso 6 cont_qui := cont_qui fimescolha ESCREVAL("SISTEMA DE MÉDIAS") ESCREVA("DIGITE A PRIMEIRA NOTA: ") LEIA(N1) ESCREVA("DIGITE A SEGUNDA NOTA: ") LEIA(N2) MEDIA <- (N1 + N2 ) / 2 SE MEDIA >= 7 ENTAO ESCREVAL("ALUNO APROVADO!") SENAO SE MEDIA <= 3 ENTAO ESCREVAL("ALUNO REPROVADO!") SENAO SE MEDIA <=5 ENTAO ESCREVAL("ALUNO EM RECUPERAÇÃO...") FIMSE FIMSE FIMSE se N1 > N2 entao maior:= N1 senao se N1 < N2 entao menor:= N1 se N2 > N1 entao maior:= N2 senao se N2 < N1 entao menor:=N2 fimse fimse fimse fimse escreval("") escreval("A média do(a) aluno(a) é:", media) escreval("A maior nota do(a) aluno(a) é:", maior) escreval("A menor nota do(a) aluno(a) é:", menor) escreva ("Deseja informar outra disciplina? (1-Sim ou 2-Não): ") leia (opc_rep) //RESUMO DA MEDIA escreval ("====================================") escreval (nota) escreval ("====================================") escreval ("A média de matemática: ", media) escreval ("A média de português: ",media) escreval ("A média de geografia: ",media) escreval ("A média de filosofia: ",media) escreval ("A média de história: ",media) escreval ("A média de química: ",media) escreval ("====================================") escreval ("A nota total: ",cont_nota," nota: ",cont_dis) escreval ("") escreval ("") escreva ("Deseja informar outro aluno? (1-Sim ou 2-Não)") leia (opc_nota) se opc_nota = 2 entao log_nota := falso fimse Fimalgoritmo
  12. Var notas: vetor[1..5] de real media, maior, menor: real i: inteiro cont_nota, cont_dis : inteiro cont_mat, cont_por, cont_geo, cont_fil, cont_his, cont_qui : inteiro opc_dis, opc_rep, opc_nota : inteiro log_nota : logico nota1, nota2, N1, N2: real nota, maiornota, menornota : caractere Inicio cont_nota := 0 log_nota := verdadeiro enquanto log_nota faca cont_nota := cont_nota + 1 escreva ("Informe o nome do aluno: ") leia (nota) repita cont_dis := cont_dis + 1 escreval ("--------------------") escreval ("1-matemática") escreval ("2-portugues") escreval ("3-geografia") escreval ("4-Filosofia") escreval ("5-historia") escreval ("6-quimica") escreval ("--------------------") escreva ("Informe qual a disciplina: ") leia (opc_dis) escolha opc_dis caso 1 cont_mat := cont_mat caso 2 cont_por := cont_por caso 3 cont_geo := cont_geo caso 4 cont_fil := cont_fil caso 5 cont_his := cont_his caso 6 cont_qui := cont_qui fimescolha ESCREVAL("SISTEMA DE MÉDIAS") ESCREVA("DIGITE A PRIMEIRA NOTA: ") LEIA(N1) ESCREVA("DIGITE A SEGUNDA NOTA: ") LEIA(N2) MEDIA <- (N1 + N2 ) / 2 SE MEDIA >= 7 ENTAO ESCREVAL("ALUNO APROVADO!") SENAO SE MEDIA <= 3 ENTAO ESCREVAL("ALUNO REPROVADO!") SENAO SE MEDIA <=5 ENTAO ESCREVAL("ALUNO EM RECUPERAÇÃO...") FIMSE FIMSE se N1 > N2 entao maior:= N1 senao se N1 < N2 entao menor:= N1 se N2 > N1 entao maior:= N2 senao se N2 < N1 entao menor:=N2 fimse fimse escreval("") escreval("A média do(a) aluno(a) é:", media) escreval("A maior nota do(a) aluno(a) é:", maior) escreval("A menor nota do(a) aluno(a) é:", menor) escreva ("Deseja informar outra disciplina? (1-Sim ou 2-Não): ") leia (opc_rep) //RESUMO DA MEDIA escreval ("====================================") escreval (nota) escreval ("====================================") escreval ("A média de matemática: ", media) escreval ("A média de português: ",media) escreval ("A média de geografia: ",media) escreval ("A média de filosofia: ",media) escreval ("A média de história: ",media) escreval ("A média de química: ",media) escreval ("====================================") escreval ("A nota total: ",cont_nota," nota: ",cont_dis) escreval ("") escreval ("") escreva ("Deseja informar outro aluno? (1-Sim ou 2-Não)") leia (opc_nota) se opc_nota = 2 entao log_nota := falso fimse Fimalgoritmo

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!