slides - DECOM-UFOP

Propaganda
CIC 107
Programação de Computadores I
David Menotti – [email protected]
Professor Adjunto – DECOM
UFOP 2009/2
Aviso Importante!!!
© David Menotti
CIC107 – Programação de Computadores
Aviso Importante!!!
© David Menotti
CIC107 – Programação de Computadores
Ementa do Curso
© David Menotti
CIC107 – Programação de Computadores
Objetivos, Metodologia, etc.
© David Menotti
CIC107 – Programação de Computadores
Bibliografia
© David Menotti
CIC107 – Programação de Computadores
Avaliação
CEPE: Conselho de Ensino, Pesquisa e Extensão da Universidade Federal de Ouro Preto
© David Menotti
CIC107 – Programação de Computadores
Por que estudar computação ?
Computação estuda os fluxos
de informação em sistemas
naturais...
© David Menotti
...e como representar e tratar
fluxos de informação em
sistemas artificiais
– Programação de Computadores
Fonte:CIC107
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)
© David Menotti
Interações entre cientistas do Vale do Silício
(Fleming e Marx, Calif Mngt Rew, 2006)
– Programação de Computadores
Fonte:CIC107
http://www.dpi.inpe.br/gilberto/palestras.html
Tem computação em…
Fonte: http://guiadoestudante.abril.com.br
OUTRAS ENGENHARIAS, MEDICINA, etc.
© David Menotti
CIC107 – Programação de Computadores
Por que estudar Programação ?

Todos nós programamos.

Ao programar desenvolvemos algoritmos

Ao programar utilizamos lógica
© David Menotti
CIC107 – Programação de Computadores
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.
© David Menotti
CIC107 – Programação de Computadores
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
© David Menotti
algoritmo
CIC107 – Programação de Computadores
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
© David Menotti
CIC107 – Programação
de Computadores
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??
© David Menotti
CIC107 – Programação de Computadores
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??
© David Menotti
CIC107 – Programação de Computadores
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??
© David Menotti
CIC107 – Programação de Computadores
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??
© David Menotti
CIC107 – Programação de Computadores
Exercício

Algoritmo para trocar 1 pneu

Algoritmo para trocar n pneus (n>1)
© David Menotti
CIC107 – Programação de Computadores
Próximas aulas




Programa de computador: nada mais é do
que um algoritmo escrito numa linguagem de
computador…
Lembram que temos que representar
e tratar fluxos de informação
em sistemas artificiais
Estrutura de um computador
Informações manipuladas por um
computador
Evolução da comunicação HumanoComputador
© David Menotti
CIC107 – Programação de Computadores
Download