Baixe o app para aproveitar ainda mais
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)
Compartilhar