Natana 0 Denunciar post Postado Setembro 27, 2009 Gostaria de confirmar as resoluçoes • Estrutura de Seleção 2. Elabore um algoritmo que, a partir de um dia, mês e ano fornecidos, valide se eles compõem uma data válida. Não deixe de considerar os meses com 30 ou 31 dias, e o tratamento de ano bissexto. ínicio inteiro: Dia, Mês, Ano; escreva; ("Digite o número do dia, mês e ano"); leia(Dia, MÊs, Ano); se (dia >= 1) e (dia <= 12) então se (Mes >= 1) e (mes <= 12) então se (ano >= 1) e (ano <= infinito) então escreva ("Data válida"); fimse; fimse; fimse; fim. • Estrutura de Repetição1. Elabore um algoritmo que obtenha o mínimo múltiplo comum (MMC) entre dois números fornecidos. ínicio inteiro : x, y , mmc; escreva ("Digite dois números"); leia (x,y); para a de 2 a 9 passo 1 faça ínicio a=1 se (x mod a = 0) ínicio a=1 mmc = mmc*a; x = x/a; fim; fimse; se (y mod a = 0) ínicio se a <> 1 mmc = mmc*a; y = y/a; fimse; fimse; fim; escreva("o mmc entre o números é "); fim. 2. Elabore um algoritmo que imprima todos os números primos existentes entre N1 e N2, em que N1 e N2 são números naturais fornecidos pelo usuário. ínicio inteiro: n1, n2, a, b; lógica; primo; escreva ("digite 2 números"); leia(n1, n2); para a de n1 até n2 passo 1 faça primo = v; para b de 2 até (a-1) passo 1 faça se (a mod b = 0); então primo = f; fimse; fimpara; se primo == v então escreva ("os números primos são "); fimse; fimpara; fim. 3. Construa um algoritmo que calcule e escreva a soma dos dez primeiros termos da seguinte série:2/500 - 5/450 + 2/400 – 5/350 + ... ínicio inteiro; soma, t, t1, a; leia (div(t1/t)); soma = a; t = 500; t1 = -5; para a de 0 até 9 passo 1 faça t = t-(a*50); se(t1 == -5) então t1 = 2; fimse; se (t1 == 2) então t1 = -5; fimse; escreva ("t1/t"); soma = soma + div(t1/t); fimpara; escreva ("O valor da soma dos 10 primeiros termos é "); fim Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Setembro 27, 2009 O primeiro está incorreto. A validação da data vai muito além daquilo. Um boa estratégia é validar primeiramente o ano. Ano precisa ser maior que 0. Depois disso voce podevalidar se o ano é bissexto. se ano < 0 entao // pare por aqui. A data é invalida. // aqui voce pode ter uma variavel booleana indicando se o ano é bissexto. se ((ano mod 4)=0) bissexto = verdadeiro senao bissexto = falso Por base nesse código voce deve validar agora o mes que é o mais fácil. Deve estar entre 1 e 12. Os dias devem ser validados tendo por base o mês. Há um grupo que possui os dias 1-30, outro que possui os dias 1-31 e fevereiro que é um caso a parte. Tente fazer, surgindo dúvidas volte a postar. Compartilhar este post Link para o post Compartilhar em outros sites
SavioPv 0 Denunciar post Postado Maio 10, 2016 Como trasformar a quetão do ano bissexto para liguagem c? Compartilhar este post Link para o post Compartilhar em outros sites
ph1 0 Denunciar post Postado Outubro 22, 2018 Prazer para todos. A questão três não é para fazer a divisão matemática como muitos pensam, mas mostrar a sequência dos números, mostrar os valores 500, 450, 400, 350... no denominador e 2 ou -5 no numerador. Como disse, não é para dividir 2/500 que vai dar um valor e sim mostrar os números sendo diminuídos de 50 em 50. Tentei implementar. O resultado no meu sai /02/02/02/02. Não consegui identificar o erro. No final deve mostrar 2/500. int num,denom,i; num = 0; denom = 0; for(i=1;i<=500;i++) { if (num % 2 == 0) { num = 2; denom = 0; cout << num << "/" << denom; } else { num = -5; denom = 50; cout << num << "/" << denom; } denom = denom + 50; } } Compartilhar este post Link para o post Compartilhar em outros sites