Respostas no Fórum
-
AutorPosts
-
Tutora Mayla
MestreJoão, o seu código está quase todo certo, parabéns!
O único problema aqui é que a seguinte atribuiçãomaiori = idade[0]
se encontra dentro do laço, dessa forma a cada iteração seu valor vai ser reescrito paraidade[0]
perdendo assim a informação que tinha sido conseguida. O erro aparece ao inserir a pessoa de maior idade no meio, caso seja a primeira ou a ultima funciona, mas caso seja alguma do meio não sairá com a resposta correta.
Para solucionar isto basta colocar tal atribuição para antes dopara
.
Quanto ao código estar diferente do do professor, há várias formas de solucionar o problema, a sua forma está correta também, após esse pequeno acerto.
Parabéns e bons estudos, quaisquer dúvidas basta entrar em contato.Tutora Mayla
MestreWesley, poderia por favor nos um mandar print do problema?
Tutora Mayla
MestreJoão, para que o resultado de uma operação seja do tipo
real
, é necessário utilizar uma variável do tiporeal
e que ao menos um dos valores na conta seja do tiporeal
.
No seu caso a variávelmedia
está comointeiro
, então não suporta um valor real. Coloquemedia
do tiporeal
e procure sobre a funçãointeiro_para_real()
aqui no fórum e veja alguns comentários sobre este problema.
Espero ter ajudado, quaisquer outras dúvidas estamos a disposição.Tutora Mayla
MestreGuilherme, imagino que deseja arredondar a resposta da conta
(preco-(preco*5/100))
para isto é necessário utilizar a função de arredondamento no resultado dela, por exemplo:resultado = (preco-(preco*5/100)) escreva(“Com 5% de desconto, o produto sai por R$ ” + mat.arredondar(resultado, 2))
ou então:
escreva(“Com 5% de desconto, o produto sai por R$ ” + mat.arredondar((preco-(preco*5/100)), 2))
Da forma que está sendo feito no seu código, o que está sendo arredondando é
preco
porém ao realizar a divisão o resultado da divisão não terá a quantidade de casas decimais arredondado.
Em alguns casos pode ser necessário arredondar antes da conta, neste caso não é necessário. É necessário apenas que se arredonde o resultado que irá aparecer na tela, como no exemplo que dei.
Espero ter ajudado, caso a dúvida persista por favor entre em contato novamente.Tutora Mayla
MestreJoseph, o seu código está correto, a única coisa que percebi é que no HTML em
<input type="button" value="Verificar" onclick="Verificar">
está faltando os parênteses para chamar a funçãoVerificar
, sendo o correto<input type="button" value="Verificar" onclick="Verificar()">
. Modificando isto o funcionamento do exercício deve seguir conforme o esperado.Caso persista algum erro teste em outros navegadores e nos informe o resultado.
Espero ter ajudado, quaisquer dúvidas estamos à disposição.
Tutora Mayla
MestreMatheus, parabéns pelo seu código, fico feliz que tenha tido a iniciativa de utilizar uma biblioteca pois no dia a dia da computação as bibliotecas nos ajudam muito!
Porém aqui como estamos em um contexto educacional a ideia do exercício é exercitar a utilização de condições aninhadas, o que o seu código não faz.
Tente refazer o exercício, utilizando as dicas que dei anteriormente sobre essa questão, e utilizando condições aninhadas!
Depois poste aqui para compartilhar com a comunidade qual foi o seu resultado!
Bons estudos, quaisquer dúvidas estamos a disposição.Tutora Mayla
MestreGuilherme, para realizar uma divisão real é necessário que um dos elementos seja do tipo real. No seu código ambos estão do tipo inteiro. Para converter um dos dois é possível utilizar a função
inteiro_para_real(num)
da biblioteca Tipos por exemplo:
inclua biblioteca Tipos --> t
–para incluir a biblioteca Tipos
t.inteiro_para_real(n1)/n2
–para realizar a conversão
Espero ter ajudado, caso a dúvida continue basta entrar em contato novamente que lhe ajudaremos.Tutora Mayla
MestreGabriel, neste exercício está sendo trabalhado o uso de variáveis. Neste caso está sendo lido o nome e depois escrito na tela.
O comando
escreva (“qual é o seu nome?/n”)
serve para que apareça a pergunta “qual o seu nome?” na tela dando uma noção ao usuário de o que deve digitar em seguida. Note que o “\n” serve para que a próxima coisa que for aparecer na tela, apareça na linha abaixo. Caso não utilizado o próximo texto seria ao lado.
Após esse comando deve ser feita a leitura da variável, com o comandoleia(nome)
, este comando fará com que o programa fique esperando uma entrada de texto, após inserido o nome o programa irá continuar.
Depois de ter lido o nome, a ideia é apresenta-lo na tela, para isto iremos fazer:escreva ("olá " + nome+ " tudo bem? é um grande prazer te conhecer")
e assim irá aparecer escrito o nome que foi digitado dentro da mensagem.Logo o código ficou:
escreva (“qual é o seu nome?/n”) leia(nome) escreva ("olá " + nome+ " tudo bem? é um grande prazer te conhecer")
Espero ter ajudado, caso a dúvida persista volte a entrar em contato que lhe ajudaremos.
Tutora Mayla
MestreVitor, as atribuições de valores às variáveis devem ser feitos fora do
escreva
para que funcionem corretamente. Tente atribuir os valores antes doescreva
e depois fazerescreva("a: ", a," b: ", b, " c: ", c)
.Espero ter ajudado, quaisquer outras dúvidas basta entrar em contato
Tutora Mayla
MestreJoseph, poderia por favor enviar o seu código completo para podermos lhe ajudar da melhor forma.
Tutora Mayla
MestreJoseph, tem alguma extensão habilitada no seu navegador? Tente desabilitar todas as extensões e nos diga se o erro persiste.
Espero ter ajudado, quaisquer dúvidas estamos à disposição.
Tutora Mayla
MestreArthur, tem alguma dúvida no exercício? Como podemos te ajudar?
Quaisquer dúvidas estamos à disposição.
Tutora Mayla
MestreVinicius, movi o seu tópico para um tópico já existente sobre o assunto. Sempre antes de criar um novo tópico é bom verificar se já existe um tópico sobre o assunto no fórum.
Parabéns por ter concluído o exercício! O seu código está bom e correto pois tem a saída desejada, mas verifique neste tópico e nesse Duvida enorme sobre ex. 25 algumas respostas minhas e do Icaro sobre essa questão que podem lhe ajudar a continuar evoluindo e construir um código melhor.
Quaisquer dúvidas basta entrar em contato que lhe ajudaremos.Tutora Mayla
MestreVinicius, movi o seu tópico para um tópico já existente sobre o assunto. Sempre antes de criar um novo tópico é bom verificar se já existe um tópico sobre o assunto no fórum.
Parabéns por ter concluído o exercício! O seu código está bom e correto pois tem a saída desejada, mas verifique neste tópico e nesse Duvida enorme sobre ex. 25 algumas respostas minhas e do Icaro sobre essa questão que podem lhe ajudar a continuar evoluindo e construir um código melhor.
Quaisquer dúvidas basta entrar em contato que lhe ajudaremos.Tutora Mayla
MestreArthur, parabéns! Seu código está correto pois tem a saída desejada, só fique atento as variáveis
maior
emenor
pois elas não estão sendo utilizadas após a sua atribuição.Quaisquer outras dúvidas estamos a disposição. Bons estudos!
Tutora Mayla
MestreAndre, o
fgets
quando lê uma string que seja menor que o tamanho informado, deixa um caracter'\n'
ao final dessa string, fazendo com que quando escrevemos essa string com umprintf
tenha essa quebra de linha. Este comportamento não ocorre com a funçãogets
porém esta função sofre com alguns problemas de segurança.
É possível continuar utilizando afgets
e resolver este problema, mas para isso precisamos saber em qual posição da cadeia se encontra este caracter'\n'
e substituí-lo pelo marcador de fim de string'\0'
. Uma forma é utilizando a funçãostrcspn
da bibliotecastring.h
que encontra a primeira ocorrência de um caracter dentro de uma cadeia, conforme o exemplo a seguir:printf("Qual seu nome? "); fgets(nome, 30, stdin); int quebra = strcspn(nome, "\n"); nome[quebra] = '\0'; printf("Prazer em conhecê-lo %s seja bem vindo!", nome);
Para utilizar esta função é necessário incluir a biblioteca
string.h
.Espero ter ajudado, caso a dúvida persista basta entrar em contato.
Tutora Mayla
MestreCedrick, obrigada por compartilhar a solução com o colega Gabryel.
Há mais sobre este assunto no tópico Módulo 1 – Exercício 12.Bons estudos!
Tutora Mayla
MestreVitória, movi o seu tópico para o fórum referente a Linguagem C.
Ao ler o peso está sendo feitoscanf(“%0.f”, &peso);
. Isto pode causar erros de execução, troque o%0.f
por apenas%f
e a leitura do valor será realizada corretamente. Para que o valor apareça formatado na tela, esta formatação deve ser realizada noprintf
.Espero ter ajudado, quaisquer dúvidas estamos à disposição.
Tutora Mayla
MestreVitória, movi o seu tópico para o fórum referente a Linguagem C e o adicionei a um tópico já existente sobre o assunto. Antes de postar fique atenta se já existe um tópico sobre o assunto.
Para resolver o seu problema, adicione o & nosscanf
ao ler as notas, ficando por exemploscanf("%f", ¬a);
Espero ter ajudado, quaisquer dúvidas estamos à disposição.
Tutora Mayla
MestreAmauri, que bom que conseguiu encontrar o seu problema! Compartilhe conosco aqui no fórum qual era e como conseguiu resolver seu problema. Assim ajudará a outros que tiverem o mesmo problema que o seu.
Quaisquer dúvidas basta entrar em contato.
Tutora Mayla
MestreMário, seu código está correto e funcional! Porém o programa não pausa antes de terminar, portanto ocorre isto de ele fechar rapidamente após inserir a operação. Para sanar isto tente adicionar um
getchar()
ao final do código, antes de fechar a funçãomain
. Isto fará com que o programa pare esperando o usuário pressionar ENTER para então fechar.Espero ter ajudado, quaisquer dúvidas estamos à disposição.
Tutora Mayla
MestreAmauri, o warning significa que a função
cripto
não tem retorno, logo a variável$txt
não recebe valor nenhum(void). Tente modificar o código da funçãocripto
para que retornar a senha criptografada.
Caso o erro persista volte a entrar em contato que lhe ajudaremos.
Quaisquer outras dúvidas estamos a disposição.Tutora Mayla
MestreRômulo, que bom que conseguiu resolver seu problema e que contribuiu com a comunidade colocando a solução aqui!
Quaisquer outras dúvidas estamos a disposição.Tutora Mayla
MestreArthur, o correto nesse caso, para inverter a lógica seria por
(r!=N e r!=n)
. Nos casos onde a resposta for sim, significa que a resposta não será não. Ou seja : (S ou s) = (não N e não n).
Se quiser entender um pouco mais do porque ao inverter vira e procure sobre a lei de equivalência lógica de De Morgan, pois aqui ela é aplicada.
Espero ter ajudado, bons estudos!
Quaisquer dúvidas estamos a disposição.Tutora Mayla
MestreFelippe, tente uma solução usando a função
str_replace
do próprio PHP para realizar a troca de vírgulas por pontos e vice-versa antes de enviar para o banco de dados e veja se assim o valor é salvo corretamente.Espero ter ajudado, quaisquer dúvidas basta entrar em contato.
Tutora Mayla
MestreJosé, o AndroidStudio permite a visualização do layout apenas para os códigos XML, que definem a estrutura da tela. Procure por um arquivo dentro da pasta
res/layout
e veja se este aparece a opção de visualizar o layout deste arquivo.Espero ter ajudado, caso o problema persista volte a entrar em contato, se possível nos envie um print da tela do seu AndroidStudio.
Tutora Mayla
MestreJoão, mesclei o seu tópico com um já existente sobre o assunto, antes de criar um tópico sempre procure se já existe um tópico sobre o assunto.
Vamos fazer um passo a passo sobre o seu código:- Ao fazer
sort = u.sorteia(1,10)
está sendo sorteado um novo número a cada iteração do laço, sendo que o objetivo do exercício é que seja gerado um número uma única vez ao início do programa. Tente levar esta linha para fora do laço para resolver este problema. - Após a leitura do chute do usuário, é feita uma verificação se o
contador == 3
. Esta verificação faz com que o programa saia do laço na terceira tentativa, porém antes de realizar o teste se o chute do usuário está correto. Pense em uma maneira de modificar o código de forma a garantir que todos os 3 chutes do usuário sejam verificados antes de sair do laço. - Quando o usuário acerta o chute, é feito um
escreva("\nACERTOU em 1 tentativa!")
, mas seguindo a ideia do exercício de ser gerado apenas um número no início do programa e o usuário ter 3 tentativas para adivinhar o número, este escreva deveria apresentar ao usuário o valor decontador
, e não apenas o valor1
Reforço que seu código está bom, tente apenas acertar estes pontos que mencionei acima e veja se está de acordo com a proposta do exercício. Tente usar o painel de inspecionar do Portugol Studio para auxiliar nos testes do seu código.
Espero ter ajudado, quaisquer dúvidas basta entrar em contato
Tutora Mayla
MestreJoão, que bom que os passos que o Bruno compartilhou te ajudaram a resolver o seu problema!
Se houverem quaisquer dúvidas basta entrar em contato que lhe ajudaremos.Tutora Mayla
MestreEurico e Ana, é possível que a hash salva no banco de dados tenha sido gerada sem a aplicação da função de criptografar, isto é, a hash salva no banco é referente à palavra “admin” e, ao aplicarmos a função de criptografia estaremos testando a hash de “benjo”. Isto irá falhar pois as hashes destas duas palavras não são compatíveis. Para continuar utilizando a função de criptografar, façam o procedimento de gerar uma nova hash e salvá-la no banco de dados, mas uma solução também válida é parar de utilizar a função de criptografar, conforme a Ana fez.
Espero ter ajudado, quaisquer outras dúvidas estamos à disposição.
Tutora Mayla
MestreGisele, como o aluno Arthur respondeu muito bem, basta trocar a virgula pelo ponto na entrada do salário que irá funcionar.
Os números reais nesse contexto tem as casas decimais após o ponto e não após a virgula.
Espero ter ajudado, quaisquer dúvidas estamos a disposição. - Ao fazer
-
AutorPosts