Baixe o app para aproveitar ainda mais
Prévia do material em texto
CCT1040 – Lógica de Programação UNIDADE I: INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO Introdução A programação de computadores está fundamentada em um assunto chamado lógica de programação o qual pode ser aplicado em qualquer área do conhecimento. Por exemplo, um engenheiro pode explicar para seus colegas a descrição de um processo industrial por meio de um algoritmo. Introdução O que aprendemos na lógica de programação nos ajuda a pensar abstratamente e entender o mundo real por meio de comandos e procedimentos encadeados. Nosso trabalho aqui é aprender sobre algoritmos. Saber o que é, como funciona, onde e como se aplica. E usar uma linguagem de programação como suporte, o C/C++, que é uma linguagem muito usada atualmente e base para muitas linguagens atuais. Histórico A história dos algoritmos se confunde com a história da computação. O Computador é a maior invenção humana. Em pouco mais de 50 anos mudou completamente a nossa forma de viver, comunicar e trabalhar. Histórico Um computador não é inteligente, limita-se apenas a seguir cegamente as instruções de seu programador, ou seja, o comportamento dos computadores é feito por programação e não por aprendizagem. Aprender como os computadores funcionam é essencial para entendermos o papel que eles desempenham e o seu verdadeiro impacto nos programas que eles implementam. Curiosidade Há alguns anos, um famoso enxadrista, Gary Kasparov, desafiou um computador da IBM, o Deep Blue, para um match. Ao final da batalha, Kasparov conseguiu ganhar de uma máquina que foi especialmente preparada para jogar xadrez. A máquina não tinha inteligência, porém possuía uma programação que aproveitava o excepcional hardware da máquina para analisar milhares de jogadas ao mesmo tempo e escolher a melhor delas. Porém, quem fez a programação desta máquina foram pessoas. Curiosidade Houve uma revanche. A equipe da IBM fez um upgrade no Deep Blue e o tornou especialista em partidas de xadrez de Kasparov, ou seja, ela foi treinada para jogar xadrez contra Kasparov, para enfim, conseguir derrotá-lo. Este exemplo serve para mostrar que por trás de qualquer máquina, há a intervenção fundamental de um humano. Evolução Histórica dos Computadores Dispositivos mecânicos 1822: Charles Babbage construiu o 1º. Computador mecânico usado para calcular funções matemáticas. Primeira Geração – Válvula 1906: Lee de Forest inventou a válvula eletrônica. 1943: Colossus foi o 1º. Computador eletrônico usando válvulas eletrônicas. Evolução Histórica dos Computadores Segunda Geração – Transistor 1947: desenvolvido o 1º. Transistor. 1954: 1º. computador apenas com transistores, o TX-0 do MIT. Terceira Geração – Circuitos Integrados 1958: produzido o 1º. circuito integrado, com 5 transistores. 1959: primeiro computador comercial transistorizado, o IBM 7090 da IBM. Evolução Histórica dos Computadores Quarta Geração – VLSI (Very Large Scale Integration) 1981: IBM lançou 1º. computador pessoal, o IBM-PC (microprocessador 8088 e 1ª. versão do MS-DOS) . 1982: Intel lançou o microprocessador 80286. 1984: Apple lançou o 1º. Macintosh. 1985: Microsoft lançou Windows e a Intel o 80386. 1989: Intel lançou o 80486. Evolução Histórica dos Computadores Quinta geração – UVLSI (Ultra VLSI) 1993: Intel lançou o 1º. Pentium e a IBM, Motorola e Apple o 1º. PowerPC. 2002: Intel lançou o Pentium 4 (hyperthreding). 2005: Intel lançou Pentium Extreme e Xeon (dois núcleos) e a ADM o Dual-core Opteron e Athlon 64 X2. 2006: Intel lançou arquiteturas Core e Core 2. Organização de Computadores A organização de computadores é uma área da computação que estuda os componentes físicos de um computador, também chamado de hardware. É importante estudar a organização dos computadores para entender como um programa é executado, armazenado e como ele se comunica com as outras partes do computador. A arquitetura interna de um computador, inicialmente concebida por John Von Neumann, foi adaptada aos nossos dias mas ainda assim é utilizada. Organização de Computadores Von Neumann sugeriu uma forma de organizar o computador por meio dos seguintes elementos: Uma memória, dividida em primária e secundária; Uma unidade de controle (UC); Uma unidade lógica e aritmética (ULA); Dispositivos de entrada e saída. Unidade Central de Processamento Basicamente a arquitetura permite que o computador funcione em ciclos onde, em cada ciclo, ocorre a busca de uma nova instrução, a decodificação da instrução e a sua execução. Os ciclos são controlados e promovidos pela CPU (Unidade Central de Processamento), tem como principal função executar os programas que estão armazenados na memória principal, buscar as instruções dos programas, decodificá-las e executá-las sequencialmente. Unidade Central de Processamento A CPU é um componente dividido em várias partes entre elas a Unidade de Controle, a ULA (Unidade Lógica e Aritmética), o Contador de Programa (PC), os registradores e outros componentes mais modernos. Todos esses elementos ficam encapsulados em um único chip chamado de processador. Memória A memória é o local onde os dados e programas ficam armazenados para serem executados. Existem vários tipos e classificações de memória, entre elas: Voláteis e não voláteis; Quanto à sua forma de operação e acesso: Read Only Memory (ROM – memória somente de leitura), Random Access Memory (RAM – memória de acesso aleatório); Velocidade de operação. A memória RAM A memória RAM é do tipo que pode ser lida e gravada. Nela são carregados os programas que estão sendo executados naquele momento pela CPU. Quando a energia cessa, os dados presentes neste tipo de memória são apagados, portanto considerada volátil. Atualmente as memórias RAM mais procuradas para os computadores pessoais são do tipo DDR3. As Memórias Secundárias As memórias secundárias servem para auxiliar a memória RAM quanto ao armazenamento de dados. Possuem custo mais baixo que as memórias RAM e normalmente podem armazenar mais informação, chegando a Terabytes atualmente, e por isso são usadas principalmente para armazenamento de programas não ativos (que não estão sendo executados no momento). Os maiores exemplos deste tipo de memória são os pendrive (flash drives), discos rígidos (hard disk – HD), cartões SD, MD, etc. Caches e Registradores São componentes que apareceram para aumentar a velocidade e eficiência de todo o hardware do computador. Também são variações da memória RAM e fisicamente estão localizados perto do processador para poder ser usadas como armazenamento temporário de operações de dados feitas pelo processador com mais frequência. Por serem variações da RAM, são voláteis e podem ser escritas e lidas. Possuem desempenho muito superior em relação a velocidade de trocas de dados mas não possuem grande capacidade de armazenamento. Memória ROM São representadas atualmente pelos CDs e DVDs (que não sejam regraváveis). Neste tipo de memória, a informação é gravada apenas uma vez e não pode ser sobrescrita guardando assim informações por bastante tempo. Em relação a preço, é bem mais barata que os outros tipos de memória que já vimos, porém são muito mais lentas. Placa-mãe A placa mãe (mother board ou main board) é o componente que conecta todos os outros elementos do computador. Além disso ela contém os barramentos por onde passam os dados de informações e controle e também fornece energia elétrica para os componentes. Dispositivos de Entrada e Saída Entrada/Saída: Permite a comunicaçãoentre o sistema de computação e o meio exterior (outros computadores, pessoas, dispositivos físicos) convertendo a linguagem utilizada pelo sistema em linguagem do mundo exterior e vice-versa.
Compartilhar