Bruno de Oliveira
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # DevMonk | Trilha de Treinos [toc] ## TFR<1,1,1> ### Slide 1 #### Exercício 1 Implemente uma função que recebendo um número, calcule a área do quadrado. ```csharp= public int AreaQuadrado(int lado) { int area = lado * lado; return area; } int x = AreaQuadrado(4); // 16 ``` #### Exercício 2 Implemente uma função que recebendo dois números, calcule a área do triângulo. ```csharp= public double AreaTriangulo(double basee, double altura) { return (basee * altura) / 2; } double area = AreaTriangulo(2, 2) // 2 ``` #### Exercício 3 Implemente uma função que recebendo dois números, calcule o perímetro do octogono. ```csharp= public int PerimetroOctogono(int lado) { return 8 * lado; } int perimetro = PerimetroOctogono(5); // 40 ``` #### Exercício 4 Implemente uma função que recebendo o raio, calcule a área da circunferência. ```csharp= public double AreaCircunferencia(int raio) { double area = Math.PI * Math.Pow(raio, 2); return area; } double area = AreaCircunferencia(4); //50.2654824574367 ``` ### Slide 2 #### Exercício 1 Implemente uma função que recebendo um valor em kilos, converta para miligramas. ```csharp= public double KiloParaMiligramas(double quilo) { return quilo * 1000000; } double miligramas = KiloParaMiligramas(4); //4000000 ``` #### Exercício 2 Implemente uma função que recebendo três notas, calcule a média simples. ```csharp= public double MediaSimples(double nota1, double nota2, double nota3) { return (nota1 + nota2 + nota3) / 3; } double media = MediaSimples(4, 6, 8); //6 ``` #### Exercício 3 Implemente uma função que recebendo a média de um aluno, retorne verd/falso caso a média seja maior ou igual a cinco. ```csharp= public bool Passou(double nota) { bool passou = nota >= 5; return passou; } bool media = Passou(8); //True ``` #### Exercício 4 Implemente uma função que recebendo três notas, retorne verd/falso caso a média seja menor que cinco. ```csharp= public bool Reprovou(double nota1, double nota2, double nota3) { double media = (nota1 + nota2 + nota3) / 3; return media < 5; } bool media = Reprovou(6, 5, 5); //False ``` ### Slide 3 #### Exercício 1 Implemente uma função que recebendo dois lados de uma forma geométrica, retorne verd/false se a forma for um retângulo. ```csharp= public bool IsFormaRetangulo(int largura, int comprimento) { return largura != comprimento; } bool medidas = IsFormaRetangulo(10, 7); //True ``` #### Exercício 2 Implemente uma função que recebendo a base e altura de dois retângulos, retorne verd/false se as áreas forem iguais. ```csharp= public bool AreaIguais(double base1, double altura1, double base2, double altura2) { return base1 * altura1 == base2 * altura2; } bool area = AreaIguais(2, 4, 8, 10); //False ``` #### Exercício 3 Implemente uma função que recebendo o raio e altura de dois cilindros, retorne verd/false se o volume do primeiro cilindro cabe no segundo. ```csharp= public bool CabeNoRecipiente(double raio1, double altura1, double raio2, double altura2) { double cilindro1 = Math.PI * Math.Pow(raio1, 2) * altura1; double cilindro2 = Math.PI * Math.Pow(raio2, 2) * altura2; bool cabe = cilindro1 <= cilindro2; } bool volume = CabeNoRecipiente(2, 4, 10, 8); //True ``` ### Slide 4 #### Exercício 1 Implemente uma função que recebendo um valor textual que representa um mês, retorne verd/false se o mês pertence ao terceiro trimestre. ```csharp= public bool IsTerceiroTrimestre(string mes) { return mes == "Julho" || mes == "Agosto" || mes == "Setembro"; } bool trim3 = IsTerceiroTrimestre("Maio"); //False ``` #### Exercício 2 Implemente uma função que recebendo a temperatura atual do dia e um valor numérico com a hora atual, retorne se a pessoa deve sair para passear no parque, caso a temperatura esteja entre 20 e 30 e o horário entre 08 e 15. ```csharp= public bool VamosAoParque(int hora, double temperatura) { bool horaOk = hora >= 08 && hora <= 15; bool tempOk = temperatura >= 20 && temperatura <= 30; return horaOk && tempOk; } bool parque = VamosAoParque(20, 25); //False ``` #### Exercício 3 Implemente uma função que recebendo o ano de nascimento e o nome de uma pessoa, retorne o texto: XXX sua idade no ano atual será XXX anos" ```csharp= public string MinhaIdadeEsseAno(int ano, string nome) { DateTime anoatual = DateTime.Now; int diferenca = anoatual.Year - ano; string frase = nome + " sua idade no ano atual será " + diferenca + " anos."; return frase; } string idade = MinhaIdadeEsseAno(2003, "Gabriel"); //Gabriel sua idade no ano atual será 18 anos. ``` ### Slide 5 #### Exercício 1 Implemente uma função que recebendo o valor total de uma compra, a quantidade de parcelas e a taxa de juros por mês, calcule o valor final da compra considerando juros simples. ```csharp= public double JurosSimples(double totalcompra, int parcelas, double juros) { double porcentagem = juros / 100; double jurosimples = totalcompra * porcentagem * parcelas; double total = totalcompra + jurosimples; return total; } double subtotal = JurosSimples(200, 2, 5); //220 ``` #### Exercício 2 Implente uma função que recebendo o primiero termo de uma PA (progressão aritmética), a razão e a posição do termo que deseja encontrar, retorne o valor encontrado desse termo. ```csharp= public int BuscarTermoPA(int termo1, int razao, int posicao) { return termo1 + (posicao - 1) * razao; } int termo = BuscarTermoPA(5, 3, 5); //17 ``` ### Slide 6 #### Exercício 1 Em uma venda de Açaí, onde são informadas as quantidades de açaí pequenos, médios e grandes, calcule o total a pagar sabendo que os preços do açaí são R$10,00, R$12,00, R$14,00 respectivamente e não sofrerão alteração de preço. ```csharp= public int PrecoAcai(int pequeno, int medio, int grande) { int acaipequeno = pequeno * 10; int acaimedio = medio * 12; int acaigrande = grande * 14; int total = acaipequeno + acaimedio + acaigrande; return total; } int preco = PrecoAcai(2, 4, 3); //110 ``` #### Exercício 2 Em uma competição de arco e flecha as possibilidades de pontos são 10, 25 e 50 dependendo de onde a flecha acertar no alvo. Cada arqueiro possui 5 flechas. A partir da quantidade de flechas acertadas em 10, 25 e 50, calcule a quantidade de pontos do arqueiro. ```csharp= public int PontucaoArqueiro(int alvo1, int alvo2, int alvo3) { return (alvo1 * 10) + (alvo2 * 25) + (alvo3 * 50); } int total = PontucaoArqueiro(1, 1, 3); //185 ``` ### Slide 7 #### Exercício 1 Em uma estrada com limnite de velocidade de 110 km/hora, os carros viajam de uma cidade a outra e ocasionalmente param de funcionar. A partir do quilômetro da estrada em que o carro parou e o quilômetro de onde se encotra o posto policial, calule quantos minutos levará para o carro receber atendimento do posto policial. ```csharp public double AtendimentoPolicial(double quilometragem) { return quilometragem / 110; } double tempo = AtendimentoPolicial(120); //1.090 ``` #### Exercício 2 Uma pessoa monta seu lanche da manhã pela quantidade de fatias de pão de forma, fatias de mussarela e presunto. Sua nutricionista lhe informou o total de calorias que podem ser gastas no lanche da manhã. Retorne verdadeiro/falso se o lanche montado pela pessoa está saudável conforme o limite estipulado por sua nutricionista. (Pesquise as calorias das fatias de pão, mussarela e presunto na internet) ```csharp public bool CaloriasPermitidas(int pao, int mussarela, int presunto, double nutricionistacal) { int calorias = (pao * 120) + (mussarela * 65) + (presunto * 14); return calorias <= nutricionistacal; } bool calorias = CaloriasPermitidas(5, 10, 9, 540); //False ``` ### Slide 8 #### Exercício 1 Uma equipe de voluntários prepara marmitas para desabrigados, no fim de cada semana as marmitas são preparadas utilizando os ingredientes recebidos através de doação. Cada marmita pesa em média 800 gramas. Os voluntários possuem um cadastro das pessoas que irão receber a família. A partir do número de pessoas cadastradas, crie uma função que informe quantos quilos de arrecadação são necessários para atender a todos. ```csharp public double QuilosNecessarios(int pessoas) { return pessoas * 800.00 / 1000; } double quilos = QuilosNecessarios(4); //3.2 ``` #### Exercício 2 A partir do total de uma compra realizada online, você deve calcular o valor total considerando o total de parcelas, sabendo que há juros de 2% por mês. Considere também o valor do frente e da garantia estendida em anos. Cada ano da garantia estendida, aumenta 5% no valor da compra. ```csharp= public double ValorCompra (double valorParcelas, int parcelas, double frete, double valorGarantia, int anosGarantia) { double valortotal = valorParcelas * parcelas; double jurosMes = valorParcelas * 0.02 * parcelas; double JurosAno = valorGarantia * 0.05 * anosGarantia; return valortotal + jurosMes + JurosAno + frete; } double total = ValorCompra(50, 4, 15, 50, 2); //224 ``` ### Slide 9 #### Exercício 1 Um grupo de amigos querem realizar um churrasco para comemorar uma data especial. Eles precisam descobrir quanto cada um precisa contribuir de dinheiro. No churrasco terá carne, calabresa, queijo coalho e pão de alho. A carne e a calabresa é cobrada a partir dos quilos, o quejo coalho e o pão de algo são cobrados por unidade do pacote. A partir da quantidade de comida informada para cada aliment e do total de pessoas participantes do churrasco, crie uma função que calcule o valor que cada uma precisa contribuir. ```csharp= public double Contribuicao(int pessoas, double quiloCarne, double quiloCalabresa, int pacotePao, int pacoteQueijo, double valorCarne, double valorCalabresa, double valorPao, double valorQueijo) { double carne = quiloCarne * valorCarne; double calabresa = quiloCalabresa * valorCalabresa; double pao = pacotePao * valorPao; double queijo = pacoteQueijo * valorQueijo; return (carne + calabresa + pao + queijo) / pessoas; } double total = Contribuicao(5, 5, 4, 5, 5, 25, 12, 8, 10); //52.6 ``` #### Exercício 2 Uma compra online paga com cartão de crédito permite que o pagamento seja realizado se o total na conta corrente for superior ao valor da compra. Se o valor na conta corrente for menor , o banco ainda considera o valor do cheque especial para permitir a compra, se o valor da conta corretente considerando o cheque especial ainda for menor , a compra não é permitida. A partir do valor da compra do total de parcelas e savendo o que o juros é de 2% ao mês, crie uma função que retorne verdadeiro se a compra for aprovada e falso caso não seja. ```csharp= public bool PermissaoCartaoCredito(double conta, double valorCompra, int parcelas, double cheque) { double valorParcelas = valorCompra / parcelas; double juros = valorParcelas * 0.02 * parcelas; double total = valorCompra + juros; return total <= conta || total <= conta + cheque; } bool permissao = PermissaoCartaoCredito(1000, 3000, 6, 3000); //True ``` ### Slide 10 #### Exercício 1 Você decidiu maratonar uma série nova da Netflix e quer descobrir quantas s irá levar para terminá-la. Em cada dia da semana você tem uma quantidade de horas diferente para poder assistir a série. A partir da quantidade de horas disponíveis em cadsa dia da semana, do total de episódios e da média em minuto dos episódios, crie uma função que calcule quantas semanas levará para zerar a série. ```csharp= public double SemanasParaMaratonar(int seg, int ter, int qua, int qui, int sex, int sab, int dom, int qtdEpisodios, double tempoEp) { double totalMinutosDisp = (seg + ter + qua + qui + sex + sab + dom) * 60; double totalMinutosSerie = qtdEpisodios * tempoEp; double semanas = totalMinutosSerie / totalMinutosDisp; return semanas; } double x = SemanasParaMaratonar(1, 1, 1, 1, 1, 1, 1, 14, 60); //2 ``` #### Exercício 2 para ir e voltar do trabalho uma pessoa abastece o carro semanalmente. A distância percorrida na ida e volta são diferentes, já que ele percorre caminhos diferentes para fugir do trânsito. No dia do rodízio, ele ainda percorre outros caminhos de ida e volta para não levar multa. Sabendo que a pessoa trabalha apeas de segunda a sexta e que o carro será abastecido com gasolina, calcule o total que será gasto no mês considerando que um mês possui 4 semanas. Crie uma função para calcular o total gasto a partir das quilometragens de ida e volta, considerando o dia do rodízio e o consumo por litro do veículo. ```csharp= public double TotalAbastecimento(double ida, double volta, double idaRodizio, double voltaRodizio, double consumoPorLitro) { double totalKmSemana = (ida + volta) * 4 + idaRodizio + voltaRodizio; double totalKmMes = totalKmSemana * 4; double totalLitros = totalKmMes / consumoPorLitro; double totalPagar = totalLitros * 4.8; return totalPagar; } double total = TotalAbastecimento(5, 5 , 5, 5, 12); //80 ``` # Nível 2 ### Slide 1 #### Exercício 1 Implemente uma função que recebendo o cateto oposto e adjacente, calcule a hipotenusa. ```csharp= public double Hipotenusa(double catetOposto, double adjacente) { double hipotenusa = Math.Pow(catetOposto, 2) + Math.Pow(adjacente, 2); return Math.Sqrt(hipotenusa); } double hipotenusa = Hipotenusa(4, 4); //5,656854249492381 ``` #### Exercício 2 Implemente umna função que recebendo um nome completo, retorne o primeiro nome. ```csharp= public string PrimeiroNome(string nomeCompleto) { int nome = nomeCompleto.IndexOf(" "); return nomeCompleto.Substring(0, nome); } string nome = PrimeiroNome("José Paulo de Oliveira"); //José ``` #### Exercício 3 Implemente uma função que recebendo uma data, retorne o último dia do mês referente a essa data. ```csharp= public DateTime UltimoDia(DateTime data) { return data.AddMonths(1).AddDays(-data.Day); } DateTime diaMes = UltimoDia(new DateTime (2021, 06, 01)); //30/06/2021 00:00:00 ``` ### Slide 2 #### Exercício 1 Implemente uma função que recebendo uma altura e peso de uma pessoa, calcule o IMC. ```csharp= public double Imc(double altura, double peso) { return peso / Math.Pow(altura, 2); } double imc = Imc(1.50, 48); // 21,333333333333332 ``` #### Exercício 2 Implemente uma função que recebendo um nome completo, retorne o último nome. ```csharp= public string UltimoNome(string nomeCompleto) { int nome = nomeCompleto.LastIndexOf(" "); return nomeCompleto.Substring(nome); } string nome = UltimoNome("Jose Luis Oliveira"); //Oliveira ``` #### Exercício 3 Implemente uma função que recebendo uma data, retorne o primeiro dia do próximo mês referente a essa data. ```csharp= public DateTime PrimeiroDiaProximoMes(DateTime data) { return data.AddMonths(1).AddDays(data.Day - data.Day); } DateTime primeiroDia = PrimeiroDiaProximoMes(new DateTime (2021, 06, 01)); //01/07/2021 00:00:00 ``` ### Slide 3 #### Exercício 1 Implemente uma função que recebendo o valor de um automóvel, a quantidade de parcelas e a taxa, calcule o valor final aplicando os juros compostos com arredondamento de duas casas decimais. ```csharp= public double CompraAutomovel(double valorAutomovel, int parcelas, double juros) { double valorParcela = valorAutomovel / parcelas; double porcentagem = juros / 100; double jurosComposto = valorParcela * Math.Pow(( 1 + porcentagem), parcelas) + valorAutomovel; return Math.Round(jurosComposto, 2); } double total = CompraAutomovel(10000, 5, 2); //12208,16 ``` #### Exercício 2 Implemente uma função que recebendo um Tweet, retorne verdadeiro se a quantidade de caracters sem considerar os espaços for menor que 140. ```csharp= public bool TweetValido(string tweet) { int frase = tweet.Trim().Length; return frase < 140; } bool frase = TweetValido("Treino de lógica"); //True ``` #### Exercício 3 Implemente uma função que a partir de uma data, informe se o mês referente termina em 31 dias. ```csharp= public bool Possui31Dias(DateTime data) { DateTime diaMes = data.AddMonths(1).AddDays(-data.Day); return diaMes.Day == 31; } bool mes = Possui31Dias(new DateTime(2021,05,01)); //True ``` ### Slide 4 #### Exercício 1 Implemente uma função que recebendo uma número de telefone com DDD, retorne o número aplicando a máscara (##) #####-####. ```csharp= public string MascaraTelefone(long numero) { string conversao = Convert.ToString(numero); string ddd = conversao.Substring(0,2); string metade1 = conversao.Substring(2, 5); string metade2 = conversao.Substring(7); string formatacao = string.Format($"({ddd})" + metade1 + "-" + metade2); return formatacao; } string telefone = MascaraTelefone(11965258749); //(11)96525-8749 ``` #### Exercício 2 Implemente uma função que recebendo um Tweet, retorne as Hashtags informadas ao final da mensagem. Ex: "Bora codar aí dev!! #Devmonk#SangueNosOio" Resp.: "#Devmonk#SangueNosOio" ```csharp= public string TweetHashtags(string frase) { int posicao = frase.IndexOf("#"); return frase.Substring(posicao); } string tweet = TweetHashtags("Bora codar aí dev!! #Devmonk#SangueNosOio"); //#Devmonk#SangueNosOio ``` #### Exercício 3 Implemente uma função que a partir de uma data, informe se a mesma cai em uma sexta-feira 13. ```csharp= public bool SextaFeira13(DateTime data) { return data.Day == 13 && data.DayOfWeek == DayOfWeek.Friday; } bool dia = SextaFeira13(new DateTime(2021,05,13)); //False ``` ### Slide 5 #### Exercício 1 Implemente uma função que recebendo uma mensagem, retorne verd/ falso caso a frase possua todas as vogais do alfabeto. ```csharp= public bool PossuiTodasVogais(string frase) { return frase.Contains("a") && frase.Contains("e") && frase.Contains("i") && frase.Contains("o") && frase.Contains("u"); } bool frase = PossuiTodasVogais("a"); //False ``` #### Exercício 2 Implemente uma função que recebendo uma palavra composta, retorne a palavra composta invertida. Ex.: Guarda-Chuva >> Chuva-Guarda. ```csharp= public string InverterPalavrasComposta(string palavra) { int corte1 = palavra.IndexOf("-"); string posicao1 = palavra.Substring(0, corte1); int corte2 = palavra.IndexOf("-"); string removeHifen = palavra.Substring(corte2); string posicao2 = removeHifen.Substring(1); return $"{posicao2}-{posicao1}"; } string palavra = InverterPalavrasComposta("Guarda-Chuva"); //Chuva-Guarda ``` #### Exercício 3 Implemente uma função que a partir de uma senha informada pelo usuário, retorne verd/falso caso a senha seja uma senha forte. Uma senha forte possui no mínimo 8 caracteres, pelo menos 1 caractere especial e 1 número. ```csharp= public bool SenhaForte(string senha) { bool caracteresEspeciais = Regex.Match(senha, "^.*([0-9]+.*[!@#$%&]+|[!@#$%&]+.*[0-9]+).*$").Length >= 8; return caracteresEspeciais; } bool senhaForte = SenhaForte("senhaforte42@"); Console.WriteLine(senhaForte); //True ``` ### Slide 6 #### Exercício 1 Implemente uma função que recebendo uma data de aniversário, retorne quantos dias a pessoa possui de vida ```csharp= public double DiasDeVida(DateTime data) { TimeSpan da = DateTime.Today - data; return da.TotalDays; } double data = DiasDeVida(new DateTime(2005,09,27)); //5700 ``` #### Exercício 2 Implemente uma função que recebendo uma data de nascimento com hora, minuto e segundo, retorne verd/falso caso a pessoa tenha nascido à noite. ```csharp= public bool NascimentoANoite(DateTime data) { return data.Hour >= 18 && data.Hour <= 24; } bool noite = NascimentoANoite(new DateTime(2021,02,14,23,05,45)); //True ``` #### Exercício 3 Implemente uma função que descubra se duas pessoas nasceram no mesmo dia e mês independente do ano. ```csharp= public bool NasceuNoMesmoDia(DateTime dataPessoa1, DateTime dataPessoa2) { return dataPessoa1.DayOfWeek == dataPessoa2.DayOfWeek; } bool data = NasceuNoMesmoDia(new DateTime (2003,06,20), (new DateTime(2003,05,20))); //False ``` ### Slide 7 #### Exercício 1 Implemente uma função que implemente a lógica para descobrir se duas datas pertencem ao mesmo trimestre. ```csharp= public bool MesmoTrimestre(DateTime data1, DateTime data2) { bool trimestre1 = (data1.Month >= 01 && data2.Month >= 01) && (data1.Month <= 03 && data2.Month <= 03); bool trimestre2 = (data1.Month >= 04 && data2.Month >= 04) && (data1.Month <= 06 && data2.Month <= 06); bool trimestre3 = (data1.Month >= 07 && data2.Month >= 07) && (data1.Month <= 09 && data2.Month <= 09); bool trimestre4 = (data1.Month >= 10 && data2.Month >= 10) && (data1.Month <= 12 && data2.Month <= 12); return (trimestre1) || (trimestre2) || (trimestre3) || (trimestre4); } bool data = MesmoTrimestre(new DateTime (2003,03,20), (new DateTime(2003,09,20))); //False ``` #### Exercício 2 Implemente uma função que implemente a lógica para descobrir se uma pessoa possui mais de 18 anos. ```csharp= public bool PessoaDeMaior(DateTime data) { DateTime atual = DateTime.Now; DateTime anos = atual.AddYears(-18); return data <= anos; } bool data = PessoaDeMaior(new DateTime(2003,05,13)); //True ``` #### Exercício 3 Implemente uma função que aplique a máscara de um CPF em um texto recebido. O texto pode vir formatado de forma correta ou incorreta, ou ainda, vir apenas os números, por isso remova qualquer caracter especial antes de aplicar a formatação. ```csharp= public string MascaraCpf(string cpf) { string formatacao = cpf.Trim(); string remocaoCaracters = formatacao.Replace(".", "").Replace("-", ""); string parte1 = remocaoCaracters.Substring(0,3); string parte2 = remocaoCaracters.Substring(3,3); string parte3 = remocaoCaracters.Substring(6,3); string parte4 = remocaoCaracters.Substring(9,2); string juncao = $"{parte1}.{parte2}.{parte3}-{parte4}"; return juncao; } string cpf = MascaraCpf("12345678909"); //123.456.789-09 ``` #### Exercício 4 Implemente uma função que valide se um CEP é válido, ou seja, se ele possui 9 caracteres e possui um hífen no sexto caractere. ```csharp= public bool ValidaCep(string cep) { //80449-030 int qtdCep = cep.Length; bool tamanho = qtdCep == 9; bool hifen = cep[5] == '-'; return (tamanho) && (hifen); } bool cep = ValidaCep("04944-694"); //True ``` #### Exercício 5 Implemente uma função que calcule o volume de dois cilindros e informe se seria possível colocar o conteúdo do primeiro cilindro no conteúdo do segundo. ```csharp= public bool CabeNoRecipiente(double raio1, double altura1, double raio2, double altura2) { double cilindro1 = Math.PI * Math.Pow(raio1, 2) * altura1; double cilindro2 = Math.PI * Math.Pow(raio2, 2) * altura2; bool cabe = cilindro1 <= cilindro2; } bool volume = CabeNoRecipiente(2, 4, 10, 8); //True ``` ### Slide 8 #### Exercício 1 Implemente uma função que implemente a lógica para calcular uma equação de segundo grau. A função irá receber os termos 'a', 'b' e 'c' e retornar os valores de x¹ w x² concatenados. ```csharp= public string EquacaoSegundoGrau(double a, double b, double c) { double delta = Math.Pow(b,2) - 4 * a * c; double x1 = (-(b) + Math.Sqrt(delta)) / 2*(a); double x2 = (-(b) - Math.Sqrt(delta)) / 2*(a); return $"S=({x2},{x1})"; } string solucao = EquacaoSegundoGrau(1, 1, -12); // S=(-4,3) ``` #### Exercício 2 Implemente uma função que implemente a lógica para encontrar um termo de uma PG (Progressão Geométrica). A função deverá receber o primeiro termo, junto a razaão e a posição do termo que deseja encontrar. ```csharp= public double ProgressaoGeometrica(double termo1, double razao, double termoDesejado) { double termo = termo1 * Math.Pow(razao, termoDesejado - 1); return termo; } double termo = ProgressaoGeometrica(1, 2, 6); // 32 ``` #### Exercício 3 ```csharp= public bool MesmaFamilia(string pessoa1, string pessoa2, string pessoa3) { int posicaoSobrenome1 = pessoa1.LastIndexOf(" "); string sobrenomePessoa1 = pessoa1.Substring(posicaoSobrenome1); int posicaoSobrenome2 = pessoa2.LastIndexOf(" "); string sobrenomePessoa2 = pessoa2.Substring(posicaoSobrenome2); int posicaoSobrenome3 = pessoa3.LastIndexOf(" "); string sobrenomePessoa3 = pessoa3.Substring(posicaoSobrenome3); return sobrenomePessoa1 == sobrenomePessoa2 && sobrenomePessoa1 == sobrenomePessoa3; } bool familia = MesmaFamilia("José Silva Santos", "Julia Silva Santos", "Beatriz Pereira da Silva"); //False ```

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully