Respostas no Fórum
-
AutorPosts
-
2 de julho de 2021 às 19:53 em resposta a: Modúlo 004 exercício 062 não sei oque fiz de errado #70518
Tutora Mayla
MestreAntonio, pelo que pude ver no seu código os principais problemas são:
- O bloco `se( Tipos.cadeia_e_inteiro (validador) ou Tipos.cadeia_e_real (validador) ou
Tipos.cadeia_e_caracter (validador) ou Texto.caixa_alta(validador) == “MASCULINO”
ou Texto.caixa_alta(validador) == “FEMININO”)não tem nada dentro, nem mesmo {} logo acontece o erro dizendo que as chaves
}que vem logo a seguir estão no lugar errado. Coloque as chaves
{}neste bloco
se` que este erro irá parar de acontecer - A função
cadeia_e_inteiro
necessita de 2 parâmetros, sendo o segundo a base numérica, o correto então seriaTipos.cadeia_e_inteiro(validador,10)
- O primeiro
enquanto(verdadeiro)
não tem nada que pare o laço, ou seja fica lendo nomes para sempre. Crie a condição para que o laço pare em algum momento.
Preste bastante atenção em como seu código está estruturado e se o máximo de leituras possíveis está realmente sendo o número desejado (6).
Tente corrigir esses erros, que atualmente impedem seu código de rodar, e se ainda houver dúvidas mande-nos para que continuemos te ajudando.Tutora Mayla
MestreRicharllison, a explicação para esta diferença depende de tópicos mais avançados da linguagem C, que são vetores e ponteiros.
Ao declarar uma string como
char sit[10]
estamos pedindo ao computador para reservar 10 espaços de caracteres na memória, criando um vetor. Em C, não é possível fazer atribuições de valores a vetores por definição da linguagem.
Já emchar *sit
estamos declarando um ponteiro, isto é, uma variável que armazena um endereço de memória. A atribuição é permitida aqui pois ela faz com que a variávelsit
aponte para o endereço de memória onde a string"Aprovado"
ou"Reprovado"
está armazenada.Por mais que usar
char *sit
permita a atribuição, como se trata de um tópico avançado que pode causar muitos erros é recomendado que use a outra forma de declarar strings.Espero ter ajudado, quaisquer outras dúvidas basta entrar em contato.
Tutora Mayla
MestreSergio, estes erros aparecem quando a instalação do Intel HAXM não foi concluída com sucesso, e isto pode ter diversos motivos. Tente o seguinte:
- Habilitar tecnologias de virtualização: vá até a BIOS do seu computador e procure habilitar as tecnologias de virtualização do seu sistema, busque por algo com “VT” ou “Virtualization Technology”
- Instalação pelo Android Studio: vá em Tools > SDK Manager > Aba SDK Tools > Selecione “Intel x86 Accelerator Emulator (HAXM Installer) > Clique OK e prossiga a instalação
Espero ter ajudado, caso o problema persista volte a entrar em contato que lhe ajudaremos.
Tutora Mayla
MestreErick, o
!c
é o uso de um operador lógico “não”, o que significa negar o valor da variávelc
. Vai inverter o valor lógico dela, ou seja só faz sentido utilizar!c
quandoc
for uma variável lógica. Já o!=
é o uso de um operador relacional “diferente”. São dois operadores distintos, usados em situações distintas. A precedência do!
é sempre superior a precedência do!=
, logo para dar precedência ao!=
é necessário utilizar os parênteses, que mudam a ordem de precedência.
Espero ter ajudado, quaisquer outras dúvidas estamos a disposição.Tutora Mayla
MestreIsmael, poderia por favor nos mandar como está seu código? Qual o comando utilizado?
28 de junho de 2021 às 18:53 em resposta a: Como fazer uma coluna ir para de baixo de outra em telas pequenas ? #70220Tutora Mayla
MestreAlexandre, teremos a parte de Flexbox no módulo 5, mas se quiser ir adiantando seus estudos pesquise sobre caixas flexíveis pois são a solução para o seu problema.
Tutora Mayla
MestreAnderson, o problema aqui é o ponto e virgula na primeira linha, ele não deveria existir. O correto é ter o ponto e virgula apenas na terceira linha.
Na Aula 04 – Melhorando a Estrutura do Banco de Dados no minuto 8:20 está o comando da forma correta.
Espero ter ajudado, quaisquer dúvidas estamos a disposição.Tutora Mayla
MestreCristiane, com conhecimento de laço (Programação Básica – Módulo 03: Repetições) é possível escrever um código para que ache todas as vezes que o caractere espaço aparece, sabendo então qual é a ultima vez e conseguindo escrever a cadeia a partir do ultimo caractere espaço, sendo assim o ultimo nome.
Procure no PortugolStudio emBiblioteca>Texto>Pesquisar Texto
o último exemplo do código que é sobre como encontrar o caractere A em todas as posições na palavra, a partir desse exemplo e tendo o conhecimento de laço é possível criar um código para achar o último nome.
Espero ter ajudado, quaisquer dúvidas estamos a disposição.Tutora Mayla
MestreSérgio, no link presente no erro tem diversas instruções de instalação, tente realiza-las, mas antes garanta que o seu sistema tem os requisitos mínimos.
Caso não consiga resolver seu problema, volte a entrar em contato que lhe ajudaremos.Tutora Mayla
MestreHugo, o painel à direita no Portugol Studio permite que aumente o tamanho da fonte da seção que diz a estrutura do seu código. No entanto o Portugol Studio não permite esta configuração em outros casos neste painel.
Vale ressaltar que o Portugol Studio é um projeto de código aberto que está em constante evolução, e que você também pode contribuir para esta evolução interagindo no GitHub do projeto. Abra uma issue no GitHub do Portugol Studio falando sobre isto e contribua para o crescimento desse ótimo projeto de código aberto.
Espero ter ajudado, quaisquer dúvidas basta entrar em contato.
Tutora Mayla
MestreAntonio, parabéns por ter conseguido realizar o exercício e por incrementá-lo!
Quanto a quantidade de operações lógicas, em alguns casos realmente haverão muitas em um único blocose
, vai depender muito da situação. Nesse caso uma forma de melhorar o seu código seria fazendo blocosse
aninhados, não necessariamente pela quantidade de condições lógicas, mas apenas pois há uma forma de organizar o código que facilitaria mais a sua leitura e entendimento.
Tente reescrever essa parte do código abaixo de forma que consiga ser aproveitado de melhor forma a possibilidade do uso do blocosenao
. E realize sempre o teste de mesa com valores distintos para ver se o programa está realmente fazendo o caminho desejado.se(numero > sorteado e chances != 3 e numero <= 10) { escreva("Você não acertou e ainda tem ", 3 - chances, " Chute(s).\n" + "Tente um valor menor.\n\n") } senao { //Acertou se(numero == sorteado) { escreva("Parabéns você acertou em", chances, " chance(s).") pare } //Dica caso número seja menor senao se(chances != 3 e numero >= 0) { escreva("Você não acertou e ainda tem ", 3 - chances, " Chute(s).\n" + "Tente um valor maior. \n\n") } } //Instrução se(numero > 10 ou numero < 0) escreva("Você desperdiçou sua chance o número sorteado está entre 1 e 10.\n\n")
Um exemplo de como melhor organizar aqui é que se houvesse um bloco
se
apenas com o testese(numero <= 10 e numero >= 1)
poderia ser feito para ele umsenao
correspondente ao seguinte teste que está sendo feito atualmente de forma isoladase(numero > 10 ou numero < 0)
.
Ressalto que o seu código está certo e está bom, minha dica é uma forma de continuar evoluindo e melhorar a organização do seu código.
Espero ter ajudado, quaisquer dúvidas estamos a disposição.Tutora Mayla
MestreSilvio, primeiramente a variável
tot_minuto
não está sendo utilizada e não há necessidade dela.
Depois o problema pode ser pela variávelreducao
ser do tipointeiro
, como estamos realizando uma divisão para que ela contenha o valor sem perder a parte após a virgula é necessário utilizar uma variável do tiporeal
.
Ficaria algo como :
real reducao = total * 10 /1440
, mas assim ainda não teríamos um resultado real pois todos os operando são inteiros
real reducao = (total * 10) /1440
, precisamos passar pelo menos 1 para real:inclua biblioteca Tipos --> tp real reducao = (tp.inteiro_para_real ( total ) * 10) /1440
e por fim apenas utilizar a função arredondar para configurar o número de casas decimais desejado na hora de escrever.
Dê uma olhada nas postagens anteriores deste tópico e veja se lhe ajudam, espero ter ajudado, se a dúvida persistir volte a entrar em contato.
Tutora Mayla
MestreOctavio, no XAMPP na versão utilizada não há mais o MySQL, está sendo utilizado no pacote o MariaDB. O MySQL foi vendido para Oracle e o criador do MySQL criou o MariaDB tendo o MySQL como base, por fim ambos são basicamente a mesma coisa. O console estar MariaDB em vez de MySQL não é problema, irá funcionar do mesmo jeito.
Em relação a importação provavelmente ocorreu um erro, tente realizar a importação através do PHP MyAdmin e caso ocorra erro nos informe por favor qual foi para que possamos te ajudar.
Espero ter ajudado, quaisquer dúvidas estamos a disposição.Tutora Mayla
MestreLuis, poderia nos dar mais detalhes sobre a sua dúvida por favor? Assim conseguimos te ajudar de melhor forma.
Tutora Mayla
MestreGisele, movi o sua dúvida para um tópico já existente sobre o assunto, sempre antes de criar um tópico procure se já existe um falando sobre o assunto.
O problema no seu código é está sendo utilizado aspas simples e o correto seria utilizar o caractere acento grave ` no lugar das aspas.
Espero ter ajudado, se a dúvida persistir volte a entrar em contato.Tutora Mayla
MestreCarlos, infelizmente a parte de JavaFX mudou muito daquela versão pra hoje. Pode considerar apenas a parte de desenvolvimento usando Swing.
21 de junho de 2021 às 17:03 em resposta a: não consigo instalar o Build-essential no Ubuntu 20.04 #69841Tutora Mayla
MestreJuan, tente realizar uma atualização do apt antes de tentar a instalação do build-essential. Para isso siga a ordem
sudo apt update sudo apt install build-essential
Caso o erro continue a ocorrer, cole-o aqui no fórum para que possamos te ajudar da melhor forma.
Tutora Mayla
MestreOctavio, poderia nos informar por favor qual erro aconteceu na importação para que possamos te ajudar melhor?
Tutora Mayla
MestreLeon, o correto seria colocar com chaves, o aluno Otavio exemplificou certo mas acabou trocando os nomes (de chaves para colchetes).
Para funcionar basta trocar o seu código de console.log(A velocidade é $[vel]
) para console.log(A velocidade é ${vel}
).
Espero ter ajudado, quaisquer dúvidas estamos a disposição.Tutora Mayla
MestreJonas, o aluno Antonio explicou perfeitamente o que falta de últimos ajustes para o seu código. Fora isso o seu código está muito bom!
Tutora Mayla
MestreLeandro, passei a sua dúvida pra o professor Guanabara e ele infelizmente não tem conhecimento nessa área. Se for de sua vontade envie uma mensagem pela aba Ajuda solicitando o número de whatsapp para que possamos te por em contato com o professor Guanabara para conversarem sobre o assunto e tentarem aprender juntos.
Tutora Mayla
MestreÂnderson, o intuito do exemplo dado em aula foi ensinar como solucionar esse problema caso ele apareça.
Em alguns casos não será possível simplesmente modificar a variável deinteiro
parareal
como sugerido pois, dependendo do código, pode vir a causar algum erro ao longo do programa.
A necessidade ali é que a divisão resultasse em um valor real e não que as variáveisa
eb
fossem reais. Então como fazer isso sem alterar o tipo das variáveis? É utilizada então a biblioteca tipos realizando a conversão do valor apenas naquela equação. Ao utilizar a funçãointeiro_para_real
o que está acontecendo é uma mudança de tipo pontual ali, ou seja em nada interfere no tipo da variável. Assim conseguimos ter uma divisãoreal
sem interferir na variável que por algum motivo, de acordo com o código, no exemplo precisa serinteira
.
Espero ter ajudado, quaisquer outras dúvidas estamos a disposição.15 de junho de 2021 às 21:19 em resposta a: Modúlo 003 Complemento do exercício 043 – Analisador de números #69524Tutora Mayla
MestreAntonio, parabéns pela iniciativa! Os exercícios servem como base de aprendizado para que os alunos possam pensar sobre eles e elabora-los mais para que fiquem cada vez melhores, ou até mesmo para que os alunos criem outros exercícios para treinar e ir aprendendo mais. Obrigada por compartilhar com a comunidade sua solução, são interações assim que fazem desta comunidade uma comunidade melhor!
Se houver quaisquer dúvidas durante seu aprendizado basta entrar em contato que lhe ajudaremos.Tutora Mayla
MestreGustavo, obrigada por compartilhar com a comunidade! Graças a interações assim que a comunidade se torna cada vez melhor.
Caso tenha alguma dúvida durante o seu aprendizado entre em contato que lhe ajudaremos.Tutora Mayla
MestreKleber, movi o seu tópico para um já existente sobre o assunto, sempre antes de postar procure se já há um tópico sobre o assunto.
O problema relatado pode estar acontecendo por conta da divisão, que pode gerar um resultado final diferente dependendo da ordem em que for executada. Para impedir problemas desse tipo construa sua equação utilizando parênteses que garantem a ordem de precedência desejada.
Nesse tópico há explicações minhas e do Icaro sobre a questão, veja se tais explicações lhe ajudam, caso não volte a entrar em contato que lhe ajudaremos.Tutora Mayla
MestreOctavio, este problema ocorreu pois no momento que foi declarada a variável
c
antes doif
, foi dado a ela o valor dei
. Porém até esta linha ainda não havia sido criada a variáveli
. Isto causa um erro que para a execução da funçãocontar
sem que seja iniciada a contagem. Para solucionar este problema é possível inicializarc
com valor 0 neste momento ou até mesmo remover esta linha por completo e apenas criar a variávelc
no laçofor
.Espero ter ajudado, quaisquer outras dúvidas estamos à disposição.
Tutora Mayla
MestreLucian, infelizmente no momento esse processo parou de funcionar. Tente utilizar o Tonny, editor que já vem instalado no Raspbian.
10 de junho de 2021 às 14:19 em resposta a: Dúvidas com aninhamentos em estruturas de repetição #69136Tutora Mayla
MestreNuno, tente voltar para as aulas e questões mais básicas sobre repetição. Refaça o inicio do módulo onde o conceito de repetição é explicado e tente partir dos exercícios mais simples, busque criar alguns exercícios simples, explorar mais essa parte para ai sim evoluir para exercícios mais complexos. Será mais fácil de lidar com estruturas de repetições aninhadas já tendo uma melhor base delas sendo usadas de forma simples.
Neste processo mande-nos qualquer dúvida que apareça, nos diga em qual parte da resolução de um exercício está sendo difícil estruturar o pensamento da lógica de solução. Realize também o teste de mesa de seus programas, para entender o passo a passo do que está acontecendo com cada variável na repetição.
Quaisquer dúvidas estamos a disposição.Tutora Mayla
MestreJonas, algumas considerações sobre o seu código:
- `
k = (n /1000)
escreva(+Matematica.arredondar(k, 2)+ ” Km \n “)Não é necessário colocar o <code>+</code> no inicio do <code>escreva</code>, pois por ser o inicio não há necessidade de concatenação. </li> <li>
h = n /100
escreva(+Matematica.arredondar(k, 2)+ ” Hm \n”) // hectómetro
`
Aqui está sendo chamada a variávelk
no lugar da variávelh
. - Para manter o padrão de casas decimais, seria uma boa arredondar também os demais valores. Além da forma como foram feitos os anteriores, há também outra forma de fazer sem a necessidade de criar uma variável para cada:
escreva(Matematica.arredondar((n/10), 2)+ ” Dam \n”)
Espero ter ajudado, quaisquer outras dúvidas estamos a disposição.
Tutora Mayla
MestreOctavio, o porquê de a mensagem não aparecer na tela se dá pela falta de parênteses no momento de chamar a função no botão Verificar.
<input type="button" value="Verificar" onclick="calcular">
O valor esperado dentro do atributo
onclick
é uma chamada de função, e portanto a forma correta de escrever esta linha seria:
<input type="button" value="Verificar" onclick="calcular()">
Espero ter ajudado, quaisquer outras dúvidas basta entrar em contato.
- O bloco `se( Tipos.cadeia_e_inteiro (validador) ou Tipos.cadeia_e_real (validador) ou
-
AutorPosts