Introdução à Programação INF 1005 e INF1004 - Programação I Pontifícia Universidade Católica Departamento de Informática 1 Modelo de um Computador 2 1
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. 3 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. 4 2
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. 5 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. 6 3
Linguagens de Alto-Nível FORTRAN (1957) COBOL (1960) ALGOL (1968) PASCAL (1970) C (1972) C++ (1983) JAVA (1995) 7 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; 8 4
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. 9 10 5
Problema Programa de computador (solução) Resultados 11 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 12 6
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 13 (extensão.c) (extensão.exe) 14 7
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? 15 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. 16 8
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) 17 9