Respostas no Fórum
- 
		AutorPosts
- 
		
			
				
Isabela Ferreira de Miranda ParticipanteGostaria de saber se o curso inclui Programação Orientada a Objetos (POO) com Python. 
 Caso não aborde esse conteúdo com Python, vocês recomendam que eu estude POO usando Java ou PHP para entender melhor esse conceito?
 Ainda estou no início dos estudos, então agradeço muito se puderem me orientar da melhor forma.Muito obrigada! Isabela Ferreira de Miranda ParticipanteOiii mas qual curso específico daqui do estudonauta? Isabela Ferreira de Miranda ParticipanteBoa tarde! Meu exercício 64 está rodando direitinho, mas queria saber se a forma que fiz está correta, já que fiz diferente do Guanabara. Poderia dar uma olhada? inclua biblioteca Util –> u 
 funcao inicio()
 {
 inteiro valor[4][4]
 //gerar a matriz
 para (inteiro l = 0; l < u.numero_linhas(valor); l ++) {
 para (inteiro c = 0; c < u.numero_colunas(valor); c ++) {
 valor[l][c] = u.sorteia(1, 10)
 }
 }
 //mostrar a matriz
 escreva(“Sorteando valores para a Matriz 4×4 \n”)
 para (inteiro l = 0; l < u.numero_linhas(valor); l ++) {
 para (inteiro c = 0; c < u.numero_colunas(valor); c ++) {
 escreva(valor[l][c] + “\t”)
 }
 escreva(“\n”)
 }
 escreva(“————————————\n”)
 //mostrar a primeira linha da matriz
 escreva(“Somando a linha 0: “)
 inteiro soma1l = 0
 para (inteiro c = 0; c < u.numero_colunas(valor); c ++) {
 escreva(valor[0][c] + ” “)
 se (c != u.numero_colunas(valor) – 1) {
 escreva(“+ “)
 }
 soma1l = soma1l + valor[0][c]
 }
 escreva(“= ” + soma1l)// mostrar a segunda linha da matriz 
 escreva(“\nSomando a linha 1: “)
 inteiro soma2l = 0
 para (inteiro c = 0; c < u.numero_colunas(valor); c ++) {
 escreva(valor[1][c] + ” “)
 se (c != u.numero_colunas(valor) – 1) {
 escreva(“+ “)
 }
 soma2l = soma2l + valor[1][c]
 }
 escreva(“= ” + soma2l)// mostrar a terceira linha da matriz 
 escreva(“\nSomando a linha 2: “)
 inteiro soma3l = 0
 para (inteiro c = 0; c < u.numero_colunas(valor); c ++) {
 escreva(valor[2][c] + ” “)
 se (c != u.numero_colunas(valor) – 1) {
 escreva(“+ “)
 }
 soma3l = soma3l + valor[2][c]
 }
 escreva(“= ” + soma3l)//mostrar a quarta linha da matriz 
 escreva(“\nSomando a linha 3: “)
 inteiro soma4l = 0
 para (inteiro c = 0; c < u.numero_colunas(valor); c ++) {
 escreva(valor[3][c] + ” “)
 se (c != u.numero_colunas(valor) – 1) {
 escreva(“+ “)
 }
 soma4l = soma4l + valor[3][c]
 }
 escreva(“= ” + soma4l)
 escreva(“\n————————————“)
 escreva(“\n”)} 
 }
 `Isabela Ferreira de Miranda ParticipanteSó um trecho sublinhado em amarelo, como falei acima. 24 de março de 2025 às 17:29 em resposta a: Exercicio – 54 estrutura de repetição validadando dados. #155666Isabela Ferreira de Miranda ParticipanteBoa tarde! Gostaria apenas de saber se eu consegui seguir a lógica correta desse exercício. Está um pouquinho diferente da resolução do Guanabara. inclua biblioteca Texto –> txt 
 inclua biblioteca Tipos –> ti
 funcao inicio()
 {
 //variáveis
 cadeia nome = ” “, novo = ” “, velho = ” “, teclado = ” ”
 caracter resp = ‘ ‘
 inteiro idade
 = 0, c = 0, maior = 0, menor = 0
 //menu
 faca {
 escreva(“\n—————————–“)
 escreva(“\n PESSOA “, (c + 1))
 escreva(“\n—————————–“)
 enquanto (verdadeiro) {
 escreva(“\nNOME = “)
 leia(nome)
 se (txt.numero_caracteres(nome) >= 3) {
 pare
 } senao {
 escreva(“\n<<ERRO>> O nome deve ter pelo menos 3 letras.”)
 }}//fim do enquanto verdadeiro 
 enquanto (verdadeiro) {
 escreva(“\nIDADE = “)
 leia(teclado)
 se (ti.cadeia_e_inteiro(teclado, 10)) {
 idade = ti.cadeia_para_inteiro(teclado, 10)se (idade >= 0 e idade <= 130) { 
 pare
 } senao {
 escreva(“\n<<ERRO>> Idade inválida”)
 }
 } senao {
 escreva(“\n<<ERRO>> A idade deve ser um número inteiro.”)
 }
 }
 se (c == 0) {
 maior = idade
 menor = idade
 velho = nome
 novo = nome
 } senao {
 se (idade > maior) {
 maior = idade
 velho = nome
 } senao {
 menor = idade
 novo = nome
 }
 }
 enquanto (verdadeiro) {
 escreva(“\nQuer continuar? [S/N] “)
 leia(teclado)
 se (ti.cadeia_e_caracter(teclado)) {
 resp = ti.cadeia_para_caracter(teclado)
 se (resp == ‘S’ ou resp == ‘s’ ou resp == ‘N’ ou resp == ‘n’) {
 pare
 } senao {
 escreva(“\n<<ERRO>> Digite apenas S ou N.”)
 }
 } senao {
 escreva(“\n<<ERROO>> O valor deve ser apenas uma letra.”)
 }
 }
 c ++
 } enquanto (resp == ‘S’ ou resp == ‘s’)escreva(“\n================================”) 
 escreva(“\nVocê cadastrou “, c, ” pessoas.”)
 escreva(“\n”, novo, ” é a pessoa mais nova, com “, menor, ” anos.”)
 escreva(“\n”, velho, ” é a pessoa mais velha, com “, maior, ” anos.”)
 escreva(“\n================================”)
 }
 }
 `Isabela Ferreira de Miranda ParticipanteBoa tarde! Meu código tem dado erro. Pode me ajudar a descobrir qual é o erro? 
 Quando ao ler um número eu digito algo diferente de um número inteiro apenas pede pra digitar um número, nao aparece a mensagem de erro e não sei porque.
 Tentei seguir o código do Guanabara.`
 faca {
 enquanto (verdadeiro) {
 escreva(“Digite o “, (c + 1), ” º número: “)
 leia(teclado)
 se (t.cadeia_e_inteiro(teclado, 10)) {
 num = t.cadeia_para_inteiro(teclado, 10)
 se (num >= 1 e num <= 10) {
 pare
 } senao {
 escreva(“<<ERRO>> O número deve estar entre 1 e 10”)
 }
 senao {
 escreva(“<<ERRO>> O valor deve ser um número inteiro”)
 }
 }
 }
 c = c + 1
 soma = soma + num
 escreva(“Você quer continuar? [S/N] “)
 leia(resp)
 } enquanto (resp == ‘S’ ou resp == ‘s’)escreva(“\n———————————-“) 
 escreva(“\nVocê digitou “, c, ” valores.”)
 escreva(“\nA soma entre eles é “, soma)
 escreva(“\n———————————-\n”)
 }
 }Isabela Ferreira de Miranda ParticipanteBoa tarde! Estou com dúvida nesse exercício. 
 Gostaria de saber por que o contador de espaços começa com 1 porque no primeiro andar não há espaço, logo, não deveria já ser 0?
 Queria saber também por que “escreva(“\n”)” não pode ser usado no asterisco.`funcao inicio() 
 { inteiro qand
 escreva(“Quandos andares o triângulo vai ter? “)
 leia(qand)
 inteiro cand
 inteiro cesp
 inteiro qesp = 0
 inteiro cest
 inteiro qest = (2 * qand) – 1
 para (cand = 1; cand <= qand; cand ++) {
 para (cesp = 1; cesp <= qesp; cesp ++) {
 escreva(” “)
 }
 qesp = qesp + 1
 para (cest = 1; cest <= qest; cest ++) {
 escreva(“*”)
 }
 escreva(“\n”)
 qest = qest – 2
 }} 
 }Isabela Ferreira de Miranda Participantefuncao inicio() 
 {
 inteiro num, c, totdiv = 0
 escreva(“Digite um número: “)
 leia(num)
 para (c = 1; c <= num; c++) {
 se (num % c == 0) {
 escreva(“[“, c,”]”, ” “)
 totdiv = totdiv + 1`
 } senao {
 escreva(c, ” “)
 }
 }//fim do para
 escreva(“\nO número “, num, ” foi divisível “, totdiv, ” vezes.”)
 se (totdiv <= 2) {
 escreva(“\nEntão o número “, num, ” É PRIMO!”)
 } senao {
 escreva(“\nLogo, o número “, num, ” NÃO É PRIMO!”)
 }} 
 }Isabela Ferreira de Miranda ParticipanteOiii eu refiz mas por algum motivo está indo até a chance 4 de 5 e em seguida encerra :(( 
 Não sei qual seria o erro…
 inclua biblioteca Util –> u
 funcao inicio()
 {
 inteiro palpite = 0, chance = 1, total = 5
 inteiro pensou = u.sorteia(1, 10)
 escreva(“\n——————————————“)
 escreva(“\nVou pensar num número entre 1 e 10”)
 escreva(“\nVocê tem “, total, ” chances para tentar adivinhar”)
 escreva(“\n——————————————“)
 faca {
 escreva(“\nChance “, chance, ” de “, total)
 escreva(“\nQual é o seu palpite? “)
 leia(palpite)
 u.aguarde(1000)
 chance = chance + 1
 se (palpite == pensou) {
 escreva(“PARABÉNS! Você acertou o número em “, chance, ” tentativas!”)
 escreva(“\n========== FIM DO JOGO ==========”)
 pare} senao { 
 se (palpite < pensou e chance != total) {
 escreva(“INFELIZMENTE ainda não foi dessa vez…”)
 escreva(“\nMas vou te dar outra chance…”)
 escreva(“\nChute um valor MAIOR”)} se (palpite > pensou e chance != total) { 
 escreva(“INFELIZMENTE ainda não foi dessa vez…”)
 escreva(“\nMas vou te dar outra chance…”)
 escreva(“\nChute um valor MENOR”)} se (palpite != pensou e chance == total) { 
 escreva(“\nINFELIZMENTE ainda não foi dessa vez…”)
 escreva(“\nSuas chances ACABARAM! :(“)
 escreva(“\n========== FIM DO JOGO ==========”)
 }
 }} 
 enquanto (chance <= total)
 }
 }Isabela Ferreira de Miranda ParticipanteNão aparece. Obrigada! Isabela Ferreira de Miranda ParticipanteBoa tarde! Tenho uma dúvida nessa questão. Ao colocar o “total = total + 1” ali ao final do código o total fica errado, mas ao colocar antes, como logo antes da pergunta se deseja continuar fica correto e eu queria entender o porquê disso. 
 funcao inicio()
 {
 cadeia nome
 caracter sexo
 caracter resp
 real salario = 0.0, total = 0.0, totalM = 0.0, totalF = 0.0, mediasalM = 0.0, maiorsalM = 0.0, totalF1000 = 0.0
 inteiro maiorM = 0, menorM = 0
 real somasM = 0.0, somasF = 0.0enquanto (verdadeiro) { 
 escreva(“\nNOME: “)
 leia(nome)
 escreva(“SEXO [M/F]: “)
 leia(sexo)
 escreva(“SALÁRIO: R$ “)
 leia(salario)
 se (sexo == ‘M’ ou sexo == ‘m’) {
 totalM = totalM + 1//homens
 somasM = somasM + salario
 se (totalM == 1) {
 maiorM = salario
 menorM = salario
 } senao {
 se (salario > maiorM) {
 maiorM = salario
 }
 }
 }
 se (sexo == ‘F’ ou sexo == ‘f’) {
 se (salario > 1000) {
 totalF1000 = totalF1000 + 1} 
 totalF = totalF + 1//mulheres
 somasF = somasF + salario
 }escreva(“Quer continuar? [S/N] “)//pergunta se quer prosseguir 
 leia(resp)
 escreva(“—————————-“)se (resp == ‘N’ ou resp == ‘n’) { 
 pare
 }total = total+ 1//total de funcionário ———-> ao colocar nessa posição o numero de funcionários fica com um a menos 
 }escreva(“\n========== RESULTADOS ==========”) 
 escreva(“\nTotal de Funcionários: “, total)
 escreva(“\nTotal de Homens: “, totalM)
 escreva(“\nTotal de Mulheres: “, totalF)
 escreva(“\nA média salarial dos Homens é “, (somasM/totalM))
 escreva(“\nTemos ” + totalF1000 + ” mulheres ganhando mais de R$1000.”)
 escreva(“\nO maior salário entre os Homens é de R$”, maiorM)} Isabela Ferreira de Miranda ParticipanteConsegui descobrir onde estava o erro. Haviam 2. Obrigada! Isabela Ferreira de Miranda ParticipanteVocê não consegue me ajudar? Eu refiz o código e continua dando o mesmo erro, não estou conseguindo encontrar o erro sozinha Isabela Ferreira de Miranda ParticipanteEu olhei todos os fechamentos e aberturas de parênteses e chaves e ainda não encontrei mesmo Isabela Ferreira de Miranda ParticipanteQue erro de lógica? Isabela Ferreira de Miranda ParticipanteEle tá correto :((” não sei mesmo qual é o erro Isabela Ferreira de Miranda ParticipanteAqui: 
 inclua biblioteca Matematica –> m
 inclua biblioteca Tipos –> t
 funcao inicio()
 { cadeia nome = ” “, jovem = ” “, velho = ” ”
 inteiro idade = 0, total = 0, soma = 0, maior = 0, menor = 0
 real media = 0.0
 enquanto (verdadeiro) {//repetindo sem parar
 escreva(“———– NOVO AMIGO ———–“)
 escreva(“\nOBS: Digite ACABOU no nome para parar”)
 escreva(“\nNOME: “)
 leia(nome)
 se (nome == “ACABOU” ou nome == “acabou”) {
 pare//fim da repetição foi posta após a flag
 }
 escreva(“IDADE: “)
 leia(idade)
 total = total + 1// total do número de pessoas digitadas
 soma = soma + idade//soma das idades!!!!!!!se (total == 1) { 
 maior = idade
 menor = idade
 velho = nome
 jovem = nome
 } senao {
 se (idade > maior) {
 maior = idade
 velho = nome
 } se (idade < menor) {
 menor = idade
 jovem = nome
 }
 }
 }
 media = t.inteiro_para_real(soma) / t.inteiro_para_real(total)
 escreva(“\n********** INTERROMPIDO **********”)
 escreva(“\n========== RESULTADOS ==========”)
 escreva(“\nTotal de amigos: “, total)
 escreva(“\nSoma das idades: “, soma)
 escreva(“\nA média das idades é “, m.arredondar(media, 2))
 escreva(“\nSeu amigo mais jovem é “, jovem, ” com “, menor, ” anos.”)
 escreva(“\nSeu amigo mais velho é “, velho, ” com “, maior, ” anos.”)
 escreva(“\n——————————————————–“)} 
 }`Isabela Ferreira de Miranda ParticipanteAparece essa mensagem: linha 63 : a expressão não foi finalizada corretamente. Insira o caracter ‘(‘ para corrigir o problema. Não faz sentido para mim :((( não encontro o erro.` 
 funcao inicio()
 {
 cadeia nome
 caracter sexo
 caracter resp
 real salario = 0.0, total = 0.0, totalM = 0.0, totalF = 0.0, mediasalM = 0.0, maiorsalM = 0.0, totalF1000 = 0.0
 inteiro maiorM = 0, menorM = 0
 real somasM = 0.0enquanto (verdadeiro) { 
 escreva(“\nNOME: “)
 leia(nome)
 escreva(“SEXO [M/F]: “)
 leia(sexo)
 escreva(“SALÁRIO: R$ “)
 leia(salario)
 total = total+ 1//total de funcionário //
 se (sexo == ‘M’ ou sexo == ‘m’) {
 totalM = totalM + 1//homens
 somasM = somasM + salario
 se (totalM == 1) {
 maiorM = salario
 menorM = salario
 } senao {
 se (salario > maiorM) {
 maiorM = salario
 }
 }
 }
 se (sexo == ‘F’ ou sexo == ‘f’) {
 se (salario > 1000) {
 totalF1000 = totalF1000 + 1} 
 totalF = totalF + 1//mulheres
 somasF = somasF + salario
 }escreva(“Quer continuar? [S/N] “) 
 leia(resp)
 escreva(“—————————-“)se (resp == ‘N’ ou resp == ‘n’) { 
 pare
 }} escreva(“\n========== RESULTADOS ==========”) 
 escreva(“\nTotal de Funcionários: “, total)
 escreva(“\nTotal de Homens: “, totalM)
 escreva(“\nTotal de Mulheres: “, totalF)
 escreva(“\nA média salarial dos Homens é “, (somasM/totalM)
 escreva(“\nTemos ” + totalF1000 + ” mulheres ganhando mais de R$1000.”)
 escreva(“\nO maior salário entre os Homens é de R$”, maiorM)} } Isabela Ferreira de Miranda ParticipanteOi, boa tarde! Obrigada pela explicação. Vi disse que quando num é igual a 0, é o primeiro número digitado, mas o Guanabara esteve usando o contador igualado a 1 nos exercícios anterio para quando fosse o primeiro número… Isabela Ferreira de Miranda ParticipanteBoa tarde! Acho que você não entendeu a minha dúvida ou talvez não expliquei direito. 
 Refiz o código e ainda não entendi o motivo, pois em minha mente por considerar o número como sendo o primeiro o contador seria igualado a 1.
 Isso me confunde… já revi as aulas, mas me confundo em alguns casos para saber se igualamos o contador a zero ou a 1.
 Nesse código eu queria entender o porque de ser (num == 0) e não (num == 1).
 Foi igualado a zero por ser o primeiro número não é? mas não deveria ser igualado a 1 esse contador?
 Queria entender também o motivo de lá embaixo termos usado a condição aninhada se. Podemos usar um se dentro do se? (marquei com —- ali no código para ficar fácil de visualizar) e senao se não seria apenas em casos de acima de 1 condições?inclua biblioteca Tipos –> t 
 inclua biblioteca Matematica –> m
 funcao inicio()
 {
 inteiro num = 0, total = 0, soma = 0, maior = 0
 real media = 0.0
 inteiro c = 1
 escreva(“\n—————————————-“)
 enquanto (num != 9999) {// flag
 escreva(“\n”, c, ” º VALOR [Digite 9999 para encerrar] “)
 escreva(“\n—————————————-“)
 escreva(“\nNÚMERO: “)
 leia(num)
 escreva(“\n—————————————-“)
 se (num != 9999) {
 total = total + 1
 soma = soma + num
 se (num == 0) { ————————————————————–> se dentro de outro se
 maior = num
 } senao {
 se (num > maior) { ——————————————–> por que aqui usamos senao se se
 nos casos onde temos mais de 2 condições?
 maior = num
 }
 }
 }Isabela Ferreira de Miranda ParticipanteQual a diferença de usar + e ,? Isabela Ferreira de Miranda ParticipanteBoa tarde! Estou tentando resolver o exercício 037 e não encontro o erro. Tem dado 2 erros: (erro de compilação e existem trechos onde a variavel nome pode nao ter sido inicializada). Não estou conseguindo resolver. Pode me ajudar? também queria saber se minha resolução está correta, se possível. funcao inicio() 
 {
 //variáveis
 cadeia nome
 inteiro idade
 inteiro c = 1
 inteiro maior = 0
 inteiro menor = 0
 //entrada e saída de dados
 escreva(“———————–“)
 enquanto (c <= 5) { //contador
 escreva(“\n”, c, ” ª PESSOA”)//quantas vezes vai repetir
 escreva(“\n———————–“)
 escreva(“\nNOME: “)
 leia(nome)
 escreva(“IDADE: “)
 leia(idade)
 se (c == 1) {
 maior = idade
 menor = idade
 } senao {
 se (idade < menor) {
 menor = idade
 } senao {
 maior = idade
 }
 }
 c= c + 1
 }
 escreva(“\n=========================================”)
 escreva(“\nA pessoa mais jovem é “, nome, ” com “, idade)
 escreva(“\nA pessoa mais velha é “, nome, ” com “, idade)
 escreva(“\n=========================================”)
 }} Isabela Ferreira de Miranda ParticipanteEntendi, mas nesse exercício que mandei então não seria senao, na ultima condição? por que tem o se, logo depois o senao, e dentro dele há dois se… o último não seria senao? me explique isso, por favor? Isabela Ferreira de Miranda ParticipanteObrigada, mas todas essas aulas eu assisti e revisei, porém não entendi por que no último se nao foi usado um senao, que é usado em condições aninhadas… Isabela Ferreira de Miranda ParticipanteEu assisti, porém ainda não entendi o motivo de ter usado um contador e não uma soma 🙁 Isabela Ferreira de Miranda ParticipanteBoa noite! Então, não entendi por que foi usado um contador igualado a zero para calcular o total de homens e mulheres acima do peso e não a soma. Isabela Ferreira de Miranda ParticipanteMas acho que consegui fazer sem o c… poderia olhar s também esta certo? funcao inicio() 
 {
 inteiro num
 inteiro ni = 1
 inteiro mul
 escreva(“\nQuer contar até quanto? “)
 leia(num) // ultimo numero
 enquanto (ni <= num) { // 1 <= num
 se (ni % 4 != 0) {
 escreva(ni, ” – “)
 } senao {
 escreva(“PIN! – “)
 }
 ni = ni + 1
 }
 escreva(“FIM!!!”)
 }
 }28 de fevereiro de 2025 às 16:35 em resposta a: Exercício 030 – módulo 03 – programação básica #154584Isabela Ferreira de Miranda ParticipanteMas por que devo declarar esse c? seria possível fazer esse exercício sem declarar o c? 27 de fevereiro de 2025 às 23:53 em resposta a: Exercício 029, módulo 3 – programação básica #154538Isabela Ferreira de Miranda ParticipanteEntão, ao fazer assim, fica sempre repetindo o mesmo número continuamente e não entendo o motivo :(( 27 de fevereiro de 2025 às 23:44 em resposta a: Exercício 031 – módulo 03 – programação básica #154537Isabela Ferreira de Miranda ParticipanteOiii! Então, mas nesse caso do exercício ele pede para usar colchetes nos múltiplos. 
- 
		AutorPosts
