Respostas no Fórum
-
AutorPosts
-
IcaroFilho
ModeradorBom dia Murilo, as nomeações de variáveis são a critério do desenvolvedor ou convenção da organização. O algoritmo irá funcionar baseado na lógica, sendo assim, independe dos nomes.
12 de novembro de 2021 às 12:51 em resposta a: Organização das linhas no HTML5 no visual studio #80467IcaroFilho
ModeradorBom dia. Deixa eu ver se entendi bem sua duvida. vc deseja limitar o numero de caracteres em linha do VSC ?
Caso seja isso, dentro da configuração procure por world wrap. se tiver off, deixe ON.
Em World Wrap Column você irá inserir o número máximo de caracteres por linha.
com isso, sempre que alguma linha chegar em 80 caracteres, irá automaticamente fazer a quebra de linha.Espero ter ajudado.
IcaroFilho
ModeradorBom dia Rogério, esta questão já foi levantada anteriormente no fórum. Antes de abrir um tópico, por favor de uma checadinha no fórum.
De qualquer modo, segue a nova extensão : Live ServerIcaroFilho
ModeradorBom dia Domingos, poderia por favor compartilhar o código para ver onde esta a falha ?
OBS: Não esqueça de ao colar o código aqui, formata-lo com a opção CODEIcaroFilho
ModeradorBoa noite Gabryel,
Primeiramente , antes de criar um tópico, tente ver se não há um outro tópico referente ao mesmo exercício já aberto. No caso existem 2 tópicos sobre este exercício. Isto facilita na hora da busca por outros alunos.Agora quanto a sua duvida.
O programa não sabe… vc tem que dar a instrução.
Basicamente 1 dia tem 24h e cada 1h possui 60 min. ou seja, 24 * 60 = 1440 min.IcaroFilho
ModeradorBoa tarde luiz,
Seu erro esta na sintaxe da segunda condição. Você esta usando IF, no portugol se utiliza SE, como foi utilizado na primeira condição. Basta trocar e irá funcionar.Obs: Corrija a indentação. Em algumas linguagens não tem problema pois o começo e termino do bloco são dados por { }.
Mas há lingaguens que os blocos são dados pela indentação. Ex: Python.27 de outubro de 2021 às 19:07 em resposta a: Criar variáveis em Java Script, atreladas ao HTML #79347IcaroFilho
ModeradorBoa noite Alan.
Primeiro a correção.
Dentro do seu script, vc esta fazendo a comparação no if da variável pais com a variável Brasil.
Como esta variável Brasil não foi criada, ela gera um erro interno de referencia: “Brasil is not defined
”
Isto ocorre pq no momento da comparação você não colocou entre aspas informando que era uma comparação com string. Corrigindo isto, seu código irá funcionar.Agora algumas dicas:
Quando fazemos a manipulação DOM com querySelector pelo ID, não precisamos passar a TAG pois seu identificador já é único:
var p = document.querySelector(‘input#pergunta’)
pode-se utilizar apenasvar p = document.querySelector(‘#pergunta’)
Também podemos pegar o valor no momento da declaração.
var p = document.querySelector(‘input#pergunta’)
//-> retorna o HTML:<input type=”text” name=”pergunta” id=”pergunta”>
var pais = document.querySelector(‘input#pergunta’).value
//-> Retorna o valor escrito dentro do inputFaça as declarações de variáveis utilizando CONST e LET
Não me recordo se esta incluso no curso do estudonauta, mas é bem simples de se entender.
você irá utilizar CONST para variáveis que não terão alteração de valores dentro de sua execução e LET para variáveis que terão mudança.
Pesquise no youtube.
Ex: const pais = …
let pais = …19 de outubro de 2021 às 07:46 em resposta a: Capítulo 09 Aula 02 – Listas mistas e de definição #78744IcaroFilho
Moderador<!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Listas</title> </head> <body> <h1>Trabalhando com listas</h1> <h2>Listas Ordenadas</h2> <ol type="A"> <li>Acordar</li> <li>Lavar o rosto e pentear o cabelo</li> <li>Tomar café</li> <li>Escovar os dentes</li> <li>Ir para o trabalho</li> <li>Práticar esportes</li> <li>Tomar banho</li> <li>Jantar</li> <li>Estudar</li> <li>Dormir</li> </ol> <h2>Listas não Ordenadas</h2> <ul type="square"> <li>Batata</li> <li>Macarrão</li> <li>Queijo</li> <li>Arroz</li> <li>Maionese</li> <li>Pão</li> <li>Carne</li> <li>Sabão</li> <li>Leite</li> <li>Danone</li> </ul> <h2>Minhas linguagens favoritas</h2> <ol> <li>Antigas</li> <ul type="disc"> <li>Fortran</li> <li>Delphi</li> <li>Visual Basic</li> </ul> <li>Novas</li> <ul type="disc"> <li>Fortran</li> <li>Delphi</li> <li>Visual Basic</li> <ul> </ol> <h2>Meus jogos favoritos</h2> <ol> <li>NES</li> <ul> <li>Mario Bros</li> <li>Ninja Gaiden</li> </ul> </ol> </body> </html>
Você so esqueceu de por o o fechamento na
OL
acima de<h2>Meus jogos favoritos</h2>
qualquer duvida só falar que estamos ai pra nos ajudarmos !!!
Bons estudos18 de outubro de 2021 às 08:06 em resposta a: Capítulo 09 Aula 02 – Listas mistas e de definição #78680IcaroFilho
ModeradorBom dia Antônio, Esta com erro de fechamento de TAG.
vc esta abrindo a OL na linha 38 e só esta fechando na linha 59.
para corrigir basta adicionar um contra barra ( ‘ / ‘ ) no OL da linha 52.Espero ter ajudado.
Bons estudos !!IcaroFilho
ModeradorBoa tarde. os exercícios começam no modulo um. o modulo zero é mais uma introdução e configuração de ambiente.
IcaroFilho
ModeradorBom dia Túlio.
Eu comentei em outra postagem sua, mas vou repetir aqui.
Já existe este tópico criado no fórum. Segue o [ LINK ]
Lá existe a explicação de outros alunos (como a minha e a do Arthur) e de moderadores.É uma boa pratica do programador a pesquisa. assim como tem o recurso de utilização do forum. tem essa ajuda que o Arthur mencionou dentro da própria IDE.
Só um adendo, é uma má pratica a escrita por completo em caixa alta.
REGRA DO FORUM [ Link de regras ]
6 . Não poste mensagens com o título ou o texto em maiúsculas, isto é extremamente desagradável, equivale a GRITAR. Além de ser desagradável de ler, é injusto, pois faz com que sua mensagem tenha mais destaque que as demais.Bons estudos.
IcaroFilho
ModeradorBom dia.
Indo direto a sua duvida. O calculo do resto esta contido em operações aritméticas. sua formula se da pornum1 % num2
Agora alguns pontos a se considerar.
1. Na regra de utilização do fórum esta informando a respeito de como proceder quando criar tópicos. No caso deve-se procurar no fórum sobre o assunto a ser tratado. No caso Existem tópicos criados em relação ao mesmo exercício, sendo assim, é uma boa pratica postar sua duvida em relação ao mesmo exercício dentro do mesmo tópico… Assim criaremos um fórum mais limpo e mais fácil de se procurar resoluções (é muito mais fácil de se procurar a duvida dentro de um único tópico do que ficar abrindo varias paginas)2. Quanto ao seu código, foi criada uma variável para cada operação matemática. Isto faz com que ocorra um desperdício de memoria, tendo em vista que esses valores não serão reutilizados. Neste tipos de caso, onde só iremos apresentar o resultado uma única vez, podemos efetuar os cálculos diretamente na hora da exibição.
escreva("\nSoma = ", (a + b) ) escreva("\nDiferença = ", (a - b) ) escreva("\nProduto = ", (a * b) )
e assim por diante …
assim seu código ficara mais ‘otimizado’.IcaroFilho
ModeradorBom dia.
Alguns pontos a se levar em consideração.1- Mesmo que o
\n
estivesse no final, ele efetua a quebra de linha. Lembrando que ele deve estar dentre de aspas (como uma string)2- Cuidado quanto a declaração de tipo de variável. Você utilizou cadeia (string) pra representação numérica (nascimento, salario). Isto te trás alguns riscos… como por exemplo o usuário introduzir símbolos e textos no lugar da numeração. E se caso for efetuar cálculos com essas variáveis, ainda terá que fazer transformações (no caso do Portugal terá que importar a biblioteca respectiva para alteração de tipos).
IcaroFilho
ModeradorGisele bom dia,
1- Por favor informar no titulo o módulo e o número do exercício. (assim outros alunos com a mesma duvida poderão encontra-las)
2- Envie o código formatado. (parece irrelevante, mas faz diferença em códigos maiores. Então já é uma boa pratica ir fazendo.)-
Esta resposta foi modificada 3 anos, 7 meses atrás por
IcaroFilho.
IcaroFilho
ModeradorBom dia Gabriel.
Poste como esta o seu código.
De qaulquer modo a resolução seria:programa { funcao inicio() { real salario inteiro ano cadeia nome escreva("Quao o nome do funcionario? ") leia(nome) escreva("Qual o ano de nascimento? ") leia(ano) escreva("Qual o salário? ") leia(salario) escreva("----FICHA CADASTRAL----") escreva("\nNome: ",nome) escreva("\nNascimento: ",ano) escreva("\nSalário: ",salario) escreva("\n------------------------") } }
IcaroFilho
ModeradorBom dia Gisele,
Assim como mencionei no exercício anterior.
não é necessário a utilização de parênteses na declaração de variável. e procure usar a formatação da string pelo .format() ou f-string. isto fará que seu codigo fique mais limpo.Outra coisa. quando postar no fórum, indique o modulo e o numero do exercício. Assim, os outros estudantes que tiverem a mesma duvida que você a respeito do exercício pode localiza-lo mais facilmente.
Bons estudos.
IcaroFilho
ModeradorBom dia Gisele,
Sempre que postar seu código no fórum, tente se lembrar de formata-lo.
Para isso de maneira fácil e pratica, basta selecionar todo o código postado aqui e clicar emCODE
na barra de formatação de texto deste campo.- No termino do input, ponha um espaço para a resposta não ficar colada na pergunta ->
nome = input('qual o seu nome? ')
- Não é necessario por a variavel entre parenteses. ->
print('Seu nome é ',nome,'Seja bem vindo(a)')
- Também é uma boa pratica usar o formatação de string:
- print(‘Seu nome é {}. Seja bem vindo(a)’.format(nome))
- print(f’Seu nome é {nome}. Seja bem vindo(a)’)
Bons estudos.
-
Esta resposta foi modificada 3 anos, 7 meses atrás por
IcaroFilho.
IcaroFilho
ModeradorBoa noite, é pq o seu escreva esta com letra maiúscula.
troqueEscreva
porescreva
E lembre-se de dar espaço na sua concatenação.
escreva("É um grande prazer te conhecer " + nome + " !")
IcaroFilho
ModeradorEsta correto, podemos apenas melhorar alguns pontos quanto a subtração:
No código atual tempos:
ENTRADA:num1 = 9, num2 = 17
SAIDA:Calculando 9 - 17 = 8
, sendo que esta equação tem resultado negativo.
Além do fato do do uso de memória sempre checandoopcao == 2
podemos resolver pondo uma condição aninhada a outra.se (opcao == 2){ se (num1 > num2){ escreva( "\nCalculando " , num1 , " - " , num2 , " = " , num1 - num2) } senao { escreva( "\nCalculando " , num2 , " - " , num1 , " = " , num2 - num1) }
Uma observação:
nas opções vc pode escreve-las como condições compostas.
A razão é que se tratando do seu código atual, ele irá testar cada possibilidade mesmo a anterior já retornando verdadeira, agora quando escrevemos com condições compostasse ( ... ) { ... } senao se ( ... ) { ... }
, só será averiguado as próximas condições caso a anterior retorno falso.IcaroFilho
ModeradorBom dia.
O problema esta na sequencia logica das condições.
Todos os cálculos efetuados após o PARE não serão realizados, pois irá sair do loop.1º- você pode organizar tds as entradas e depois fazer as validações:
escreva("Nome :") leia(nome) escreva("Sexo [M/F] :") leia(sexo) escreva("Salário :") leia(salario)
2º – A media salarial pode ser realizada dentro do checador de sexo, tendo em vista que so será realizada para os homens. (vc estava fazendo com o salario geral)
se (sexo == "M" ou sexo == "m"){ somah++ mediaSalarial = (mediaSalarial + salario) / somah }
3º para o total de mulheres que ganham acima de 1000:
senao se (sexo == "F" ou sexo == "f"){ somam++ se (salario > 1000){ totalM ++ } }
4º maior salario homens:
se (sexo == "M" ou sexo == "m"){ somah++ mediaSalarial = (mediaSalarial + salario) / somah se (salario > maiorsalarioM){ maiorsalarioM = salario } }
Código completo:
programa { funcao inicio() { inteiro contador = 0 , somah = 0 , somam = 0, totalM = 0 real salario = 0.0, mediaSalarial = 0.0, somasalario = 0.0, maiorsalarioM = 0.0 cadeia nome, sexo, continuar enquanto (verdadeiro) { escreva("Nome :") leia(nome) escreva("Sexo [M/F] :") leia(sexo) escreva("Salário :") leia(salario) se (sexo == "M" ou sexo == "m"){ somah++ mediaSalarial = (mediaSalarial + salario) / somah se (salario > maiorsalarioM){ maiorsalarioM = salario } } senao se (sexo == "F" ou sexo == "f"){ somam++ se (salario > 1000){ totalM ++ } } escreva("Quer continuar [S/N]?") leia(continuar) contador++ // Condição de parada se (continuar == "N" ou continuar == "n"){ pare } } escreva("\n========= RESULTADOS ========") escreva("\nTotal de Pessoas Cadastradas :" + contador) escreva("\nTotal de Homens: " + somah) escreva("\nTotal de Mulheres: " + somam) escreva("\nMédia salarial dos homens: " + mediaSalarial) escreva("\nTotal de mulheres que ganham mais de Mil Reais: " + totalM) escreva("\nMaior salário entre os homens: " + maiorsalarioM) } }
OBS: Sempre que postar seus códigos aqui, formate-os através da aba de formatação de texto. ->
CODE
IcaroFilho
ModeradorBom dia.
Eu não tenho conhecimento quanto aos MACs …
Mas enquanto ninguém vem com uma solução definitiva para você, recomendo que utilize a versão online (via navegador) através do link [Portugol WebStudio]Bons estudos.
-
Esta resposta foi modificada 3 anos, 7 meses atrás por
IcaroFilho.
IcaroFilho
ModeradorBom dia Gisele. Tente ler as regras de utilização do fórum.
Antes de criar um tópico novo, veja se já não existe um outra já criado com o mesmo tema.
Ex.: Você criou um tópico referente ao exercício 1. Sendo que já existe.
Criar um conteúdo já criado dificulta a busca por outros usuários, uma vez que ele terá que entrar em cada tópico pra saber se sua duvida esta contida / respondida nele. Já se verificarmos os existentes.
1- Já pode haver resposta para a nossa duvida.
2- Facilita a enxergar soluções de maneiras diferentes.Outro ponto é, sempre formate suas postagens.
Embora possa parecer bobo no começo, faz uma grande diferença em algoritmos maiores.
Para isso, quando colar o seu codigo aqui na caixa de texo. Selecione ele todo novamente, vá ate a barra de formatação:
B / LINK B-QUOTE DEL IMG UL OL LI CODE FECHAR TAGS
E clique emCODE
.
Isto acrescentará aspas no começo e final e formatará sua exibição (manterá o formato original).Quanto a questão, esta correto… podendo variar o + por ,
IcaroFilho
ModeradorNão entendi sua duvida.
1- Seu segundo código esta funcionando corretamente.
2- No seu primeiro código ele trunca pois vc passa um valor real para inteiro forçando. assim ele descarta tudo que vem após o ponto.
3- Pode-se fazer a declaração das variáveis desta maneira:real valor, valor2, SOMA, DIFERENCA, PRODUTO, DIVISAO_REAL inteiro RESTO_DA_DIVISAO,DIVISAO_INTEIRA
23 de setembro de 2021 às 10:17 em resposta a: Dúvida nas respostas do exercício Portugol ex001 #76047IcaroFilho
ModeradorBom dia. Já existe diversos tópicos com esta questão criada.
Nelas contem todas as explicações da resolução. caso sua duvida permaneça, faça uma postagem dentro do tópico já criado para que possamos manter o fórum organizado.IcaroFilho
ModeradorBom dia. Já existe diversos tópicos com esta questão criada.
Nelas contem todas as explicações da resolução. caso sua duvida permaneça, faça uma postagem dentro do tópico já criado para que possamos manter o fórum organizado.IcaroFilho
ModeradorBom dia Rondineli.
Seu problema esta na condição if. Vc apenas criou uma condição simples e não fez um SE NAO. Ou seja, aquele ultimoESCREVA
sempre irá executar independente de qualquer coisa, pois ele não esta “condicionado”.
Para corrigir basta utilizar a condicional composta.se (condição verdadeira) { bloco } se nao { bloco }
IcaroFilho
ModeradorBoa tarde Marcos.
Não sei se chegou a ler as regras de utilização do forum. [link]
Estes 2 termos estão no conjunto de regras.- Ao participar de um debate, evite desviar muito do assunto do tópico. Se desejar discutir um assunto diferente do que está sendo debatido no tópico, faça uma busca no fórum pelo assunto de seu interesse. Caso não encontre resultados, crie um novo tópico e convide a comunidade para o debate;
- Não repetir tópicos existentes. Antes de criar um novo tópico, verifique se o assunto já não está sendo debatido no fórum. Faça proveito do sistema de busca;
Você já postou diversos exercícios em tópicos divergentes do assunto, outros com com tópicos já existentes e em todos eles foi explicado o funcionamento do fórum e solicitado que praticasse as boas praticas de busca e abertura.
Isto dificulta a busca de resoluções por outros alunos, uma vez que seu questionamento encontra-se fora do tópico e se criar tópicos duplicados, faz com que a busca da resolução se torne cansativa (imagina se 30 alunos abrirem 1 tópico para o mesmo exercício, quem tiver duvida irá ter que abrir 30 tópicos para saber se sua duvida esta lá)
Por favor, pesque se há um tópico aberto com o seu problema e caso não haja, abra-o.
PS1: por favor, ao postar seu código,formate-o
. Eu já lhe informei como fazer. isto ajudará a outras pessoas lerem seu código.
PS2: existem correções a se fazer no seu código.-
Esta resposta foi modificada 3 anos, 7 meses atrás por
IcaroFilho.
IcaroFilho
ModeradorBoa noite Jose.
Olha, não ta dando certo por 2 motivos.
imagina cada div como uma caixa. vc deve arruma-las hierarquicamente.
Primeiro ponto. Pq escolheu desenvolver o menu após o hgroup ? isto te força a posicionar o seu menu na mão.
vc pode simplesmente por o container nav antes.Segundo. que tudo esta dentro de uma DIV. logo, ela deve ser estilizada.
e em ultimo, eu tenho como pratica, resetar o estilo com
*{ margin: 0; padding: 0; }
.
Para centralizar vc pode usar display flex na div interface, e a propriedade justify-content: center;
Ficando assim:
CSS<style> *{ margin: 0; padding: 0; } #interface{ display: flex; justify-content: center; } nav#menu { display: block; } nav#menu ul { list-style: none; text-transform: uppercase; } nav#menu li { display: inline-block; background-color: rgb(149, 148, 148); padding: 6px; margin: 2px; transition: background-color 0.3s; } nav#menu li:hover { background-color:greenyellow; } nav#menu h1 { display: none; } nav#menu a { color: black; text-decoration: none; } nav#menu a:hover { color: cornflowerblue; text-decoration: underline; } </style>
HTML
<body> <div id="interface"> <header id="cabecalho"> <nav id="menu"> <h1>Menu Principal</h1> <ul> <li><a href="index.html">Home</a></li> <li><a href="specs.html">Especificações</a></li> <li><a href="fotos.html">Fotos</a></li> <li><a href="multimidia.html">Multimídia</a></li> <li><a href="fale-conosco.html">Fale conosco</a></li> </ul> </nav> <hgroup> <h1><br><br>Google Glass</h1> <h2>A revolução do Google está chegando</h2> </hgroup> <img id="icone" src="_imagens/glass-oculos-preto-peq.png" alt="imagem"> </header> </div> </body>
IcaroFilho
ModeradorBom dia Thiago.
Os exercícios estão corretos. Podemos só adicionar algumas coisas para ir dando uma polida neles. Entre as dicas estão boas praticas que já é bom ir se habituando.- Para ambos os exercícios.
Tente criar nomes de variáveis mais sugestíveis. Por mais que faça logica pra você, crie o hábito de “codar” para outros programadores lerem. - Ex6
Tendo em vista que o programa apenas irá mostrar os resultados. não precisa criar uma variável para cada item. (pois terá perca de desempenho por uso de memoria em programas maiores)
Pode fazer a operação dentro do próprio arredondar.
Ex.: KM:escreva( mat.arredondar ( (d / 1000) , 2 ) + ” Km \n “)
- Ex10
atf=(pd*365)*an
–> Por se tratar de multiplicação, não é necessário a utilização de parênteses.
IcaroFilho
ModeradorBoa noite Natacha,
Antes de tudo, tente sempre formatar o código. Quando postar aqui, selecione-o novamente e clique em CODE. isso fará com que ele permaneça com a formatação e indentação.
Outro fato que quero lembrar é que tente pesquisar sobre o exercício que esta em duvida dentro do fórum antes de criar postagens. isso fará com que as resoluções de exercícios se concentre em apenas um TOPICO, facilitando o estudo de outras pessoas com a duvida e também fará com que o fórum fique menos “poluído”. Digo isto pois eu vi umas 3 postagens sobre o mesmo exercício.Agora vamos ao que interessa…
A operação aritmética esta correta, mas vamos avaliar todo o código.real n1 = 4287.35 real m = M.arredondar(n1,1)
Esta sua declaração de variável esta errada neste contexto. Como assim ? vou explicar
O exercício pede que seja inserido um valor e o algoritmo irá dar a saída convertida.
Na sua resolução, você primeiro atribui um valor paran1
e depois cria outra variável (m
) para arredondar on1
.Contudo depois solicita ao usuário que informe a distancia em metros e passa a variável m. ou seja, seu valor será sobrescrito e perderá toda a operação feita.
Ou seja, basta criar :
real num escreva("Digite um numero: ") leia(num)
Quanto a questão de arredondamento. Podemos fazer dentro da saída, assim pouparemos memoria.
O exemplo de como ficaria a passagem para KM ->escreva ( ( m.arredondar ( ( num / 1000 ) , 2 ) ) )
Perceba que o arredondar recebe 2 parâmetros (2 informações). A primeira trata-se da variável. Neste caso podemos passar a operação aritmética. A segunda é o numero de casa que desejamos após a virgula.Corrija as observações e tente replicar para as demais conversões.
Esta no caminho certo. Continue se esforçando e bons estudos.
Qualquer outra duvida basta perguntar que ajudaremos. -
Esta resposta foi modificada 3 anos, 7 meses atrás por
-
AutorPosts