Você está na página 1de 11

Hardware - Conjunto de componentes físicos.

Software - Conjunto de instruções (programas) que fazem funcionar o hardware.

Processador (CPU) que manipula os dados e utiliza as instruções, ambos armazenados na


memória principal.

Memória principal, como a RAM e o ROM, que armazena os dados e as instruções de um


programa;

Entradas e as saídas que controlam e executam as operações de leitura e de escrita da


informação através dos periféricos que englobam os dispositivos: auxiliares de armazenamento
de software e dados como, por exemplo, as unidades de disco; de saída como, por exemplo, a
impressora e o monitor; de entrada como, por exemplo, o rato e o teclado.

Sistema operativo - Serve de interface entre a máquina e os programas de aplicação.

1 Geração – válvulas
2 Geracao – transistor

Vantagens em relação às válvulas

 Menor energia consumida


 Menor aquecimento
 Maior velocidade de processamento

3 Geração – circuitos integrados

 Componentes miniaturizados
 Transístores
 Resistores
 Diodos
 Chips
 Conjunto de componentes
 Circuitos integrados
 Conjunto de chips
 Sistema Operativo - MS-DOS
 Gráficos EGA – 16 cores

4 Geração – VLSI

Integração de circuitos em larga escala

 Slots ISA de 16 bits


 Slots PCI
 Placas VGA e SVGA

5 Geração – ULSI

 Integração em muito larga escala


 Processamento paralelo
 Slots AGP
 USB
 SATA
Quanto ao tamanho e capacidade

 Grande Porte
 Supercomputador
 Mainframes
 Médio Porte
 Workstations
 Minicomputadores
 Pequeno Porte
 Microcomputadores
 Ultra- Microcomputadores

Quanto ao número de utilizadores e de tarefas

 Mono utilizador
 Monotarefa ○ Ex. PC com MS- DOS
 Multitarefas ○ Ex. PC com Windows
 Multi-Utilizador
 Multi-posto
o Servidor UNIX
o Terminais
 Redes de
Computadores
o Internet
1º Geração - Linguagem, máquinas

Conjunto de dígitos binários do “instruction set” do processador

 Os programas correm apenas no computador para o qual


foram projetados

2ºgeração - Assembler

 Mnemónicas do “instruction set” do processador


 Assembler - Programas que traduz o código
assembly para linguagem de máquina
 Os Programas funcionam apenas num tipo processador
 Mov -> 00001100
 int -> 10001101
 Desenvolvimento de programas muito difícil e demorado

Desvantagens

 Pequeno número de instruções


 Programas longos
 Pouco legíveis
 Difíceis de modificar
 Utilizar diretamente os recursos da máquina
 Os programas não são portáteis entre
computadores

Vantagens

 Código otimizado
 Velocidade de processamento elevado
 Controlo total do hardware

3º Geração - Linguagem de Alto nível

 Uma instrução pode corresponder a um, grande número de


instruções em assembly
 Instruções em linguagem natural
o Write, read, print, repeat…
o Ler, escrever, imprimir, repetir…
 Linguagem, de propósito geral
 Cálculo Matemático
 Gestão de documentos
 Controlo
 Exemplos
 Basic
 Pascal
 C
 Cobol
 Fortran

4º Geração - Linguagem, de alto nível com aplicações a área concretas

 Função muito específicas


 Gestão de bases dos dados
 Elaboração de relatórios
 Geração de ecrãs
 Exemplo
 DBASE ….SQL …CLIPPER

5º Geração - Linguagem, d e muito alto nível

 Programação declarativa
 Declaração dos problemas
 Métodos específicos de resolução
dos problemas
 Linguagem de Inteligência Artificial
 Prolog

Linguagem - Associação de formas com significado.

Sintaxe - Especificação da combinação das formas.

Semântica - Especificação dos significados.

Linguagem natural - Não projetada pelas pessoas. Passível de várias interpretações.

Linguagem formal - Previamente projetada para determinados fins. Evita ambiguidades e


redundância.

Linguagem de programação - Sistema de escrita formal, constituído por um conjunto de regras


para a escrita de programas de computador.

Programa (código) - Conjunto de instruções numa linguagem de programação.

Instrução - Especificação ao processador da ação a executar.

Problema

 Conjunto das possíveis entradas


 Conjunto das saídas
 Conjunto de operações válidas

Solução Algorítmica

 Conjunto ordenado de operações válidas que transformam o conjunto de entradas na


saída desejada
Como se constroem algoritmos?

Problema

 Trocar uma lâmpada fundida

Algoritmo 1

1. Retirar a lâmpada fundida


2. Colocar a lâmpada boa

Trocar uma lâmpada fundida

Entrada

 Lâmpada fundida
 Lâmpada nova
 Escada

Saída

 Lâmpada nova a funcionar

Operações válidas

1. Retirar a lâmpada
2. Colocar a lâmpada
3. Subir a escada
4. Descer a escada

Algoritmo 2

1. Subir a escada
2. Retirar a lâmpada fundida
3. Colocar a lâmpada boa
4. Descer a escada

Características dos bons algoritmos

 Interagir com o utilizador

