200 likes | 300 Views
CIC 107 Programação de Computadores I. David Menotti – menottid@gmail.com Professor Adjunto – DECOM UFOP 2009/2. Aviso Importante!!!. Aviso Importante!!!. Ementa do Curso. Objetivos, Metodologia, etc. Bibliografia. Avaliação.
E N D
CIC 107Programação de Computadores I David Menotti – menottid@gmail.com Professor Adjunto – DECOM UFOP 2009/2
Avaliação CEPE: Conselho de Ensino, Pesquisa e Extensão da Universidade Federal de Ouro Preto
Por que estudar computação ? Computação estuda os fluxos de informação em sistemas naturais... ...e como representar e tratar fluxos de informação em sistemas artificiais Fonte: http://www.dpi.inpe.br/gilberto/palestras.html
Conexões e Fluxos são universais Interações entre proteínas de levedura (Barabasi e Boneabau, SciAm, 2003) Interações entre cientistas do Vale do Silício (Fleming e Marx, Calif Mngt Rew, 2006) Fonte: http://www.dpi.inpe.br/gilberto/palestras.html
Tem computação em… Fonte: http://guiadoestudante.abril.com.br OUTRAS ENGENHARIAS, MEDICINA, etc.
Por que estudar Programação ? • Todos nós programamos. • Ao programar desenvolvemos algoritmos • Ao programar utilizamos lógica
Por que estudar Programação ? • Algoritmo • Sequência de passos finitos com o objetivo de solucionar um problema. Problema Solução Importante: Algoritmo não é a solução de um problema. É uma alternativa de solução de um problema.
Por que estudar Programação ? • Todos nós, no dia-a-dia, nos deparamos com vários problemas… • Estamos a todo instante concebendo algoritmos… • Estamos a todo instante programando… DUVIDAM ??? 1- Retirar o telefone do gancho 2- Esperar o sinal 3- Discar o número 4- Falar ao telefone 5- Colocar o telefone no gancho algoritmo
Por que estudar Programação ? • Futuros Engenheiros Vocês programam ? Vocês irão desenvolver algoritmos em suas carreiras? SIM SIM SIM SIM SIM SIM SIM SIM SIM SIM SIM SIM SIM SIM SIM SIM SIM SIM SIM SIM Problemas podem ser complexos, portanto algoritmos podem ser complexos PRECISAMOS TREINAR O RACIOCÍNIO LÓGICO, ENCADEAMENTO DE PASSOS, ETC.
Exemplos • Algoritmo para trocar lâmpada • Se (lâmpada estiver for a do alcance) pegar a escada; • Pegar lâmpada; • Se (lâmpada estiver quente) pegar pano; • Tirar lâmpada queimada; • Colocar lâmpada nova; Um outro algoritmo??
Exemplos • Algoritmo para fazer uma prova • Ler a prova; • Pegar caneta; • Enquanto ((houver questão em branco) e (houver tempo)) faça • Se (souber a questão) Resolva-a; • Senão Pule para a próxima; • Entregar a prova; Um outro algoritmo??
Exemplos • Algoritmo para levar um leão, uma cabra e um pedaço de grama de um lado para outro do rio, usando um bote para tal tarefa. Sabe-se que nunca um leão pode ficar sozinho com uma cabra e nem a cabra sozinha com a grama. 1- Levar a grama e o leão; 2- Voltar com o leão; 3- Deixar o leão; 4- Levar a cabra; 5- Deixar a cabra; 6- Voltar com a grama; 7- Levar o leão e a grama; Um outro algoritmo??
Exercício • Fazer um algoritmo para levar 3 missionários e 3 canibais de um lado para o outro do rio, usando um bote para tal tarefa. Sabe-se que nunca pode ter mais missionários do que canibais porque senão os missionários catequizam os canibais. O que fazer para levar os 6 de uma margem a outra??
Exercício • Algoritmo para trocar 1 pneu • Algoritmo para trocar n pneus (n>1)
Próximas aulas • Programa de computador: nada mais é do que um algoritmo escrito numa linguagem de computador… • Estrutura de um computador • Informações manipuladas por um computador • Evolução da comunicação Humano-Computador Lembram que temos que representar e tratar fluxos de informação em sistemas artificiais