Filipe Mamud Oliveira

Respostas no Fórum

Visualizando 19 posts - 1 até 19 (de 19 do total)
  • Autor
    Posts
  • em resposta a: Exercício 63 (Vetores) #132924
    Filipe Mamud Oliveira
    Participante

    Ola Tutoria,

    Na resolução do meu exercicio tudo saiu correto mas na hora de mostrar mais de uma pessoa com a maior idade ela mostra somente uma das pessoas, vocês poderiam me ajudar a entender por favor?

    programa
    {
    inclua biblioteca Matematica –> mat

    inclua biblioteca Util –> u
    funcao inicio()
    {

    escreva(“———————————————-\n”)
    escreva(” { EXERCICIO 063 – Pessoas e Idades } “)
    escreva(“\n———————————————-\n”)

    cadeia nome[6], maiorn = “”
    inteiro idade[6], p, maior =0
    real midade = 0.0, s = 0.0

    para (p=0; p<u.numero_elementos(nome); p++) {
    faca {
    escreva(“Nome da pessoa [“, p, “]: “)
    leia(nome[p])
    } enquanto (nome[p] == “”)
    faca {
    escreva(“Idade de “, nome[p], “: “)
    leia(idade[p])
    s+=idade[p]
    se (p==0) {
    maior = idade[p]
    maiorn = nome[p]
    } senao {
    se (idade[p] > maior) {
    maior = idade[p]
    maiorn = nome[p]
    }
    }

    } enquanto (idade[p]>= 130 e idade[p] <=0)
    }
    escreva(“\n———————————————-\n”)
    escreva(“\tANALISANDO AS PESSOAS CADASTRADAS”)
    escreva(“\n———————————————-\n”)

    midade = s/ u.numero_elementos(idade)
    escreva(“A média de idade é: “, mat.arredondar(midade, 2))
    escreva(“\nPessoas acima da média: “)
    para (p=0; p<u.numero_elementos(nome); p++) {
    se (idade[p]>= midade) {
    escreva( “\n–> “, nome[p], ” (“, idade[p], ” anos).”)
    u.aguarde(300)
    }
    }
    escreva(“\n———————————————-\n”)
    escreva(“Maior idade do grupo: “, maior, ” anos.”)
    escreva(“\nPessoa(s) com maior idade no grupo: “)
    escreva(“\n–> “, maiorn)
    escreva(“\n———————————————-\n”)
    }
    }

    em resposta a: Exercicio – 54 estrutura de repetição validadando dados. #130170
    Filipe Mamud Oliveira
    Participante

    Ola Tutora,
    Espero que tudo esteja ocorrendo bem para você.
    Eu fiz meu codigo e apareceram dois erros na hora que eu integrei as condições de atribuição para o nome e idades para as pessoas mais velha e nova.
    “Erro na compilação”
    “Existem trechos do codigo onde a variavel idade pode não ter sido inicializada”
    Você poderia me ajudar por favor?

    programa
    {

    inclua biblioteca Tipos –> ti
    inclua biblioteca Texto –> txt
    funcao inicio()
    {
    escreva(” { EXERCICIO 054 – PESSOAS VALIDADAS } “)
    escreva(“\n”)

    inteiro c=0, idade, soma = 0, pessoa =0, anosv =0, anosn =0
    cadeia teclado, velha, nova, nome
    caracter resposta = ‘ ‘
    faca {
    enquanto (verdadeiro) {
    escreva(“—————————————–\n”)
    escreva(“\t\tPESSOA “, c+1, “\n”)
    escreva(“—————————————–\n”)
    escreva(“NOME: “)
    leia(teclado)
    se (txt.numero_caracteres(teclado) >3) {
    nome = teclado
    pare
    } senao {
    escreva(“<<ERRO>> O nome deveter pelo menos 3 letras!\n”)
    }
    }
    enquanto (verdadeiro) {
    escreva(“IDADE: “)
    leia(teclado)
    se (ti.cadeia_e_inteiro(teclado, 10)) {
    idade = ti.cadeia_para_inteiro(teclado, 10)
    se (idade>0 e idade <=120) {
    pare
    } senao {
    escreva(“<<ERRO>> Idade invalida!\n”)
    }
    } senao {
    escreva(“<<ERRO>> A idade deve ser um numero inteiro!\n”)
    }
    }
    enquanto (verdadeiro) {
    escreva(“Quer continuar? [S/N] “)
    leia(teclado)
    se (ti.cadeia_e_caracter(teclado)) {
    resposta = ti.cadeia_para_caracter(teclado)
    se (resposta == ‘S’ ou resposta == ‘s’ ou resposta == ‘N’ ou resposta == ‘n’) {
    pare
    } senao {
    escreva(“<<ERRO>> A resposta deve ser S ou N!\n”)
    }
    } senao {
    escreva(“<<ERRO>> A resposta deve ser uma letra!\n”)
    }
    }
    c++
    soma+=pessoa
    se ( c==1) {
    anosv = idade
    velha = nome
    anosn = idade
    nova = nome
    } senao {
    se (idade > anosv) {
    anosv = idade
    velha = nome
    }
    se (idade < anosn) {
    anosn = idade
    nova = nome
    }
    }
    } enquanto (resposta == ‘S’ ou resposta == ‘s’)

    escreva(“\n—————————————–\n”)
    escreva(“Ao todo você cadastrou: “, pessoa, ” pessoas.\n”)
    escreva(velha, ” é a pessoa mais velha, com “, anosv, ” anos.\n”)
    escreva(nova, ” é a pessoa mais nova, com “, anosn, ” anos.\n”)
    }
    }

    em resposta a: dúvida exercício 53 programação básica #128449
    Filipe Mamud Oliveira
    Participante

    Bom dia à todos,

    Estou com duvida no meio do meu codigo (estou resolvendo o exercicio por partes como o professor ensinou) e na hora de colocar a pergunta se o usuario quer continuar ou não estou com um problema, se eu coloco ele dentro do looping ele conta a resposta errada como letras ou numero fora dos limites como um valor ou se coloco fora do looping ele não funciona.
    Meu codigo ainda incompleto pois estou indo por etapas, vocês poderiam me ajudar com o “continuar [S/N]” por favor?

    programa
    {

    inclua biblioteca Tipos –> ti
    inclua biblioteca Texto –> tx
    funcao inicio()
    {
    escreva(” { EXERCICIO 053 – Numeros Validados”)
    escreva(“\n”)
    cadeia resposta, teclado
    inteiro valor, c=1

    enquanto (verdadeiro) {
    escreva(“——————————————-\n”)
    escreva(“\t\tVALOR “, c, “\n”)
    escreva(“——————————————-\n”)
    escreva(“Digite um valor (entre 01 e 10): “)
    leia(teclado)
    se (ti.cadeia_e_inteiro(teclado, 10)) {
    valor = ti.cadeia_para_inteiro(teclado, 10)
    se (valor >=0 e valor <=10) {
    } senao {
    escreva(“<<ERRO>> O numero deve estar entre 1 e 10!\n”)
    }
    } senao {
    escreva(“<<ERRO>> O valor deve ser um numero!\n”)
    }
    c++
    }
    escreva(“Quer continuar: [S/N] “)
    leia(resposta)
    se ( resposta == “N” ou resposta == “n”) {
    pare
    }
    }
    }

    em resposta a: Ex 044 #125902
    Filipe Mamud Oliveira
    Participante

    Ola Jessica,
    Eu estava realizando o exercicio e até verifiquei no video do professor e alinhei minha solução a da dele mas não vejo o por que do meu codigo não mostrar o menor valor, você poderia por favor me ajudar?

    programa
    {

    // sortear varios numeros
    // mostrar quantos valores sorteados
    // a soma de todos valores
    // quantas vezes o valor 5 foi sorteado

    funcao inicio()
    {
    escreva(” { EXERCICIO 044 – Numeros Sorteados }”)
    escreva(“\n”)
    escreva(“Vou sortear varios numeros.\n”)
    escreva(“——————————————–\n”)
    inteiro c = 0
    , sorteado, soma =0, maior =0, menor =0, cont5 = 0
    caracter resp

    faca {
    sorteado = sorteia(1,10)
    escreva(“O “, (c+1), “° valor sorteado foi “, sorteado, “\n”)
    c++
    soma += sorteado
    se (c == 0) {
    maior = sorteado
    menor = sorteado
    } senao {
    se (sorteado > maior) maior = sorteado
    se (sorteado < menor) menor = sorteado
    }
    se (sorteado == 5) {
    cont5++
    }
    escreva(“Quer sortear mais um numero? [S/N] “)
    leia(resp)
    } enquanto (resp != ‘N’ e resp != ‘n’)
    escreva(“Você me fez sortear “, c, ” valores.\n”)
    escreva(“A soma de todos os valores foi igual a “, soma, “\n”)
    escreva(“O maior valor foi “, maior, ” e o menor valor foi “, menor, “\n”)
    escreva(“O valor 5 foi sorteado “, cont5, ” vezes.\n”)
    }
    }

    em resposta a: Analise dos Exercício 41 e 42 #125901
    Filipe Mamud Oliveira
    Participante

    Muito obrigado Jéssica

    em resposta a: Analise dos Exercício 41 e 42 #125860
    Filipe Mamud Oliveira
    Participante

    Ola Jéssica,
    Do que eu entendi dos videos foi que a variavel “senao se” introduz uma condicional suplementar e a “senao” termina o caso, ou seja “senao se” pode se repetir diversas vezes como no caso do IMC mas a “senao” é a definição da ultima possibilidade. Estaria este pensamento correto?

    em resposta a: Analise dos Exercício 41 e 42 #125856
    Filipe Mamud Oliveira
    Participante

    Ola Jéssica,
    Eu entendi que minha estrutura estava errada pela tua resposta e vi a correção do exercicio. Porém ainda não entendi quando usar o “senao” e “senao se” dentro de varias formulas, por que para mim por enquanto o “senao” é definitivo, ou seja ele indica a condição final e acaba a variavel. Você poderia me explicar por favor?

    em resposta a: Analise dos Exercício 41 e 42 #125774
    Filipe Mamud Oliveira
    Participante

    Ola Jéssica,
    No exercicio 42 meu codigo correu bem porém na resposta de quantas mulheres foram cadastradas ele deixou de mostrar um dos valores:
    1 – Eu coloquei para rodar um ‘f’ minusculo e um ‘F’ maiusculo e ele me ocntabilizou apenas uma das respostas, você poderia me ajudar a solucionar?
    2 – O portugol me diz que a variavel salario seria truncado, se eu a declarar como inteiro poderia resultar em um problema caso o usuario marque um salario com decimais, então o declarei real, porém a variavel supho (que representa o salario superior dentre os homens) eu declarei como inteiro e o portugol não o aceita como real, então ele diz que salario sera truncado, porém funciona do jeito correto, mas como eu resolveria o codigo para que o portugol não truncasse a variavel salario ?
    codigo :

    programa
    {

    inclua biblioteca Tipos –> t
    inclua biblioteca Matematica –> m
    funcao inicio()
    {
    escreva(” { EXERCICIO 042 – Cadastro de Funcionarios } “)
    escreva(“\n”)
    caracter r
    inteiro c = 1, homens = 0, mulheres = 0, supmu = 0, sho = 0, supho = 0
    real mediah, salario
    cadeia nome, sexo

    enquanto (verdadeiro) {
    escreva(“Nome: “)
    leia(nome)
    escreva(“Sexo [F/M]: “)
    leia(sexo)
    escreva(“Salario: R$”)
    leia(salario)

    escreva(“Quer continuar? “)
    leia(r)
    se (r == ‘n’ ou r == ‘N’) {
    pare
    }
    se (sexo == “m” ou sexo == “M”) {
    sho += salario
    homens++
    }
    se (sexo == “f” ou sexo == “F”) {
    mulheres++
    }
    se (sexo == “f” ou sexo == “F” e salario >= 1000) {
    supmu++
    }
    se (sexo == “m” ou sexo == “M” e c == 1) {
    supho = salario
    }
    se (sexo == “m” ou sexo == “M” e supho < salario) {
    supho = salario
    }
    c++
    }
    mediah = t.inteiro_para_real(sho) / homens

    escreva(“\n========= RESULTADOS =========”)
    escreva(“\nTotal de pessoas cadastradas: “, c)
    escreva(“\nTotal de Homens: “, homens)
    escreva(“\nTotal de Mulheres: “, mulheres)
    escreva(“\nMédia salarial dos Homens: “, m.arredondar(mediah, 2))
    escreva(“\nTotal de Mulheres que ganham mais de Mil Reais: “, supmu)
    escreva(“\nMaior salario entre os homens: “, supho)

    }
    }

    em resposta a: Dúvida Exercício 40 (Repetições) #125766
    Filipe Mamud Oliveira
    Participante

    Muito Obrigado Jéssica

    em resposta a: Dúvida Exercício 40 (Repetições) #125722
    Filipe Mamud Oliveira
    Participante

    Ola novamente Jéssica,

    Eu fiz o exercicio e ele não carece de logica além de os resultados serem exatos, porém meu codigo foi diferente dos demais. Vou coloca-lo aqui e se você tiver algum conselho por favor me diga :

    programa
    {

    funcao inicio()
    {
    escreva(” { EXERCICIO 40 – Calculadora } “)
    inteiro op1, op2, n

    escreva(“\n”)
    escreva(“Operando 1: “)
    leia(op1)
    escreva(“Operando 2: “)
    leia(op2)
    escreva(“\n===== ESCOLHA UMA OPERACÃO =====”)
    escreva(“\n[1] \tAdição”)
    escreva(“\n[2] \tSubtração”)
    escreva(“\n[3] \tMultiplicação”)
    escreva(“\n[4] \tEntrar com novos dados”)
    escreva(“\n[5] \tSair”)
    escreva(“\n>>>>> Sua Opção: “)
    leia(n)

    enquanto (n!=5) {

    se (n == 1 ) {
    escreva(“Calculando: “, op1, ” + “, op2, ” = “, (op1 + op2), “\n”)
    }
    se (n == 2 ) {
    escreva(“Calculando: “, op1, ” – “, op2, ” = “, (op1 – op2), “\n”)
    }
    se (n == 3 ) {
    escreva(“Calculando: “, op1, ” * “, op2, ” = “, (op1 * op2), “\n”)
    }
    se (n == 4 ) {
    escreva(“\n”)
    escreva(“Operando 1: “)
    leia(op1)
    escreva(“Operando 2: “)
    leia(op2)
    }
    se (n > 5) {
    escreva(“===== Opção Invalida =====\n”)
    }
    escreva(“\n===== ESCOLHA UMA OPERACÃO =====”)
    escreva(“\n[1] \tAdição”)
    escreva(“\n[2] \tSubtração”)
    escreva(“\n[3] \tMultiplicação”)
    escreva(“\n[4] \tEntrar com novos dados”)
    escreva(“\n[5] \tSair”)
    escreva(“\n>>>>> Sua Opção: “)
    leia(n)

    }
    escreva(“\n===== SAINDO =====”)
    escreva(“\n===== VOLTE SEMPRE =====”)
    }
    }

    em resposta a: Exercício 39 Lendo dados #125720
    Filipe Mamud Oliveira
    Participante

    Ola Jéssica,
    Espero que o teu dia esteja indo bem, eu consegui realizar o exercicio, porém um pequeno detalhe escapou do meu codigo e não consigo sanar ele sem fazer “gambiarra” e gostaria da tua ajuda, a execução do meu programa mostra nas respostas os valores digitados porém inclue o valor do flag, ou seja se você digitar 5 valores e o sexto for o flag ele mostra que foram 6 valores digitados. Você poderia me esclarecer por favor?

    programa
    {

    inclua biblioteca Matematica –> m
    inclua biblioteca Tipos –> t
    funcao inicio()
    {
    inteiro v = 0, c = 1, soma = 0, maior = 0
    real media
    escreva(” { EXERCICIO 039 – Lendo Dados } “)
    escreva(“\n”)
    enquanto (v != 9999) {
    escreva(“————————\n”)
    escreva(c, “° VALOR [9999 faz parar]”)
    escreva(“\n————————\n”)
    escreva(“NUMERO: “)
    leia(v)
    se (v != 9999) {
    soma += v
    c++
    }
    se (v> maior e v != 9999) {
    maior = v
    }

    media = t.inteiro_para_real(soma) / c
    escreva(“=========== FLAG DIGITADO ===========\n”)
    escreva(“Ao todo você digitou “,c, ” valores\n”)
    escreva(“A soma entre eles é “, soma, “\n”)
    escreva(“A média entre eles é “, m.arredondar(media, 2), “\n”)
    escreva(“O maior valor digitado foi: “, maior, “\n”)
    }
    }

    em resposta a: Exercício 38 analise #125672
    Filipe Mamud Oliveira
    Participante

    Olà Jéssica,
    Muito obrigado pela dica, fiz a correção e deu tudo certinho, muito obrigado mesmo.

    em resposta a: Exercício 38 analise #125607
    Filipe Mamud Oliveira
    Participante

    Ola Jéssica,
    Eu verifiquei meu codigo e talvez por falta de atenção estou deixando um erro passar em algum lugar que minha caixa alta não esta funcionando sempre na saida dos valores no final, sempre uma frase não mostra a pessoa mais nova, as vezes no homem, as vezes na mulher, mas sempre que uso o valor “sexo” com minuscula para forçar o caixa_alta, você poderia me ajudar a identificar por favor?
    codigo :

    programa
    {

    inclua biblioteca Texto –> t
    funcao inicio()
    {
    escreva(” { EXERCICIO 038 – Analisando pessoas } “)
    inteiro c = 1, idade, novo = 0, velho = 0, nova = 0, velha = 0
    cadeia nome, novon = “”, novan = “”, velhon = “”, velhan = “”, sexo

    enquanto (c <= 5) {
    escreva(“\n———————–\n”)
    escreva(c, “a PESSOA.\n”)
    escreva(“———————–\n”)
    escreva(“NOME: “)
    leia(nome)
    escreva(“SEXO: “)
    leia(sexo)
    escreva(“IDADE: “)
    leia(idade)
    se ( c == 1 e t.caixa_alta(sexo) == “M”) {
    novo = idade
    velho = idade
    novon = nome
    velhon = nome
    } se (c == 1 e t.caixa_alta(sexo) == “F”) {
    nova = idade
    velha = idade
    novan = nome
    velhan = nome
    }
    senao {
    se (idade < novo e t.caixa_alta(sexo)== “M”) {
    novo = idade
    novon = nome
    }
    se (idade < nova e t.caixa_alta(sexo)== “F”) {
    nova = idade
    novan = nome
    }
    se (idade > velho e t.caixa_alta(sexo) == “M”) {
    velho = idade
    velhon = nome
    }
    se (idade > velha e t.caixa_alta(sexo) == “F”) {
    velha = idade
    velhan = nome
    }
    }
    c++
    }
    escreva(“\n=======================================================\n”)
    escreva(“\nA mulher mais jovem é “, novan, ” com “, nova, ” anos.”)
    escreva(“\nA mulher mais velha é “, velhan, ” com “, velha, ” anos.”)
    escreva(“\nO homem mais jovem é “, novon, ” com “, novo, ” anos.”)
    escreva(“\nO homem mais velho é “, velhon, ” com “, velho, ” anos.”)
    escreva(“\n=======================================================\n”)
    }
    }

    em resposta a: Exercício 010 – Módulo 001 – Não Fume. #123679
    Filipe Mamud Oliveira
    Participante

    Então Jessica, mesmo depois de ler pela segunda vez os posts aqui, eu não identifiquei resposta a minha questão.

    O resultado do meu programa da 101.0 e o do Guanabara assim como o do rodinei é de 101.39

    Eu não estou procurando o arredondamento como ele, eu estou procuranso saber por que minha formula que parece ser boa e correta esta indicando as casas deciamis apos a virgula de maneira diferente dos outros?

    Eu quero evitar que o programa rode mas sem a logica correta como o professor explicou em outro video.

    em resposta a: M01A08 – Exercício 003 #123678
    Filipe Mamud Oliveira
    Participante

    Ola Jessica,
    Espero que você esteja passando um bom dia.
    Se você for ver no codigo que eu enviei eu usei a função na variavel DIVISÃO REAL porém ela não foi levada em conta pelo programa.

    O programa simplesmente dividiu de forma real mas sem apresentar o 0.5 ou seja apresentando o .0

    em resposta a: Exercício 010 – Módulo 001 – Não Fume. #123669
    Filipe Mamud Oliveira
    Participante

    Ola moderadores,
    estou a algumas horas buscando no forum de Programação basica a solução para o meu problema e gostaria de sugerir uma opção de busca dentro de uma categoria. Eu digo isso pois o sistema de busca funciona fora da categoria “Programação basica” mas uma vez ao interior desta categoria, ja não temos mais o sistema de busca então ficamos vagando por tempo ilimitado buscando saber se não vamos repetir uma questão com uma postagem que seja repetida.

    Porém aqui vai minha questão.
    No exercicio 010 do modulo um a minha linha de codigo da um resultado proimo ao do professor porém o resultado não é exatamente o mesmo, no resultado que ele obtem quanto à estimativa de tempo perdido quanto ao uso do cigarro o resultado de seu codigo da : 101.39 porém o meu da 101.0

    {

    funcao inicio()
    {
    const inteiro ANOSDIA = 365, DIA = 1440, CIG = 10
    inteiro anos, cigdia, cigtotal
    real vidadias
    escreva(“{EXERCICIO 10 – Não fume}”)
    escreva(“\n”)
    escreva(“Cada cigarro reduz 10 minutos da sua vida”)
    escreva(“\n”)
    escreva(“————————————————-“)
    escreva(“\n”)
    escreva(“Hà quantos anos você fuma? “)
    leia(anos)
    escreva(“Quantos cigarros por dia você fuma? “)
    leia(cigdia)
    escreva(“\n”)
    escreva(“————————————————-“)
    escreva(“\n”)
    cigtotal = cigdia*anos*ANOSDIA
    vidadias = (cigtotal*CIG)/DIA

    escreva(“\n”)
    escreva(“Ao todo você ja fumou “, cigtotal)
    escreva(“\n”)
    escreva(“Estima-se que você ja perdeu “, vidadias, ” dias de vida!”)
    escreva(“\n”)
    }
    }

    em resposta a: M01A08 – Exercício 003 #123662
    Filipe Mamud Oliveira
    Participante

    programa
    {
    inclua biblioteca Tipos –> t
    funcao inicio()
    {
    inteiro n1, n2
    escreva(“{ EXCERCICIO 004 – Operações Aritméticas }”)
    escreva(“\nDigite um valor: “)
    leia(n1)
    escreva(“\nDigite outro valor: “)
    leia(n2)

    escreva(“\n———– RESULTADOS ———–“)
    escreva(“\nSOMA = “+ (n1+n2))
    escreva(“\nDIFERENCA = “+ (n1-n2))
    escreva(“\nPRODUTO = “+ (n1*n2))
    escreva(“\nDIVISÃO INTEIRA = “+ (n1/n2))
    escreva(“\nDIVISÃO REAL = “+ t.inteiro_para_real(n1/n2))
    escreva(“\nRESTO DA DIVISÃO = “+ (n1%n2))

    }
    }

    porém o problema mesmo que eu encontrei é que meu portugol não têm a biblioteca Tipos

    em resposta a: M01A08 – Exercício 003 #123637
    Filipe Mamud Oliveira
    Participante

    Perdão é o exercicio 004 🙂

    em resposta a: M01A08 – Exercício 003 #123636
    Filipe Mamud Oliveira
    Participante

    Ola à todos;

    Estou fazendo o mesmo exercicio, 003 da aula 008 e estou com um problema:
    Meu portugol não tem a biblioteca tipo, ou seja não estou conseguindo introduzir o comando de inteiro para real 🙁
    Alguém poderia me socorrer por favor?

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