Realiza uma tarefa útil ao utilizador

Resolve o problema

 Ser finito
 Termina sempre e com o resultado previsto
 Ser corretamente definido
 Instruções claras que o utilizador consegue compreender e seguir
 Ser eficaz
 Resolve sempre o problema mesmo nas situações mais problemáticas
 Ser eficiente
 Utiliza o mínimo de recursos possível
Interagir com o Utilizador

 Ser finito
 Ser corretamente definido
 Ser eficaz
 Ser eficiente

Algoritmo 3

1. Colocar a escada debaixo da lâmpada


2. Colocar a lâmpada boa no bolso
3. Subir a escada
4. Retirar a lâmpada fundida
5. Colocar a lâmpada boa
6. Descer a escada
7. Colocar a lâmpada fundida na reciclagem
8. Arrumar a escada

Conclusão

O algoritmo não é a solução de um problema

 É uma forma de chegar à solução

Não se aprende

 A copiar algoritmos
 Ler algoritmos prontos
 A decorar algoritmos

Aprende-se

 Construindo algoritmos
 Testando algoritmos

Conclusão – construir Algoritmos

Qual é o problema.

 O que pretendemos do algoritmo

Definir quais são os dados que entram

 Qual a situação inicial


 O que é necessário para resolver o problema

Definir quais são os dados que saem

 Qual a situação final


 Que resultados devem ser apresentados

Definir o Algoritmo

 Definir quais as instruções disponíveis/necessárias


 Organizar as instruções de forma a resolver o problema
 Transformar as entradas na saída

Testar o algoritmo

 Verificar se resolve o problema


 Verificar se resolve todos os casos

Otimizar os algoritmos

 Verificar se não utiliza recursos supérfluos

Algoritmos

 Escreva um algoritmo para trocar o pneu de um carro


 Escreva um algoritmo par meter gasolina num posto de abastecimento Self-service.
 Escreva um algoritmo para telefonar de uma cabine pública.

Problema - O que se pretende resolver.

Algoritmo - Sequência finita de instruções descritas de forma lógica, ordenada, clara e precisa a
fim de resolver o problema.

Programa Algoritmo - codificado numa linguagem de programação.


Bloco de Comentário

Serve para explicar um determinado trecho do algoritmo, para torna-lo mais claro, facilitando
seu entendimento por outras pessoas ou posteriormente. { <comentário> }

Exemplo:

{ Isto é um exemplo de comentário }

/* Isto é um exemplo de comentário */

Instrução de entrada

Usada para ler dados de entrada do algoritmo.

ler(<variáveis>);

onde: <variáveis> - conterão os dados lidos.

Exemplos:

 ler(a,b,c);
 ler(nome);
 ler(sexo);
 ler(pratica_desporto);

Instrução de saída

Usada para mostrar os resultados do processamento dos dados de entrada.

escrever(<resultados>);

onde:

<resultados> - geralmente é o conteúdo de uma ou mais variáveis com a resposta do problema.

Exemplos:

 escrever(“O valor de D é: ”, D);


 escrever(nome, sexo);
 escrever(“Pratica desporto.”);

instrução de atribuição

Utilizado para atribuir um determinado valor a uma variável.

<variável> ← <expressão>;

onde:

<variável> - nome de uma variável

<expressão> - um valor do mesmo tipo da variável ou uma expressão lógica ou aritmética.

Exemplos
D ← B^2-4*A*C; nome ← “Paulo”; Pratica_Desporto ← TRUE; Sexo ← ‘M’;

Lógica de Programação & Algoritmo

Estruturas básicas de um algoritmo:

Sequência - Início/Fim

 Define uma estrutura onde as instruções serão executadas na ordem que aparecem.

Seleção - Se-Então/Senão

 Define uma estrutura condicional que dada a sua avaliação (V ou F) determina qual
"caminho" do algoritmo será executado

Repetição - Repetir, enquanto ou para

 Define uma estrutura de iteração condicional (V ou F) ou contada (pré-definida) de


instruções

Algoritmo para ligar de um telefone público - Sequência

Início

1. Tirar o telefone do gancho;


2. Ouvir o sinal de linha;
3. Introduzir o cartão;
4. Teclar o número desejado;
5. Conversar;
6. Desligar;
7. Retirar o cartão;

Fim.

Algoritmo para ligar de um telefone público – Seleção

E se o telefone público não funcionar?

Início

1. Tirar o telefone do gancho;


2. Se ouvir o sinal de linha, então
1) Introduzir o cartão;
2) Teclar o número desejado;
3) Conversar;
4) Desligar;
5) Retirar o cartão;
3. Senão
1) ir para o próximo telefone;

Fim.
Algoritmo para ligar de um telefone público – Repetição

E se o próximo telefone público também estiver avariado?

Início

1.Repita

1. Tirar o telefone do gancho;


2. Se ouvir o sinal de linha então
2) Introduzir o cartão;
3) Teclar o número desejado;
4) Conversar;
5) Desligar;
6) Retirar o cartão;
3. Senão
1) Ir para o próximo telefone;

2.Até ouvir o sinal de linha

Fim.

Você também pode gostar