Baixe o app para aproveitar ainda mais
Prévia do material em texto
Professor: Leonardo Pereira de Sousa Algoritmos e Programação I UNIVERSIDADE FEDERAL DO PIAUÍ – UFPI Campus Picos INTRODUÇÃO SLIDE 01 Conteúdo • Sistemas de computação; • Representação da informação; • Sistemas numéricos. Sistemas de Computação • Fisicamente, o computador não é mais do que um conjunto de componentes elétricos, mecânicos e eletromecânicos capazes de processar informações, portanto todo e qualquer sistema de computação são compostos de componentes físicos e lógicos. Sistemas de Computação • Esses componentes são conhecidos como: – HARDWARE são partes mecânicas, elétricas e eletrônicas. – SOFTWARE são métodos, procedimentos, normas e documentação necessários ao funcionamento da parte física. Sistemas de Computação • Estrutura lógica – Unidade Central de Processamento - O processador é o cérebro do computador, o componente que calcula operações de lógica binária (adição, subtração etc.), lê e escreve informação na memória do computador e que diz aos outros componentes o que fazer. Sistemas de Computação • Unidade Lógica e Aritmética (ULA) – A ULA - Unidade Lógica Aritmética, efetiva as operações como adição, subtração, divisão, multiplicação, comparação etc. • Unidade de Controle – A unidade de controle decodifica as instruções do programador que está na memória, gerando os sinais necessários para a execução da instrução. Ela coordena o funcionamento de todas as outras unidades. Sistemas de Computação • Estrutura lógica – Dispositivos de Entrada e Saída: • As unidades de entrada de dados realizam a interface entre homem e máquina, exemplo: o teclado, o mouse etc. • Já as Unidades de saída de dados devolvem a informação processada entre a máquina e o homem, exemplo: a impressora, o vídeo etc. Sistemas de Computação • Estrutura lógica – Programas (software) - Apesar de não terem qualquer tipo de implementação física, os softwares dão vida aos diversos componentes do computador e os fazem trabalhar para um fim comum. – Isto só é possível, através de instruções específicas de operação agrupadas em unidades lógicas ou programas. Sistemas de Computação • Estrutura lógica – Unidades de Memória - É o principal local de operação do computador, pois armazena toda a informação associada ao programa a ser executado. Sistemas de Computação • Tipos de Memória: – A memória pode ser dividida quanto a sua funcionalidade em três tipos distintos: • RAM (random access memory) - é volátil. Todas as informações introduzidas no computador são armazenadas na memória RAM. • ROM (read only memory) - não é volátil, esta memória é apenas de leitura e de acesso randômico (aleatório), é usada para iniciar o sistema. • Memória de Massa ou Secundária - São as fitas magnéticas, discos magnéticos ou ópticos. Este tipo de memória contém componentes eletromecânicos o que a torna mais lenta. Sua principal característica é o baixo custo e a sua grande capacidade. Organização Básica de um Computador 0 0 1 1 0 0 0 1 1 0 0 1 0 0 1 1 0 0 1 0011001101 Dados de Entrada Dados de Saída Instruções de Programa 12 Componentes de Software • Nos primeiros computadores o usuário interagia muito com a máquina, atualmente os detalhes de operação do hardware não são vistos pelo usuário. • O usuário trabalha em um nível de abstração mais alto, deixando detalhes de acionamento da máquina para um programa especial chamado Sistema Operacional. Classificação dos Sistemas • Sistemas Operacionais (S.0.): – O Sistema Operacional nada mais é do que um conjunto de programas que auxiliam o desenvolvimento ou a execução de uma determinada aplicação sendo responsável pelo seu processamento. – Ele também assegura que os recursos físicos do sistema estejam disponíveis quando necessários, e que os recursos de software sejam fornecidos quando requisitados. Classificação dos Sistemas • Softwares de Aplicação: – são criados, em regra, para executar tarefas específicas como o processamento de texto, reprodução de áudio etc. – Para se criar estas aplicações são necessárias as linguagens de programação, que não deixam de ser um software de aplicação. – As linguagens de programação permitem a criação de sequências lógicas que o computador consegue "entender" e executar. Representação da Informação • Para que as instruções sejam processadas na memória do computador, toda a informação precisa ser representada de um modo comum e coerente em todos os tipos de sistemas e ambientes, o que obrigou a criação de um modelo geral de representação numérica. Linguagem de Máquina • A linguagem de máquina é a linguagem que o computador compreende e armazena as instruções das ações que deve realizar. • Representada pela ausência e presença de energia. • É muito difícil de ser compreendida e utilizada pelos seres humanos. 17 Linguagem de Máquina • A Linguagem de Máquina é formada por um conjunto de bits (Binary Digit ou Dígito Binário). • Um bit é representado numericamente por: – 0 (zero) ou; – 1 (um). • Exemplo: – 0100 0001 (letra A) • A CPU contém um conjunto de instruções que usam a linguagem de máquina. Cada instrução é um conjunto de bits que dizem a CPU como executar os programas (outro conjunto de bits) juntamente com os dados de entrada (também outro conjunto de bits). 18 Linguagem de Programação • A linguagem de programação é uma linguagem mais facilmente compreendida pelos seres humanos, onde algoritmos são escritos com o objetivo de prover a comunicação com o computador. • Algoritmo é uma seqüência de passos (instruções ou comandos) finitos e bem definidos que visam solucionar um problema. • Representações: – linguagem natural; – fluxogramas; – linguagem algorítmica. 19 Classificação das Linguagens de Programação • Linguagens de Alto Nível: – mais próxima do ser humano; – alto poder de expressividade; – ex: Pascal, C, C++, Java, etc. • Linguagens de Baixo Nível: – mais próxima da máquina; – pouco expressiva e legível; – ex: Assembly. if (fimDeSemana) printf (“sair”); else printf (“estudar”); mvmm ar1, ar3 rpt #10 mvdd *ar3+, *ar5+ STM #1, ar1 20 Compilação & Interpretação • O compilador e o interpretador são programas que transformam as instruções de um algoritmo (escrito em linguagem de programação) em instruções de um programa (escrito em linguagem de máquina). • Compilador: – Traduz todo o código-fonte da linguagem de programação para código em linguagem de máquina (código-objeto). É o código-objeto que deve ser executado quando for necessário. • Interpretador: – Não gera código-objeto. Cada instrução do código-fonte é traduzida, em tempo de execução, e executada logo em seguida. 21 Compilador if (fimDeSemana) printf (“sair”); else printf (“estudar”); 0111 1110 0111 0100 0101 0010 1101 0000 0111 1110 Compilador CPU Código-fonte Executar 22 Lógica de Programação • A lógica de programação é uma técnica utilizada para desenvolver algoritmos. • Essa técnica é utilizada para organizar os comandos (ou passos) a fim de atingir um determinado objetivo. Ou seja, é a especificação passo a passo das tarefas necessárias à solução de um problema. • Obs.: A ordem dos passos é importante para se atingir o objetivo desejado e o algoritmo deve ter um fim. 23 Algoritmo: Fritar um Ovo 1. Pegar frigideira, ovo, óleo e sal; 2. Colocar óleo na frigideira; 3. Acender o fogo; 4. Colocar a frigideira no fogo; 5. Esperar o óleo esquentar; 6. Colocar o ovo na frigideira; 7. Retiraro ovo quando pronto. Seqüência de instruções. 24 Algoritmo: Trocar Lâmpadas 1. Se (lâmpada estiver alta) pegar escada; 2. Pegar lâmpada nova; 3. Se (lâmpada estiver quente) pegar pano; 4. Tirar lâmpada queimada; 5. Colocar lâmpada nova. Instruções de seleção se. 25 Algoritmo: Fazer um Bolo 1. Pegar ingredientes; 2. Se (roupa for branca) colocar avental; 3. Se (tiver batedeira) bater ingredientes na batedeira; Senão bater ingredientes à mão; 4. Colocar a massa na forma; 5. Colocar forma no forno; 6. Esperar o bolo assar; 7. Retirar o bolo do forno Instrução de seleção se-senão. 26 Algoritmo: Descascar Batatas 1. Pegar faca, bacia e batatas; 2. Se (roupa for branca) colocar avental; 3. Enquanto (houver batatas) descascar uma batata; 4. Limpar e guardar faca e bacia. Instrução de repetição enquanto. 27 Algoritmo • Deve-se analisar todas as possibilidades possiveis no enunciado do problema. FIM
Compartilhar