Você está na página 1de 9

INF1005 Programao 1

Aula 02: 03/01/2012 Algoritmos e Ciclo de Desenvolvimento


2012.1

Introduo Programao
INF 1005 e INF1004 - Programao I

Pontifcia Universidade Catlica


Departamento de Informtica
1

Modelo de um Computador

1
INF1005 Programao 1
Aula 02: 03/01/2012 Algoritmos e Ciclo de Desenvolvimento
2012.1

CPU: Unidade Central de Processamento

 Principal componente de um computador


digital.
 Localiza e executa as instrues de um
programa.
 Capaz de executar operaes simples com
grande rapidez.

Memria

 Memria voltil usada para armazenar dados e


programas.
 Contedo modificvel pelas instrues dos
programas.
 Permite acesso aleatrio.

2
INF1005 Programao 1
Aula 02: 03/01/2012 Algoritmos e Ciclo de Desenvolvimento
2012.1

Disco Rgido (HD)

 Um dos dispositivos no-volteis mais usados para o


armazenamento de grandes volumes de dados.
 Utiliza superfcies magnetizveis para armazenar as
informaes.
 Permite acesso
randmico aos dados
armazenados.

Linguagens de Alto-Nvel

 Programar em linguagem de mquina uma


tarefa entediante e propensa a erros.
 A partir de meados dos anos 50 vrias
linguagens de alto nvel foram criadas.
 Tais linguagens possuem nvel de abstrao
relativamente elevados.
 Elas so mais prximas das linguagens
utilizadas pelos seres humanos.

3
INF1005 Programao 1
Aula 02: 03/01/2012 Algoritmos e Ciclo de Desenvolvimento
2012.1

Linguagens de Alto-Nvel

 FORTRAN (1957)
 COBOL (1960)
 ALGOL (1968)
 PASCAL (1970)
 C (1972)
 C++ (1983)
 JAVA (1995)

Exemplo de Programa em C

int main(void){
int a = 3, b = 7, c;

c=a+b;

if(c%2==0)
printf("o resultado e par\n");
else
printf("o resultado e impar\n");

return 0;
}

4
INF1005 Programao 1
Aula 02: 03/01/2012 Algoritmos e Ciclo de Desenvolvimento
2012.1

Compilao

 Programas escritos em linguagens de


alto nvel no so executados
diretamente pelo processador.
 Antes de execut-lo preciso traduzir
os comandos de alto-nvel para
instrues de mquina.
 Esta tarefa (compilao) realizada por
um programa chamado de compilador.

Ciclo de Desenvolvimento

10

5
INF1005 Programao 1
Aula 02: 03/01/2012 Algoritmos e Ciclo de Desenvolvimento
2012.1

Ciclo de Desenvolvimento

Programa
Problema de computador Resultados
(soluo)

11

Ciclo de Desenvolvimento

 Escolha da linguagem de programao depende da


aplicao que ser desenvolvida.

 Na disciplina INF1005, a escolha da linguagem C est


relacionada a:
eficincia
facilidade de uso
base para muitas outras linguagens
mais usada atualmente
base para Programao II

12

6
INF1005 Programao 1
Aula 02: 03/01/2012 Algoritmos e Ciclo de Desenvolvimento
2012.1

Ciclo de Desenvolvimento

 Um programa escrito em C deve respeitar a sintaxe da


linguagem.
 Um computador no capaz de executar uma
sequncia de instrues escritas em C:
ou em qualquer outra linguagem de alto nvel
 Para executar um programa em C, antes necessrio
converter o programa em C para um programa em
linguagem de mquina:
processo chamado de COMPILAO
processo realizado por um COMPILADOR:
programa
13

Ciclo de Desenvolvimento

(extenso .c)

(extenso .exe)

14

7
INF1005 Programao 1
Aula 02: 03/01/2012 Algoritmos e Ciclo de Desenvolvimento
2012.1

Como descrever um problema?

 Andando pelo campus da PUC e aps quase tropear


em esquilos e levar um susto com o vo do tucano,
algum lhe pergunta:

Como fao para ir ao centro da cidade?

 O que voc responde?

15

Como descrever um problema?

 Na pergunta anterior fcil observar que faltam


detalhes para a resposta ser mais correta ou eficiente:
meio de transporte
envolve tempo e dinheiro
endereo especfico
quando?
envolve trajeto devido a engarrafamento
nmero de pessoas
 Fica difcil responder sem saber as reais necessidades
de quem perguntou.

16

8
INF1005 Programao 1
Aula 02: 03/01/2012 Algoritmos e Ciclo de Desenvolvimento
2012.1

Soluo de problemas

 Objetivo: encontrar uma sequncia de passos que permitam que o


problema possa ser resolvido de maneira automtica e repetitiva.
 Detalhamento do problema.
 Perfeita compreenso do problema.
 Descrio da soluo:
clara
no ambgua
sequencial
 Linguagem utilizada na soluo deve ser compreendida pelo
executor da soluo.
 Atores envolvidos
criador da soluo (programador)
executor da soluo (computador)
usurio da soluo (programador em INF1005)

17