Upload
elaine-cecilia-gatto
View
845
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
Algoritmos e Estruturas de Dados
Aula 1
07/08/2012
Profª Ms. Engª Elaine Cecília Gatto
Unidade 1: Apresentação da Disciplina
Curso de Bacharelado em Engenharia de Computação
Universidade do Sagrado Coração – USC
Bauru/SP
Informática
• O termo foi criado na França em 1962.
• information automatique = informação automática.
• Definição: é a ciência que estuda o tratamento automático e racional da informação; encarregada pelo estudo e desenvolvimento de máquinas e métodos para processar informação.
• Principais funções:
• Desenvolvimento de novas máquinas;
• Desenvolvimento de novos métodos de trabalho;
• Construção de aplicações automáticas existentes. 2
Computação
• A palavra computador vem de computar que tem sua orgiem no latim do verbo computare qu significa contar ou calcular. Portanto, um computador, no sentido mais geral, é qualquer recurso, ou equipamento que ajude o homem a contar ou calcular.
• É um dispositivo físico capaz de realizar cálculos e fazer decisões lógicas com uma velocidade de milhões e até bilhões de vezes mais rápida do que o homem pode fazer e com grande precisão, desde que receba as instruções adequadas.
3
Computação
• Por que surgiu a computação?
• A computação surgiu da idéia de auxiliar o homen nos trabalhos rotineiros e repetitivos – cálculos e gerenciamento. É uma ferramenta útil e necessária.
• Vantagens:
• Rapidez de execução;
• Confiabilidade dos resultados obtidos – precisão;
• Grande capacidade de armazenamento de informações.
4
Evolução dos modernos equipamentos de computação
• É comum se dividir em gerações os computadores de acordo com a tecnologia dos componentes usados em seus circuitos eletrônicos.
• Com base nessa tecnologia e mais no critério de que esses computadores tenham sido projetados para serem comercializados, é possível estabelecer dados aproximados para início e término de cada geração.
• Na verdade, a divisão de computadores em gerações é muito mais complexa e se baseia na análise de diversas outras características, principalmente as funcionais.
• Todavia a escolha da tecnologia dos componentes como critério, é um bom ponto de partida.
5
1940 – 1952
• 1ª Geração de Computadores:
• É constituído por todos os computadores construídos à base de válvulas à vácuo e cuja aplicação fundamental se deu nos campos científicos e militar. Exemplo: IBM 360, MARK I e UNIVAC.
6
1952 – 1964
• 2ª Geração de Computadores:
• A substituição de válvula pelo transistor deu início à chamada segunda geração de computadores. Utilização de linguagens de alto nível: cobol, fortan, algol. Exemplos: IBM 1401, IBM 7094.
7
1964 – 1971
• 3ª Geração de Computadores:
• Nesta geração, o elemento mais significativo é o circuito integrado – CI. Surgido em 1964 e que consiste no encapsulamento de uma grande quantidade de componentes discretos – resistências, condensadores, diodos, transistores – instalando-se um ou vários circuitos numa pastilha de silicone. Tecnologia SSI – integração em baixa escala – e MSI – integração em média escala. Grandes desenvolvimentos dos sistemas operacionais. Exemplos: UNIVAC 1108, IBM 360.
8
1971 – 1981
• 4ª Geração de Computadores:
• Em 1971 aparece o microcomputador, que consiste na inclusão de toda a CPU de um computador num único circuito integrado. LSI – integração em grande escala. Microcomptuadores; redes. Exemplos: IBM 3090, PC.
9
1981 – ?
• 5ª Geração de Computadores:
• Componentes em:
• Altíssima escala de integração VLSI
• Ultra grande escala de integração ULSI
• Altíssima velocidade de processamento
• Processamento paralelo
10
Esquema do pessoal de informática • O pessoal de informática pode ser classificado em:
• Direção: encarregado de dirigir e coordenar uma central de processamento de dados – CPD – para obter um bom rendimento da equipe.
• Análise: encarregado do desenvolvimento de aplicações no que diz respeito ao projeto e desenvolvimento de algoritmos. Dar apoio técnico aos usuários.
• Programação: encarregado de transcrever para linguagem de computador os algoritmos elaborados na fase de análise.
• Implementação e operação: execução dos programas, distribuíção dos resultados e mantenção diária dos sitemas existentes. 11
Sistema de computação
• Um sistema de computação é formado por usuários, software e hardware. O objetivo é processar dados. Processamento de dados: execução de processos sobre o dados original, para transformá-lo em uma informação.
12
HARDWARE SOFTWARE
USUÁRIOS
ENTRADA PROCESSAMENTO SAÍDA
ARMAZENAMENTO
Software: conceitos básicos
• Software ou Programa é a parte lógica que data o equipamento físico com a capacidade par realizar algum trabalho. O programa nada mais é do que uma sequencia de instruções escritas em uma linguagem de programação, informando ao hardware o que fazer em que ordem. O software pode ser dividido em dois grandes grupos de programas: os básicos e os aplicativos.
• Softwares básicos são software destinados à operar e manter um sistema de computação. Incluem-se nesta categoria os sistemas operacionais – SO, os utilitários, os compiladores e os interpretadores.
13
Sistema Operacional
• É o software que controla o hardware, atuando como interface entre o computador e o usuário.
• É responsável pelo trafego dos dados entre os componentes do sistema e por checar ininterruptamente todos os dispositivos do computador para tomar atitudes baseadas nas detecções feitas.
• Cada linha de computadores tem o seu próprio SO. Exemplos: DOS, OS/2, SYTE 7, UNIX.
• Alguns Sos começaram a englobar um ambiente operacional, que permite uma interface gráfica com o usuário,multiplas janelas na tela, como por exemplo o windows 95 e 98.
• Os Sos podem ser classificados em diversas categorias. 14
Sistemas multitarefa e monotarefa
• Monotarefa:
• permite a execução de um único programa aplicativo. Somente um programa pode ser carregado para a memória.
• Multitarefa:
• permite que vários programas aplicativos sejam carregados para a memória. Somente um deles está ativo em um determinado instante, porém, todos estão disponíveis para uso. Exemplo: windows 95. 15
Sistemas monousuário e multiusuário
• Monousuário:
• Permite que apenas um usuário trabalhe com ele.
• Multiusuário:
• Diversas pessoas, usando terminais ou micros em rede, usam os recursos de um computador central.
16
Sistemas multiprocessados
• São máquinas mais sofisticadas que possuem diversas CPUs para agilizarem o processamento, executando várias tarefas simultaneamente, uma em cada CPU. Exemplo: windows NT, UNIX, etc.
• Utilitários ou programas auxiliares: são programas que ajduam a manter e aumentar a eficiência de um sistema de computação, como os utilitários de compactação de arquivos, protetores de tela, etc. Exemplo: Norton Utilities, PKZIP, etc.
17
Sistemas multiprocessados
• Compilador: traduz o programa fonte escrito em uma linguagem de alto nível – por exemplo, Pascal – para a linguagem de máquina, gerando o programa executável que o computador consegue entender e processar diretamente.
• Interpretador: interpreta cada comando de programa fonte e executa as instruções que a ele correspondem, sem gerar um programa executável. Mais lentos que os compiladores.
18
Linguagem de programação
• É um conjunto de regras que permitem ao homem escrever os programas – conjunto de instruções – que ele deseja que sejam executadas pelo computador.
19
Linguagem de Máquina
• É um conjunto de instruções capazes de ativar diretamente os dispositivos eletrônicos do computador. Ela é constituída somente por zero ou um, o que dificulta a leitura e a compreensão pelas pessoas.
• Bit: binary digit ou digito binário, 0 ou 1. É a menor unidade de informação e apresenta dois estados identificáveis. Sim ou não, chave ligada ou desligada.
• Byte: é um conjunto de 8 bits, e constitui a unidade de medida básica e universal para a capacidade de armazenamento de todos os dispositivos do computador. 20
Linguagem de Máquina
• Cada byte armazena o equivalente a um caracter.
• Os bytes são contados em potência de 2 e as unidades mais usadas são:
• 1 Kilo byte – 210 bytes – 1024 bytes
• 1 Mega byte – 210 𝑥 210 bytes – 1.048.576 bytes
• 1 Giga byte - 210 𝑥 210 𝑥 210 bytes
• 1 Tera byte - 210 𝑥 210 𝑥 210 𝑥 210 bytes
21
Programas aplicativos
• São programas especializados e que realizam tarefas específicas, como processador de textos, planilha eletrônica, gerenciador de banco de dados, folha de pagamento, controle de estoques, etc.
22
Hardware
• É a parte física de um sistema de computação, ou seja, todos os elementos materiais que o compõem – circuitos eletrônicos, dispositivos mecânicos, elétricos e magnéticos, etc.
• Componentes básicos de um computador:
• Dispositivo de entrada e saída – periféricos;
• Memória;
• Unidade central de processamento – UCP;
• Dispositivos de entrada: serve para receber os dados e programas preparados pelo homem e transformá-los em sinais eletromagnéticos – bits – manipuláveis pelo computador. 23
Hardware
• Memória: é o dispositivo que armazena informações. Existem dois tipos principais de memória: memória principal ou central e memória auxiliar ou secundária.
• Memória principal ou central: é a memória interna do computador, caracterizada por ser de alta velocidade. Encarregada de armazenar os programas e dados necessários para que o sistema realize um determinado trabalho. É constituída principalmente por RAM e ROM.
• RAM – random access memory ou memória de acesso aleatório: Onde ficam armazenados os dados, os resultados intermediários onde ficam os programas que estão sendo executados pela UCP.
24
Hardware
• ROM – ready only memory ou memória exclusivamente de leitura: Onde as informações são gravadas uma única vez, geralente pelo fabricante e nunca mais são alteradas. A memória ROM é não volátil, isto é, mesmo com o desligamento do computador, as informações nela contidas não são perdidas.
• PROM: não pode ser alterada – circuitos internos.
• EPROM: luz ultravioleta – apaga e remove, programada.
• EAROM: tensão em um dos pinos, processos elétricos – altera e romove.
• Memória auxiliar: é um dispositivo de armazenamento de longo prazo, no qual o computador armazena dados que poderão ser posteriormente utilizados.
25
Unidade central de processamento • É a principal unidade de controle e processamento de um
computador. Tem como funções coordenar, controlar e realizar todas as operações do sistema. É constituída por:
• Unidade lógica e aritmética – ULA: realiza todos os cálculos – operações aritméticas e lógicas.
• Unidade de controle – UC: controla as intruções dos programas que estão na memória, fazz com que o dispositivo de entrada leia os dados, tranfira os valores adequados da memória para a ULA, armazena e recupera dados e resultados intermediários armazenados na memória e passa os resultados para o dispositivo de saída. 26
Números Binários
• Os números binários compõem o sitema numérico de base 2, e é formado por zeros e uns (0 e 1). Os numeros binários foram adotados nos computadores por motivos de precisão e economia, pois construir um circuito eletrônico capaz de detectar a diferença entre dois estados – presença ou ausência de corrente elétrica – é muito mais fácil e barato do que construir um circuito que detecte a difrerença entre dez estados diferentes.
Transformação de números decimais para binários 13 2
1 6 2
0 3 2
1 1 2
1 0
1 1 0 1 = 13
46 2
16 23 2
3 11 2
1 5 2
1 2
1 0 1 1 1 0 = 46
0
1
2
0 1 2
0 1
Transformação de números binários para decimais
1 1 0 1 1 0 1 1 1 0
23 22 21 20
1 0 4 8
1 + 0 + 4 + 8 = 13
25 24 23 22 21 20
0 2 4 8 0 32
0 + 2 + 4 + 8 + 0 + 32 = 46
Exercícios
• Transforme os seguintes números decimais em números binários:
• 21
• 64
• 32
• 16
• 55
• 77
• 23
• Transforme os seguintes números binários em números decimais:
• 101010
• 110011
• 001100
• 1001
• 001111
• 111100
• 0101
Bibliografia
• Todo o material deste slide foi retirado das anotações de aula da Professora Elaine Cecília Gatto.
• O professor que ministrou a disciplina de Algoritmos em 2002 no curso de Engenharia de Computação na UNIFEV e, o qual provém este material, é o Professor Márcio.
31