A maior rede de estudos do Brasil

Grátis
93 pág.
01.Introducao.e.Conceitos.Basicos

Pré-visualização | Página 2 de 4

da memória principal – Memória Virtual.
Memória
Principal
Memória
Secundária
Memória Virtual
CPU
Memória
Principal
Memória
Secundária
28
Interface
Representa o meio de comunicação entre duas 
partes do sistema. Exemplo: disco e 
computador, teclado e computador, 
computador e impressora.
Existem dois tipos de interface:
� - serial: os dados são enviados um bit de 
cada vez (cabos com um único fio);
� - paralela: um byte de cada vez (cabos com 8 
fios);
29
Linguagens de Programação
Para que um algoritmo possa ser executado 
pelo computador, é necessário que ele seja 
programado, isto é, que ele seja transcrito 
para uma linguagem que o computador possa 
“entender”, direta ou indiretamente.
30
Tradutor
Os computadores só podem 
executar diretamente os 
algoritmos expressos em 
linguagem de máquina (que é
um conjunto de instruções 
capazes de ativar diretamente 
os dispositivos eletrônicos do 
computador).
Um tradutor é um programa que 
traduz um algoritmo que está
escrito em uma determinada 
linguagem de programação em 
linguagem de máquina.
Programa
Fonte
Tradutor
Programa
Objeto
Algoritmo ou
programa escrito
em uma
determinada
linguagem de 
programação
Algoritmo ou
programa
traduzido para
linguagem de 
máquina
31
Processo de Tradução
O processo de tradução pode ser feito por:
� Compilação: Lê, analisa e traduz todos os comandos do programa 
fonte, criando o programa objeto.
� Interpretação: Traduz ou interpreta cada comando ao executá-lo.
Programa
Fonte
Compilador
Interpretador
Programa
Objeto
Execução de
todo o 
programa
Executa um 
comando e 
volta
Linguagem
de
Alto Nível
Tradutor
Linguagem
de
Máquina Execução
32
Principais Tipos de Linguagens 
de Programação
� Linguagem de Máquina ( ou Absoluta ):
� É a única linguagem que atende ao computador, 
por satisfazer o seu projeto lógico.
� Instruções representadas por códigos binários.
� Exemplo de instrução:
0001 0000 0000 1010 0011 0101
1 0 0 A 3 5
Cód. de Operação Campo de Operando
Esta instrução ordena que o conteúdo do endereço 
0A3516 da memória seja somado (1016) ao acumulador 
(registrador especial usado para acumular resultados) 
e que o resultado fique guardado no acumulador. 
33
Principais Tipos de Linguagens 
de Programação
� Linguagem Simbólica 
(de Baixo Nível, de Montagem ou Assembler):
� Surgiu afim de simplificar a difícil programação da 
linguagem de máquina.
� Substitui os códigos binários por abreviações de nomes 
sugestivos que lembram a função da instrução.
� Exemplo de instrução: ADD X
� ADD ordena que o valor da variável X seja somado ao 
acumulador e que o resultado fique nele guardado.
� X é o nome da variável, criado pelo programador, que 
representa um endereço da memória (por exemplo 0A3516) 
que contém armazenado o valor desta variável. Surgimento do 
conceito de variável.
34
Principais Tipos de Linguagens 
de Programação
� Linguagem Automática ( ou de Alto Nível ):
� São semelhantes às linguagens usadas para descrever o 
problema que se deseja resolver, ressaltando a linguagem 
profissional a que o usuário está acostumado. 
� Existem várias linguagens automáticas: FORTRAN 
(FORmula TRANslation), ALGOL, PLI, APL, BASIC, LISP, 
SNOBOL, PASCAL, ADA, MODULA etc.
� Exemplo de comando: Y = 3 + X;
� Ordena que a constante 3 seja somado ao valor da variável X e 
que o resultado seja armazenado como novo valor da variável Y.
Obs.: C é considerada uma linguagem de médio nível.
35
Sistema Operacional (SO)
É um programa especial que controla e coordena todas as 
operações básicas de um computador.
Ele controla a execução de outros programas e pode 
proporcionar funções como:
� controle de entrada e saída de dados;
� alocação de memória;
� gerenciamento de dados, etc ...
Os programas que compõem os SOs são, na maioria dos casos, 
escritos em linguagens de nível mais baixo, fazendo com que 
eles sejam mais rápidos e eficientes no gerenciamento de 
recursos do hardware.
36
Sistema Operacional (SO)
Os SOs podem ser classificados em:
� Monousuário: somente um usuário pode processar 
dados por vez na CPU;
� Multiusuário: vários usuários podem acessar “ao 
mesmo tempo” a CPU de um sistema;
� Monotarefa: somente um programa de cada vez é
executado pela CPU.
� Multitarefa: vários programas podem ser executados 
de maneira concorrente pela CPU (eles concorrem 
pela mesma CPU).
37
Algoritmos - Introdução
� O uso de algoritmos surgiu como uma forma 
de indicar o caminho para a solução dos mais
variados problemas.
� Dado um problema, as principais funções de 
um programador são:
� Entender perfeitamente o problema
� Escolher métodos para sua solução
� Desenvolver um algoritmo baseado nos métodos
� Codificar o algoritmo na linguagem de programação 
disponível 
38
Algoritmos - Introdução
� A parte mais importante da tarefa de 
programar é a construção de algoritmos.
� Segundo Niklaus Wirth:
� “Programação é a arte de construir e 
formular algoritmos de uma forma 
sistemática”
� “Algoritmos + Estruturas de Dados = 
Programas”
39
Como estudar algoritmos?
� O aprendizado de algoritmos não se consegue a 
não ser através de muitos exercícios.
� Algoritmos não se aprendem:
� Copiando algoritmos
� Estudando algoritmos
� Algoritmos só se aprendem:
� Construindo algoritmos
� Testando algoritmos
40
Algoritmos - Conceitos
� Ação: é um evento que ocorre num período de tempo 
finito, estabelecendo um efeito intencionado e bem 
definido.
Ex.: “Colocar o livro em cima da mesa”;
“Atribuir o valor 3,1416 em uma variável”;
� Observação: toda ação deve ser executável em um 
tempo finito (do instante t0 até o instante t1);
� O que realmente interessa é o efeito produzido na execução 
da ação;
� Pode-se descrever o efeito de uma ação comparando o 
estado no instante t0 com o estado no instante t1. 
41
Algoritmos - Conceitos
� Estado de um dado sistema de objetos é o 
conjunto de propriedades desses objetos que 
são relevantes em uma situação considerada.
Ex.: “Livro na estante ou sobre a mesa”;
“Conjunto de valores das variáveis do
programa num certo instante da execução”; 
42
Algoritmos - Conceitos
� Processo: é um evento considerado como uma 
seqüência temporal de (sub) ações, cujo efeito total é
igual ao efeito acumulado dessas (sub) ações. 
� Observação: Pode-se, geralmente, considerar um 
mesmo evento como uma ação ou como um 
processo, dependendo se o interesse está em 
simplesmente no efeito total (da ação) ou se interessa 
um ou mais estados intermediários (do processo). Em 
outras palavras, se há interesse, uma ação pode ser 
geralmente detalhada em um processo. 
43
Algoritmos - Conceitos
� Padrão de Comportamento : em todo o evento 
pode-se reconhecer um padrão de comportamento, 
isto é, cada vez que o padrão de comportamento é
seguido, o evento ocorre.
� Ex.: seja a seguinte descrição:
“Uma dona-de-casa descasca as batatas para o jantar”
“traz a cesta com batatas do porão”;
“traz a panela do armário”;
“descasca as batatas”;
“devolve a cesta ao porão”; 
44
Algoritmos - Conceitos
Essa descrição pode ser usada para descrever eventos 
distintos (dias diferentes, batatas diferentes etc.).
Isso só é possível porque os eventos possuem o 
mesmo padrão de comportamento.
O efeito de um evento fica totalmente determinado pelo 
padrão de comportamento e eventualmente pelo estado 
inicial. 
45
Algoritmos - Conceitos
� Algoritmo: é a descrição de um padrão de 
comportamento, expressado em termos de um 
repertório bem definido e finito de ações primitivas 
que, com certeza, podem ser executadas.
� Um algoritmo possui caráter imperativo, razão pela 
qual uma ação em um algoritmo é chamada de 
comando.
� Ex.: algoritmo para descascar batatas para o jantar: 
“traga a cesta com batatas do porão”;
“traga a panela do armário”;
“descasque as batatas”;
“devolva a cesta ao porão”; 
46
Algoritmos - Conceitos
� Um algoritmo (ou programa) apresenta dois aspectos 
complementares: 
� Aspecto