├── 01_introducao
├── 01_01_raciocionio_logico
│ ├── README.md
│ └── sherlock.jpg
├── 01_02_desafios
│ └── README.md
├── 01_03_desafios
│ └── README.md
├── 01_04_transicao
│ ├── README.md
│ └── software.jpg
├── 01_05_JS
│ ├── README.md
│ ├── browsers.png
│ └── programminglanguages.png
├── 01_06_certificacao_fundamentos
│ ├── README.md
│ ├── lets_coding.png
│ ├── mimo.png
│ ├── mimo1.png
│ ├── mimo2.png
│ ├── mimo3.png
│ ├── mimo4.png
│ ├── mimo5.png
│ ├── mimoJavaScript.png
│ ├── mimoTrilha.png
│ ├── mimoTrilha2.png
│ └── mimoTrocaCurso.png
└── README.md
├── 02_variaveis_e_operadores
├── 02_01_arquivo_html_js
│ └── README.md
├── 02_02_saida_de_dados
│ ├── README.md
│ ├── alert.png
│ ├── console.png
│ └── documentwrite.png
├── 02_03_entrada_de_dados
│ ├── 02_03_01_listaExercicios
│ │ ├── 01_cumprimentar.html
│ │ ├── 02_nomeCompleto.html
│ │ ├── 03_nomeAnoNascimento.html
│ │ ├── 04_enderecoCompleto.html
│ │ ├── 05_nomeAutor.html
│ │ └── README.md
│ ├── README.md
│ ├── alert.png
│ └── prompt.png
├── 02_04_comentarios
│ └── README.md
├── 02_05_tipos_de_dados
│ ├── 02_05_01_listaExercicios
│ │ ├── 01_diferencaIdade.html
│ │ ├── 02_somaInteiros.html
│ │ ├── 03_metrosParaMilimetros.html.html
│ │ ├── 04_aumentoSalarial.html
│ │ ├── 05_descontoPreco.html
│ │ ├── 06_latasTinta.html
│ │ ├── 07_gorjeta.html
│ │ ├── 08_celsiusFahrenheit.html
│ │ ├── 09_fahrenheitCelsius.html
│ │ ├── 10_diasParaSegundos.html
│ │ ├── 11_precoAluguelCarro.html
│ │ ├── 12_diasPerdidosFumar.html
│ │ ├── 13_salarioLiquido.html
│ │ ├── 14_duziaOvos.html
│ │ └── README.md
│ ├── 02_05_02_listaExercicios_2
│ │ ├── 01_areaTriangulo.html
│ │ ├── 02_valorAlmoco.html
│ │ ├── 03_valorAlmocoKg.html
│ │ ├── 04_valorTroco.html
│ │ ├── 05_custoReforma.html
│ │ ├── 06_conversaoMoedas.html
│ │ ├── 07_mediaNotas.html
│ │ ├── 08_mediaNotasPonderada.html
│ │ ├── 09_calcularPorcentagem.html
│ │ ├── 10_pesoPessoa.html
│ │ ├── 11_salarioLiquido.html
│ │ ├── 12_divisaoHeranca.html
│ │ ├── 13_viagemAutomovel.html
│ │ ├── 14_comissaoVenda.html
│ │ └── README.md
│ └── README.md
├── README.md
└── VSCode.png
├── 03_estruturas_de_decisao
├── 03_01_if_else
│ ├── 01_maioridade.html
│ ├── 02_saqueBancario.html
│ ├── 03_01_01_opLogicos
│ │ └── README.md
│ ├── 03_01_02_listaExercicios
│ │ ├── 01_trocarVariaveis.html
│ │ ├── 02_ordemDecrescente.html
│ │ ├── 03_turnoEstudo.html
│ │ ├── 04_acrescimoNotaBB.html
│ │ ├── 05_validaParImpar.html
│ │ ├── 06_numeroCen_Dez_Uni.html
│ │ ├── 07_caixaEletronico.html
│ │ ├── 08_testaLados.html
│ │ ├── 09_operacaoMatematica.html
│ │ ├── 10_investigacaoCriminal.html
│ │ ├── 11_descontoCombustivel.html
│ │ ├── 12_idadeHumana.html
│ │ ├── 13_notaParaConceito.html
│ │ ├── 14_imc.html
│ │ ├── 15_numeroInteiroDecimal.html
│ │ ├── 16_anoBissexto.html
│ │ ├── 17_aumentoPreco.html
│ │ ├── 18_estacaoAno.html
│ │ └── README.md
│ ├── 03_01_02_listaExercicios_2
│ │ ├── 01_temperaturas.html
│ │ ├── 02_classificaProduto.html
│ │ ├── 03_calcularSalario.html
│ │ ├── 04_financiamento.html
│ │ ├── 05_periodoViagem.html
│ │ ├── 06_custoDiaTrabalho.html
│ │ ├── 07_auxilioTransporte.html
│ │ ├── 08_carreiraDocente.html
│ │ ├── 09_descontoCompra.html
│ │ ├── 10_destinoTuristico.html
│ │ └── README.md
│ ├── 03_maioridade.html
│ ├── 04_categoriaIdade.html
│ ├── 05_estaChovendo.html
│ ├── README.md
│ └── operadoresRelacionais.png
├── 03_02_operador_ternario
│ ├── 03_02_01_listaExercicios
│ │ ├── 01_maioridade.html
│ │ ├── 02_eleitor.html
│ │ ├── 03_maior2.html
│ │ ├── 04_vogal.html
│ │ ├── 05_aumentoPreco.html
│ │ ├── 06_idadeHumana.html
│ │ ├── 07_notaParaConceito.html
│ │ ├── 08_meioDeTransporte.html
│ │ ├── 09_valorHoraTrabalhada.html
│ │ ├── 10_balancoFinanceiro.html
│ │ └── README.md
│ └── README.md
├── 03_03_switch_case
│ ├── 03_03_01_listaExercicios
│ │ ├── 01_turnoEstudo.html
│ │ ├── 02_validaParImpar.html
│ │ ├── 03_operacaoMatematica.html
│ │ ├── 04_vogal.html
│ │ ├── 05_investigacaoCriminal.html
│ │ ├── 06_idadeHumana.html
│ │ ├── 07_estacaoAno.html
│ │ └── README.md
│ └── README.md
└── README.md
├── 04_arrays
├── README.md
├── exemploArray_01.html
├── exemploArray_02.html
├── exemploArray_03.html
└── listaExercicios_01
│ ├── 01_arrayCrescente.html
│ ├── 02_arrayDecrescente.html
│ ├── 03_itensCompra.html
│ ├── 04_removerSUV.html
│ ├── 05_adicionarSUV.html
│ ├── 06_lojaVeiculos.html
│ ├── 07_acertarCor.html
│ ├── 08_procuraLetra.html
│ └── README.md
├── 05_estruturas_de_repeticao
├── 01-forOf
│ ├── README.md
│ ├── array.png
│ ├── exemplo01_comp.html
│ ├── exemplo01_comp.png
│ ├── exemplo01_inc.html
│ ├── exemplo01_inc.png
│ ├── exemplo02_tabuada.html
│ ├── exemplo03_somarNumeros.html
│ └── listaExercicios_01
│ │ ├── 01_separarPares.html
│ │ ├── 02_listaFemiMasc.html
│ │ ├── 03_listaParesImpares.html
│ │ ├── 04_separarPares.html
│ │ ├── 05_nomesComVogais.html
│ │ ├── 06_buscarJoao.html
│ │ ├── 07_contarInteirosPositivos.html
│ │ └── README.md
├── 02-forControle
│ ├── README.md
│ ├── estruturaFor.png
│ ├── exemplo01_contador.html
│ ├── exemplo02_fatorial.html
│ ├── exemplo03_fibonacci.html
│ ├── exemplo04_inserirNomes.html
│ ├── exemplo05_limitarRepeticoes.html
│ ├── exemplo06_numeroPrimo.html
│ ├── listaExercicios_01
│ │ ├── 01_letrasRepetidas.html
│ │ ├── 02_mediaDoAluno.html
│ │ ├── 03_maiorNumero.html
│ │ ├── 04_imparesAte50.html
│ │ ├── 05_validarNumeroPrimo.html
│ │ ├── 06_imprimirNumeros.html
│ │ ├── 07_taxaCrescimento.html
│ │ ├── 08_somaemedia.html
│ │ ├── 09_calcularPopulacao.html
│ │ ├── 10_representanteSala.html
│ │ ├── 11_multiplos3.html
│ │ ├── 12_investimentos.html
│ │ └── README.md
│ ├── tabuadaDe2.png
│ ├── tabuadaDoUsuario.png
│ └── tabuadaDoUsuarioResultado.png
├── 03-while
│ ├── README.md
│ ├── exemplo01_intervalo.html
│ ├── exemplo02_nomeCerto.html
│ ├── exemplo03_inserirItems.html
│ ├── exemplo04_notasTrimestre.html
│ └── listaExercicios_01
│ │ ├── 01_nota0-10.html
│ │ ├── 02_usuarioSenha.html
│ │ ├── 03_validarDados.html
│ │ ├── 04_aumentoPopulacao.html
│ │ ├── 05_validaSenha.html
│ │ ├── 06_urnaEletronica.html
│ │ ├── 07_pesquisaIdade.html
│ │ ├── 08_somaEnquanto.html
│ │ ├── 09_acertarNumero.html
│ │ ├── 10_fibonacci.html
│ │ ├── 11_inversaoNumero.html
│ │ ├── README.md
│ │ └── teste.html
└── README.md
├── 06_funcoes
├── 01_parametros
│ └── README.md
├── 02_retorno
│ └── README.md
├── 03_anonimas
│ └── README.md
├── 04_callback
│ └── README.md
├── 05_autoexec
│ └── README.md
├── 06_recursivas
│ └── README.md
├── 07_outras
│ └── README.md
├── 88funcoes.html
├── README.md
├── exemplos
│ ├── README.md
│ ├── exemplo01.html
│ ├── exemplo02.html
│ ├── exemplo03.html
│ ├── exemplo04.html
│ ├── exemplo05.html
│ ├── exemplo06.html
│ ├── exemplo07.html
│ ├── exemplo08.html
│ ├── exemplo09.html
│ ├── exemplo10.html
│ ├── exemplo11.html
│ ├── exemplo12.html
│ ├── exemplo13.html
│ ├── exemplo14.html
│ ├── exemplo15.html
│ ├── exemplo16.html
│ ├── exemplo17.html
│ ├── exemplo18.html
│ ├── exemplo19.html
│ ├── exemplo20.html
│ ├── exemplo21.html
│ ├── exemplo22.html
│ └── exemplo23.html
└── listaExercicios_01
│ ├── 01_cumprimentar.html
│ ├── 02_calcularCubo.html
│ ├── 03_conversaoFahrenheit.html
│ ├── 04_conversaoCelsius.html
│ ├── 05_areaTriangulo.html
│ ├── 06_calculoCirculo.html
│ ├── 07_contarVogais.html
│ ├── 08_IMC.html
│ ├── 09_fatorial.html
│ ├── 10_contarLetra.html
│ ├── 11_verificaPrimo.html
│ ├── 12_verificaParImpar.html
│ └── README.md
├── 07_objetos
├── README.md
└── listaExercicios_01
│ ├── 01_areaRetangulo.html
│ ├── 02_nomeCompleto.html
│ ├── 03_nomeLivro.html
│ ├── 04_latidoCachorro.html
│ ├── 05_dadosCarro.html
│ ├── 06_corCasa.html
│ ├── 07_dadosCliente.html
│ ├── 08_contaBancaria.html
│ ├── 09_dadosFuncionario.html
│ ├── 10_microondas.html
│ └── README.md
├── 08_desafios
├── README.md
├── calculadoraDesafio.png
├── calculadoraIdioma.png
└── listaTarefas.png
└── README.md
/01_introducao/01_01_raciocionio_logico/README.md:
--------------------------------------------------------------------------------
1 | ### [**Voltar para o Início**](../../README.md)
2 |
3 | #### [**Página Anterior**](../README.md)
4 |
5 | # **RACIOCÍNIO LÓGICO**
6 |
7 | É uma organização que nos possibilita, atendendo às regras e limitações identificadas, resolver um problema, um enigma, ou concluir um simples trabalho. Note sempre haverá a _resolução de um problema_, seja este de qualquer nível de complexidade.
8 |
9 | Os exemplos dados anteriormente (soma entre números e deslocamento entre cidades) demanda do raciocínio lógico do ator para que consiga resolvê-lo.
10 |
11 | 
12 |
13 | Você não precisa ser um *Sherlock Holmes* para a maioria dos problemas. Você só precisa **parar pra pensar**.
14 |
15 | Os estudos sobre lógica são extremamente antigos, conforme citações em livros de Matemática sobre de Aristóteles, que nasceu em 384 a.C. No campo da Filosofia também há estudos sobre lógica. Afinal, **por que pensamos de uma maneira e não de outra?**
16 |
17 | Para resolver problemas de computador, precisamos organizar os pensamentos e definir etapas a serem seguidas, correspondentes com as tarefas que você deseja que o computador execute.
18 |
19 |
20 | Simplificando: Sempre que você for desenvolver um programa, pense nele como uma **receita de bolo**. Para uma receita de bolo você deve ter os ingredientes (*dados de entrada*), as ações realizadas sobre os ingredientes (*processamento*) e o resultado esperado, que é o bolo (*dados de saída*).
21 |
22 |
23 |
24 | ***Vamos começar a exercitar o raciocínio lógico!***
25 |
26 | Para treinar o seu raciocínio lógico com alguns problemas simples, clique abaixo para ir resolver alguns desafios de lógica *próxima página*.
27 |
28 | #### [***Desafios de Lógica***](../01_02_desafios/README.md)
--------------------------------------------------------------------------------
/01_introducao/01_01_raciocionio_logico/sherlock.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/01_introducao/01_01_raciocionio_logico/sherlock.jpg
--------------------------------------------------------------------------------
/01_introducao/01_02_desafios/README.md:
--------------------------------------------------------------------------------
1 | ### [**Voltar para o Início**](../../README.md)
2 |
3 | #### [**Página Anterior**](../01_01_raciocionio_logico/README.md)
4 |
5 | # Raciocínio Lógico: Desafios
6 |
7 | ***Requisitos para estar aqui:***
8 | - Ter lido a introdução sobre raciocínio lógico.
9 | - Caso não tenha lido ainda, [**CLIQUE AQUI**.](../01_01_raciocionio_logico/README.md)
10 |
11 | ### *Desafio 1: Lobo, Ovelha e Repolho*
12 | Você já ouviu falar do desafio do Lobo, da Ovelha e da Alfafa?
13 |
14 | Nesse problema você deverá atravessar cada um deles para o outro lado do rio. Contudo deverá atender às seguintes condições:
15 | - A Ovelha e o Lobo não poderão ficar sozinhos em uma das margens do rio, e
16 | - O Repolho e a Ovelha não poderão ficar sozinhos em uma das margens do rio.
17 |
18 | Observe (e anote) quanto tempo você demorará para resolver o desafio.
19 |
20 | *Dica: O que você levar para o outro lado do rio poderá também voltar para o laldo inicial.*
21 |
22 | [Clique aqui para resolver o desafio!](https://rachacuca.com.br/jogos/o-lobo-e-a-ovelha/)
23 |
24 | Conseguiu resolver? Em quanto tempo?
25 |
26 | Agora que você resolveu o primeiro desafio, vamos para o segundo.
27 |
28 | ### *Desafio 2: Monges e Canibais*
29 | Este é um pouco mais desafiador!
30 |
31 | Agora, você precisa atravessar os monges e os canibais para o outro lado do rio. Para realizar esta tarefa, você não poderá deixar que a quantidade de canibais, em qualquer lado do rio, seja superior a quantidade de monges. Se isso acontecer, você terá fracassado na missão.
32 |
33 | *Dica: Assim como no desafio anterior você poderá regressar com um dos indivíduos para o lado inicial da travessia.*
34 |
35 | [Clique aqui para resolver o desafio!](https://www.jogos360.com.br/canibais_vs_monges.html)
36 |
37 | Observe quanto tempo você demora
38 |
39 | E agora? Resolvido? Quanto tempo demorou para concluir a missão?
40 |
41 | ## **Reforçando o raciocínio lógico**
42 |
43 | Caso você queira algo mais desafiador, clique abaixo e veja as propostas sugeridas para aprimorar o seu raciocínio lógico.
44 |
45 | #
46 |
47 | ### [**Elevando o nível: Treine o seu raciocínio lógico!**](../01_03_desafios/README.md)
--------------------------------------------------------------------------------
/01_introducao/01_03_desafios/README.md:
--------------------------------------------------------------------------------
1 | ### [**Voltar para o Início**](../../README.md)
2 |
3 | #### [**Página Anterior**](../01_02_desafios/README.md)
4 |
5 | # Treinando o Raciocínio Lógico
6 |
7 | ***Requisitos para estar aqui:***
8 | - Ter resolvido os dois testes de raciocínio lógico anteriores!
9 | - Caso não tenha resolvido ainda, [**CLIQUE AQUI**.](../01_02_desafios/README.md)
10 |
11 | *Caso você já sinta confiante, poderá pular esta etapa e migrar para a [Lógica de Programação](#transição-para-a-lógica-de-programação).*
12 |
13 | Agora que você já *aqueceu* o cérebro, reforce ele com esses outros dois desafios sugeridos.
14 |
15 | #### **Desafio Adicional 1**
16 | Caso você já tenha feito os dois desafios anteriores, este será **MUITO FÁCIL!**
17 |
18 | A regra aqui é transferir todos os sapos que estão no lado direito para o lugar dos sapos que estão ao lado esquerdo e, obviamente, os sapos que estão no lado esquerdo deverão ser transferidos para o lado direito.
19 |
20 | *Anote o tempo que você levará para realizar o desafio!*
21 |
22 | [Clique aqui para resolver o desafio!](https://www.neok12.com/games/leap-froggies/leap-froggies.htm)
23 |
24 | ### **Desafio Adicional 2**
25 | Este aqui exigirá um pouco mais do seu raciocínio lógico. O chamado *Teste de Einstein* possui diversas regras para identificar onde cada morador reside, a sua nacionalidade, qual a cor da casa, animal preferido, entre outros.
26 |
27 | Este desafio é sensacional! Sugiro, inclusive, realizá-lo em dupla!
28 |
29 | *Anote o tempo que você levará para realizar o desafio!*
30 |
31 | [Clique aqui para realizar o Teste de Einstein!](https://rachacuca.com.br/logica/problemas/teste-de-einstein/)
32 |
33 | #
34 |
35 | # Transição para a Lógica de Programação
36 |
37 | Agora que você já treinou um pouco o raciocínio lógico, vamos migrar para a *Lógica de Programação*. O link para migrar para a próxima fase está disponível aqui :arrow_down:
38 |
39 | ### [**Clique aqui para migrar para a Lógica de Programação**](../01_04_transicao/README.md)
--------------------------------------------------------------------------------
/01_introducao/01_04_transicao/README.md:
--------------------------------------------------------------------------------
1 | ### [**Voltar para o Início**](../../README.md)
2 |
3 | #### [**Página Anterior**](../01_03_desafios/README.md)
4 |
5 | # Hello, World!
6 |
7 | ***Requisitos para estar aqui:***
8 | - Ter resolvido pelo menos os dois primeiros testes de raciocínio lógico!
9 | - Caso não tenha resolvido ainda, [**CLIQUE AQUI**.](../01_02_desafios/README.md)
10 |
11 |
12 | Comecemos com algumas regras básicas. Para isso, apresentaremos um exemplo de programa para resolver o seguinte problema: *Acender um palito de fósforo!*
13 |
14 | **Quais são as etapas necessárias para este programa?**
15 |
16 | Comecemos com a seguinte sugestão de passos:
17 |
18 | 1. Pegar uma caixa de fósforo.
19 | 2. Abrir a caixa de fósforo.
20 | 3. Verificar se há palito de fósforo. Se houver:
21 |
22 | 3.1. Retirar um palito.
23 |
24 | 3.2. Fechar a caixa.
25 |
26 | 3.3. Riscar o palito.
27 |
28 | 3.4. Verificar se acendeu. Se SIM:
29 |
30 | 3.4.1. OK! Problema resolvido!
31 |
32 | 3.5. Se NÃO:
33 |
34 | 3.5.1. Retornar ao passo (...?).
35 |
36 | 4. Descartar a caixa e retornar ao passo 1.
37 |
38 |
39 | ## Este seria quase todo o programa. Porém, o que falta é...
40 |
41 | Para onde você imagina que o passo 3.5.1. deve retornar?
42 | - Se retornar para o 3.1, ainda haverá palitos?
43 | - Se retornar para o 3.3, quantas vezes tentará acender o palito?
44 | - ***Na sua opinião, o correto seria voltar para qual passo?***
45 |
46 | Considerando que o palito será descartado, o correto seria voltar para o **passo número 2!** Isso se deve ao fato de a caixa ter sido fechada logo após você retirar o palito (3.2).
47 |
48 | A lógica para resolver o problema acima exige que sejam estruturados vários comandos sequenciais. Este problema será citado diversas vezes no futuro, pois abordará grande parte dos conceitos que serão ensinados ao longo do ano letivo, além da organização que deveremos ter ao codificar um programa para qualquer solução.
49 |
50 | > Lembre-se que um computador nunca será mais inteligente que um humano! Um computador apenas segue uma sequência de tarefas definidas por um humano.
51 |
52 | Para trabalhar com desenvolvimento de soluções para a área de Tecnologia da Informação, você deverá ter uma visão crítica, entendendo o problema de forma holística.
53 |
54 | Caso contrário, você poderá vivenciar a seguinte situação:
55 |
56 | 
57 |
58 | Grande parte dos problemas estarão divididos em três etapas, já abordadas aqui: Entrada, Processamento e Saída.
59 |
60 | # Entrada, Processamento e Saída
61 |
62 | Um programa sempre deverá ter esta separação, que inclusive já foi abordada aqui anteriormente. O que são cada uma delas?
63 | * Entrada: É quando algum dado é solicitado para o usuário. Este dado pode ser um Nome, uma Data de Nascimento, Idade, Salário, etc.
64 | * Processamento: Logo após o(s) dado(s) ser(em) fornecido(s), eles serão processados, mediante a regra estabelecida, necessária para resolver o problema.
65 | * Saída: A informação é apresentada para o usuário, mediante o problema apresentado. Veja: Estamos transformando dados em informações!
66 |
67 | **Exemplo**: É solicitado que o usuário insira a sua data de nascimento. Após, o programa irá processar aquele dado fornecido e informará se o usuário é maior de idade ou não.
68 |
69 | Para que a solução seja compreendida pelo computador, utilizamos algumas *Linguagens de Programação*. As Linguagens de Programação utilizam comandos, que, em grande parte, são específicos de cada linguagem. O conceito pode ser o mesmo, mas para executar o comando talvez não haja similaridade entre diferentes linguagens de programação.
70 |
71 | Por exemplo, o comando para apresentar um texto qualquer para o usuário.
72 | - Em PHP: Comando ***echo***;
73 | - Em JavaScript: Comando ***alert***.
74 |
75 | ## Falando em JavaScript...
76 |
77 | Vamos agora abordar a Linguagem que será utilizada durante toda a nossa jornada de Programação I, disciplina que será ministrada durante o ano letivo para as turmas de 1º Ano dos Cursos Técnicos em Informática do [Instituto Federal Catarinense - Campus Araquari](https://araquari.ifc.edu.br).
78 |
79 | ### [**Próximo Passo: JavaScript**](../01_05_JS/README.md)
--------------------------------------------------------------------------------
/01_introducao/01_04_transicao/software.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/01_introducao/01_04_transicao/software.jpg
--------------------------------------------------------------------------------
/01_introducao/01_05_JS/README.md:
--------------------------------------------------------------------------------
1 | ### [**Voltar para o Início**](../../README.md)
2 |
3 | #### [**Página Anterior**](../01_04_transicao/README.md)
4 |
5 | # Hello, JavaScript!
6 |
7 | ***Requisitos para estar aqui:***
8 | - Ter lido sobre Lógica de Programação.
9 | - Caso não tenha lido ainda, [**CLIQUE AQUI**.](../01_04_transicao/README.md)
10 |
11 | A primeira versão da Linguagem JavaScript foi lançada em 1995, pela Netscape Communications Corporation, junto com a Sun Microsystems. Alguns browsers possuíam suporte para a Linguagem JavaScript, outros browsers não. Há 25 anos havia, na verdade, uma *guerra dos browsers*, e o browser que predominava era o Netscape Navigator.
12 |
13 | Porém, um levantamento realizado em 2025 apontou o seguinte:
14 |
15 |
16 | 
17 |
18 | Fonte: https://isb-vietnam.com.vn/browser-market-share-2025/
19 |
20 | Contudo, desconsiderando os mais usados, pesquisas citam que a Engine JavaScript dos browsers diferem (e muito) na sua agilidade.
21 |
22 | O pódio, por enquanto, tem os seguintes browsers:
23 | - 1º: Safari (Apenas MacOS)
24 | - 2º: Edge (Versão atualizada)
25 | - 3º: Google Chrome
26 | - 4º: Mozilla Firefox
27 |
28 | Os arquivos JS (JavaScript) se destacam no desenvolvimento de páginas para internet, junto com os arquivos HTML (HyperText Markup Language) e CSS (Cascarding Style Sheets).
29 | - O HTML estrutura o conteúdo de uma página web e define a marcação dos elementos que compõem a página.
30 | - O CSS determina os estilos e formatação dos elementos (aparência: cor, bordas, espaçamentos, posicionamentos, etc.).
31 | - O JS define o comportamento dos elementos. Por meio do JS é possível interagir com os visitantes da página web, salvar dados do usuário, recuperar dados, auxiliar em layouts, etc.
32 |
33 | No que respeita a pódio, a linguagem JavaScript é, atualmente, a mais utilizada no mundo, conforme números fornecidos pelo GitHub, sobre os repositórios armazenados na plataforma.
34 |
35 | 
36 |
37 | Por mais que ocorra uma diminuição da utilização da linguagem JavaScript, fique tranquilo. Para essa disciplina, ela cumpre (e muito bem) o seu propósito, que é o aprendizado de conceitos de Programação.
38 |
39 | Alguns exemplos de aplicações simples em JavaScript que podemos desenvolver são:
40 |
41 | - [Uma calculadora](https://ldmfabio.github.io/CalculadoraSimplesJS/)
42 | - [Uma lista de tarefas](https://ldmfabio.github.io/ToDoListSimplesJS/)
43 |
44 | #
45 |
46 | Agora, vamos certificar os seus conhecimentos básicos em Lógica de Programação.
47 |
48 | ### [**Clique aqui para ir até a apresentação do aplicativo MIMO, que contém vários cursos de Programação e, dentre estes, o curso de JavaScript**](../01_06_certificacao_fundamentos/README.md)
--------------------------------------------------------------------------------
/01_introducao/01_05_JS/browsers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/01_introducao/01_05_JS/browsers.png
--------------------------------------------------------------------------------
/01_introducao/01_05_JS/programminglanguages.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/01_introducao/01_05_JS/programminglanguages.png
--------------------------------------------------------------------------------
/01_introducao/01_06_certificacao_fundamentos/README.md:
--------------------------------------------------------------------------------
1 | ### [**Voltar para o Início**](../../README.md)
2 |
3 | #### [**Página Anterior**](../01_05_JS/README.md)
4 |
5 | # Certificação de Fundamentos de Programação
6 |
7 | ***Requisitos para estar aqui:***
8 | - Ter lido a introdução de JavaScript.
9 | - Caso não tenha lido ainda, [**CLIQUE AQUI**.](../01_05_JS/README.md)
10 |
11 | Antes de começarmos a codificar, visando fortalecer os seus conhecimentos em Lógica de Programação, é **obrigatório** que você faça o primeiro e o segundo módulo do Curso de JavaScript, oferecido pelo [**MIMO**](https://mimo.org/).
12 |
13 | Após acessar o link acima, clique em [**Sign up**](https://mimo.org/web/register) e crie a sua conta.
14 |
15 | * Recomenda-se criar a conta no MIMO usando a sua Conta de e-mail do GMail.
16 |
17 | 
18 |
19 | Após a criação da conta, clique em **Continue**. Na próxima página, coloque o seu **NOME**! _Não utilize nomes que não o identificarão!_
20 |
21 | Na próxima página, clique em **Sounds good**. Então o MIMO lhe perguntará o que o motiva a aprender a programar. Selecione a opção que mais lhe convém. Após, clique em **Continue**.
22 |
23 | Então o MIMO lhe apresentará uma oferta para adquirir o plano Premium. Clique **Let me see the offer** e então clique no **X** que aparecerá no canto direito superior da sua tela. Então ele fará algumas outras perguntas para você.
24 |
25 | Talvez o MIMO já lhe sugira algum curso. Porém, se isso acontecer, você poderá trocar o curso, clicando no ícone de **três linhas** no canto superior esquerdo da sua tela. Após, aparecerá duas setas que lhe permitirão trocar o curso. Clique nesta seta e selecione a opção JavaScript, que é possível acessar pelo link [**https://mimo.org/web/197/section/active**](https://mimo.org/web/197/section/active).
26 |
27 | A troca de curso pode ser feita seguindo os passos das imagens abaixo:
28 |
29 | 
30 |
31 | 
32 |
33 | 
34 |
35 |
36 | A sua trilha de aprendizado no MIMO será a seguinte:
37 | 1. **JavaScript Basics**
38 | 1. Criação de Variáveis
39 | 2. Utilização de Variáveis
40 | 3. Usando Verdadeiro e Falso
41 | 4. Verificando Igualdade de Números
42 | 5. Prática: JavaScript Básico
43 | 6. Supercharge / Prática: JavaScript Básico
44 | 7. Coding Challenge
45 |
46 | 
47 |
48 | 2. **Tipos e Comparações**
49 | 1. Comparando Números
50 | 2. Comparando Strings
51 | 3. Descobrindo Tipos
52 | 4. Operadores Lógicos
53 | 5. Prática: Tipos e Comparações
54 | 6. Supercharge / Prática: Tipos e Comparações
55 | 7. Coding Challenge
56 |
57 | 
58 |
59 | > **A conclusão destes dois módulos é **obrigatória** para o primeiro trimestre da Disciplina de Programação I. Ao concluir, você deverá apresentar o seu aplicativo, autenticado com seu usuário, para o Professor Fábio ou o Professor Auxiliar da sua turma (Mehran[1INFO1] / Marco[1INFO2] / Daniel[1INFO3]).**
60 |
61 | > **ATENÇÃO:**
62 | > **A nota do primeiro trimestre considerará a conclusão desses dois módulos, ou seja, se você não concluir, a sua nota será prejudicada. O peso da nota será de 20% da nota do 1º trimestre.**
63 |
64 | ## Let's Coding!
65 | 
66 |
67 | Em paralelo ao curso do MIMO, começaremos a explorar a nossa IDE de desenvolvimento, o Visual Studio Code.
68 |
69 | #
70 | ### Afinal, o que é uma ***IDE***?
71 | > IDE é a sigla para Integrated Development Environment, que em português significa Ambiente de Desenvolvimento Integrado. Trata-se de um software que reúne ferramentas de apoio ao desenvolvimento de software, como um editor de código-fonte, compilador, depurador, entre outros.
72 | #
73 |
74 | ## [**Acesse aqui a próxima etapa da jornada!**](../../02_variaveis_e_operadores/README.md)
--------------------------------------------------------------------------------
/01_introducao/01_06_certificacao_fundamentos/lets_coding.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/01_introducao/01_06_certificacao_fundamentos/lets_coding.png
--------------------------------------------------------------------------------
/01_introducao/01_06_certificacao_fundamentos/mimo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/01_introducao/01_06_certificacao_fundamentos/mimo.png
--------------------------------------------------------------------------------
/01_introducao/01_06_certificacao_fundamentos/mimo1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/01_introducao/01_06_certificacao_fundamentos/mimo1.png
--------------------------------------------------------------------------------
/01_introducao/01_06_certificacao_fundamentos/mimo2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/01_introducao/01_06_certificacao_fundamentos/mimo2.png
--------------------------------------------------------------------------------
/01_introducao/01_06_certificacao_fundamentos/mimo3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/01_introducao/01_06_certificacao_fundamentos/mimo3.png
--------------------------------------------------------------------------------
/01_introducao/01_06_certificacao_fundamentos/mimo4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/01_introducao/01_06_certificacao_fundamentos/mimo4.png
--------------------------------------------------------------------------------
/01_introducao/01_06_certificacao_fundamentos/mimo5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/01_introducao/01_06_certificacao_fundamentos/mimo5.png
--------------------------------------------------------------------------------
/01_introducao/01_06_certificacao_fundamentos/mimoJavaScript.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/01_introducao/01_06_certificacao_fundamentos/mimoJavaScript.png
--------------------------------------------------------------------------------
/01_introducao/01_06_certificacao_fundamentos/mimoTrilha.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/01_introducao/01_06_certificacao_fundamentos/mimoTrilha.png
--------------------------------------------------------------------------------
/01_introducao/01_06_certificacao_fundamentos/mimoTrilha2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/01_introducao/01_06_certificacao_fundamentos/mimoTrilha2.png
--------------------------------------------------------------------------------
/01_introducao/01_06_certificacao_fundamentos/mimoTrocaCurso.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/01_introducao/01_06_certificacao_fundamentos/mimoTrocaCurso.png
--------------------------------------------------------------------------------
/01_introducao/README.md:
--------------------------------------------------------------------------------
1 | ### [**Voltar para o Início **](../README.md)
2 |
3 | # **1INFOs - PROGRAMAÇÃO**
4 | Este repositório disponibilizará o conteúdo introdutório à disciplina de **Programação I** do Curso Técnico em Informática para Internet do [IFC Campus Araquari](https://araquari.ifc.edu.br/).
5 |
6 | Iniciemos com alguns conceitos introdutórios, para que você tenha noção mínima sobre o que é Programação.
7 |
8 | ### **O que é um programa?**
9 |
10 | Em resumo, podemos dizer que um programa de computador é uma solução tecnológica para um problema real. Esses problemas poderão ser oriundos de diferentes contextos, diferentes complexidades, público-alvo. É necessário entender o problema de forma detalhada, identificando cada especificidade, cada regra, cada dado que será armazenado, como o dado será processado e, por fim, que informação será gerada.
11 |
12 | Um programa se baseia em três etapas fundamentais:
13 | - **Entrada:** Dados que são inseridos em um programa para serem manipulados. Estes dados podem ser fornecidos por um usuário ou ser oriundos de processos automatizados de coleta de dados.
14 | - **Processamento:** Após os dados serem coletados, eles serão processados de forma que atendam às regras previamente estabelecidas, conforme o que é esperado que o programa resolva.
15 | - **Saída:** A saída é o resultado do processamento do dado coletado. Considerando que o dado foi _corretamente_ coletado, que foi _processado_ atendendo às regras estabelecidas, agora serão apresentadas as informações relevantes para o usuário do programa.
16 |
17 | Para desenvolver um programa, é necessário exercitar a Lógica de Programação.
18 |
19 | ### **Como aprender Lógica de Programação?**
20 | Realizando duas tarefas:
21 | - Estudanto técnicas de programação
22 | - Exercitando as técnicas a partir da criação de pequenos programas
23 |
24 | Quando você estuda um problema, seja ele qual for, você identificará etapas para que o problema seja resolvido.
25 |
26 | **Exemplo 1:** *Você precisa realizar a soma de dois números inteiros fornecidos pelo usuário e apresentar o resultado.*
27 | - O programa pedirá para o usuário informar o primeiro número
28 | - O programa armazenará o primeiro número fornecido pelo usuário
29 | - O programa pedirá para o usuário informar o segundo número
30 | - O programa armazenará o segundo número fornecido pelo usuário
31 | - O programa realizará a soma do primeiro e do segundo número apresentado
32 | - O programa apresentará o resultado da soma dos dois números para o usuário
33 |
34 | As etapas acima correspondem com um algoritmo, composto por etapas que possibilitarão realizar a soma de dois números e apresentá-los para o usuário.
35 |
36 | **Exemplo 2:** *Você precisa ir do Centro de Joinville para o Centro de Araquari de Ônibus. Quais as etapas?*
37 | - Verificar qual o horário do ônibus que fará esse trajeto
38 | - Ir até o ponto de Ônibus no horário decidido
39 | - Quando se aproximar um Ônibus, identificar qual o nome da linha
40 | - Se o Ônibus corresponde com a linha for a que fará o trajeto:
41 | - Pedir para o Ônibus parar
42 | - Entrar no Ônibus
43 | - Esperar chegar próximo do destino
44 | - Pedir para sair do Ônibus
45 | - Sair do Ônibus
46 | - Se não for o Ônibus correspondente com a linha que fará o trajeto:
47 | - Continuar esperando o Ônibus correspondente com a linha desejada
48 |
49 | As etapas acima correspondem com outro algoritmo, composto por etapas que possibilitarão ir do Centro de Joinville para o Centro de Araquari de Ônibus.
50 |
51 | Para já, começaremos com algo menos complexo, mas que servirá para pensar "_em etapas_", exercitando o raciocínio lógico.
52 |
53 | # [**Clique aqui para começar a jornada!**](01_01_raciocionio_logico/README.md)
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_01_arquivo_html_js/README.md:
--------------------------------------------------------------------------------
1 | ### [**Voltar para o Início**](../../README.md)
2 |
3 | #### [**Página Anterior**](../README.md)
4 |
5 | ***Requisitos para estar aqui:***
6 | - Ter explorado o conteúdo introdutório sobre a IDE VSCode!
7 | - Caso não tenha feito, [**CLIQUE AQUI**.](../README.md)
8 |
9 | # **VARIÁVEIS E OPERADORES**
10 |
11 | ## **Arquivos HTML e JS**
12 |
13 | ### HyperText Markup Language (**HTML**)
14 |
15 | O desenvolvimento de um arquivo HTML demanda a organização do seu conteúdo em *tags*. Elas servem para dar significado (semântica) ao conteúdo, que será renderizado pelo browser.
16 |
17 | ### JavaScript (**JS**)
18 |
19 | Com o conteúdo da página desenvolvido, determina-se o comportamento dos elementos HTML por meio de comandos em JavaScript.
20 |
21 | ### Relação HTML x JS
22 |
23 | Esta relação possibilita algo semelhante a um ***casamento perfeito***, cada um cumprindo a sua função para que a aplicação web desenvolvida possa interagir da melhor forma com o visitante.
24 |
25 | Porém, durante as nossas aulas, não será necessário desenvolvermos um arquivo HTML que contenha toda a sua estrutura esperada, com as _tags_ **HTML**, **HEAD**, **BODY**, como vocês já devem ter aprendido em Desenvolvimento Web.
26 |
27 | O que será necessário é que exista um arquivo HTML e, neste arquivo, utilizaremos apenas a _tag_ script. Ou seja, o arquivo HTML que trabalharemos terá apenas a seguinte estrutura:
28 |
29 | ```html
30 |
33 | ```
34 |
35 | Entre as _tags_ de abertura e fechamento do script é que trabalharemos a Lógica de Programação usando a linguagem JavaScript.
36 |
37 | "Bóra" pra um Hello World?
38 |
39 | ## **HELLO WORLD!**
40 |
41 | **Mas por que sempre um Hello World?**
42 |
43 | O Hello World foi a primeira mensagem apresentada em um livro da linguagem C, entitulado _A Linguagem de Programação C (The C Programming Language)_, de Brian Kernighan, publicado em 1972.
44 |
45 | Desde então é **tradição** que a primeira ação a ser desenvolvida, em qualquer linguagem de programação que você começa a estudar, seja o famigerado **Hello World**.
46 |
47 | Existem algumas maneiras de apresentar uma mensagem para o usuário (neste caso, Hello World como mensagem a ser apresentada). E o ato de apresentar algo para o usuário é a saída de dados.
48 |
49 | Partiremos então para a próxima etapa dos estudos de Lógica de Programação.
50 |
51 | #
52 |
53 | ### [**Próxima Etapa: Saída de Dados!**](../02_02_saida_de_dados/README.md)
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_02_saida_de_dados/alert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/02_variaveis_e_operadores/02_02_saida_de_dados/alert.png
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_02_saida_de_dados/console.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/02_variaveis_e_operadores/02_02_saida_de_dados/console.png
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_02_saida_de_dados/documentwrite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/02_variaveis_e_operadores/02_02_saida_de_dados/documentwrite.png
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_03_entrada_de_dados/02_03_01_listaExercicios/01_cumprimentar.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_03_entrada_de_dados/02_03_01_listaExercicios/02_nomeCompleto.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_03_entrada_de_dados/02_03_01_listaExercicios/03_nomeAnoNascimento.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_03_entrada_de_dados/02_03_01_listaExercicios/04_enderecoCompleto.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_03_entrada_de_dados/02_03_01_listaExercicios/05_nomeAutor.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_03_entrada_de_dados/02_03_01_listaExercicios/README.md:
--------------------------------------------------------------------------------
1 | ### [**Voltar para o Início**](../../../README.md)
2 |
3 | #### [**Página Anterior**](../README.md)
4 |
5 | ***Requisitos para estar aqui:***
6 | - Ter aplicado os conceitos sobre Saída de Dados e Entrada de Dados!
7 | - Caso não tenha feito, clique nos links abaixo para navegar até o material que ficou pendente
8 | - [**Saída de Dados**](../../02_02_saida_de_dados/README.md)
9 | - [**Entrada de Dados**](../../02_03_entrada_de_dados/README.md)
10 |
11 | # Lista de Exercícios
12 |
13 | ## Treinando Entrada e Saída de Dados
14 |
15 | > Cada problema deverá ser resolvido em um único arquivo. Por exemplo:
16 | > * 01_cumprimentar.html
17 | > * 02_nomeCompleto.html
18 | > * e assim sucessivamente...
19 |
20 | ### **[Problema 01: Cumprimentar](01_cumprimentar.html)**
21 | Peça para o usuário informar o seu nome. Após, o programa deverá apresentar a seguinte mensagem:
22 |
23 | - _Bom dia, **NOME_DA_PESSOA**! Seja bem-vindo!_
24 |
25 | ### **[Problema 02: Nome completo](02_nomeCompleto.html)**
26 | Peça para o usuário informar o seu nome, o nome do meio e o seu último nome. Após, o programa deverá apresentar a seguinte mensagem:
27 | - _O seu nome completo é **NOME NOME_DO_MEIO ÚLTIMO_NOME**._
28 |
29 | ### **[Problema 03: Nome e ano de nascimento](03_nomeAnoNascimento.html)**
30 | Peça para o usuário informar o primeiro nome e o ano em que nasceu. Após, o programa deverá mostrar a seguinte mensagem:
31 | - _**NOME**, você nasceu em **ANO_NASCIMENTO**._
32 |
33 | ### **[Problema 04: Endereço Completo](04_enderecoCompleto.html)**
34 | Peça para o usuário informar os seguintes dados:
35 | - Nome da Rua
36 | - Número da casa
37 | - Bairro
38 | - Cidade
39 | - Estado
40 |
41 | A mensagem que o programa deverá apresentar deverá ser o endereço completo, que foi informado pelo usuário, conforme o exemplo abaixo:
42 | - Rua _**NOME_DA_RUA**_, nº _**NÚMERO_DA_CASA**_, Bairro _**NOME_DO_BAIRRO**_, Cidade de _**NOME_DA_CIDADE(SIGLA_ESTADO)**_.
43 |
44 | ### **[Problema 05: Nome do Autor](05_nomeAutor.html)**
45 | Peça para o usuário informar o seu nome e o seu sobrenome. Após, o programa deverá mostrar os dados informados da seguinte forma:
46 | - Nome do Autor: _**SOBRENOME**_, _**NOME**_.
47 |
48 | ## ***Let's work!***
49 |
50 | ### [**Próxima Etapa: Comentários!**](../../02_04_comentarios/README.md)
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_03_entrada_de_dados/alert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/02_variaveis_e_operadores/02_03_entrada_de_dados/alert.png
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_03_entrada_de_dados/prompt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/02_variaveis_e_operadores/02_03_entrada_de_dados/prompt.png
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_01_listaExercicios/01_diferencaIdade.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_01_listaExercicios/02_somaInteiros.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_01_listaExercicios/03_metrosParaMilimetros.html.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_01_listaExercicios/04_aumentoSalarial.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_01_listaExercicios/05_descontoPreco.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_01_listaExercicios/06_latasTinta.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_01_listaExercicios/07_gorjeta.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_01_listaExercicios/08_celsiusFahrenheit.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_01_listaExercicios/09_fahrenheitCelsius.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_01_listaExercicios/10_diasParaSegundos.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_01_listaExercicios/11_precoAluguelCarro.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_01_listaExercicios/12_diasPerdidosFumar.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_01_listaExercicios/13_salarioLiquido.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_01_listaExercicios/14_duziaOvos.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_01_listaExercicios/README.md:
--------------------------------------------------------------------------------
1 | ### [**Voltar para o Início**](../../../README.md)
2 |
3 | #### [**Página Anterior**](../README.md)
4 |
5 | ***Requisitos para estar aqui:***
6 | - Ter explorado o conteúdo sobre Tipos de Dados!
7 | - Caso não tenha feito, [**CLIQUE AQUI**.](../README.md)
8 |
9 | # Lista de Exercícios [01] - Variáveis e Operadores
10 |
11 | ### **[Problema 01: Diferença de idade](01_diferencaIdade.html)**
12 | Peça para o usuário informar o seu ano de nascimento e o ano de nascimento do irmão mais velho. Após, o programa deverá apresentar uma mensagem especificando a diferença de idade entre os irmãos.
13 |
14 | ### **[Problema 02: Soma de Inteiros](02_somaInteiros.html)**
15 | Peça para o usuário informar dois números inteiros. Após, o programa deverá apresentar uma mensagem com o resultado da soma dos números informados.
16 |
17 | ### **[Problema 03: Metros para milímetros](03_metrosParaMilimetros.html.html)**
18 | Peça para o usuário informar um valor em metros. O programa deverá retornar uma mensagem convertendo o valor para milímetros, sabendo que 1 metro equivale a 1000 milímetros.
19 |
20 | ### **[Problema 04: Aumento Salarial](04_aumentoSalarial.html)**
21 | Peça para o usuário informar o salário atual e a porcentagem de aumento. Faça o cálculo do salário final após o aumento baseado na porcentagem informada e apresente o resultado.
22 |
23 | ### **[Problema 05: Desconto no preço](05_descontoPreco.html)**
24 | Peça para o usuário informar o preço de um produto e também informar qual a porcentagem de desconto que será aplicado no preço do produto. Faça o cálculo do preço final do produto após aplicar a porcentagem de desconto e apresente o resultado.
25 |
26 | ### **[Problema 06: Latas de tinta](06_latasTinta.html.html)**
27 | Peça para o usuário informar quantos metros quadrados deseja pintar. Apresente quantas latas de tinta são necessárias, considerando que um litro de tinta cobrirá 3 metros, e cada lata possui 18 litros de tinta.
28 |
29 | ### **[Problema 07: Gorjeta](07_gorjeta.html)**
30 | Peça para o usuário informar qual foi o preço do jantar. Calcule 10% da gorjeta e apresente o preço total que deverá pagar para o restaurante e apresente o resultado.
31 |
32 | ### **[Problema 08: Celsius para Fahrenheit](08_celsiusFahrenheit.html)**
33 | Peça para o usuário informar uma temperatura em graus Celsius. Converta e apresente a temperatura em graus Fahrenheit.
34 |
35 | ### **[Problema 09: Fahrenheit para Celsius](09_fahrenheitCelsius.html)**
36 | Peça para o usuário informar uma temperatura em Fahrenheit. Converta e apresente a temperatura em graus Celsius.
37 |
38 | ### **[Problema 10: Dias para segundos](10_diasParaSegundos.html)**
39 | Peça para o usuário informar uma data em dias com horas, minutos e segundos e retorne a data em segundos.
40 |
41 | ### **[Problema 11: Preço do aluguel do carro](11_precoAluguelCarro.html)**
42 | Peça para o usuário informar a quantidade de dias que o carro foi alugado e a quantidade de quilômetros rodados. Retorne o valor a ser pago de aluguel considerando que a diária do aluguel é de R$ 60,00 e cada Km rodado custa R$ 0,15.
43 |
44 | ### **[Problema 12: Dias perdidos por fumar](12_diasPerdidosFumar.html)**
45 | Peça para o usuário informar a quantidade de cigarros fumados por dia e a quantidade de anos que fuma. Apresente o total de dias perdidos, considerando que cada cigarro reduz a vida em 10 minutos.
46 |
47 | ### **[Problema 13: Salário líquido](13_salarioLiquido.html)**
48 | Peça para o usuário informar quantas horas trabalha no mês e quantos que recebe por hora trabalhada. Calcule o salário líquido considerando os seguintes descontos:
49 | - INSS: 8% do salário bruto
50 | - IR: 11% do salário bruto
51 |
52 | ### **[Problema 14: Dúzia de ovos](14_duziaOvos.html)**
53 | Peça para o usuário informar a quantidade de ovos que foram comprados e apresente a quantidade de dúzias correspondente. Considere sempre dúzias cheias. Caso precise, arredonde para cima.
54 |
55 | # [**Terminou a lista toda? Conferiu novamente se está tudo certo? Então clique aqui para fazer uma lista complementar :-)**](../02_05_02_listaExercicios_2/README.md)
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_02_listaExercicios_2/01_areaTriangulo.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_02_listaExercicios_2/02_valorAlmoco.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_02_listaExercicios_2/03_valorAlmocoKg.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_02_listaExercicios_2/04_valorTroco.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_02_listaExercicios_2/05_custoReforma.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_02_listaExercicios_2/06_conversaoMoedas.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_02_listaExercicios_2/07_mediaNotas.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_02_listaExercicios_2/08_mediaNotasPonderada.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_02_listaExercicios_2/09_calcularPorcentagem.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_02_listaExercicios_2/10_pesoPessoa.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_02_listaExercicios_2/11_salarioLiquido.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_02_listaExercicios_2/12_divisaoHeranca.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_02_listaExercicios_2/13_viagemAutomovel.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_02_listaExercicios_2/14_comissaoVenda.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/README.md:
--------------------------------------------------------------------------------
1 | ### [**Voltar para o Início**](../README.md)
2 |
3 | #### [**Página Anterior**](../01_introducao/01_06_certificacao_fundamentos/README.md)
4 |
5 | ***Requisitos para estar aqui:***
6 | - Ter finalizado a Seção 01 deste repositório, percorrendo etapa por etapa do caminho proposto para o aprendizado da disciplina de Programação I!
7 | - Caso não tenha finalizado ainda, volte para a seção anterior e verifique o que ficou pendente. Para voltar, [**CLIQUE AQUI**.](../01_introducao/README.md)
8 |
9 | # **VARIÁVEIS E OPERADORES**
10 |
11 | ## Introdução ao Visual Studio Code
12 |
13 | Aqui começamos a, efetivamente, apresentar a sintaxe da linguagem JavaScript.
14 |
15 | A ferramenta recomendada para utilizar durante todo o aprendizado de Lógica de Programação é o Visual Studio Code (VSCode). Ele poderá ser obtido no link abaixo.
16 |
17 | ## [Download Visual Studio Code](https://code.visualstudio.com/download)
18 |
19 | O VSCode é uma das ferramentas mais utilizadas pelos desenvolvedores, e possui suporte à diversas linguagens de programação.
20 |
21 | > ***Não falarei agora sobre extensões, ferramentas, melhorias possíveis para serem feitas no VSCode. Para já, apenas faça o download e instale a aplicação para começar a utilizar a ferramenta.***
22 |
23 | Para começar a trabalhar com o VSCode, sugiro que você crie uma pasta no seu computador, em um local que você posteriormente lembrará.
24 |
25 | Após a criação da pasta, abra o VSCode e siga as seguintes etapas:
26 | - Menu Arquivo (ou **File**), opção Abrir Pasta (ou **Open Folder**);
27 | - Navegue até onde você salvou a sua pasta;
28 | - Dê dois cliques na sua pasta para abrir sua pasta;
29 | - Nesta tela que está sendo mostrada para você, no canto inferior direito aparecerá um botão com o texto Selecionar Pasta (ou Abrir Pasta ou **Open Folder**).
30 |
31 | **PRONTO!** Agora você está navegando na sua pasta, podendo adicionar arquivos que farão parte da sua aplicação web.
32 |
33 | Antes de criarmos os arquivos, é necessário explicar alguns dos recursos que o VSCode dispõe para gerenciar a sua aplicação. Note a Figura abaixo:
34 |
35 | 
36 |
37 | Como todo software, o VSCode possui uma barra de menus. Os menus que fazem parte do meu VSCode são o File, Edit, Selection, View, Go, Run ***.
38 |
39 | Contudo, o que quero que empreguem atenção é na coluna colada na margem esquerda do VSCode. Nesta coluna estão dispostos todos os recursos para você gerenciar a sua aplicação Web. Neste primeiro momento, vamos usar apenas um dos recursos, que é o Explorer, o primeiro ícone posicionado no topo da coluna.
40 |
41 | Notem que logo ao lado direito da coluna há dois acessos, que são o *Open Editors* e o *FABIO*. *Os demais não abordarei neste momento.*
42 |
43 | - Open Editors: Neste quadro aparecerão todos os arquivos que você possui aberto no VSCode;
44 | - FABIO: É o nome da pasta que abrimos no VSCode (no meu caso, criei uma pasta com meu nome).
45 |
46 | Ao lado do nome da pasta (FABIO) existem alguns acessos super importantes, que possivelmente usaremos no decorrer da criação das aplicações web, que são:
47 |
48 | - Criar Arquivo: Serve para criarmos um arquivo nesta pasta que estamos trabalhando, que foi aberta anteriormente.
49 | - Criar Pasta: É útil quando desejamos criar subpastas para separar arquivos da nossa aplicação web.
50 | - Atualizar Pasta: Relevante quando você criar algum arquivo lá no Explorer do Sistema Operacional e o arquivo não aparecer aqui no Explorer do VSCode.
51 |
52 | Criaremos um arquivo novo, chamado *index.html*.
53 |
54 | *O comando para criação de arquivo também pode ser feito ao clicar com o botão direito no explorer, onde não há nenhum arquivo, e, no menu de opções que aparecer, escolher a opção Novo Arquivo (ou **New File**).*
55 |
56 | #
57 | ### Afinal, por qual motivo o arquivo html criado tem o nome ***index***?
58 | > O nome index para o arquivo serve para que o servidor, ao acessar a sua aplicação web, procure diretamente a página inicial do site, que por padrão, estará disponível no arquivo **index.html**.
59 | #
60 |
61 | Começaremos a explicar o conteúdo dos arquivos HTML e JS na próxima seção.
62 |
63 | # [**Clique aqui para explorar o conteúdo de arquivos HTML e JS!**](02_01_arquivo_html_js/README.md)
--------------------------------------------------------------------------------
/02_variaveis_e_operadores/VSCode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/02_variaveis_e_operadores/VSCode.png
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/01_maioridade.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/02_saqueBancario.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios/01_trocarVariaveis.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios/02_ordemDecrescente.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios/03_turnoEstudo.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios/04_acrescimoNotaBB.html:
--------------------------------------------------------------------------------
1 |
2 |
17 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios/05_validaParImpar.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios/06_numeroCen_Dez_Uni.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios/07_caixaEletronico.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios/08_testaLados.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios/09_operacaoMatematica.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios/10_investigacaoCriminal.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios/11_descontoCombustivel.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios/12_idadeHumana.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios/13_notaParaConceito.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios/14_imc.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios/15_numeroInteiroDecimal.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios/16_anoBissexto.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios/17_aumentoPreco.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios/18_estacaoAno.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios_2/01_temperaturas.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios_2/02_classificaProduto.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios_2/03_calcularSalario.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios_2/04_financiamento.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios_2/05_periodoViagem.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios_2/06_custoDiaTrabalho.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios_2/07_auxilioTransporte.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios_2/08_carreiraDocente.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios_2/09_descontoCompra.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_01_02_listaExercicios_2/10_destinoTuristico.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/03_maioridade.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/04_categoriaIdade.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/05_estaChovendo.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_01_if_else/operadoresRelacionais.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/03_estruturas_de_decisao/03_01_if_else/operadoresRelacionais.png
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_02_operador_ternario/03_02_01_listaExercicios/01_maioridade.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_02_operador_ternario/03_02_01_listaExercicios/02_eleitor.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_02_operador_ternario/03_02_01_listaExercicios/03_maior2.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_02_operador_ternario/03_02_01_listaExercicios/04_vogal.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_02_operador_ternario/03_02_01_listaExercicios/05_aumentoPreco.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_02_operador_ternario/03_02_01_listaExercicios/06_idadeHumana.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_02_operador_ternario/03_02_01_listaExercicios/07_notaParaConceito.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_02_operador_ternario/03_02_01_listaExercicios/08_meioDeTransporte.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_02_operador_ternario/03_02_01_listaExercicios/09_valorHoraTrabalhada.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_02_operador_ternario/03_02_01_listaExercicios/10_balancoFinanceiro.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_03_switch_case/03_03_01_listaExercicios/01_turnoEstudo.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_03_switch_case/03_03_01_listaExercicios/02_validaParImpar.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_03_switch_case/03_03_01_listaExercicios/03_operacaoMatematica.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_03_switch_case/03_03_01_listaExercicios/04_vogal.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_03_switch_case/03_03_01_listaExercicios/05_investigacaoCriminal.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_03_switch_case/03_03_01_listaExercicios/06_idadeHumana.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_03_switch_case/03_03_01_listaExercicios/07_estacaoAno.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_03_switch_case/03_03_01_listaExercicios/README.md:
--------------------------------------------------------------------------------
1 | ### [**Voltar para o Início**](../../../README.md)
2 |
3 | #### [**Página Anterior**](../README.md)
4 |
5 | ***Requisitos para estar aqui:***
6 | - Ter compreendido a introdução sobre Switch...Case!
7 | - Caso ainda tenha alguma dúvida, [**CLIQUE AQUI**.](../README.md)
8 |
9 | # Lista de Exercícios - Switch Case
10 | ## *Enviar link do repositório GitHub com os programas desenvolvidos*
11 |
12 | ### **[Problema 1: Turno de Estudo](01_turnoEstudo.html)**
13 | Faça um script que pergunte em que turno você estuda.
14 | Peça para digitar M-matutino ou V-Vespertino ou N- Noturno.
15 |
16 | Imprima a mensagem:
17 | - "Bom Dia!"
18 | - "Boa Tarde!" ou
19 | - "Boa Noite!" ou
20 | - "Valor Inválido!"
21 |
22 | ### **[Problema 2: Valida Número Par ou Ímpar](02_validaParImpar.html)**
23 | Faça um script que peça um número inteiro e determine se ele é par ou ímpar.
24 |
25 | ### **[Problema 3: Operação Matemática](03_operacaoMatematica.html)**
26 | Faça um script que leia 2 números e em seguida pergunte ao usuário qual operação ele deseja realizar. O resultado da operação deve ser acompanhado de uma frase que diga se o número é:
27 |
28 | - Par ou ímpar;
29 | - Positivo ou negativo;
30 | - Inteiro ou decimal.
31 |
32 | ### **[Problema 4: Vogal](04_vogal.html)**
33 | Construa um programa que leia um caractere e informe se este caractere é uma vogal.
34 |
35 | ### **[Problema 5: Investigação Criminal](05_investigacaoCriminal.html)**
36 | Faça um script que faça 5 perguntas para uma pessoa sobre um crime. As perguntas são:
37 | - "Telefonou para a vítima?"
38 | - "Esteve no local do crime?"
39 | - "Mora perto da vítima?"
40 | - "Devia para a vítima?"
41 | - "Já trabalhou com a vítima?"
42 |
43 | O script deve no final emitir uma classificação sobre a participação da pessoa no crime, conforme a tabela abaixo. Se a pessoa responder positivamente a 2 questões ela deve ser classificada como "Suspeita", entre 3 e 4 como "Cúmplice" e 5 como "Assassino". Caso contrário, ele será classificado como "Inocente".
44 | | Respostas Positivas | Resultado |
45 | | --- | --- |
46 | | 0-1 Resposta | Inocente! |
47 | | 2 Respostas | Suspeito(a)! |
48 | | 3-4 Respostas | Cúmplice! |
49 | | 5 Respostas | Assassino(a)! |
50 |
51 | ### **[Problema 6: Idade Humana](06_idadeHumana.html)**
52 | É sabido que os caẽs amadurecem mais rapidamente do que os seres humanos (na verdade, alguns seres humanos parecem nunca amadurecer).
53 | Calcule a idade do seu cão, baseada nos seguintes fatores:
54 | | Porte | Fator |
55 | | --- | :---: |
56 | | Cães de porte pequeno | Fator 5 |
57 | | Cães de porte médio | Fator 6 |
58 | | Cães grandes | Fator 7 |
59 |
60 | ### **[Problema 7: Estação do Ano](07_estacaoAno.html)**
61 | Faça um script que pergunte para a pessoa em qual hemisfério ela está e qual o mês atual.
62 | De acordo com as respostas, informe qual a estação do ano correspondente.
63 |
64 | #
65 |
66 | ## **Se você concluiu a Lista de Exercícios, Parabéns! Você já pode prosseguir para o próximo conteúdo!**
67 |
68 | ### Agora, vamos para o próximo tema da disciplina de Programação I: Arrays!
69 |
70 |
71 |
72 |
73 | # [**Clique aqui para acessar o novo conteúdo**](../../../04_arrays/README.md)
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/03_03_switch_case/README.md:
--------------------------------------------------------------------------------
1 | ### [**Voltar para o Início**](../../README.md)
2 |
3 | #### [**Página Anterior**](../03_02_operador_ternario/README.md)
4 |
5 | ***Requisitos para estar aqui:***
6 | - Ter finalizado a lista de exercícios obrigatória sobre Operador Ternário!
7 | - Caso ainda não tenha finalizado, [**CLIQUE AQUI**.](../03_02_operador_ternario/03_02_01_listaExercicios/README.md)
8 |
9 | # **Estruturas de Decisão - Switch...Case**
10 |
11 | ## _**Como assim... Switch...Case?**_
12 |
13 | ### **Outra estrutura de decisão**
14 | * Praticamente todas as linguagens de programação possuem distintas estruturas de decisão.
15 |
16 | **Quando usar?**
17 | - Quando houverem várias alternativas a partir do valor de uma constante/variável;
18 | - É uma lógica fácil e intuitiva.
19 |
20 | **Sobre a utilização**
21 | * O comando switch inicia pela definição da variável/constante que escolhe a condição a ser executada. Cada instrução deve conter um valor de comparação (seguida pelos dois pontos ":"), como no exemplo abaixo.
22 |
23 | ```javascript
24 |
25 |
36 | ```
37 | _Os comandos sempre devem ser finalizados por_
38 | ```javascript
39 | break;
40 | ```
41 | O comando acima escreverá **Janeiro** na tela, pois a primeira linha já atribuiu o valor 1 logo ao criar a **_let_** **mesDoAno** (*let mesDoAno = 1;*).
42 |
43 | ## **IMPORTANTE!!!**
44 | Caso o comando _break;_ não seja incluído logo após o comando que será executado atendendo a condição - que nesse caso será _document.write("Janeiro");_ - o programa entrará em todas as condições seguintes, até que encontre um comando _break;_ em alguma das próximas condições.
45 |
46 | > _O comando break; para a execução do switch...case, indo para a próxima linha logo após o término das instruções que fazem parte do block switch...case. Ou seja, o programa continua sendo executado, apenas o switch...case que finaliza com o comando break;_
47 |
48 | Outro recurso do **_switch...case_** que vale ser mencionado é a utilização da opção *default*. Esta opção é a opção padrão e o que houver de instrução nela será executado quando as comparações realizadas não forem validadas. Por exemplo:
49 |
50 | ```javascript
51 |
52 |
66 | ```
67 |
68 | Nesse caso, o resultado será **"Dia de folga!"**. Porém, caso o valor da _const_ **_diaDaSemana_** fosse qualquer coisa diferente de _sábado_ ou _domingo_, por exemplo, o programa executaria a opção **default**.
69 |
70 | Ainda, considerando o exemplo anterior, é possível que otimizemos o código. Observe que existem dois dias de folga (sábado e domingo). Portanto, como ou um ou outro dia são de folga, e diferente deles é trabalho, podemos otimizar da seguinte forma:
71 |
72 | ```javascript
73 |
74 |
86 | ```
87 |
88 | Esta otimização é equivalente com a utilização do operador **OU**, que refere a utilização dos caracteres " || ".
89 | > **_A principal vantagem do switch...case é a facilidade para compreender a sua estrutura, sendo extremamente intuitivo._**
90 |
91 |
92 | ## **Bóra praticar...**
93 |
94 | Colocando em prática o conhecimento apresentado sobre Switch...Case, vamos para uma pequena lista de exercícios.
95 |
96 | ## [**Clique aqui para acessar a Lista de Exercícios**](03_03_01_listaExercicios/README.md)
--------------------------------------------------------------------------------
/03_estruturas_de_decisao/README.md:
--------------------------------------------------------------------------------
1 | ### [**Voltar para o Início**](../README.md)
2 |
3 | #### [**Página Anterior**](../02_variaveis_e_operadores/02_05_tipos_de_dados/02_05_01_listaExercicios/README.md)
4 |
5 | ***Requisitos para estar aqui:***
6 | - Ter finalizado a Seção 02 deste repositório, percorrendo etapa por etapa do caminho proposto para o aprendizado da disciplina de Programação I!
7 | - Caso não tenha finalizado ainda, volte para a seção anterior e verifique o que ficou pendente. Para voltar, [**CLIQUE AQUI**.](../02_variaveis_e_operadores/README.md)
8 |
9 | # **ESTRUTURAS DE DECISÃO**
10 |
11 | ## Introdução
12 |
13 |
14 | **DECISÃO**
15 | > _Ato ou efeito de decidir; resolução, deliberação, determinação._
16 | >
17 | > _Resolver (uma questão) por meio de um julgamento ou de uma escolha._
18 |
19 | Diversas são as situações em que nos deparamos com um ponto em que uma decisão é necessária, desde o momento em que acordamos até a hora em que vamos dormir (inclusive o horário de acordar e dormir são decisões prévias que tomamos para que possamos estabelecer uma rotina).
20 |
21 | Inclusive, no que respeita a rotina, podemos dizer que ela é uma sequência de decisões que tomamos para que possamos realizar nossas atividades diárias.
22 |
23 | Ou seja, programamos o nosso dia a dia e, para isso, tomamos decisões.
24 |
25 | Todas as decisões que tomamos são baseadas em uma condição, ou seja, se algo acontecer, eu faço isso, se não acontecer, eu faço aquilo.
26 |
27 | Praticamente todas as linguagens de programação possuem uma estrutura de decisão, que é utilizada para que o programa analise uma ou mais condições e, a partir dessas condições, altere o fluxo de execução do programa baseado na decisão previamente desenvolvida pelo programador/desenvolvedor.
28 |
29 | ## Estruturas de decisão
30 |
31 | São diferentes as estruturas de decisão que podemos utilizar em um programa, e cada uma delas possui uma sintaxe específica, que deve ser seguida para que o programa funcione corretamente.
32 |
33 | Alguns exemplos de estruturas de decisão são:
34 |
35 | - [IF...ELSE](03_01_if_else/README.md)
36 | - [Operador Ternário](03_02_operador_ternario/README.md)
37 | - [Switch...Case](03_03_switch_case/README.md)
38 |
39 |
40 | _Clique no link acima para navegar para o próximo conteúdo._
41 |
42 | ***Sugestão: Comece pelo IF...ELSE!***
43 |
--------------------------------------------------------------------------------
/04_arrays/exemploArray_01.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/04_arrays/exemploArray_02.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/04_arrays/exemploArray_03.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/04_arrays/listaExercicios_01/01_arrayCrescente.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/04_arrays/listaExercicios_01/02_arrayDecrescente.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/04_arrays/listaExercicios_01/03_itensCompra.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/04_arrays/listaExercicios_01/04_removerSUV.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/04_arrays/listaExercicios_01/05_adicionarSUV.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/04_arrays/listaExercicios_01/06_lojaVeiculos.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/04_arrays/listaExercicios_01/07_acertarCor.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/04_arrays/listaExercicios_01/08_procuraLetra.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/04_arrays/listaExercicios_01/README.md:
--------------------------------------------------------------------------------
1 | ### [**Voltar para o Início**](../../README.md)
2 |
3 | #### [**Página Anterior**](../README.md)
4 |
5 | ***Requisitos para estar aqui:***
6 | - Ter compreendido a introdução sobre Arrays!
7 | - Caso ainda tenha alguma dúvida, [**CLIQUE AQUI**.](../README.md)
8 |
9 | # Lista de Exercícios
10 |
11 | ## [**Problema 01: Array em ordem crescente**](01_arrayCrescente.html)
12 | Peça para um usuário inserir dois números.
13 |
14 | Crie um array com os números, colocando-os em ordem crescente. Para ordenar, NÃO use o método sort();
15 |
16 | Retorne os elementos do array, separando-os por hífen (n1 - n2).
17 |
18 | ## [**Problema 02: Array em ordem decrescente**](02_arrayDecrescente.html)
19 | Peça para um usuário inserir três números.
20 |
21 | Crie um array com os três números, colocando-os em ordem decrescente. Para ordenar, NÃO use o método reverse();
22 |
23 | Retorne os elementos do array, separando-os por hífen (n1 - n2 - n3).
24 |
25 | ## [**Problema 03: Itens da lista de compras**](03_itensCompra.html)
26 | Peça para o usuário inserir 3 frutas para a lista de compras. (Use 3 vezes o prompt).
27 |
28 | Peça também para o usuário inserir 3 bebidas para a lista de compras (Use outras 3 vezes o prompt).
29 |
30 | Crie um array para cada tipo de item e, ao fim, apresente os itens da sequinte forma:
31 |
32 | As frutas a serem compradas são: fruta1, fruta2, fruta3.
33 |
34 | As bebidas a serem compradas são: bebida1, bebida2, bebida3.
35 |
36 | A lista completa de compras é: fruta1, fruta2, fruta3, bebida1, bebida2, bebida3.
37 |
38 | ## [**Problema 04: Remover SUV**](04_removerSUV.html)
39 | Crie os seguintes arrays:
40 |
41 | let carrosSUV = ["Tiggo", "Sportage", "Tucson", "EcoSport"];
42 |
43 | Pergunte ao usuário qual carro deseja REMOVER da lista.
44 |
45 | Apresente a lista antiga de SUVs e a nova lista, após a remoção do veículo solicitado.
46 |
47 | ## [**Problema 05: Adicionar SUV**](05_adicionarSUV.html)
48 | Crie os seguintes arrays:
49 |
50 | let carrosSUV = ["Tiggo", "Sportage", "Tucson", "EcoSport"];
51 |
52 | Pergunte ao usuário qual carro deseja ADICIONAR na lista.
53 |
54 | Apresente a lista antiga de SUVs e a nova lista, após a adição do veículo solicitado.
55 |
56 | ## [**Problema 06: Loja de veículos**](06_lojaVeiculos.html)
57 | Crie os seguintes arrays:
58 |
59 | let carrosSUV = ["Tiggo", "Sportage", "Tucson", "EcoSport"];
60 |
61 | let cassosSedan = ["Civic", "Corolla", "Arizzo", "Fusion"];
62 |
63 | let carrosHatch = ["308", "Focus", "i30"];
64 |
65 | Peça para o usuário informar mais três veículos para serem inseridos na lista.
66 |
67 | Para inserir na lista correta, peça também para o usuário identificar o tipo de veículo que deseja inserir, se é SUV, Sedan ou Hatch.
68 |
69 | Apresente a lista final de cada tipo de veículo.
70 |
71 | ## [**Problema 07: Acertar cor**](07_acertarCor.html)
72 | Crie o seguinte array, que contém sete elementos:
73 |
74 | const nomeCores = ["azul", "amarelo", "verde", "branco", "preto", "marrom", "cinza"];
75 |
76 | Peça para o usuário informar uma cor.
77 |
78 | Faça o programa armazenar um número aleatório (entre 0 e 6).
79 |
80 | Caso o usuário acerte a cor, que está na posição do array que coincide com o número aleatório gerado pelo computador, o programa deverá retornar:
81 |
82 | PARABÉNS! VOCÊ ESTÁ COM SORTE NA COR ${corInformada}!
83 |
84 | Caso não acerte, o programa deverá retornar:
85 |
86 | NÃO FOI DESSA VEZ... TENTE NOVAMENTE!
87 |
88 | ## [**Problema 08: Procurar letra**](08_procuraLetra.html)
89 | Peça para o usuário digitar UMA palavra.
90 |
91 | Peça para o usuário digitar a letra que deseja encontrar na palavra que acabou de digitar.
92 |
93 | Apresente para o usuário se a LETRA que ele quer procurar existe ou não na palavra digitada e qual a primeira posição da LETRA na PALAVRA.
94 |
95 | #
96 |
97 | ## Terminou toda a lista? Então... #partiu!
98 |
99 | # [**Clique aqui para acessar o próximo conteúdo**](../../05_estruturas_de_repeticao/README.md)
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/01-forOf/array.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/05_estruturas_de_repeticao/01-forOf/array.png
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/01-forOf/exemplo01_comp.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/01-forOf/exemplo01_comp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/05_estruturas_de_repeticao/01-forOf/exemplo01_comp.png
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/01-forOf/exemplo01_inc.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/01-forOf/exemplo01_inc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/05_estruturas_de_repeticao/01-forOf/exemplo01_inc.png
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/01-forOf/exemplo02_tabuada.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/01-forOf/exemplo03_somarNumeros.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/01-forOf/listaExercicios_01/01_separarPares.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/01-forOf/listaExercicios_01/02_listaFemiMasc.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/01-forOf/listaExercicios_01/03_listaParesImpares.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/01-forOf/listaExercicios_01/04_separarPares.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/01-forOf/listaExercicios_01/05_nomesComVogais.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/01-forOf/listaExercicios_01/06_buscarJoao.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/01-forOf/listaExercicios_01/07_contarInteirosPositivos.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/01-forOf/listaExercicios_01/README.md:
--------------------------------------------------------------------------------
1 | ### [**Voltar para o Início**](../../../README.md)
2 |
3 | #### [**Página Anterior**](../README.md)
4 |
5 | ***Requisitos para estar aqui:***
6 | - Ter lido a introdução sobre a Estruturas de Repetição For...Of!
7 | - Caso não tenha feito, [**CLIQUE AQUI**.](../README.md)
8 |
9 | # Lista de Exercícios
10 |
11 | ### **[Problema 01: Separar pares](01_separarPares.html)**
12 | Considere a lista de números abaixo:
13 |
14 | let listaDeNumeros = [1, 4, 6, 8, 898, 7, 43, 2980, 3500, 10];
15 |
16 | Faça um programa que identifique os números pares e apresente-os ao fim do programa, ordenados de forma crescente.
17 |
18 | ### **[Problema 02: Listar Nomes Femininos e Masculinos](02_listaFemiMasc.html)**
19 | Considere a lista de nomes abaixo:
20 |
21 | let listaDeNomes = ["João", "Maria", "José", "Amanda", "Beatriz", "Júlio", "Olívia"];
22 |
23 | Para cada nome que for lido na estrutura de repetição, pergunte ao usuário se é Masculino (M) ou Feminino (F).
24 |
25 | De acordo com a resposta do usuário, adicione na lista correspondente. Apresente as duas listas de nomes ao final do programa.
26 |
27 | ### **[Problema 03: Listar números pares e ímpares](03_listaParesImpares.html)**
28 | Considere a lista de números abaixo:
29 |
30 | let listaDeNumeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
31 |
32 | Separe os números pares e os números ímpares em listas distintas e apresente as listas de forma crescente e forma descrescente.
33 |
34 | ### **[Problema 04: Separar números pares](04_separarPares.html)**
35 | Considere a lista abaixo:
36 |
37 | let listaDeItens = [1, "João", "Eduardo", "Joice", 3, 5, 6, 8, "Maria", 5.6, 10];
38 |
39 | Apresente apenas os números pares. Apresente também a quantidade de números pares que existem e apresente a quantidade de elementos da lista original.
40 |
41 | ### **[Problema 05: Nomes que iniciam com vogais](05_nomesComVogais.html)**
42 | Considere a lista de nomes abaixo:
43 |
44 | let listaDeNomes = ["Amanda", "Eduardo", "Fábio", "Evelin", "César", "José", "Ivo", "Eva", "Otávio", "Inez", "Osmar", "Ulisses"];
45 |
46 | Identifique os nomes que começam com qualquer vogal (A, E, I, O, U) e apresente os nomes em ordem alfabética.
47 |
48 | ### **[Problema 06: Buscar "Joãos"](06_buscarJoao.html)**
49 | Considere a lista de nomes abaixo:
50 |
51 | let listaDeNomes = ["João Pedro", "Gabriel José", "Ulisses Joao", "Pedro Henrique", "João da Silva", "João Henrique", "Alisson João"];
52 |
53 | Identifique todos os nomes que contém "João" em qualquer parte do nome e separe-os em uma lista. Apresente a lista ao final do programa.
54 |
55 | Considere que poderão haver "Joãos" sem ~ (til).
56 |
57 | ### **[Problema 07: Contar números inteiros positivos](07_contarInteirosPositivos.html)**
58 | Considere a lista de números abaixo:
59 |
60 | let listaDeNumeros = [1, 2.5, -3, 4, 8.9, 4.789, -25.6, 42];
61 |
62 | Identifique APENAS os números INTEIROS e POSITIVOS.
63 |
64 | Adicione-os em uma lista e apresente ao fim do programa, indicando também quantos números foram localizados.
65 |
66 |
67 | ## Terminou toda a lista? Então... bóra para mais uma Estrutura de Repetição!
68 |
69 | ## [**Clique aqui para acessar a Estrutura de Repetição For com Variável de Controle**](../../02-forControle/README.md)
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/02-forControle/estruturaFor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/05_estruturas_de_repeticao/02-forControle/estruturaFor.png
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/02-forControle/exemplo01_contador.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/02-forControle/exemplo02_fatorial.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/02-forControle/exemplo03_fibonacci.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/02-forControle/exemplo04_inserirNomes.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/02-forControle/exemplo05_limitarRepeticoes.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/02-forControle/exemplo06_numeroPrimo.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/02-forControle/listaExercicios_01/01_letrasRepetidas.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/02-forControle/listaExercicios_01/02_mediaDoAluno.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/02-forControle/listaExercicios_01/03_maiorNumero.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/02-forControle/listaExercicios_01/04_imparesAte50.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/02-forControle/listaExercicios_01/05_validarNumeroPrimo.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/02-forControle/listaExercicios_01/06_imprimirNumeros.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/02-forControle/listaExercicios_01/07_taxaCrescimento.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/02-forControle/listaExercicios_01/08_somaemedia.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/02-forControle/listaExercicios_01/09_calcularPopulacao.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/02-forControle/listaExercicios_01/10_representanteSala.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/02-forControle/listaExercicios_01/11_multiplos3.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/02-forControle/listaExercicios_01/12_investimentos.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/02-forControle/listaExercicios_01/README.md:
--------------------------------------------------------------------------------
1 | ### [**Voltar para o Início**](../../../README.md)
2 |
3 | #### [**Página Anterior**](../README.md)
4 |
5 | ***Requisitos para estar aqui:***
6 | - Ter lido a introdução sobre a Estruturas de Repetição For com Variável de Controle!
7 | - Caso não tenha feito, [**CLIQUE AQUI**.](../README.md)
8 |
9 | # Lista de Exercícios
10 |
11 | ### **[Problema 01: Letras repetidas](01_letrasRepetidas.html)**
12 | Considere a lista de letras abaixo:
13 |
14 | let listaDeNumeros = ["a", "b", "d", "e", "E", "F", "C", "U", "u", "e", "W", "D"];
15 |
16 | Faça um programa que identifique as letras repetidas que estão contidas na lista e apresente cada letra apenas uma única vez, e em ordem alfabética.
17 |
18 | *Letras maiúsculas e minúsculas são a mesma letra e não podem ser repetidas!
19 |
20 | **Apresente apenas letras minúsculas!
21 |
22 | ### **[Problema 02: Média do aluno](02_mediaDoAluno.html)**
23 | Pergunte ao professor quantas notas o aluno obteve.
24 |
25 | Na sequência, usando for, peça para o professor informar todas as notas do aluno.
26 |
27 | Calcule a média das notas e apresente o resultado na tela.
28 |
29 | ### **[Problema 03: Maior número](03_maiorNumero.html)**
30 | Faça um programa que peça ao usuário para informar cinco números.
31 |
32 | No final, apresente o maior número informado pelo usuário.
33 |
34 | ### **[Problema 04: Números ímpares até 50](04_imparesAte50.html)**
35 | Faça um programa que apresente na tela os números ímpares de 1 até 50.
36 |
37 | ### **[Problema 05: Validar número primo](05_validarNumeroPrimo.html)**
38 | Faça um programa que peça para o usuário informar um número.
39 |
40 | Identifique se o número fornecido pelo usuário é um número primo e apresente na tela.
41 |
42 | ### **[Problema 06: Imprimir números](06_imprimirNumeros.html)**
43 | Faça um programa que pergunte ao usuário um número inicial e um número final.
44 |
45 | Verifique se o número inicial é menor que o número final e apresente na tela os números ímpares e os números pares que estão entre os dois números.
46 |
47 | Se o número inicial for maior ou igual ao número final, apresente mensagem de erro para o usuário, informando a regra para o número inicial e número final.
48 |
49 | ### **[Problema 07: Taxa de crescimento da população](07_taxaCrescimento.html)**
50 | Supondo que a população de um país seja da ordem de 80000 habitantes, com uma taxa anual de crescimento de 3%, identifique quantos anos serão necessários para que o número de habitandes atinja 200000 habitantes.
51 |
52 | ### **[Problema 08: Soma e média dos números](08_somaemedia.html)**
53 | Faça um programa que leia 5 números e informe a soma e média dos números.
54 |
55 | ### **[Problema 09: Calcular população prevista](09_calcularPopulacao.html)**
56 | Considere que a população de uma cidade seja de 50000 habitantes, crescendo 1,5% ao ano.
57 |
58 | Apresente em tela a população prevista para um prazo de 5 anos e um prazo de 10 anos.
59 |
60 | Apresente os dados em tela.
61 |
62 | ### **[Problema 10: Eleição de representante de sala](10_representanteSala.html)**
63 | Peça para o programa perguntar ao professor regente o nome dos três candidados a representante da sala.
64 |
65 | Peça também para o programa perguntar ao professor regente a quantidade de alunos votantes.
66 |
67 | Desenvolva um programa que armazene o voto de cada aluno da sala e apresente o resultado da votação, com o quantitativo de votos e também a porcentagem de votos de cada candidato a representante de sala.
68 |
69 | ### **[Problema 11: Múltiplos de 3](11_multiplos3.html)**
70 | Criar um programa que imprima todos os números múltiplos de 3 entre 1 e 100. Calcule a soma dos números.
71 |
72 | ### **[Problema 12: Investimentos](12_investimentos.html)**
73 | Joãozinho investiu R$ 1.000,00 e o investimento renderá 2% por dia útil. Quantos dias demorará para que Joãozinho consiga o total de R$ 2.000,00.
74 |
75 | ## Lista de Exercícios Finalizada? Então vamos finalizar logo o conteúdo sobre Estruturas de Repetição!
76 |
77 | ### [**Clique aqui para acessar a Estrutura de Repetição While**](../../03-while/README.md)
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/02-forControle/tabuadaDe2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/05_estruturas_de_repeticao/02-forControle/tabuadaDe2.png
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/02-forControle/tabuadaDoUsuario.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/05_estruturas_de_repeticao/02-forControle/tabuadaDoUsuario.png
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/02-forControle/tabuadaDoUsuarioResultado.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ldmfabio/Programacao/7e87d3bd5f63bc33a0b5bcb46ed44dd4306ecb53/05_estruturas_de_repeticao/02-forControle/tabuadaDoUsuarioResultado.png
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/03-while/exemplo01_intervalo.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/03-while/exemplo02_nomeCerto.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/03-while/exemplo03_inserirItems.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/03-while/exemplo04_notasTrimestre.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/03-while/listaExercicios_01/01_nota0-10.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/03-while/listaExercicios_01/02_usuarioSenha.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/03-while/listaExercicios_01/03_validarDados.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/03-while/listaExercicios_01/04_aumentoPopulacao.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/03-while/listaExercicios_01/05_validaSenha.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/03-while/listaExercicios_01/06_urnaEletronica.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/03-while/listaExercicios_01/07_pesquisaIdade.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/03-while/listaExercicios_01/08_somaEnquanto.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/03-while/listaExercicios_01/09_acertarNumero.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/03-while/listaExercicios_01/10_fibonacci.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/03-while/listaExercicios_01/11_inversaoNumero.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/03-while/listaExercicios_01/README.md:
--------------------------------------------------------------------------------
1 | ### [**Voltar para o Início**](../../../README.md)
2 |
3 | #### [**Página Anterior**](../README.md)
4 |
5 | ***Requisitos para estar aqui:***
6 | - Ter lido a introdução sobre a Estruturas de Repetição While!
7 | - Caso ainda não tenha lido, [**CLIQUE AQUI**.](../README.md)
8 |
9 | # Lista de Exercícios
10 |
11 | ### **[Problema 01: Nota entre 0 e 10](01_nota0-10.html)**
12 | Faça um programa que peça uma nota, entre zero e dez. Mostre uma mensagem caso o valor seja inválido e continue pedindo até que o usuário informe um valor válido.
13 |
14 | ### **[Problema 02: Usuário e Senha](02_usuarioSenha.html)**
15 | Faça um programa que leia um nome de usuário e a sua senha e não aceite a senha igual ao nome do usuário, mostrando uma mensagem de erro e voltando a pedir as informações.
16 |
17 | ### **[Problema 03: Validar Dados](03_validarDados.html)**
18 | Faça um programa que leia e valide as seguintes informações:
19 | Nome: maior que 3 caracteres;
20 | Idade: entre 0 e 150;
21 | Salário: maior que zero;
22 | Sexo: 'f' ou 'm';
23 | Estado Civil: 's', 'c', 'v', 'd';
24 |
25 | ### **[Problema 04: Aumento da População](04_aumentoPopulacao.html)**
26 | Supondo que a população de um país A seja da ordem de 80000 habitantes com uma taxa anual de crescimento de 3% e que a população de B seja 200000 habitantes com uma taxa de crescimento de 1.5%. Faça um programa que calcule e escreva o número de anos necessários para que a população do país A ultrapasse ou iguale a população do país B, mantidas as taxas de crescimento.
27 |
28 | ### **[Problema 05: Validar Senha](05_validaSenha.html)**
29 | Faça um programa que receba uma senha formada de quatro números inteiros, verifique se a senha está correta e, caso não esteja, solicite novamente a senha. Se a senha entrada for a correta, deverá ser apresentada a mensagem “Senha Correta”, caso contrário, “Senha Incorreta”.
30 |
31 | ### **[Problema 06: Urna Eletrônica](06_urnaEletronica.html)**
32 | Faça um programa que simule a urna eletrônica.
33 | A tela a ser apresentada deverá ser da seguinte forma:
34 | As opções são:
35 | 1. Candidato Joãozinho
36 | 2. Candidato Mariazinha
37 | 3. Nulo
38 | 4. Branco
39 | Entre com o seu voto:
40 |
41 | O programa deverá ler os votos dos eleitores e, quando for entrado o número 0, apresentar as seguintes
42 | informações:
43 | a) O número de votos de cada candidato;
44 | b) A porcentagem de votos nulos;
45 | c) A porcentagem de votos brancos;
46 | d) O candidato vencedor.
47 |
48 | ### **[Problema 07: Pesquisar Idade](07_pesquisaIdade.html)**
49 | Foi feita uma pesquisa entre os habitantes de uma região. Foram coletados os dados de idade, sexo (M/F) e salário. Faça um programa que calcule e mostre:
50 |
51 | a) A média dos salários do grupo;
52 | b) A maior e a menor idade do grupo;
53 | c) A quantidade de mulheres na região;
54 | d) A idade e o sexo da pessoa que possui o menor salário;
55 |
56 | Finalize a entrada de dados ao ser digitada uma idade negativa.
57 |
58 | ### **[Problema 08: Soma Enquanto](08_somaEnquanto.html)**
59 | Peça para o usuário inserir números sucessivamente e some - os.O programa para quando o usuário inserir 0 e então exibe a soma total.
60 |
61 | ### **[Problema 09: Acertar Número](09_acertarNumero.html)**
62 | O computador escolhe um número aleatório de 1 a 30, e o usuário precisa adivinhar. O programa dá dicas ("maior" ou "menor") até acertar.
63 |
64 | ### **[Problema 10: Fibonacci](10_fibonacci.html)**
65 | Pergunte ao usuário quantos números da sequência de Fibonacci deseja obter, usando a estrutura de repetição while.
66 |
67 | ### **[Problema 11: Inversão de Números](11_inversaoNumero.html)**
68 | Escreva um programa que peça ao usuário um número e inverta sua ordem usando uma estrutura de repetição while.
69 | ```
70 | Exemplo:
71 | Entrada: 12345
72 | Saída: 54321
73 | ```
74 |
75 |
76 | #
77 | ## Finalizou os Exercícios? Muito bem! Então vamos agora para o próximo conteúdo, **Funções**!
78 |
79 | ## [**Clique aqui para acessar o próximo tema, Funções**](../../../06_funcoes/README.md)
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/03-while/listaExercicios_01/teste.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/05_estruturas_de_repeticao/README.md:
--------------------------------------------------------------------------------
1 | ### [**Voltar para o Início**](../README.md)
2 |
3 | #### [**Página Anterior**](../04_arrays/README.md)
4 |
5 | ***Requisitos para estar aqui:***
6 | - Ter compreendido a introdução sobre Arrays e ter finalizado a lista de exercícios sobre Arrays!
7 | - Caso não tenha feito, [**CLIQUE AQUI**.](../04_arrays/listaExercicios_01/README.md)
8 |
9 | # Estruturas de Repetição
10 |
11 | Em JavaScript, assim como em outras linguagens, temos estruturas de repetição que nos permitem executar um bloco de código várias vezes.
12 |
13 | O objetivo das Estruturas de Repetição é executar um bloco de código várias vezes, até que uma condição seja atendida. A estrutura de repetição mais adequada para cada situação dependerá do problema a ser resolvido.
14 |
15 | O uso da estrutura de repetição **for...of** é indicado quando se deseja percorrer todos os elementos de um array, por exemplo. Já a estrutura de repetição **for com variável de controle** é indicada quando se sabe a quantidade de vezes que o bloco de código deve ser executado. Por fim, a estrutura de repetição **while** é indicada quando não se sabe a quantidade de vezes que o bloco de código deve ser executado.
16 |
17 | Imagine que se não houvessem as estruturas de repetição, seria necessário escrever várias vezes o mesmo bloco de código, o que tornaria o código muito extenso e difícil de ser mantido. Inclusive, a manutenção de um código extenso é mais propensa a erros. Além disso, a estrutura de repetição está relacionada a uma condição, ou seja, caso elas não existissem o Programador/Desenvolvedor teria que repetir o código fazendo várias validações durante o programa, o que abriria inúmeras possibilidades para erros, além de tornar o código muito extenso e também demandando mais tempo para a execução do programa.
18 |
19 | As Estruturas de Repetição que serão abordadas serão:
20 |
21 | ### - 5.1 [For...Of](01-forOf/README.md)
22 | ### - 5.2 [For com Variável de Controle](02-forControle/README.md)
23 | ### - 5.3 [While](03-while/README.md)
24 |
25 | > _**Uma dica: Comece pelo For...Of, pois é a estrutura de repetição mais simples e é muito utilizada!**_
--------------------------------------------------------------------------------
/06_funcoes/01_parametros/README.md:
--------------------------------------------------------------------------------
1 | ## [Voltar - Funções](../README.md)
2 |
3 | # Funções com passagem de parâmetros
4 | Um exemplo de função que utilizamos é a função _alert()_. Essa função recebe um parâmetro, que é o texto que será exibido na caixa de diálogo. A função _alert()_ não retorna nenhum valor, apenas exibe o texto na caixa de diálogo.
5 |
6 | > A função alert nos ajuda a unificar a exibição de mensagens para o usuário. Imagine se fosse necessário uma função diferente para cada mensagem que tivesse que ser exibida para o usuário. Assim, você apenas "chama" a função e passa o parâmetro para a função, que é a mensagem a ser exibida para o usuário.
7 |
8 | ```javascript
9 | alert("Olá, mundo!");
10 | ```
11 |
12 | ```javascript
13 | alert("Bom dia!");
14 | ```
15 |
16 | Note que a sintaxe é a mesma para as duas chamadas da função, o que muda é o parâmetro passado para a função.
17 |
18 | Vamos construir agora um primeiro exemplo, que tem como propósito indicar se o aluno está aprovado ou não. Para isso vamos criar uma função que recebe um parâmetro, que é a média do aluno. Se a média for maior ou igual a 6, o aluno está aprovado, caso contrário, o aluno está reprovado. [EXEMPLO01.HTML](../exemplos/exemplo01.html)
19 |
20 | ```javascript
21 | function situacaoAluno(media) {
22 | if (media >= 6) {
23 | alert("Aprovado!");
24 | } else {
25 | alert("Reprovado!");
26 | }
27 | }
28 | ```
29 |
30 | Para chamar a função, em qualquer lugar do código, a sintaxe será a seguinte:
31 |
32 | ```javascript
33 | situacaoAluno(7);
34 | ```
35 |
36 | Numa situação um pouco diferente, passando dois parâmetros para a função, é possível que seja validada a aprovação do aluno considerando a possibilidade de haverem diferentes médias para a aprovação. Digamos que em um curso a média para aprovação seja 7 e em outro curso a média para aprovação seja 6. Assim, podemos passar dois parâmetros para a função, que são a média do aluno e a média para aprovação. [EXEMPLO02.HTML](../exemplos/exemplo02.html)
37 |
38 | ```javascript
39 | function situacaoAluno(mediaAluno, mediaAprovacao) {
40 | if (mediaAluno >= mediaAprovacao) {
41 | alert("Aprovado!");
42 | } else {
43 | alert("Reprovado!");
44 | }
45 | }
46 | ```
47 |
48 | Portanto, para chamar a função, utilizando dois parâmetros, a sintaxe será da seguinte forma:
49 |
50 | ```javascript
51 | situacaoAluno(10, 6);
52 | ```
53 |
54 | Considere, então, que o programa perguntará ao aluno qual foi sua nota na prova e qual é a média para aprovação. Assim, o programa deve receber esses dois valores e passar para a função. Veja o exemplo: [EXEMPLO03.HTML](../exemplos/exemplo03.html)
55 |
56 | ```javascript
57 | //Aqui, a função recebe dois parâmetros, que são a média do aluno e a média para aprovação
58 | function situacaoAluno(mediaAluno, mediaAprovacao) {
59 | if (mediaAluno >= mediaAprovacao) {
60 | alert("Aprovado!");
61 | } else {
62 | alert("Reprovado!");
63 | }
64 | }
65 |
66 | //Na linha abaixo, o programa pergunta ao aluno qual foi sua média anual obtida
67 | let mediaAluno = prompt("Qual foi a sua nota na prova?");
68 | //Na linha abaixo, o programa pergunta ao aluno qual é a média para aprovação
69 | let mediaAprovacao = prompt("Qual é a média para aprovação?");
70 | //Na linha abaixo, o programa chama a função, passando os dois parâmetros informados pelo aluno
71 | situacaoAluno(mediaAluno, mediaAprovacao);
72 | ```
73 |
74 | > Existem os parâmetros e os argumentos da funçãio. Os parâmetros são, propriamente, os nomes das variáveis - neste caso, _mediaAluno_ e _mediaAprovacao_. Os argumentos são os valores atribuídos para esses parâmetros. Assim, quando chamamos a função, passando os valores 10 e 6, estamos passando os argumentos para os parâmetros _mediaAluno_ e _mediaAprovacao_.
75 |
76 | # [Avançar - Funções com retorno](../02_retorno/README.md)
77 |
78 | ## [Voltar - Funções](../README.md)
79 |
80 | **`Algumas funções nativas do JavaScript que valem ser mencionadas aqui, quais podem ser úteis em algum momento da vida do programador:`**
81 | [88funcoes.html](../88funcoes.html)
--------------------------------------------------------------------------------
/06_funcoes/02_retorno/README.md:
--------------------------------------------------------------------------------
1 | ## [Voltar - Funções](../README.md)
2 |
3 | # Funções com retorno de valores
4 |
5 | Ao invés de as funções executarem uma ação, como é o caso da função _alert()_, é possível que as funções retornem um valor. Para isso, utilizamos a palavra reservada _return_ e, na sequência, o conteúdo que será retornado.
6 |
7 | Utilizando o mesmo problema anterior, vamos criar uma função que recebe dois parâmetros, que são a média do aluno e a média para aprovação. A função deve retornar a mensagem "Aprovado" ou "Reprovado", dependendo da média do aluno. Veja o exemplo: [EXEMPLO04.html](../exemplos/exemplo04.html)
8 |
9 |
10 | ```javascript
11 | function situacaoAluno(mediaAluno, mediaAprovacao) {
12 | if (mediaAluno >= mediaAprovacao) {
13 | return "Aprovado";
14 | } else {
15 | return "Reprovado";
16 | }
17 | }
18 | let resposta = situacaoAluno(10, 6);
19 | alert(resposta);
20 | ```
21 |
22 | Note que a função _situacaoAluno()_ retorna um valor, que é a mensagem "Aprovado" ou "Reprovado". Assim, quando chamamos a função, passando os valores 10 e 6, a função retorna o valor "Aprovado" e esse valor é atribuído à variável _resposta_. Por fim, a variável _resposta_ é exibida na caixa de diálogo.
23 |
24 | Ainda, uma função com passagem de parâmetros pode retornar mais de um valor. Para isso, basta separar os valores por vírgula. Veja o exemplo: [EXEMPLO05.HTML](../exemplos/exemplo05.html)
25 |
26 | ```javascript
27 | function situacaoAluno(mediaAluno, mediaAprovacao) {
28 | if (mediaAluno >= mediaAprovacao) {
29 | return ["Aprovado", mediaAluno];
30 | } else {
31 | return ["Reprovado", mediaAluno];
32 | }
33 | }
34 | let resposta = situacaoAluno(10, 6);
35 | alert(`${resposta[0]}, ${resposta[1}`);
36 | ```
37 |
38 | > **Alerta de spoiler**: mais adiante, veremos que é possível retornar mais de um valor utilizando objetos (_objetos em JavaScript ainda serão abordados na disciplina_).
39 | > Veja o seguinte código em JavaScript, retornando um objeto. [EXEMPLO06.HTML](../exemplos/exemplo06.html)
40 |
41 | ```javascript
42 | function situacaoAluno(mediaAluno, mediaAprovacao) {
43 | if (mediaAluno >= mediaAprovacao) {
44 | return {situacao: "Aprovado", media: mediaAluno};
45 | } else {
46 | return {situacao: "Reprovado", media: mediaAluno};
47 | }
48 | }
49 | let resposta = situacaoAluno(10, 6);
50 | alert(`${resposta.situacao} com média ${resposta.media}`);
51 | ```
52 |
53 | > Um outro exemplo, retornando um array de objetos: [EXEMPLO07.HTML](../exemplos/exemplo07.html)
54 |
55 | ```javascript
56 | function dadosPessoa() {
57 | let pessoas = [
58 | {nome: "João", idade: 20},
59 | {nome: "Maria", idade: 30},
60 | {nome: "José", idade: 40},
61 | {nome: "Ana", idade: 50}
62 | ];
63 | return pessoas;
64 | }
65 | let resposta = dadosPessoa();
66 | alert(`Nome: ${resposta[0].nome}, Idade: ${resposta[0].idade}`);
67 | ```
68 |
69 | E, caso queira escrever na tela todos os dados de todas as pessoas, basta fazer um laço de repetição: [EXEMPLO08.HTML](../exemplos/exemplo08.html)
70 |
71 | ```javascript
72 | function dadosPessoa() {
73 | let pessoas = [
74 | { nome: "João", idade: 20 },
75 | { nome: "Maria", idade: 30 },
76 | { nome: "José", idade: 40 },
77 | { nome: "Ana", idade: 50 }
78 | ];
79 | return pessoas;
80 | }
81 | let resposta = dadosPessoa();
82 | for (let i = 0; i < resposta.length; i++) {
83 | document.write(`Nome: ${resposta[i].nome}, Idade: ${resposta[i].idade}
`);
84 | }
85 | ```
86 |
87 | # [Avançar - Funções anônimas](../03_anonimas/README.md)
88 |
89 | ## [Voltar - Funções](../README.md)
90 |
91 | **`Algumas funções nativas do JavaScript que valem ser mencionadas aqui, quais podem ser úteis em algum momento da vida do programador:`**
92 | [88funcoes.html](../88funcoes.html)
--------------------------------------------------------------------------------
/06_funcoes/03_anonimas/README.md:
--------------------------------------------------------------------------------
1 | ## [Voltar - Funções](../README.md)
2 |
3 | # Funções anônimas
4 | As funções anônimas permitem definir uma função sem nome. Para isso, utilizamos a palavra reservada _function_ e, na sequência, os parâmetros da função e o corpo da função. Veja o exemplo: [EXEMPLO09.HTML](../exemplos/exemplo09.html)
5 |
6 | ```javascript
7 | let situacaoAluno = function(mediaAluno, mediaAprovacao) {
8 | if (mediaAluno >= mediaAprovacao) {
9 | return "Aprovado";
10 | } else {
11 | return "Reprovado";
12 | }
13 | }
14 | let resposta = situacaoAluno(10, 6);
15 | alert(resposta);
16 | ```
17 |
18 | No geral, as funções anônimas são usadas para a inserção de pequenos trechos de código. Por exemplo, imagine que você precisa criar um botão que, quando clicado, exibe uma mensagem na caixa de diálogo. Assim, você pode criar uma função anônima e atribuir essa função ao evento _onclick_ do botão. Veja o exemplo: [EXEMPLO10.HTML](../exemplos/exemplo10.html)
19 |
20 | ```javascript
21 |
22 | ```
23 |
24 | Um outro exemplo mais prático, considerando que desejamos mostrar o parcelamento de um produto a ser comprado em uma loja, sendo que o cliente pode escolher o número de parcelas, desde 1 até 10 parcelas. Assim, o programa deve receber o valor do produto e calcular o valor de cada parcela, para que o cliente escolha qual a melhor maneira de efetuar pagamento. Veja o exemplo: [EXEMPLO11.HTML](../exemplos/exemplo11.html)
25 |
26 | ```javascript
27 | let valorProduto = Number(prompt("Qual é o valor do produto?"));
28 | let mensagem = "";
29 | let formasPagamento = function (valorProduto) {
30 | for (let i = 1; i <= 10; i++) {
31 | let valorParcela = valorProduto / i;
32 | mensagem += ("Em " + i + " parcelas, o valor de cada parcela é de R$ " + valorParcela.toFixed(2).replace(".", ",") + "
");
33 | }
34 | return mensagem;
35 | }
36 | let resultado = formasPagamento(valorProduto);
37 | document.write(resultado);
38 | ```
39 |
40 | Note que a função anônima recebe um parâmetro, que é o valor do produto. A função calcula o valor de cada parcela e retorna uma mensagem, que é atribuída à variável _resultado_. Por fim, a variável _resultado_ é exibida na página.
41 |
42 | # [Avançar - Funções callback](../04_callback/README.md)
43 |
44 | ## [Voltar - Funções](../README.md)
45 |
46 | **`Algumas funções nativas do JavaScript que valem ser mencionadas aqui, quais podem ser úteis em algum momento da vida do programador:`**
47 | [88funcoes.html](../88funcoes.html)
--------------------------------------------------------------------------------
/06_funcoes/04_callback/README.md:
--------------------------------------------------------------------------------
1 | ## [Voltar - Funções](../README.md)
2 |
3 | # Funções Callbacks (Retorno de Chamada)
4 | As funções callback são funções que são passadas como parâmetro para outra função. Veja o exemplo: [EXEMPLO12.HTML](../exemplos/exemplo12.html)
5 |
6 | ```javascript
7 | function soma(a, b) {
8 | return a + b;
9 | }
10 | function subtracao(a, b) {
11 | return a - b;
12 | }
13 | function multiplicacao(a, b) {
14 | return a * b;
15 | }
16 | function divisao(a, b) {
17 | return a / b;
18 | }
19 | function calculadora(a, b, operacao) {
20 | return operacao(a, b);
21 | }
22 | let resultado = calculadora(10, 5, soma);
23 | alert(resultado);
24 | ```
25 |
26 | Este é um exemplo simples, onde temos quatro funções, que são as operações matemáticas básicas. A função _calculadora()_ recebe três parâmetros, que são os dois valores e a operação matemática. A função _calculadora()_ retorna o resultado da operação matemática. Por fim, a função _calculadora()_ é chamada, passando os dois valores e a operação matemática. Note que a operação matemática é passada como parâmetro, que é uma função. Assim, a função _calculadora()_ chama a função passada como parâmetro, passando os dois valores. O resultado da operação matemática é atribuído à variável _resultado_ e, por fim, a variável _resultado_ é exibida na caixa de diálogo.
27 |
28 | As funções callback são muito utilizadas em eventos de elementos HTML. Por exemplo, imagine que você precisa criar um botão que, quando clicado, exibe uma mensagem na caixa de diálogo. Assim, você pode criar uma função anônima e atribuir essa função ao evento _onclick_ do botão. Veja o exemplo: [EXEMPLO13.HTML](../exemplos/exemplo13.html)
29 |
30 | ```javascript
31 |
32 | ```
33 |
34 | Na verdade, as _Funções Callbacks_ foram disponibilizadas na versão mais recente do JavaScript, o ES6. Antes disso, era necessário utilizar as _Funções Anônimas_ para fazer o mesmo que as _Funções Callbacks_ fazem.
35 |
36 | Vamos simular um outro exemplo. Considere a seguinte lista de números:
37 | ```javascript
38 | let numeros = [1, 2, 4, 7, 5, 3, 6];
39 | ```
40 | Digamos que você deseja obter todos os números ímpares que estão presentes no Array acima. Para tal, é possível usar a função `filter()`, que pertence ao objeto Array do JavaScript. Sem utilizar _callbacks_, o código seria o seguinte: [EXEMPLO14.HTML](../exemplos/exemplo14.html)
41 |
42 | ```javascript
43 | let numeros = [1, 2, 4, 7, 5, 3, 6];
44 | function ehNumeroImpar(nro) {
45 | return nro % 2 != 0;
46 | }
47 | let numerosImpares = numeros.filter(ehNumeroImpar);
48 | alert(numerosImpares);
49 | ```
50 | Como anteriormente ao ES6 utilizavam-se as _Funções Anônimas_, o código acima poderia ser escrito da seguinte forma: [EXEMPLO15.HTML](../exemplos/exemplo15.html)
51 | ```javascript
52 | let numeros = [1, 2, 4, 7, 5, 3, 6];
53 | let numerosImpares = numeros.filter(function(nro) {
54 | return nro % 2 != 0;
55 | });
56 | alert(numerosImpares);
57 | ```
58 |
59 | Porém, com o advento do ES6, é possível utilizar as _Funções Callbacks_, que são funções que são passadas como parâmetro para outra função. Veja o exemplo: [EXEMPLO16.HTML](../exemplos/exemplo16.html)
60 | ```javascript
61 | let numeros = [1, 2, 4, 7, 5, 3, 6];
62 | let numerosImpares = numeros.filter(nro => nro % 2 != 0);
63 | alert(numerosImpares);
64 | ```
65 |
66 | # [Avançar - Funções autoexecutáveis](../05_autoexec/README.md)
67 |
68 | ## [Voltar - Funções](../README.md)
69 |
70 | **`Algumas funções nativas do JavaScript que valem ser mencionadas aqui, quais podem ser úteis em algum momento da vida do programador:`**
71 | [88funcoes.html](../88funcoes.html)
--------------------------------------------------------------------------------
/06_funcoes/05_autoexec/README.md:
--------------------------------------------------------------------------------
1 | ## [Voltar - Funções](../README.md)
2 |
3 | # Funções autoexecutáveis
4 | As funções autoexecutáveis são funções que são executadas automaticamente, sem a necessidade de serem chamadas. Para isso, utilizamos a palavra reservada _function_ e, na sequência, os parâmetros da função e o corpo da função. Veja o exemplo: [EXEMPLO17.HTML](../exemplos/exemplo17.html)
5 |
6 | ```javascript
7 | (function() {
8 | alert("Olá, mundo!");
9 | })();
10 | ```
11 | Note que a função é definida entre parênteses e, na sequência, há dois parênteses. Isso indica que a função será executada automaticamente, sem a necessidade de ser chamada.
12 |
13 | # [Avançar - Funções Recursivas](../06_recursivas/README.md)
14 |
15 | ## [Voltar - Funções](../README.md)
16 |
17 | **`Algumas funções nativas do JavaScript que valem ser mencionadas aqui, quais podem ser úteis em algum momento da vida do programador:`**
18 | [88funcoes.html](../88funcoes.html)
--------------------------------------------------------------------------------
/06_funcoes/06_recursivas/README.md:
--------------------------------------------------------------------------------
1 | ## [Voltar - Funções](../README.md)
2 |
3 | # Funções recursivas
4 | As funções recursivas são funções que chamam a si mesmas. Para isso, utilizamos a palavra reservada _function_ e, na sequência, os parâmetros da função e o corpo da função. Veja o exemplo: [EXEMPLO18.HTML](exemplos/exemplo18.html)
5 |
6 | ```javascript
7 | function fatorial(numero) {
8 | if (numero == 1) {
9 | return 1;
10 | } else {
11 | return numero * fatorial(numero - 1);
12 | }
13 | }
14 | let resultado = fatorial(5);
15 | alert(resultado);
16 | ```
17 |
18 | Note que a função _fatorial()_ recebe um parâmetro, que é o número a ser calculado o fatorial. A função verifica se o número é igual a 1. Se for, retorna 1. Caso contrário, retorna o número multiplicado pelo fatorial do número menos 1. Assim, a função chama a si mesma, passando o número menos 1. Esse processo se repete até que o número seja igual a 1. Por fim, o resultado do fatorial é atribuído à variável _resultado_ e, por fim, a variável _resultado_ é exibida na caixa de diálogo.
19 |
20 | # [Avançar - Outros Tipos de Funções](../07_outras/README.md)
21 |
22 | ## [Voltar - Funções](../README.md)
23 |
24 | **`Algumas funções nativas do JavaScript que valem ser mencionadas aqui, quais podem ser úteis em algum momento da vida do programador:`**
25 | [88funcoes.html](../88funcoes.html)
--------------------------------------------------------------------------------
/06_funcoes/exemplos/README.md:
--------------------------------------------------------------------------------
1 | ## [Voltar - Funções](../README.md)
2 |
3 | # Exemplos - Funções
4 |
5 | 1. Funções com parâmetros
6 | 1. [Um parâmetro](exemplo01.html)
7 | 2. [Dois parâmetros](exemplo02.html)
8 | 3. [Dois parâmetros - Informados pelo usuário](exemplo03.html)
9 | 2. Funções com retorno de valores
10 | 1. [Retornando um valor](exemplo04.html)
11 | 2. [Retornando lista de valores](exemplo05.html)
12 | 3. [Retornando um objeto](exemplo06.html)
13 | 4. [Retornando lista de objetos](exemplo07.html)
14 | 5. [Retornando lista de objetos e escrevendo na página](exemplo08.html)
15 | 3. Funções anônimas
16 | 1. [Com retorno de um valor](exemplo09.html)
17 | 2. [Exibindo mensagem no alert()](exemplo10.html)
18 | 3. [Retornando texto com utilização do For](exemplo11.html)
19 | 4. Funções Callback
20 | 1. [Função como parâmetro](exemplo12.html)
21 | 2. [Exibindo mensagem no alert()](exemplo13.html)
22 | 3. [Usando função filter() - filtrando uma lista de valores](exemplo14.html)
23 | 4. [Como eram as funções Callback (Funções anônimas)](exemplo15.html)
24 | 5. [Arrow Function - Função de seta](exemplo16.html)
25 | 5. Funções autoexecutáveis
26 | 1. [Exibindo mensagem no alert()](exemplo17.html)
27 | 6. Funções recursivas
28 | 1. [Cálculo do Fatorial](exemplo18.html)
29 | 7. Outros Tipos de Funções
30 | 1. [Funções com parâmetros opcionais](exemplo19.html)
31 | 2. [Funções com parâmetros variáveis](exemplo20.html)
32 | 3. [Funções com parâmetros nomeados](exemplo21.html)
33 | 4. [Funções com parâmetros nomeados e opcionais](exemplo22.html)
34 | 5. [Funções com parâmetros nomeados e variáveis](exemplo23.html)
35 |
36 | ## [Voltar - Funções](../README.md)
--------------------------------------------------------------------------------
/06_funcoes/exemplos/exemplo01.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/06_funcoes/exemplos/exemplo02.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/06_funcoes/exemplos/exemplo03.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/06_funcoes/exemplos/exemplo04.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/06_funcoes/exemplos/exemplo05.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/06_funcoes/exemplos/exemplo06.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/06_funcoes/exemplos/exemplo07.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/06_funcoes/exemplos/exemplo08.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/06_funcoes/exemplos/exemplo09.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/06_funcoes/exemplos/exemplo10.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |