Carol Protásio

Respostas no Fórum

Visualizando 5 posts - 1 até 5 (de 5 do total)
  • Autor
    Posts
  • Carol Protásio
    Participante

    Obrigada Jessica por essa correção na identação e post na area correta, realmente procurei e não achei.. facilitaria um campo de busca no forum 🙂
    De qualquer forma, vc entendeu minha dúvida? ainda não consegui resolver… agradeço sua atenção

    Carol Protásio
    Participante

    Olá!!
    Na explicação da aula sobre busca binária(M04A18) prof. Gustavo demostrou como fazer essa busca, porém se procurarmos pela o valor da chave que esteja na posição: ini ou fim, dá erro(chave não encontra-se no vetor). Consegui resolver colocando:
    se(vet[meio] == chave ou chave == vet[ini] ou chave == vet[fim])
    porém, para mostrar o resultado da busca, estou tendo dificuldade de mostrar a posição da chave, já que não podemos escrever a variavel “meio”, já que por ex. a chave estava na posição ini(ou fim):
    se(encontrado){
    escreva(“\nO valor “+chave+” foi encontrado na posição “+meio+” do vetor”)
    }senao{
    escreva(“\nInfelizmente o valor “+chave+” não se encontra no vetor”)

    minha dúvida é: no escreva(no se(encontrado)) como coloco a posição, já que pode ser: meio, fim, ou ini?
    segue abaixo todo o cod:
    Obrigada!!!

    inteiro vet[10]
    inteiro p=0, aux, i
    logico encontrado

    enquanto(p < u.numero_elementos(vet)){
    vet[p] = sorteia(1,15)
    encontrado = falso
    para(aux=0; aux < p;aux++){
    se(vet[aux] == vet[p]){
    encontrado = verdadeiro
    pare
    }
    }
    se(nao encontrado){
    p++
    }
    }

    inteiro auxiliar = 0, pr, sec
    para(pr=0; pr < u.numero_elementos(vet);pr++){
    para(sec=pr+1;sec<u.numero_elementos(vet);sec++){
    se(vet[pr]>vet[sec]){
    auxiliar=vet[pr]
    vet[pr]=vet[sec]
    vet[sec]=auxiliar

    }
    }
    }

    para(i=0;i<u.numero_elementos(vet);i++){
    escreva(vet[i]+” “)
    u.aguarde(100)
    }

    //busca binaria
    inteiro chave
    inteiro ini=0, fim = u.numero_elementos(vet)-1, meio=0
    encontrado = falso
    escreva(“\nQuer achar que valor? “)
    leia(chave)

    enquanto(ini < fim){
    meio = (ini+fim)/2
    se(vet[meio] == chave ou chave == vet[ini] ou chave == vet[fim]){
    encontrado = verdadeiro
    pare
    }senao{
    se(chave > vet[meio]){
    ini = meio + 1
    }senao{
    fim = meio – 1
    }

    }
    }
    se(encontrado){
    escreva(“\nO valor “+chave+” foi encontrado na posição “+meio+” do vetor”)
    }senao{
    escreva(“\nInfelizmente o valor “+chave+” não se encontra no vetor”)
    }

    em resposta a: Ex 52 – Pirâmide B #108512
    Carol Protásio
    Participante

    Olá!! Cheguei nesse code para a pirâmide “normal” que o prof Guanabara solicitou:

    inclua biblioteca Util –> u

    inteiro and, cEst, cEsp, cAnd, tot
    escreva(“Quantos andares seu triangulo vai ter? “)
    leia(and)

    inteiro qtEst = 1
    inteiro qtEsp = and – 1

    para(cAnd = 1; cAnd <= and; cAnd++){

    para(cEsp = 1; cEsp <= qtEsp; cEsp++){
    escreva(” “)
    }
    qtEsp–
    para(cEst = 1; cEst <= qtEst; cEst++){
    escreva(“*”)
    u.aguarde(100)
    }
    qtEst+=2
    escreva(“\n”)
    }

    em resposta a: Analise dos Exercício 41 e 42 #108328
    Carol Protásio
    Participante

    Nossa Jessica, valeu pela correção 🙂 muito obrigada!!

    em resposta a: Analise dos Exercício 41 e 42 #108275
    Carol Protásio
    Participante

    Bom dia!!
    Estou no ex. 42, fui codando e verificando os resultados, mas estou sem saber onde estou errando ao calcular o numero de mulheres que ganham mais de mil, meu resultado está bem parecido com o do prof. mas o meu resultado está puxando o numero de homens e mulheres que ganham mais de mil. poderia verificar meu cod? muito obrigada

    programa
    {
    inclua biblioteca Matematica –> m
    inclua biblioteca Tipos –> t
    inclua biblioteca Texto –> txt
    funcao inicio()
    {
    inteiro c = 0, totM = 0, totF = 0, totMil = 0
    cadeia nome
    caracter sexo, res
    real sal, medSalM = 0.0, maiorSalM = 0.0, salM = 0.0

    enquanto(verdadeiro){
    escreva(“——————————“)
    escreva(“\n Cadastro de Funcionários\n”)
    escreva(“——————————\n”)
    escreva(“Nome: “)
    leia(nome)
    escreva(“Sexo [F/M]: “)
    leia(sexo)
    escreva(“Salário: R$”)
    leia(sal)

    c++

    se(sexo == ‘M’ ou sexo == ‘m’){
    totM++
    salM += sal
    se(totM == 1){
    maiorSalM = sal
    }senao{
    se(sal > maiorSalM){
    maiorSalM = sal
    }
    }
    }senao se(sexo == ‘F’ ou sexo == ‘f’){
    totF++
    }se (sal > 1000){
    totMil++
    }

    escreva(“Quer continuar? [S/N] “)
    leia(res)
    se(res == ‘N’ou res == ‘n’){
    pare
    }

    }
    medSalM = t.inteiro_para_real(salM)/totM
    escreva(“====== RESULTADOS ======\n”)
    escreva(“Total de pessoas cadastradas, “, c)
    escreva(“\nTotal de mulheres: “, totF)
    escreva(“\nTotal de homens: “, totM)
    escreva(“\nMédia salarial dos homens: “, m.arredondar(medSalM, 2))
    escreva(“\nTemos ” ,totMil, ” mulheres que ganham mais de Mil Reais: “)
    escreva(“\nMaior salário entre os homens: “, maiorSalM)

    }
    }

Visualizando 5 posts - 1 até 5 (de 5 do total)