IcaroFilho

Respostas no Fórum

Visualizando 30 posts - 181 até 210 (de 273 do total)
  • Autor
    Posts
  • em resposta a: Dúvida sobre Funções Com Retorno e Sem Retorno #74957
    IcaroFilho
    Moderador
    programa
    {
    	
    	funcao inicio()
    	{
    		escreva("Digite o primeiro valor: ")
    		inteiro num1
    		leia(num1)
    
    		escreva("Digite o segundo valor: ")
    		inteiro num2
    		leia(num2)
    
    		escreva("Exercicio 1\n")
    		somador1(num1,num2)
    		escreva("\nExercicio 2\n")
    		escreva(somador2(num1,num2))
    	}
    	
    	funcao somador1(inteiro a, inteiro b){
    			escreva("A soma entre os números é de: " + (a + b))
    		}
    		
    	funcao inteiro somador2(inteiro a, inteiro b){
    		inteiro soma = a + b
    		retorne soma
    	}
    }

    Basicamente funções com retorno são utilizadas para se trabalhar com os dados oriundos dela, pois estas fazem quem que as variáveis sejam acessadas em escopos diferentes.
    No seu exemplo é possível acessar a variável SOMA da função somador2 e atribui-la a outra variável de escopo local se quiser.

    Já e sem retorno vc trata apenas como procedimento (para mostrar algo).

    Em resumo, tudo depende do motivo que irá usar e seu escopo.
    para exemplificar posso dizer assim:

    programa
    {
    	inteiro a = 1
    	funcao inicio()
    	{
    		inteiro b = 2
    		escreva(a)
    		escreva("\n")
    		inteiro a =2
    		escreva(a)
    		escreva("\n")
    		escreva(b)
    		escreva("\n")
    		escreva(c())
    		escreva("\n")
    		escreva(d())
    	
    	}
    	funcao c(){
    		inteiro c = 3
    	}
    	
    	funcao inteiro d(){
    		inteiro d = a
    		retorne d
    	}
    }
    • a primeira variável a tem escopo global e pode ser acessada em todo o projeto.
    • quando pedimos para escrever o primeiro a, ela possuirá o valor de 1, pois trata-se da variável global sendo usada no escopo da função.
      Ao declararmos uma variável com o mesmo nome, esta terá prioridade pois trata-se do escopo local, então ao mandarmos escrever a novamente, irá exibir o valor de 2
    • Se chamarmos a função c desta maneira, irá ocorrer um erro. pois esta função sem retorno não pode ser passada para um ESCREVA().
      Também não podemos atribui-la a uma variável, uma vez que essa função não “possui valor a ser passado”
      Para escrevermos na tela teríamos que fazer direto na função:

      	funcao c(){
      		escreva(3)
      	}

      e trocariamos a chamada de:
      escreva(c()) para c()

    • Por ultimo, temos a função d(). Trata-se de uma função com retorno e traz o valor do retorno para o escopo onde for trabalhada. Sendo assim, podendo ser reutilizada.
      É possível fazer, por exemplo:
      operações: 9 * d()
      atribuições:inteiro novo_numero = d()

    Espero ter dado uma luz e desculpe qualquer confusão.

    em resposta a: Execrcios 02 #74698
    IcaroFilho
    Moderador

    Bom dia Marcos.
    Como eu disse em sua postagem anterior, tente ver no fórum se não há tópicos com o mesmo assunto que o seu. No caso existe tanto para o exercício 1 quanto para o 2.
    Quando for assim, escreva dentro das postagens já existentes. Isto fará com que o fórum fique mais limpo e os problemas mais centralizados.

    Quanto ao código em si, vale algumas ressalvas.
    O algoritmo funcionar não significa que esteja 100% certo.
    Neste exercício deveria ser utilizado os tipos primitivos certos (você fez uso apenas do tipo cadeia), ou seja:

    • a variável idade seria do tipo INTEIRO
    • a variável salario seria do tipo REAL

    Agora uma dica para reduzir o numero de concatenação, é utilizar a quebra de linha no começo, ficando:

    escreva("--------------FICHA FUNCIONAL-------------")
    escreva ("\nNOME: " + nome)
    escreva ("\nNASCIMENTO em " + idade)
    escreva ("\nSALARIO de " + salario)
    escreva ("\n-----------------------------------------")

    Espero ter ajudado, qualquer duvida só mandar que estaremos aqui.

    • Esta resposta foi modificada 3 anos, 3 meses atrás por IcaroFilho.
    em resposta a: Execrcios 01 #74695
    IcaroFilho
    Moderador

    Bom dia Marcos,
    Bem vindo ao forum !!
    Antes de tudo fica uma dica, sempre que postar seus códigos aqui, tente formata-los. Para isso basta utilizar as opções disponíveis nesta área de texto.
    Ao encaminhar um trecho de código faça da seguinte maneira:

    • Copie e cole normalmente.
    • Selecione todo o código novamente aqui e de um click em CODE. vc perceberá que abrirá ‘crases’ no inicio e no final.

    Agora, quanto ao exercício, teve alguma duvida ou dificuldade ?
    Uma dica é que não precisa escrever dois ESCREVA para realizar a quebra de linha. use \n.

    • sendo assim:
      escreva (“Tudo bem ,” + nome + “?\nÉ um grande prazer te conhecer!”)
    • ou se quiser deixar tudo em apenas uma linha é só retirar a quebra de linha
      escreva (“Tudo bem ,” + nome + “?É um grande prazer te conhecer!”)

    Conte sempre conosco quando tiver duvidas e / ou quiser compartilhar conhecimento.
    Mas sempre se atente se não há outras postagens com o mesmo tópico para evitar poluição no fórum.

    em resposta a: EXERCÍCIO 043 -módulo-03- Repetições #74504
    IcaroFilho
    Moderador

    Bom dia Rui.
    Não entendi muito bem a sua postagem. Vc gostaria de saber se seria possível adicionar o nome junto ao maior valor ?
    caso seja isso, basta que adicione uma variavel, nome e sempre que tiver o maiorValor sendo atribuído, atribuir junto o nome.

    em resposta a: AULA 11 (SELECT – Parte 1) #74423
    IcaroFilho
    Moderador

    Bom dia Waldir,
    Existem outras postagens com o mesmo tópico, antes de abrir um novo, tente consultar.
    segue o link da postagem junto com o link do dump.
    LINK

    em resposta a: Arquivo de download da aula 11 de MySQL #73458
    IcaroFilho
    Moderador

    Boa noite Marcelo,
    segue link pro dump
    DUMP

    Pode ver que editei sua postagem retirando seu e-mail.
    Isso pq fere as regras de uso do fórum.
    Pode acessar as regras aqui.

    Regras Gerais do Fórum Estudonauta

    O Fórum do Estudonauta, assim como todos os tópicos criados pela comunidade tem como objetivo a troca de informações referente aos cursos e aulas disponíveis na plataforma.

    Item 12.
    Não incentive que usuários entrem em contato com você em particular para resolver problemas ou tirar dúvidas, as discussões devem acontecer no grupo (dentro do fórum).

    • Esta resposta foi modificada 3 anos, 3 meses atrás por IcaroFilho.
    em resposta a: M03 Ex048 #72696
    IcaroFilho
    Moderador

    Bom dia Gustavo.
    Vou explicar e demonstrar… tente replicar a minha explicação e depois confira o código.

    O método que utilizei foi através da biblioteca Tipos.

    Como o Portugal é uma linguagem fortemente tipada (precisando dizer qual é o tipo da variável em sua declaração), utilizamos uma entrada neutra do tipo cadeia.

    Depois simplesmente pedimos para fazer uma checagem pela biblioteca para saber se é real ou inteiro usando as funções:
    cadeia_e_real(var) ou cadeia_e_inteiro(var)

    Ai varia a partir de qual função usou. caso escolha cadeia_e_real, o retorno verdadeiro será real e vice versa.
    — Vale algumas ressalvas —
    1- este é apenas um método. vc pode fazer também uma busca na entrada procurando por “.”, caso retorne verdadeiro ele será real.
    2- lembre-se que 10 é inteiro e 10.0 é real. embora possuam o mesmo valor, são de tipos diferentes.

    Aqui vai um exemplo, replique após tentar:

    programa
    {
    	inclua biblioteca Tipos  --> tp
    	funcao inicio()
    	{
    		cadeia num = ""
    		escreva("digite um numero:  ")
    		leia(num)
    		
    		se (tp.cadeia_e_real(num)){
    			escreva("numero é real") 
    		} senao {
    			escreva("numero é inteiro")
    		}
    	}
    }
    

    Bons estudos !

    em resposta a: Virgula no python #72681
    IcaroFilho
    Moderador

    Bom dia pedro.
    A virgula concatena assim como o “+“.
    Por exemplo:
    idade = 30
    print(“Eu tenho “, idade,” anos.”)
    ou
    print(“Eu tenho “+ idade+” anos.”)

    Caso sua duvida seja diferente ou permanecida, de um retorno.
    abraço e bons estudos.

    em resposta a: Exercício 010 – Módulo 001 – Não Fume. #72377
    IcaroFilho
    Moderador

    Boa tarde Rita,
    a sua formula de desperdício esta errada.
    Também deixou fixo na saída a estimativa de 8 anos como fumante. (assim como fez na saída anterior, pode concatenar a string com os anos)
    deixei um poste (aqui mesmo) com uma explicação bem detalhada (inclusive do arredondamento).
    Se sua duvida permanecer, basta retornar aqui que te oriento passo a passo.

    em resposta a: Exercício 010 – Módulo 001 – Não Fume. #72376
    IcaroFilho
    Moderador

    Boa tarde Marcos,
    Quando utilizamos o senao se, o teste irá se encerrar quando a condição for verdadeira e deixará de executar os outros testes. Enquanto que se utilizarmos 2 se, ele executará os 2. O problema é que nem sempre queremos que se teste tudo.
    Ex.: Quero que o algoritmo diga se o numero informado é maior que determinado valor.
    se usarmos apenas se teremos:

    programa
    {
    	
    	funcao inicio()
    	{
    		inteiro num
    		escreva("escreva um numero entre 0 e 20:  ")
    		leia(num)
    
    		se (num > 20){
    			escreva("numero informado maior que 20\n")
    		}
    		se (num > 15){
    			escreva("numero informado maior que 15\n")
    		}
    		se (num > 10){
    			escreva("numero informado maior que 10\n")
    		}
    		se (num > 5){
    			escreva("numero informado maior que 5\n")
    		}
    		se (num > 0){
    			escreva("numero informado maior que 0\n")
    		}
    	}
    }

    Caso informemos 33, teremos a saída:
    numero informado maior que 20
    numero informado maior que 15
    numero informado maior que 10
    numero informado maior que 5
    numero informado maior que 0

    Agora se utilizarmos senao se:

    programa
    {
    	
    	funcao inicio()
    	{
    		inteiro num
    		escreva("escreva um numero entre 0 e 20:  ")
    		leia(num)
    
    		se (num > 20){
    			escreva("numero informado maior que 20\n")
    		}
    		senao se (num > 15){
    			escreva("numero informado maior que 15\n")
    		}
    		senao se (num > 10){
    			escreva("numero informado maior que 10\n")
    		}
    		senao se (num > 5){
    			escreva("numero informado maior que 5\n")
    		}
    		senao se (num > 0){
    			escreva("numero informado maior que 0\n")
    		}
    	}
    }

    Com a mesma entrada de 33 termos a saída:
    numero informado maior que 20.

    isto porque uma vez que o teste retorne verdadeiro, não há o pq de continuar testando. por isso que para múltiplos testes usamos o aninhamento.

    Espero ter ajudado

    em resposta a: M1A08-exercicio 007-Pintando uma parede #71974
    IcaroFilho
    Moderador

    A estrutura inicial esta correta.
    vc achou os m² da parede.

    Sabe-se que cada litro de tinta pinta 2m².
    Sendo assim, basta pegar o resultado que vc achou e dividir por 2.
    Seu resultado será a quantidade de tinta necessárias para pintar a parede.

    Tente finalizar o exercício.
    espero ter ajudado.. se sua duvida for outra.. tente especificar..

    • Esta resposta foi modificada 3 anos, 4 meses atrás por IcaroFilho.
    em resposta a: M1A08-exercicio 007-Pintando uma parede #71926
    IcaroFilho
    Moderador

    Qual seria sua dificuldade ?

    IcaroFilho
    Moderador

    Bom dia Carlos,
    Tente sempre quando postar seu código no forum se atentar a 2 coisas.

    1. Se há tópicos com o mesmo assunto que o seu.
      • No caso, existe algumas tópicos já criados referentes ao mesmo exercício.
      • Caso a sua duvida permaneça, você pode postar dentro do tópico em aberto. Isto evita com que seja criado vários tópicos com o mesmo assunto, deixando o fórum mais limpo e facilitando na hora das pessoas procurarem “ajuda” e tirar “duvidas”
    2. Sempre que postar seu código, formate-o. isto facilita na visualização (referindo-se a indentação) e ao transporto de codigo para a IDE (caso necessário)
      • vc faz isso selecionando todo seu codigo aqui na postagem e clicando em CODE na barra de formatação de texto que se encontra logo acima.

    Referente ao seu código:

    1. evite começar nomes de variáveis com letras maiúsculas. (embora funcione, não é uma boa pratica)
      Funcionario-> funcionario
    2. Se atente na escrita:
      1. se vc solicita “data de nascimento”, o usuário pode digitar:
        10/01/1990 ou 16-07-1989
        isto fará com que seu código quebre, uma vez que a entrada esperada pela variável é de números inteiros. (vai quebrar devido a entrada ‘/’ ou ‘-‘)
        No exercício é solicitado apenas o ‘ano’, por isso não há problema. Caso queira ainda sim utilizar a entrada da data, pode utilizar mas deverá usar a variável do tipo cadeia. E para possíveis cálculos de idade deverá fazer uso de bibliotecas que verá mais a frente.
      2. Ainda em termos de atenção na escrita. perceba que sua saída esta ‘colada’. no final das “” do escreva, sempre de um espaço quando concatenar algo.
      3. E por fim faltou a quebra de linha na ultima linha.
        vc pode resolver isso criando um padrão, sempre pondo a quebra ou no começo ou no final.

    Continue se esforçando e bons estudos !

    em resposta a: EXERCICIOS #70821
    IcaroFilho
    Moderador

    Boa tarde Eliude,
    Sempre que postar seus códigos, tente formata-los.
    Para fazer isso basta que após cola-los aqui, vc selecione ele novamente e clique em CODE aqui na barra de formatação.

    Quanto a seus códigos.

    • EX 1: Pode dar um espaçamento no final do primeiro escreva. Assim quando der a entrada, não ficara tudo “colado”.
    • EX 2: Aqui você já se preocupo com o espaçamento que citei referente ao exercício 1.
      Contudo esqueceu da quebra de linha nas suas saídas… ficando tudo em uma única linha.
      Para a correção vc pode fazer de 2 maneiras:
      adicionando \n no final.

                     escreva ("--------------FICHA CADASTRAL----------------\n")
      		escreva ("NOME: " + NF + "\n")
      		escreva ("ANO DE NASCIMENTO: " + AN + "\n")
      		escreva ("SALÁRIO: R$ " + SF + "\n")

      adicionando \n no começo.

      		escreva ("\n--------------FICHA CADASTRAL----------------")
      		escreva ("\nNOME: " + NF)
      		escreva ("\nANO DE NASCIMENTO: " + AN)
      		escreva ("\nSALÁRIO: R$ " + SF)

      Bons estudos e qualquer duvida, estamos aqui.

    em resposta a: dúvida exercício 53 programação básica #70725
    IcaroFilho
    Moderador

    Boa tarde. Basta que vc inicialize as variáveis.

    inteiro c=0 , soma=0 , n = 0
    cadeia teclado = " "
    caracter resp = ' '
    em resposta a: Emojis #70710
    IcaroFilho
    Moderador

    Bom dia. Como esta seu código ?
    Apenas no chrome ou acontece também em outro navegado ?

    em resposta a: exercicio 10 EVENTOS DOM #70709
    IcaroFilho
    Moderador

    Bom dia.
    Apenas uma observação antes de começar.
    Tente formatar o código quando postar no fórum para ficar melhor visualmente.
    Para isso basta que ao colar o código aqui, selecione ele todo e clique em CODEna barra superior de formatação.

    Agora quanto ao seu código, esta correto faltando apenas detalhes de tenção:

    • <div> id ="res">resultado</div>
      Na sua div, vc nomeio o ID fora da tag
      a correção é apenas passar o ID pra dentro da tag ficando: <div id ="res">resultado</div>
    • res.innerHTML = 'a soma entre ${n1} e ${n2} é igual a ${s}'
      Aqui a chamada deve ser usada com crases e não com aspas,
      ficando:
      res.innerHTML =a soma entre ${n1} e ${n2} é igual a ${s}

    Bons estudos e qualquer coisa estamos por aqui =)

    em resposta a: Arredondar #70148
    IcaroFilho
    Moderador

    isto se da devido ao arredondamento de duas casas decimais.
    funciona da seguinte maneira: (mantendo a hipótese de 2 casas)

    • de 5 – 9 o arredondamento é para cima:
      3.545 -> 3.55
    • de 1 – 4 o arredondamento é pra baixo:
      3.544 -> 3.54
    em resposta a: Ex. 53 #70042
    IcaroFilho
    Moderador

    So uma observação.
    vc escreveu catacter, e isso realmente não existe rsrsrsr.. não sei se copiou do portugal e colou aqui ou se só errou ao digitar aqui…

    em resposta a: Ex. 53 #70041
    IcaroFilho
    Moderador

    Bom dia.
    pode postar o seu código por favor (e se possível, não esqueça de mandar formatado).

    a sintaxe esta correta. mas não e necessário por dentro de parênteses. => resposta = t.cadeia_para_caracter(teclado)

    em resposta a: Desafio 10 fonte Android #69978
    IcaroFilho
    Moderador

    Me tira uma duvida, seu elemento h1 esta descendendo direto do main, ou esta dentro de outra tag (tipo section, div … ) ?

    Pergunto isso pq (até onde eu sei), usamos ‘>’ para designar descendentes direto, por exemplo:

        <main>
            <h2> TITULO DO MAIN </h2>
            <div>
                <h2> TITULO DA DIV </h2>
            </div>
        </main>
    • se usarmos:
      main h2 { font-size: 50px; }
      todas as tags h2 receberão a estilização css
    • Agora se criarmos:
      main > h2 { font-size: 50px; }
      Apenas o h2 dentro do main receberá essa estilização, já que apenas ela é filha direta (o h2 dentro da div seria neta e não receberia a herança)
    • Esta resposta foi modificada 3 anos, 5 meses atrás por IcaroFilho.
    em resposta a: Desafio 10 fonte Android #69954
    IcaroFilho
    Moderador

    Boa noite.

    Quanto a organização dos seus arquivos. O arquivo .css esta junto do HTML ou em uma pasta ?
    – Só precisa regressar ( usar os .. ) caso esteja em uma posta.

    Quando faz a atribuição da fonte a um estilo, esta chamando no lugar certo ?
    exemplo.:
    vc deseja o h1 com esta letra:

    h1 {
        font-family: 'Android';
    }

    Ultimo detalhe…. tenta remover o format(‘opentype’); e rodar pra ver se vai.

    em resposta a: exercicio 04 #69919
    IcaroFilho
    Moderador

    Boa noite. pouco provável você não ter a biblioteca.
    Me tira uma duvida, quando clica na aba ajuda, irá aparecer bibliotecas.
    Quando pressionar o símbolo de +, irá listar todas as bibliotecas.
    A biblioteca tipos não esta listada ?

    outra coisa, você tentou chamar a biblioteca e utiliza-la ?
    inclua biblioteca Tipos

    em resposta a: Desafio 10 fonte Android #69918
    IcaroFilho
    Moderador

    Boa noite.
    Por favor, posta um trecho do seu código de importação pra ver como esta.

    em resposta a: Dúvida #69858
    IcaroFilho
    Moderador

    Boa noite Jonas,
    Você não necessariamente precisa do arquivo .exe para executar em outra maquina.
    Basta que na maquina que for executar o programa, tenha o Python instalado.

    Mas caso queria / seja necessário o .exe , terá q fazer uso de alguma biblioteca ( como pyinstaller ) para estar gerando o .exe

    em resposta a: Exercício 39 Lendo dados #69611
    IcaroFilho
    Moderador

    Bom dia, vamos as modificações que fiz.

      Bibliotecas utilizadas:

    • Adicionei a biblioteca Tipos, que será usada para conversão de inteiro para real (executado na media)
      Alterações nas variáveis:

    • Transferia as variáveis maior e menor para tipo inteiro, tendo em vista serão atribuições de n, que é um numero do tipo inteiro.
    • Removi a variavel valor, estava sendo mal empregada.
      Alterações estruturais.

    • Alterado contador numérico: escreva(valor, “o. 9999 faz parar\n”)–>escreva(totn+1, "o. 9999 faz parar\n")
    • Alterado algoritmo de media. media = m.arredondar(soma/totn, 2) –> media = m.arredondar(t.inteiro_para_real(soma)/totn, 2)
    • Aqui a comparação esta errada, por isso não pega o menor valor.

      se(n!=9999 e n > maior) 
      menor = n

      Deve-se alterar para:

      se(n!=9999 e n < menor)
      menor = n
      Extra:

    • Não sei se aprender pare, mas caso tenha, pode fazer para diminuir a quantidade de testes logicos , deixando de fazer:
      se(n!=9999 e n<maior)
      se (n!=9999 e n>maior)
    • com a reestruturação completa ficaria:
      programa
      {
      	inclua biblioteca Tipos --> t
      	inclua biblioteca Matematica --> m
      	
      	funcao inicio()
      	{
      		inteiro n = 0, soma = 0, maior = 0, menor = 0, totn = 0
      		real media 
      		escreva("Lendo dados\n")
      		escreva("----------\n")
      		 
      		enquanto(n != 9999){
      			escreva(totn+1, "o. 9999 faz parar\n") 
      			escreva("Número ")
      			leia(n)
      			se(n==9999){
      				pare
      			}senao{
      				soma+=n
      				totn++
      			}
      			se(totn == 1){
      				maior = n
      				menor = n
      			}senao {
      				se (n < menor){
      					menor = n
      				}senao se (n > maior){
      					maior = n
      				}
      			}
      		}
      		media = m.arredondar(t.inteiro_para_real(soma)/totn, 2) 
      		escreva("Ao todo você digitou "+totn+" valores\n")
      		escreva("A soma entre eles foi "+soma+"\n")
      		escreva("A média foi "+media+"\n")
      		escreva("o maior foi "+maior+"\n")
      		escreva("o menor valor foi "+menor)
      	}
      }
    em resposta a: Eu precioso de ajuda para fazer os exercicio 02 e 03 #69607
    IcaroFilho
    Moderador

    Bom dia Orlando.
    A base desse exercicio é enrada e saida
    Utilizamos escrevapara exibir as informações na tela e o leiapara que o computador capte as informações digitadas pelo usuário.

    1. Exercício 002
      1. Primeiro precisamos pensar na estrutura do programa.
        Nos é solicitado 3 informações.
        Nome ; Nascimento ; Salário
        Então precisamos criar as respectivas variáveis.

        cadeia nome // cadeia = conjunto de caracteres
        inteiro ano // o ano tem que ser inteiro pois não existe ano fracionado
        real salario // salario tem que ser real, pois há a possibilidade dos centavos
      2. Com base nisso podemos começar:
        A primeira informação é a solicitação do nome. Primeiro ele nos mostra a frase e depois pede que seja inserido o valor.

        escreva("Nome do Funcionário: ") // conteúdo dentro dos parênteses será exibido na tela
        leia(nome) // o valor digitado será atribuído a variável => nome

        este processo se repete para os demais itens (Ano de Nascimento e Salário).

      3. Para ele nos dar o valor basta criarmos as saídas para cada variável(escreva):
        escreva("----------FICHA CADASTRAL---------\n") // Criara o topo da lista , o"\n" é a quebra de linha
        escreva("Nome: ", nome, "\n") // Os itens dentro das aspas são as strings e o item fora a variável. elas devem ser concatenadas (somadas) e pode-se utilizar virgula (,) ou adição (+)

        O processo irá se repetir para os demais itens solicitados.

    2. Exercício 003
      • Com base no mesmo principio do anterior, só que desta vez fazendo uma operação matemática na saída.
        O processo de entrada e saída de valores é idêntico ao do exercício 2, então vamos para a logica da operação matemática.
      • ele nos pede um valor antecessor e sucessor. então basta que executamos uma adição e uma subtração no valor da variável.
        então teremos a saída:
        escreva("O antecessor de ", variável, "é o valor de ", variável - 1)
        Agora é so repetir o processo para o sucessor.

    Tente realizar o exercício e se persistir, volte com as duvidas para podermos ajuda-lo.

    em resposta a: Módulo… #69459
    IcaroFilho
    Moderador

    Boa noite Julia, por favor mande seu código HTML.

    Observe que:

    <img src="" alt="">
    src => Basta que direcione a URL da imagem.

    • Se estiver na mesma pasta que o arquivo index, basta por o nome do arquivo => src=”foto.jpg”
    • caso esteja em uma pasta, basta por o nome da pasta/nome da imagem => src=”pasta/foto.jpg”

    o comando passado é, com o cursor no centro das aspas, pressione o CTRL e com ele pressionado, aperte 1x espaço.

    Espero ter ajudado.

    em resposta a: Módulo… #69065
    IcaroFilho
    Moderador

    Boa noite Diogo,
    Por gentileza envie a sua dúvida pela aba Ajuda, o fórum é voltado somente para o conteúdo das aulas.

    em resposta a: M02 Exercício 17 #68980
    IcaroFilho
    Moderador

    Arthur, Bom dia.
    Não entendi muito bem com quais anos fez o teste.
    Peguei os anos bissextos de 1998 a 2020 (1988, 1992, 1996, 2000, 2004, 2008, 2012, 2016, 2020), e com todos os anos o resultado foi o mesmo.
    Seu programa: O ano não é bissexto
    Guanabara: O ano é bissexto

    Isto porque existe 2 falhas em sua logica.

    • Primeiro parte da premissa de que todo múltiplo de 100 é bissexto (ano % 100 == 0)
      Sendo que os múltiplos de 100 não serão bissextos a menos que seja múltiplo de 400.
    • Segundo que vc afirma que para ser bissexto, ele tem que ser múltiplo de 400 (atraves do operador logico e).
      Sendo assim você esta eliminando todos os anos múltiplos de 4 que não são múltiplos de 400.
    • Uso de parênteses desnecessariamente (no caso isto não gera o erro, mas polui o código)

    Quanto ao seu teste comparativo:
    Faça o seguinte. Faça um teste de mesa isolado. (simplesmente retire o laço e atribua um ano bissexto e um normal).

    programa{
    	inclua biblioteca Matematica
    	funcao inicio()	{
    		inteiro ano = 2000
    		logico igual
    		igual = (((ano % 4) == 0) e (((ano % 100) == 0) e (ano % 400) == 0)) == (ano % 4 == 0 e ano % 100 != 0 ou ano % 400 == 0)
    		escreva(igual)
    }}

    Verá que irá dar 2 resultados diferentes (verdadeiro para os anos múltiplos de 400 e falso para o resto)

    Mas pq então estou vendo todos os retornos TRUE ?
    Simples, o teste esta sendo realizando apenas um vez, pois ele esta fora do laço de repetição.
    Ou seja, ele so é testado uma vez com o valor 0 e depois vc cria um laço pra escrever o resultado logico e o ano sendo incrementado.
    Então, para corrigir seu teste basta colocar a expressão dentro do laço:

    inteiro ano = 0
    logico igual
    enquanto (ano <10000) {
        igual = (((ano % 4) == 0) e (((ano % 100) == 0) e (ano % 400) == 0)) == (ano % 4 == 0 e ano % 100 != 0 ou ano % 400 == 0)
        escreva(igual + " " + ano +"\n")
        ano++
    }

    Espero ter ajudado,
    Bons estudos !!

Visualizando 30 posts - 181 até 210 (de 273 do total)