Respostas no Fórum
-
AutorPosts
-
Tutora Jessica
ModeradorOla Marcos, você pode conseguir sim porém vai precisar de mais pesquisas para que tudo se encaixe conforme as aulas do curso.
Tutora Jessica
ModeradorOlá Isabela,
Testei seu código e esta funcionando corretamente, porém ele não esta apresentando o resultado desejado, ele esta pegando informações apenas da pessoa mais velha e apresentando no final do código nos dois resultados pedidos (pessoa mais velha e pessoa mais nova).Erros como esse aparecem no portugol com frequência podendo ser algo da versão que esta usando, erros de inicialização de variável é só você iniciar a variável com algum valor em branco ou número, após isso o código roda normalmente, mas volto a dizer eu testei e não apresentou nenhum erro, estou usando a versão web do portugol studio.
No portugol quando você utiliza a vírgula ele automaticamente converte o valor da variável para uma string e concatena com o valor do texto e essa é a forma mais simples de dar tudo certo no seu código, quando você usa o sinal de + o portugol também concatena o texto com o valor da variável porém pode gerar um erro se a variável não for uma string ou número.
No final não da muita diferença quando falamos de portugol, porém as vezes pode acontecer de dar erro e é só substituir um pelo outro.
Aproveitando trouxe sua dúvida para uma ja existente no fórum do mesmo exercício e módulo que pode lhe ajudar, acima você encontra novas resoluções, dúvidas e explicações.
-
Esta resposta foi modificada 8 meses atrás por
Tutora Jessica.
-
Esta resposta foi modificada 8 meses atrás por
Tutora Jessica.
Tutora Jessica
ModeradorPor que usar um contador em vez de soma?
No caso do cálculo da quantidade de homens e mulheres acima do peso, foi usado um contador (
mef) em vez de soma porque a variável precisa ser incrementada apenas quando a condição específica for atendida (ou seja, quando o peso estiver acima do limite e o sexo for masculino ou feminino).Se fosse usada uma variável para soma, ela precisaria ser inicializada com 0 e, em seguida, incrementada em cada iteração do loop. Porém, como a condição para incrementar a variável é específica, é mais claro e eficiente usar um contador.
Por que inicializar o contador com 0 e não com 1?
A inicialização do contador com 0 é uma pratica comum. Isso porque, em muitos casos, o contador é usado para controlar o número de iterações de um loop, e o loop pode não ter iterações (ou seja, o contador pode permanecer em 0).
Inicializar o contador com 0 facilita a lógica do programa, pois acaba evitando a necessidade de tratar o caso em que o contador é 1 de forma especial.
No caso específico do seu programa, a inicialização do contador com 0 é ideal porque o programa precisa contar o número de homens e mulheres acima do peso, e o contador deve começar em 0 para refletir a ausência de pessoas acima do peso antes do início do loop.
Tutora Jessica
ModeradorSim, você pode usar senao se nesse caso, você pode testar da forma que preferir no seu código, não precisa ser exatamente feito como o do Professor Guanabara, ele só precisa estar da forma que pede o enunciado, esse código é seu ? Você quem fez a resolução dele? Quando for assim você pode tentar da forma que achar que fica melhor para seu entendimento e ver se deu certo na sua lógica.
Em vez de usarsenaoseguido dese, tambem é válido usarsenao separa verificar as condições adicionais, no caso desse código.Ficaria dessa forma :
funcao inicio() { inteiro n, c = 1, maior = 0, menor = 0 enquanto (c <= 4) { escreva("Digite um número: ") leia(n) se (c == 1) { maior = n menor = n } senao se (n < menor) { menor = n } senao se (n > maior) { maior = n } c = c + 1 } escreva("\nO maior valor foi ", maior) escreva("\nO menor valor foi ", menor) }Tutora Jessica
ModeradorOla Isabela, você conseguiu fazer os exercícios do modulo 2 sem dificuldade?
Compartilha conosco suas resoluções desses 3 videos que lhe enviei para analise, vou deixar uma explicação por escrito das 3 condições apresentadas para tentarmos sanar sua duvida quanto ao uso delas:
Se,SenaoeSenao Sesão estruturas de controle de fluxo usadas para tomar decisões baseadas em condições. Aqui está a diferença entre elas:Se
– É usada para executar um bloco de código se uma condição for verdadeira.
– Sintaxe:Se (condição) { ... }
– Exemplo:portugol inteiro x x = 5 Se (x > 10) { escreva("x é maior que 10") }Senao
– É usada em conjunto comSepara executar um bloco de código se a condição doSefor falsa.
– Sintaxe:Se (condição) { ... } Senao { ... }
– Exemplo:portugol inteiro x x = 5 Se (x > 10) { escreva("x é maior que 10") } Senao { escreva("x é menor ou igual a 10") }Senao Se
– É usada para verificar outra condição se a condição doSefor falsa.
– Sintaxe:Se (condição1) { ... } Senao Se (condição2) { ... }
– Exemplo:portugol inteiro x x = 5 Se (x > 10) { escreva("x é maior que 10") } Senao Se (x == 5) { escreva("x é igual a 5") } Senao { escreva("x é menor que 5") }Resumindo :
–
Seé usado para executar um bloco de código se uma condição for verdadeira.
–Senaoé usado para executar um bloco de código se a condição doSefor falsa.
–Senao Seé usado para verificar outra condição se a condição doSefor falsa.-
Esta resposta foi modificada 8 meses, 1 semana atrás por
Tutora Jessica.
Tutora Jessica
ModeradorOlá Isabela, vou deixar 3 links explicativos do uso do SE/SENAO e SENAO SE do módulo 2 do curso de programação básica :
O primeiro link é explicativo para condições simples :
https://www.estudonauta.com/licao/m02a03-condicoes-simples/
O segundo link é explicativo para condições compostas:
https://www.estudonauta.com/licao/m02a04-condicoes-compostas/
O terceiro link é explicativo para condições aninhadas que no caso é como esta sendo feito esse seu código:
https://www.estudonauta.com/licao/m02a05-condicoes-aninhadas/
Tutora Jessica
ModeradorOla Isabela, talvez eu não esteja entendo a sua duvida, pois o video que enviei de contagens o professor Guanabara ensina exatamente como funciona o contador , e na explicação por escrito eu enviei expliquei exatamente a diferença da soma e da variável, me explica melhor como você fez o seu código com passo a passo para que eu entenda melhor a sua duvida.. aguardo a sua resposta quanto as perguntas feitas sobre seu código na resposta acima .. alem dessas duas opções no video da resolução desse exercício o professor Guanabara também explica todo o passo a passo feito por ele, se você estiver com muita duvida mesmo com as devidas explicações, sugiro rever desde o inicio o curso de programação básica fazendo anotações físicas para ajudar no raciocínio lógico .
Vou deixar novamente aqui a explicação da diferença de soma e variável contador :
C = 1 não é a mesma coisa que C + 1.
c = 1 é uma atribuição de valor. Você está atribuindo o valor 1 à variável c. Após essa linha de código, o valor de c será 1.
Já c + 1 é uma expressão aritmética. Você está somando 1 ao valor atual de c. O resultado dessa expressão não muda o valor de c, mas sim retorna um novo valor que é a soma de c e 1.
Veja o exemplo:
c = 1 # atribuição de valor print(c) # imprime 1 c + 1 # expressão aritmética print(c) # ainda imprime 1, pois o valor de c não mudou c = c + 1 # agora sim, o valor de c muda print(c) # imprime 2Em resumo:
– c = 1 atribui um novo valor à variável c.
– c + 1 retorna um novo valor que é a soma de c e 1, sem alterar o valor de c.Tutora Jessica
ModeradorOla Isabela, nos dois links que enviei fazem essa explicação, da mesma forma que se incrementa um numero o mesmo acontece com o zero, isso facilita a leitura e compreensão do código.
Vou deixar mais um link do módulo 1 que vai te ajudar a compreender melhor caso não tenha visto ele :
https://www.estudonauta.com/licao/m01a09-operadores-de-atribuicao/Aguardo o retorno da sua resposta quanto as perguntas feitas na resposta anterior 🖖🏼
Tutora Jessica
ModeradorOlá Isabela, pode me explicar melhor algumas questões?
Como foi feita a resolução do seu código ? Qual foi sua dúvida durante a criação do mesmo? Por qual motivo você colocou essas funções no seu código?
Vou deixar para você o vídeo do professor Guanabara referente ao módulo 3 Aula 02 – Realizando Contagens, nele acredito que caso não tenha assistido você vai aprender didaticamente a forma que é usado o contador.
Segue o link : https://www.estudonauta.com/licao/m03a02-realizando-contagens/
Vou também deixar um segundo link onde você colocou sua dúvida e eu coloquei uma explicação por escrito de como funciona o contador no código:
Segue o segundo link : https://www.estudonauta.com/foruns/topic/exercicio-030-modulo-03-programacao-basica/#post-154801
Tutora Jessica
ModeradorOlá Isabela, nesse caso você esta pegando a média dos números ímpares e pares não a soma.
Tutora Jessica
ModeradorOlá Isabela, você assistiu o vídeo explicativo desse exercício? Inclusive no vídeo desse exercício logo no começo o professor Guanabara indica para que caso você não tenha entendido o processo desse código que seria interessante rever a aula novamente pois suas dúvidas estão vindo sem o devido entendimento do processo linha a linha do seu código.
Te sugiro então rever a aula desse exercício , tentar executar o código junto das explicações e assistir o vídeo da resolução desse exercício, se caso mesmo assim a dúvida permaneça peço para que retorne ao fórum que será um prazer em ajudar a sanar sua dúvida.Tutora Jessica
ModeradorOlá Isabela, você só substituiu o C de contador para NI, de qualquer forma ele esta sendo usado como contador no seu código.
Tutora Jessica
ModeradorOlá Raphael ,
Loop Principal (Montando o Triângulo):para (c1 = 1; c1 <= nAndar; c1++): Este loop externo percorre cada linha do triângulo, de 1 até o número de andares (nAndar).
Loop para Espaços:para(c2 = 1; c2 <= quantEsp; c2++ ): Este loop interno imprime espaços em branco antes dos asteriscos em cada linha.
quantEsp++: Incrementa a quantidade de espaços a cada linha, movendo os asteriscos para o centro.Loop para Asteriscos:para(c3 = 1; c3 <= quantEst; c3++): Este loop interno imprime os asteriscos em cada linha.
Ajustes e Quebra de Linha:quantEst -= 2: Decrementa a quantidade de asteriscos em 2 a cada linha, para que o triângulo vá diminuindo.
escreva(“\n”): Pula para a próxima linha após imprimir os espaços e asteriscos da linha atual.Consegui que entendesse melhor explicando cada passo a passo? Caso ainda fique com dúvidas retorne ao fórum que vamos tentar lhe ajudar novamente a sanar suas dúvidas.
Tutora Jessica
ModeradorOlá Raphael ,
O código inicializa uma variável booleanaacertoucom o valorfalso. Em seguida, ele entra em um loop que executa um bloco de código (atualmente vazio) pelo menos uma vez. O loop continua a ser executado enquanto a variável acertou permanecer falso. Dentro do bloco faca, você provavelmente colocaria um código que tenta “acertar” algo e, se tiver sucesso, define a variável acertou como verdadeiro para que o loop termine.enquanto (nao acertou): Após a primeira execução do bloco de código, a condição nao acertou é verificada.
nao é um operador lógico de negação (NOT).Portanto, nao acertou é verdadeiro se acertou for falso, e falso se acertou for verdadeiro.
O loop continuará a ser executado enquanto a condição nao acertou for verdadeiro. Quando acertou se tornar verdadeiro, a condição nao acertou será falso e o loop terminará.Tutora Jessica
ModeradorOlá Alexandre, me envie seu código completo.
No vídeo explicativo desse código o professor Guanabara explica exatamente como deve ser utilizado no formato PHP os pontos e divisões de valores quebrados ,no minuto 18:16.
Após ele cria um parágrafo dentro do formulário comn um código PHP, com minimo de casas decimais e separadores de milhar e milhão.-
Esta resposta foi modificada 8 meses, 1 semana atrás por
Tutora Jessica.
Tutora Jessica
ModeradorOlá Guilherme, peço para que quando for compartilhar sua dúvida coloque seu código completo para análise, para isso você cola seu código no campo do fórum, selecione o por completo e clique em
CODE, dessa forma consigo lhe ajudar melhor.Esse é um erro de banco de dados por atualização das versões, você pode fazer de duas formas , todos os campos que estiverem no SELECT e não estiverem utilizando funções (como COUNT, SUM, AVG, MAX, MIN, etc.) devem estar na cláusula GROUP BY.
No seu caso, você pode utilizar da seguinte forma:
select nome, min(totaulas) from cursos group by nome;Ou, você também pode tentar desabilitar o sql_mode, dessa forma:
mysql > SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));Isso afetará todas as consultas na sua sessão e é uma alteração temporária. O modo SQL será redefinido para seu estado original após você reiniciar o serviço MySQL.
Tutora Jessica
ModeradorOlá Emerson, nos envie mensagem na aba Ajuda.
28 de fevereiro de 2025 às 18:40 em resposta a: Exercício 030 – módulo 03 – programação básica #154595Tutora Jessica
ModeradorO contador é uma variável que armazena um valor numérico que é incrementado ou decrementado em cada iteração de um loop (laço de repetição). A função do contador é controlar o número de vezes que um bloco de código é executado.
As principais funções do contador são:
1. *Controlar o loop*: O contador é usado para controlar o número de iterações de um loop. Ele é incrementado ou decrementado em cada iteração, até que uma condição específica seja atingida.
2. *Armazenar o índice*: O contador pode ser usado como um índice para acessar elementos de uma lista ou array.
3. *Realizar contagens*: O contador pode ser usado para realizar contagens, como contar o número de vezes que um evento ocorre.
Exemplos de uso de contadores:
– Contar o número de vezes que um botão é clicado.
– Controlar o número de iterações de um loop para realizar uma tarefa repetitiva.
– Armazenar o índice de um elemento em uma lista.28 de fevereiro de 2025 às 18:38 em resposta a: Exercício 030 – módulo 03 – programação básica #154594Tutora Jessica
ModeradorO C é declarado com a função de ser um contador, sem ele você não conseguiria realizar essa função.
28 de fevereiro de 2025 às 10:32 em resposta a: Exercício 031 – módulo 03 – programação básica #154562Tutora Jessica
ModeradorOs colchetes
[]nesse código são usados para marcar os múltiplos do número informado pelo usuário.Quando o programa encontra um múltiplo do número
m, ele imprime o número dentro de colchetes, como[número]. Isso é feito para destacar os múltiplos do número informado.Por exemplo, se o usuário informar que a contagem regressiva deve começar em 10 e marcar os múltiplos de 2, o programa imprimirá:
10 – [8] – 6 – [4] – 2 – [0] – FIM!
Nesse exemplo, os números 8, 4 e 0 são múltiplos de 2 e são impressos dentro de colchetes.
programa { /* Ex031: Programa que leia o limite inicial de uma contagem regressiva e um número desejado para múltiplos. O programa deverá contar do primeiro valor até zero, maecando os números que forem múltiplos do segundo valor informado. Autor: Gustavo Guanabara Empresa: Estudonauta */ inclua biblioteca Util --> u funcao inicio() { // Entrada de Dados inteiro n, m escreva("Sua contagem regressiva vai começar em: ") leia(n) escreva("Marcar os múltiplos de: ") leia(m) // Contagem inteiro c = n enquanto (c >= 0) { se (c % m == 0) { escreva("[", c , "] - ") } senao { escreva(c, " - ") } c-- u.aguarde(400) } escreva("FIM!") } }28 de fevereiro de 2025 às 10:20 em resposta a: Exercício 031 – módulo 03 – programação básica #154561Tutora Jessica
ModeradorOlá Isabela, a explicação do uso das vírgulas e colchetes esta acima, quando você coloca com as virgulas e colchetes ele funciona normalmente? Você já olhou o video de resolução desse exercício ou ainda não?
28 de fevereiro de 2025 às 10:16 em resposta a: Exercício 029, módulo 3 – programação básica #154558Tutora Jessica
ModeradorOla Isabela, peço para que revise novamente as aulas passadas e quando encontrar um erro ou seu código não estiver completo, resolva primeiro o código que esta fazendo para depois passar para o próximo.
O código está com um erro lógico. O problema é que a variável
ninão está sendo atualizada dentro do laçoenquanto, então o loop se torna infinito e continua imprimindo o mesmo valor.Para corrigir isso, você precisa incrementar a variável
nidentro do laço, adicionando o incrementoincrea ela. Aqui está a correção:funcao inicio() { inteiro ni inteiro nf inteiro incre escreva("\nOnde começa a contagem? ") leia(ni) escreva("\nOnde termina a contagem? ") leia(nf) escreva("\nQual vai ser o incremento? ") leia(incre) enquanto(ni <= nf) { escreva(ni + " – ") ni = ni + incre // incrementa ni } }Com essa correção, o código deve funcionar corretamente, imprimindo a contagem com o incremento especificado.
27 de fevereiro de 2025 às 18:23 em resposta a: Exercício 031 – módulo 03 – programação básica #154528Tutora Jessica
ModeradorOlá Isabela,
As vírgulas dentro da funçãoescreva()são usadas para separar os argumentos que serão impressos. No caso específico,[,c,]e" – "são argumentos separados que serão impressos juntos.Isso é necessário porque a função
escreva()pode receber múltiplos argumentos, e as vírgulas são usadas para separá-los. Se você não usasse as vírgulas, o compilador não saberia como separar os argumentos corretamente.Porém nesse seu código você quer incluir a variável dentro do seu escreva e para isso você não precisa utilizar colchetes, e a vírgula é usada como separador .. devendo ficar dessa forma:
escreva (c , “-“)27 de fevereiro de 2025 às 18:13 em resposta a: Exercício 030 – módulo 03 – programação básica #154527Tutora Jessica
ModeradorOla Isabela eu posso explicar aqui de uma forma melhor que talvez você entenda, porém sugiro que revise as aulas anteriores desses exercícios prestando bastante a atenção nas explicações e nos detalhes que ocorrem no código.
A posição de cada complemento de um código é feito de uma forma lógica, você esta fazendo um código para uma maquina que precisa de muitas informações para processar exatamente o que você pede, os códigos dentro dos programas são lidos linha a linha e executa linha a linha.. caso a opção de c = c + 1 quer dizer que ele passa a receber o valor de 2 ja que acima ele foi dito como c = 1 , se esse valor fosse colocado antes do SE , ele iria valer 2 e o seu código nunca iria chegar na resposta que você gostaria que chegasse.
Ja nesse caso só da erro pois esta com dois parênteses:
escreva((c + 1, “-“)
Porém , C = 1 não é a mesma coisa que C + 1.
c = 1é uma atribuição de valor. Você está atribuindo o valor 1 à variávelc. Após essa linha de código, o valor decserá 1.Já
c + 1é uma expressão aritmética. Você está somando 1 ao valor atual dec. O resultado dessa expressão não muda o valor dec, mas sim retorna um novo valor que é a soma dece 1.Veja o exemplo:
`
c = 1 # atribuição de valor
print(c) # imprime 1c + 1 # expressão aritmética
print(c) # ainda imprime 1, pois o valor de c não mudouc = c + 1 # agora sim, o valor de c muda
print(c) # imprime 2
`Em resumo:
–
c = 1atribui um novo valor à variávelc.
–c + 1retorna um novo valor que é a soma dece 1, sem alterar o valor dec.27 de fevereiro de 2025 às 18:01 em resposta a: Exercício 029, módulo 3 – programação básica #154521Tutora Jessica
ModeradorQual erro aparece para você ?
Tutora Jessica
ModeradorApresenta algum erro? Quais os caracteres que não aparecem?
Tutora Jessica
ModeradorOla Witor, você esta usando os mesmos programas que são citados no curso ?
25 de fevereiro de 2025 às 18:03 em resposta a: Exercício 027, módulo 02 – programação básica #154453Tutora Jessica
ModeradorOla Isabela, os programas podem ter tido alguma atualização que exija o uso das aspas simples , se dá erro é por que o programa exige que tenha.
Então nesse caso você deve utiliza las.24 de fevereiro de 2025 às 18:00 em resposta a: Módulo 04, exercício 58, compartilhando a minha solução, espero ajudar. #154428Tutora Jessica
ModeradorOlá Vinicius,
Trouxe a sua dúvida para uma ja existente no fórum do mesmo módulo e exercício, nele nosso aluno Mateus compartilhou a versão dele com alguns comentários que acredito que possam ajudar na resolução do seu código, no fórum você também encontra mais resoluções e explicações desse exercício.
Se caso mesmo assim você tiver dificuldade para resolver é só retornar ao fórum que vamostentar te ajudar da melhor forma.Tutora Jessica
ModeradorOlá Ruan, seu código esta funcionando perfeitamente, o que ocorre é que você esta somando a quantidade de homens e mulheres cadastrados e não a quantidade de homens ou mulheres acima do peso. Por isso ele aparece corretamente nessa parte do código:
O total de pessoas acima do peso é de 1
Porém nessa segunda parte ele esta totalizando a quantidade de pessoas cadastradas (1 homem e 1 mulher):
E dessa pessoas, 1 é(são) homem(s), e 1 é(são) mulher(es)
Nos exemplos acima você encontra algumas explicações e exercícios que podem te ajudar com a resolução dessa parte do código que acredito que após esse feedback você vai conseguir concluir ele, mas caso tenha dificuldade nessa parte retorne ao fórum que vou te ajudar nessa resolução.
-
Esta resposta foi modificada 8 meses atrás por
-
AutorPosts