Você está na página 1de 6

Viso Geral de um Computador

Introduo: Conceitos Bsicos


Universidade Federal da Paraba Centro de Cincias Aplicadas e Educao Departamento de Cincias Exatas Laboratrio de Programao I

A finalidade de um computador receber, manipular e armazenar dados, isto ,


receber dados atravs de dispositivos de entrada; realizar operaes com estes dados e gerar uma resposta que ser expressa em um dispositivo de sada.
1 2

Jorge Dias, M.Sc.

Viso Geral de um Computador


Componentes
Hardware parte fsica Software parte lgica (programas)

Como construir um programa


Etapas do desenvolvimento :
Anlise conhecimento do problema (definio das entradas, processamento e sada dos dados) Construo do Algoritmo aplicao de ferramentas para descrio do problema e sua soluo Codificao transformao do algoritmo em cdigos de uma linguagem de programao

Linguagem de Programao ferramenta utilizada para desenvolver um software (programa)


3

Algoritmo
O que um algoritmo
Um conjunto finito de regras que prov uma seqncia de operaes para resolver um tipo de problema especfico [KNUTH] Seqncia ordenada, e no ambgua, de passos que levam soluo de um dado problema [TREMBLAY]

Algoritmo
Caractersticas de um algoritmo
ter fim; no dar margem dupla interpretao (no ambguo); capacidade de receber dado(s) de entrada do mundo exterior; poder gerar informaes de sada para o mundo externo ao do ambiente do algoritmo;

Algoritmo
Exemplos de algoritmos
instrues para se utilizar um aparelho eletrodomstico; uma receita para preparo de algum prato; guia de preenchimento para declarao do imposto de renda; a maneira como as contas de gua, luz e telefone so calculadas mensalmente; etc.

Algoritmo
Problema: Um homem deseja atravessar um rio com um lobo, uma ovelha e uma caixa de legumes. O barco s comporta o homem e uma de suas cargas, algumas cargas no podem ser deixadas na margem juntas. Obs.: O lobo come a ovelha; e a ovelha come os legumes.

Quais instrues voc sugere ao homem para que ele leve suas cargas para outra margem?
7 8

Algoritmo
Soluo 1 1 Leve a ovelha 2 Retorna sem nada 3 Leve o lobo 4 Retorne com a ovelha 5 Leve os legumes 6 Retorne sem nada 7 Leve a ovelha Soluo 2 1 Leve a ovelha 2 Retorna sem nada 3 Leve os legumes 4 Retorne com a ovelha 5 Leve o lobo 6 Retorne sem nada 7 Leve a ovelha

Algoritmos - Representao
Algumas formas de representar algoritmos
Descrio Narrativa uso do portugus para descrio do algoritmo Fluxograma utilizao de smbolos grficos na representao Linguagem Algoritmica pseudo-linguagem de programao (portugus estruturado)

10

Algoritmos - Representao
Exemplo: Faa um algoritmo que receba dois numeros reais, calcule e imprima a mdia aritmtica entre eles.
Descrio Narrativa
Solicite que alguem informe dois nmeros. Adicione estes dois nmeros e faa o clculo da mdia aritmtica e informe o resultado
11

Algoritmos - Representao
Descrio Narrativa
Solicite que alguem informe dois nmeros. Adicione estes dois nmeros e faa o clculo da mdia aritmtica e informe o resultado

Exitem dvidas quanto a representao?


Como informar os nmeros? Adicionar a mais algum outro nmero? Como calcular a mdia aritmtica? Como informar o resultado?
12

Algoritmos - Representao
Fluxograma
Incio Indica inicio ou fim do algoritmo

Algoritmos - Representao
Linguagem Algoritmica
Algoritmo Calcula_Media N1, N2, M: real Inicio escreva Digite Nota1 e Nota2 leia N1, N2 M (N1 + N2) / 2 escreva Mdia = , M Fim
13 14

N1, N2

Representa entrada de dados Indica clculos e atribuies de valores

Mdia = (N1 + N2) / 2

Mdia

Representa a sada de dados

Fim

Algoritmos - Representao
Desc. Narrativa Solicite que alguem informe dois nmeros. Adicione estes dois nmeros e faa o clculo da mdia aritmtica e informe o resultado Fluxograma
Incio

Representao Vantagens e Desvantagens


Desc. Narrativa
VANTAGENS: o portugus conhecido

Linguagem Algoritmica Algoritmo Calcula_Media N1, N2, M: real Inicio escreva Digite Nota1 e
Nota2

Fluxograma
VANTAGENS: Figuras dizem muito mais que palavras; Padro mundial DESVANTAGENS: Pouca ateno aos dados, quanto a descrio; Difcil representar medida que o algoritmo cresce.

Linguagem Algoritmica
VANTAGENS: Usa o portugus como base; Pode-se definir quais e como os dados vo estar estruturados; DESVANTAGENS: Exige a definio de uma linguagem no real para trabalho; No padronizado.

N1, N2

Mdia = (N1 + N2) / 2

Mdia

leia N1, N2 M (N1 + N2) / 2 escreva Mdia = , M Fim

DESVANTAGENS: impreciso; baixa confiabilidade em algumas situaes escreve-se muito

Fim
15 16

Algoritmo Refinamento Sucessivos


Um Algoritmo considerado completo se os seus comandos forem de entendimento do seu destinatrio. Em um algoritmo, um comando que no for do entendimento do destinatrio ter de ser desdobrado em novos comandos, que constitui um refinamento do comando inicial; EXEMPLO: Algoritmo para trocar uma lmpada queimada
17

Algoritmo Refinamento Sucessivos


Como ilustrao, poderamos reescrever o algoritmo anterior refinando alguns passos, e teramos com resultado o seguinte algoritmo:

18

Algoritmo Refinamento Sucessivos


A tcnica anteriormente utilizada consiste em dividir, sucessivamente, o problema em subproblemas cada vez menores at que estes possam ser resolvidos de uma forma direta. Essa tcnica muitas vezes chamada de Dividir para conquistar. funo da pessoa que est desenvolvendo um algoritmo, finaliz-lo no momento em que achar que o mesmo pode ser executado de forma adequada.

Fluxo de Informaes
Informaes Iniciais + Operaes sobre as informaes Resposta

Unidade Central de Processamento (UCP)

Dispositivo de Entrada

Unidade Lgica e Aritmtica (ULA) Unidade de Controle (UC)

Dispositivo de Sada

Memria
19 20

O que um Programa
a codificao de um algoritmo em uma linguagem de programao. Para utilizarmos uma linguagem de programao necessrio conhecermos a sua sintaxe (conjunto de regras que constituem a linguagem de programao (palavras utilizadas, pontuao, etc)). A mquina trabalha somente com cdigos numricos (linguagem de mquina), baseados nos nmeros 0 e 1 (sistema binrio), que representam impulsos eltricos, ausente e presente.
21

O que um Programa
Quando classificamos uma linguagem de programao falamos em:
Linguagem de alto nvel para as mais prximas da linguagem humana; Linguagem de baixo nvel para as mais semelhantes linguagem de mquina.

22