Ir ao conteúdo
  • Cadastre-se

Lorenzo Nunez

Membro Júnior
  • Posts

    5
  • Cadastrado em

  • Última visita

Reputação

7
  1. Muito obrigado pela ajuda, vocês são incríveis.
  2. Olá, estou tentando desenvolver um programa que armazene valores do tipo inteiro em uma pilha de dados, porém estou com dificuldades pois a função de tipo logico (cheia e vazia) não retornam o valor esperado, criando um problema na hora de informar se a pilha está cheia ou vazia. Algoritmo "Modulo10Ex4Pilha" // Disciplina : Algoritmos // Professor : Livro Algoritmos // Descrição : Excercios do Livro // Autor(a) : Lorenzo Nunez // Data atual : 11/11/2022 Const lim = 4 Var // Seção de Declarações das variáveis pilha: vetor [1..lim] de inteiro topo: inteiro op, i: inteiro Funcao vazia: logico Var vazia: logico Inicio se (topo = 0) então vazia <- verdadeiro senao vazia <- falso fimse Fimfuncao Funcao cheia: logico Var cheia: logico Inicio se (topo = lim) então cheia <- verdadeiro senao cheia <- falso fimse Fimfuncao Funcao adicionar (elemento: inteiro): logico Var adicionar: logico Inicio se (cheia) então adicionar <- falso senao topo <- topo + 1 pilha[topo] <- elemento adicionar <- verdadeiro fimse Fimfuncao Funcao retirar (elemento: inteiro): logico Var retirar: logico Inicio se (vazia) então retirar <- falso senao elemento <- pilha[topo] pilha[topo] <- 0 topo <- topo - 1 retirar <- verdadeiro fimse Fimfuncao Procedimento empilhar() Var x: inteiro Inicio leia(x) se (adicionar(x)) então escreval("O elemento", x," foi adicionado na posição",topo,"º") senao escreval("impossível adicionar o elemento",x," - Pilha Cheia!") fimse Fimprocedimento Procedimento desempilhar() Var x: inteiro Inicio se (retirar(x)) então escreval("O elemento", x," foi retirado do topo da pilha") senao escreval("impossível retirar o elemento", x," - Pilha Vazia!") fimse Fimprocedimento Procedimento mostrar() Var i: inteiro Inicio se (vazia) então escreval("impossível apresentar - Pilha Vaiza!") senao para i de topo ate 1 passo -1 faca escreval("Posição: ",i,"º = ", pilha[i]) fimpara fimse Fimprocedimento Procedimento criar(var pilha: inteiro) Var i: inteiro Inicio topo <- 0 para i de 1 ate lim faca pilha[i] <- 0 fimpara Fimprocedimento Inicio // Seção de Comandos, procedimento, funções, operadores, etc... para i de 1 ate lim faca criar(pilha[i]) fimpara op <- 0 enquanto (op <> 5) faca escreval("[1] - Empilhar") escreval("[2] - Desempilhar") escreval("[3] - Aprensentar") escreval("[4] - Criar pilha") escreval("[5] - Sair") leia(op) limpatela se (op <= 5) então escolha op caso 1 empilhar() caso 2 desempilhar() caso 3 mostrar() caso 4 para i de 1 ate lim faca criar(pilha[i]) fimpara outrocaso escreval("Bye!") fimescolha fimse fimenquanto Fimalgoritmo
  3. Muito obrigado pela ajuda, realmente o problema estava no procedimento dentro de outro. S2.
  4. Olá, estou enfrentado problemas neste código, ele apresenta um erro que não consegui decifrar. Algoritmo "Procedimentos" // Disciplina : Algoritmos // Professor : Livro Algoritmos // Descrição : Excercios do Livro // Autor(a) : Lorenzo Nunez // Data atual : 10/11/2022 Const fim = 10 Var // Seção de Declarações das variáveis vetA: vetor[1..fim] de caractere Procedimento Entrada Var i: inteiro Inicio para i de 1 ate fim faca escreva("Digite o",i,"º: ") leia(vetA[i]) fimpara Fimprocedimento Procedimento Processamento Procedimento Troca (var a, b: caractere) Var x: caractere Inicio x <- a a <- b b <- x Fimprocedimento Procedimento Ordenacao Var i, j: inteiro Inicio para i de 1 ate fim-1 faca para j de i+1 ate fim faca se (vetA[i] > vetA[j]) então Troca(vetA[i],vetA[j]) fimse fimpara fimpara Fimprocedimento Inicio Ordenacao() Fimprocedimento Procedimento Saida Var i: inteiro Inicio para i de 1 ate fim faca escreval("[",vetA[i]," ]") fimpara Fimprocedimento Inicio // Seção de Comandos, procedimento, funções, operadores, etc... Entrada() Processamento() Saida() Fimalgoritmo
  5. Olá, prezados. Estou com problemas na hora de executar meu código abaixo. O mesmo Ele apresenta uma mensagem de erro na linha: se (vetb[meio] = pesq) então Dizendo: "Esperava um expressão do tipo LOGICO". Não consegui entender o motivo deste erro. Var // Seção de Declarações das variáveis veta: vetor [1..8] de inteiro vetb: vetor [1..8] de inteiro i, j, x, comeco, final: inteiro meio, pesq: real resp: caractere acha: logico Inicio // Seção de Comandos, procedimento, funções, operadores, etc... // Entrada de Dados para i de 1 ate 8 faca escreva("Digite o", i,"º número: ") leia(veta[i]) vetb[i] <- veta[i] * 5 fimpara // Organizar Vetor B para i de 1 ate 7 faca para j de (i + 1) ate 8 faca se (vetb[i] > vetb[j]) então x <- vetb[i] vetb[i] <- vetb[j] vetb[j] <- x fimse fimpara fimpara // Rotina de Pesquisa Binaria resp <- "S" enquanto (resp = "S") faca escreva("Qual número você deseja procurar: ") leia(pesq) comeco <- 1 final <- 8 acha <- falso enquanto (comeco <= final) e (acha = falso) faca meio <- (comeco + final) /2 se (vetb[meio] = pesq) então acha <- verdadeiro senao se (vetb[meio] < pesq) então final <- meio - 1 senao comeco <- meio + 1 fimse fimse fimenquanto se (acha = verdadeiro) então escreval(pesq," foi localizado na posição de nº: ", meio) senao escreval(pesq," não foi encontrado no vetor!") fimse escreva("Deseja continuar? [S/N]") leia (resp) // limpatela fimenquanto 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!