Buscar

INTRODUÇÃO A PROGRAMAÇÃO (61)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 9 páginas

Prévia do material em texto

INF1005 – Programação 1
Aula 02: 03/01/2012 – Algoritmos e Ciclo de Desenvolvimento
2012.1
1
1
Introdução à Programação
INF 1005 e INF1004 - Programação I 
Pontifícia Universidade Católica
Departamento de Informática
2
Modelo de um Computador
INF1005 – Programação 1
Aula 02: 03/01/2012 – Algoritmos e Ciclo de Desenvolvimento
2012.1
2
3
CPU: Unidade Central de Processamento
� Principal componente de um computador
digital.
� Localiza e executa as instruções de um 
programa.
� Capaz de executar operações simples com 
grande rapidez.
4
Memória
� Memória volátil usada para armazenar dados e 
programas.
� Conteúdo modificável pelas instruções dos 
programas.
� Permite acesso aleatório.
INF1005 – Programação 1
Aula 02: 03/01/2012 – Algoritmos e Ciclo de Desenvolvimento
2012.1
3
5
Disco Rígido (HD)
� Um dos dispositivos não-voláteis mais usados para o 
armazenamento de grandes volumes de dados.
� Utiliza superfícies magnetizáveis para armazenar as 
informações.
� Permite acesso
randômico aos dados
armazenados.
6
Linguagens de Alto-Nível 
� Programar em linguagem de máquina é uma
tarefa entediante e propensa a erros.
� A partir de meados dos anos 50 várias
linguagens de alto nível foram criadas.
� Tais linguagens possuem nível de abstração
relativamente elevados.
� Elas são mais próximas das linguagens
utilizadas pelos seres humanos.
INF1005 – Programação 1
Aula 02: 03/01/2012 – Algoritmos e Ciclo de Desenvolvimento
2012.1
4
7
Linguagens de Alto-Nível 
� FORTRAN (1957)
� COBOL (1960)
� ALGOL (1968)
� PASCAL (1970)
� C (1972)
� C++ (1983)
� JAVA (1995)
8
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;
}
INF1005 – Programação 1
Aula 02: 03/01/2012 – Algoritmos e Ciclo de Desenvolvimento
2012.1
5
9
Compilação
� Programas escritos em linguagens de 
alto nível não são executados
diretamente pelo processador.
� Antes de executá-lo é preciso traduzir
os comandos de alto-nível para
instruções de máquina.
� Esta tarefa (compilação) é realizada por
um programa chamado de compilador. 
10
Ciclo de Desenvolvimento
INF1005 – Programação 1
Aula 02: 03/01/2012 – Algoritmos e Ciclo de Desenvolvimento
2012.1
6
11
Ciclo de Desenvolvimento
Problema Resultados
Programa
de computador
(solução)
12
Ciclo de Desenvolvimento
� Escolha da linguagem de programação depende da 
aplicação que será desenvolvida.
� Na disciplina INF1005, a escolha da linguagem C está 
relacionada a:
– eficiência
– facilidade de uso
– base para muitas outras linguagens
– mais usada atualmente
– base para Programação II
INF1005 – Programação 1
Aula 02: 03/01/2012 – Algoritmos e Ciclo de Desenvolvimento
2012.1
7
13
� Um programa escrito em C deve respeitar a sintaxe da 
linguagem.
� Um computador não é capaz de executar uma 
sequência de instruções escritas em C:
– ou em qualquer outra linguagem de alto nível
� Para executar um programa em C, antes é necessário 
converter o programa em C para um programa em 
linguagem de máquina:
– processo chamado de COMPILAÇÃO
– processo realizado por um COMPILADOR:
» programa
Ciclo de Desenvolvimento
14
Ciclo de Desenvolvimento
(extensão .c)
(extensão .exe)
INF1005 – Programação 1
Aula 02: 03/01/2012 – Algoritmos e Ciclo de Desenvolvimento
2012.1
8
15
Como descrever um “problema”?
� Andando pelo campus da PUC e após quase tropeçar 
em esquilos e levar um susto com o vôo do tucano, 
alguém lhe pergunta:
– Como faço para ir ao centro da cidade?
� O que você responde?
16
Como descrever um “problema”?
� Na pergunta anterior é fácil observar que faltam 
detalhes para a resposta ser mais correta ou eficiente:
– meio de transporte
» envolve tempo e dinheiro
– endereço específico
– quando?
» envolve trajeto devido a engarrafamento
– número de pessoas
� Fica difícil responder sem saber as reais necessidades 
de quem perguntou.
INF1005 – Programação 1
Aula 02: 03/01/2012 – Algoritmos e Ciclo de Desenvolvimento
2012.1
9
17
Solução de “problemas”
� Objetivo: encontrar uma sequência de passos que permitam que o 
problema possa ser resolvido de maneira automática e repetitiva.
� Detalhamento do problema.
� Perfeita compreensão do problema.
� Descrição da solução:
– clara
– não ambígua
– sequencial
� Linguagem utilizada na solução deve ser compreendida pelo 
executor da solução.
� Atores envolvidos
– criador da solução (programador)
– executor da solução (computador)
– usuário da solução (programador – em INF1005)

Outros materiais