Prévia do material em texto
<p>INTRODUÇÃO À LÓGICA</p><p>E ALGORITMOS</p><p>Aula 1</p><p>Fundamentos da computação e</p><p>tecnologia</p><p>Introdução à Computação em Nuvem | MPT.Br</p><p>• O que é computação?</p><p>• Exemplo de computação</p><p>• Abstrações e pensamento computacional</p><p>• Variáveis</p><p>• Operações e expressões</p><p>Restic36 - Residência em Tecnologia da Informação e Comunicação</p><p>Temas da aula</p><p>Restic36 - Residência em Software Bahia + Tecnologia +</p><p>Empreendedorismo</p><p>Fundamentos da computação e tecnologia</p><p>O que é computação?</p><p>Existem várias definições.</p><p>Iremos focar aqui na definição que envolve o processamento</p><p>de alguma coisa “soft” em alguma coisa “hard”.</p><p>Os famosos hardware e software:</p><p>● Hardware:</p><p>Equipamento físico capaz de processar instruções de maneira</p><p>sequencial e automática.</p><p>● Software:</p><p>Conjunto abstrato não físico de instruções que podem ser</p><p>“programadas” em um hardware.</p><p>Fonte: www.techbrain.com.au/hardware-service-vs-software-service/</p><p>Restic36 - Residência em Software Bahia + Tecnologia +</p><p>Empreendedorismo</p><p>Fundamentos da computação e tecnologia</p><p>Exemplo de computação</p><p>● Não iremos iniciar com o exemplo tradicional do “computador”.</p><p>● Vamos considerar um exemplo BEM mais interessante:</p><p>■ O “Mousetrap car”.</p><p>Fonte: www.docfizzix.com</p><p>Restic36 - Residência em Software Bahia + Tecnologia +</p><p>Empreendedorismo</p><p>Fundamentos da computação e tecnologia</p><p>Exemplo de computação</p><p>O “Mousetrap car programável”</p><p>Restic36 - Residência em Software Bahia + Tecnologia +</p><p>Empreendedorismo</p><p>Fundamentos da computação e tecnologia</p><p>Exemplo de computação</p><p>O “Mousetrap car programável”</p><p>● Hardware:</p><p>Carrinho com os pinos nas rodas e corda suficiente para fazer o mesmo andar.</p><p>● Software:</p><p>Sequencia contendo “comandos” que serão traduzidos em formas de enrolar a corda.</p><p>Ex:</p><p>enrolar(3 voltas, roda_esquerda)</p><p>laçar_pino(roda_esquerda)</p><p>enrolar(2 voltas, roda_esquerda)</p><p>enrolar(5 voltas, roda_direita)</p><p>...</p><p>Restic36 - Residência em Software Bahia + Tecnologia +</p><p>Empreendedorismo</p><p>Fundamentos da computação e tecnologia</p><p>Abstrações e pensamento computacional</p><p>❖ Representação do problema:</p><p>● Traduzir os passos e elementos do problema em coisas</p><p>representáveis;</p><p>● Pinos como elementos de alteração do movimento;</p><p>● Enrolar a corda voltando ou não em um pino.</p><p>❖ Estabelecimento da sequência de passos (Algoritmo):</p><p>● Organizar estas coisas representáveis em passos bem</p><p>definidos;</p><p>● Número de voltas por vez antes de mudar de direção.</p><p>❖ Codificação dessa sequência:</p><p>● Escrever uma sequência padrão em uma “linguagem”.</p><p>Fonte: www.klipfolio.com/blog/algorithm-in-six-steps</p><p>Restic36 - Residência em Software Bahia + Tecnologia +</p><p>Empreendedorismo</p><p>Fundamentos da computação e tecnologia</p><p>Abstrações e pensamento computacional</p><p>❖ Representação do problema:</p><p>● Variáveis;</p><p>● Armazenam valores ou elementos ao longo do</p><p>processo.</p><p>❖ Comandos:</p><p>● Executam ações que podem modificar o estado do</p><p>problema.</p><p>❖ Condicionais e blocos de repetição:</p><p>● Mudam o sentido da execução do processo baseado</p><p>em algum critério.</p><p>Fonte: projectpals.com/post/why-is-problem-representation-so-important-for-problem-solving/</p><p>Restic36 - Residência em Software Bahia + Tecnologia +</p><p>Empreendedorismo</p><p>Fundamentos da computação e tecnologia</p><p>Variáveis</p><p>❖ Tipos</p><p>● Char (caracter)</p><p>●</p><p>● Numérico</p><p>● Inteiro</p><p>● Ponto flutuante (decimal)</p><p>● String (sequência de caracteres)</p><p>● Booleano</p><p>‘a’, ‘b’, ‘#’, ‘ ‘</p><p>1, 3, 0x42</p><p>3.456, 1.5e-12</p><p>“Hello world!”, “”, “aaaa”</p><p>(True, False)</p><p>Fonte: www.vectorstock.com</p><p>Restic36 - Residência em Software Bahia + Tecnologia +</p><p>Empreendedorismo</p><p>Fundamentos da computação e tecnologia</p><p>Variáveis</p><p>(Segunda, terça, quarta, quinta, sexta)</p><p>(Mercúrio, Vênus, Terra, Marte)</p><p>[2, 4, 6, 8, 10]</p><p>[‘a’, ‘b’, ’c’, ’d’]</p><p>(nome: “Fulano”, idade: 22, peso: 80.5)</p><p>(x: 0.5, y:1.3, z: -2.3)</p><p>● Tipos</p><p>📫 Enumeração</p><p>- Lista de nomes que podem ser</p><p>usados como valores</p><p>📫 Vetor</p><p>- Lista de valores de um certo tipo.</p><p>Por exemplo inteiros</p><p>📫 Estrutura</p><p>- Agrupamento de vários tipos em</p><p>um só local</p><p>Restic36 - Residência em Software Bahia + Tecnologia +</p><p>Empreendedorismo</p><p>Fundamentos da computação e tecnologia</p><p>Operações e expressões</p><p>● Expressões numéricas</p><p>○ Usadas para compor um cálculo ou expressar uma</p><p>quantidade baseada em valores;</p><p>○ Em geral composta de operadores aritméticos como</p><p>soma, subtração, multiplicação, divisão e exponenciação;</p><p>○ Atenção à precedência (Parêntesis podem ser usados</p><p>para definir precedência).</p><p>+, -, /, *, ^ ou **</p><p>3+5*4</p><p>(4+5)^3</p><p>2*4/5*6</p><p>-3 + 4</p><p>1/(1+1/(1+1/(1+1/1+1)))</p><p>Fonte: mathmedia.com/whatisdifbet.html</p><p>Restic36 - Residência em Software Bahia + Tecnologia +</p><p>Empreendedorismo</p><p>Fundamentos da computação e tecnologia</p><p>Operações e expressões</p><p>● Operadores booleanos</p><p>○ Usados exclusivamente com valores</p><p>booleanos;</p><p>○ Podem compor expressões;</p><p>○ Parêntesis podem ser usados para</p><p>modificar precedência;</p><p>○ Operações podem ser “curto circuitadas”.</p><p>AND (&&)</p><p>OR (||)</p><p>NOT (~, !)</p><p>Fonte: graphicmaths.com/computer-science/logic/combining-logic-gates/</p><p>True && False</p><p>(True || False)&&False</p><p>Restic36 - Residência em Software Bahia + Tecnologia +</p><p>Empreendedorismo</p><p>Fundamentos da computação e tecnologia</p><p>Operações e expressões</p><p>● Operadores relacionais</p><p>○ Usados para relacionar valores resultando</p><p>em valores booleanos;</p><p>○ Podem ser usados em conjunto com</p><p>operadores aritméticos e booleanos;</p><p>○ Possuem precedência quanto à operações</p><p>aritméticas.</p><p>>, >=, <, <=, !=, == 3 > 4</p><p>(2+2)*4 < 0</p><p>1.23 == 2.45</p><p>(2 == 2) || True</p><p>(2+2)*4 != (3+5)*2</p><p>(5.6 > 0.0) && (2+2 == 4)</p><p>Prof. Allan Martins</p><p>Prof. Dr. Ciro Moura</p><p>Temas da próxima aula:</p><p>Conceitos sobre</p><p>Implementação de algoritmos</p>