Prévia do material em texto
Prof. Omar Sacilotto Donaires Aula 02 Processo de exploração do potencial dos computadores Ciências da Computação Pensamento Computacional ARA3590 Processo de exploração do potencial dos computadores • Entre códigos e algoritmos: a lógica do computador • O que é algoritmo • Elaborando algoritmos Objetivos Saber o quê Saber como Saber porque Como a demanda dos usuários é transformada em código Entendendo o processo de solução de problemas reais através da programação Entender a contribuição da computação para a evolução tecnológica. O conceito de algoritmo e código Elaborando um algoritmo e entendendo o processo de programação e compilação. Compreender a lógica e o funcionamento do computador Editar e executar programas de computador em um IDE em Python Através de um tutorial com exemplos de programas simples Ter uma primeira experiência com programação Situação- problema • Existe na sociedade uma demanda pela solução de problemas que podem ser resolvidos com o uso do computador. • Porém, para que esse problemas sejam resolvidos, eles precisam ser entendidos e transformados em código de computador. • Como é o processo de criar um código de computador para resolver um problema real? Entre códigos e algoritmos: aprendendo a lógica do computador Dois lados da essência de um computador Demanda humana Uma carência que máquina poderia suprir. • edição de fotos • envio de e-mails • ... Solução Criação de um código. A programação atende à demanda → não julga, não cria a demanda. Mediam a conexão→ ligam os dois lados. • Transformam demandas em códigos executáveis, possibilitando diversas funcionalidades. Programadores Evolução tecnológica As demandas dos usuários são captadas. Os programadores traduzem essas demandas em código. O código tem utilidade para solucionar problemas específicos. A utilidade do código é direcionada pelo usuário, refletindo a evolução social. Resultado da criatividade na resolução de desafios reais. O conceito de código • Para compreendermos o funcionamento de um computador, precisamos entender o que é código. Código = instruções sequenciais Exemplo: redução de olhos vermelhos de fotografias “Seria legal se os computadores fossem capazes de reduzir os olhos vermelhos de fotografias! Esse defeito é meio macabro! Fico desconfortável ao vê-lo”. Procurar a cor vermelha na foto. Verificar se ela tem uma forma arredondada. Reduzir a cor vermelha. Escrever este algoritmo em instruções tão simples que o computador possa executar. Demanda do usuário Redução de olhos vermelhos Resultado Função de redução de olhos vermelhos funcionando. De que maneira posso tornar isso possível? Vou pensar em algumas etapas... Programador Desenvolve algoritmos para atender às necessidades da sociedade. • Pensa e estrutura a sequência de passos. Traduz o algoritmo em código. Computador Executa essas sequência de instruções. • Somente o que é pedido. • Na ordem descrita pelo código. • Porém, de forma incrivelmente rápida. Algoritmo Sequência de passos. Transformam demandas humanas em funcionalidades. Código Uma sequência de instruções. Cada instrução é muito simples. Algoritmo • Conjunto de instruções ou passos para fazer algo útil. • Pode ser expresso em linguagem comum (português). • Não precisa ser escrito em linguagem de computador. • Exemplo: • Calcular a idade com base na data de nascimento. • Só é válido quando estiver funcionando→ alcança seu propósito. • Para implementá-lo, escreve-se um código em linguagem de programação. Receita culinária Algoritmo para fazer um bolo Ingredientes • 2 xícaras (chá) de açúcar • 3 xícaras (chá) de farinha de trigo • 4 colheres (sopa) de margarina bem cheias • 3 ovos • 1 1/2 xícara (chá) de leite aproximadamente • 1 colher (sopa) de fermento em pó bem cheia Modo de preparo 1. Bata as claras em neve. 2. Reserve. 3. Bata bem as gemas com a margarina e o açúcar. 4. Acrescente o leite e farinha aos poucos sem parar de bater. 5. Por último, agregue as claras em neve e o fermento. 6. Coloque em forma grande de furo central untada e enfarinhada. 7. Pré-aqueça o forno a 180° C por 10 minutos. 8. Asse por 40 minutos. Algoritmo para fazer brigadeiro (com teste e loop) Ingredientes • 1 lata de leite condensado • 1 colher de sopa de margarina sem sal • 7 colheres de sopa de Nescau ou 4 colheres de sopa de chocolate em pó • chocolate granulado para fazer bolinhas Modo de preparo 1. Coloque em uma panela funda o leite condensado, a margarina e o chocolate em pó 2. Cozinhe em fogo médio e mexa sem parar com uma colher de pau 3. Cozinhe até que o brigadeiro comece a desgrudar da panela 4. Deixe esfriar bem, então unte as mãos com margarina, faça as bolinhas e envolva-as em chocolate granulado Brainstorm Passo a passo de como fritar um ovo Mãos à obra • Escreva um algoritmo para trocar o pneu furado de um automóvel. Trocar um pneu furado Programadores + computadores: Uma combinação extremamente poderosa Em algum momento, uma pessoa ou equipe pensa em criar um recurso útil via computador, smartphones etc. O programador cria um algoritmo capaz de resolver esse problema real. O programador traduz o algoritmo em código. O computador executa o que o programador implementou. • Usar o e-mail. • Assistir a um vídeo. • Conversar pelo WhatsApp. • Realizar operações bancárias. O computador se destaca por sua velocidade e economia→ o computador é bom em ser rápido e barato. Uma sequência de instruções simples, que o computador consegue executar. Conjunto de passos em linguagem comum para fazer algo útil. Em que o computador é bom? • O computador é bom em ser rápido e barato. • Tem ficado mais barato, e isso ocorre há várias décadas. • Como resultado, eles podem ser mais difundidos. • Além disso, e é possível investir em pesquisa científica para desenvolvê-los, tornando-os ainda mais rápidos. • Previsão de Gordon Moore, há mais de 50 anos. • Destaca a contínua evolução tecnológica, impulsionando a interconexão e a substituição rápida de sistemas. • Cada nova geração amplia o acesso a tecnologias mais antigas, enquanto a capacidade de troca de dados aumenta e os custos diminuem. Como os computadores evoluem O ritmo da evolução na computação eletrônica não muda: o número de transistores dos chips aumenta 100%, pelo mesmo custo, a cada dois anos. O acesso à tecnologia se deu em um tempo muito curto Apesar das mudanças constantes, o que de alguma forma não mudou, foi a dinâmica subjacente. 1980 2000 2010 Primeira onda de computadores pessoais, os PC, ocupou os espaços nas lojas lentamente. Essas máquinas deixaram de ser enormes e pesadas. As telas e as conexões eram a novidade. As bandas largas se multiplicaram. Mãos à obra • Escreva um algoritmo para verificar se um aluno está aprovado segundo os seguintes critérios: • A média de duas notas, N1 e N2 tem que maior ou igual a 6,0. • A frequência deve ser maior ou igual a 75% Algoritmo para verificar se um aluno está aprovado ou reprovado • Obter as duas notas: • N1 e N2. • Calcular a média: • M = N1 + N2 / 2 • Verificar se a média é maior ou igual a 6,0. • Se não for, o aluno está reprovado. • Se for, testar se a frequência do aluno é maior do que 75%. • Se não for, o aluno está reprovado. • Se for, o aluno está aprovado. INÍCIO N1, N2, Freq Média (N1 = N2) / 2 Média >= 6,0 “Aprovado” “Reprovado” FIM Freq >= 75% Não Não Sim Sim Leitura específica • Tema 1, "Introdução aos princípios fundamentais da computação" • Módulo 2, "Processo de exploração do potencial dos computadores" Para próxima aula • Tema 1, "Introdução aos princípios fundamentais da computação" • Módulo 3, " Código de instrução de computadores" Nesta aula aprendemos: • A lógica da evolução tecnológica. • A lógica por trás do funcionamento doscomputadores. • A elaboração de algoritmos a partir de necessidades reais.