Escolar Documentos
Profissional Documentos
Cultura Documentos
18:13
Sistema Computacional
Programas (Software)
Dados
Informtica e Programao (ESTGA) 18:13 2
Representao da Informao
18:13
Representao da Informao
A informao armazenada em memria utilizando o sistema de numerao binria Um dgito binrio (0 ou 1) chama-se bit (Binary Digit) Um bit pode representar dois estados distintos, tal como uma lmpada que pode estar acesa (0) ou apagada (1) Para representar valores mais elevados utilizam-se arranjos de bits:
1 bit 0 1 2 bits 00 01 10 11 3 bits 000 001 010 011
Informtica e Programao (ESTGA)
Representao da Informao
Cada bit que se adiciona no arranjo duplica o nmero de arranjos possveis N bits permitem representar 2N itens distintos
18:13
Representao da Informao
A unidade Byte
por conveno: Byte = 8 bits 1 Byte permite representar 28=256 itens diferentes
Mltiplos do Byte
A capacidade da memria expressa no nmero de bytes que consegue armazenar
Kbyte (KB) Mbyte (MB) Gbyte (GB) Tbyte (TB) Pbyte (PB) Ebyte (EB) Zbyte (ZB) Ybyte (YB) 1024 bytes = 210 1KB um kilobyte 1024x1024 bytes = 220 1MB um mega byte 1024x1024x1024 bytes = 230 1GB um giga byte 1024x1024x1024x1024 bytes = 240 1TB um tera byte 1024x1024x1024x1024x1024 bytes = 250 1PB um peta byte 1EB um exa byte 1ZB um zeta byte 1YB um yotta byte
18:13
Representao da Informao
Representao da Informao
Cdigo ASCII (American Standard Code for Information Interchange)
Cdigo de 8 bits utilizado para representar os caracteres da comunicao escrita (letras, dgitos, pontuao, caracteres especiais) Os cdigos da tabela ASCCII foram implementados de forma sistemtica para permitir ao computador efectuar as operaes sobre caracteres (comparao, etc.)
Processamento da Informao
RAM CPU
instrues lgicas e aritmticas Registos
(memria local)
endereo de memria 0 1 2 3 4 5
Programa - Conjunto de instrues, escritas num cdigo compreendido pelo computador (linguagem mquina), que especificam de forma no ambgua como o mesmo deve ser executado.
Informtica e Programao (ESTGA) 18:13 8
Programas
Cada tipo de computador tem a sua prpria linguagem mquina na qual os programas so codificados. Um programa s pode ser executado num determinado computador se estiver codificado nessa mesma linguagem.
1. 2. 3. 4. 5.
0001 0011 0011 1011 1101 0111 0001 1001 1111 0001 1101 1111 0000 1100 0101 1101 0001 0011 0011 1011
Linguagens de Programao
Linguagem de Programao
Sistema formal de regras de descrio, com sintaxe e semntica bem definidas, capaz de representar um programa de computador.
18:13
10
Linguagens de Programao
3 Gerao
1 Gerao 0001 0011 0011 1011 1101 0111 0001 1001 1111 0001 1101 1111
18:13
11
Linguagens de Programao
Linguagens de alto nvel Linguagem mquina
Mais prximas da linguagem natural Utilizam nmeros, palavras, smbolos Cdigo portvel (independncia face ao hardware) No so diretamente entendidas pela mquina
Menos natural Utilizam somente 0s e 1s Cdigo no portvel (dependncia face ao hardware) Diretamente entendida pela mquina
18:13
12
Conceitos da Programao
Como traduzir linguagem de alto nvel em linguagem mquina?
2 solues: compilao vs interpretao
Compilador
Cdigo objecto
1 instruo de cada vez
Interpretador
Execuo
18:13
13
Conceitos da Programao
Compilador: programa especializado que verifica a correo sinttica de um programa escrito numa linguagem de alto nvel e o traduz para linguagem de baixo nvel Os compiladores tradicionais so especficos para uma linguagem de programao e um tipo de computador (processador) Cdigo fonte: programa escrito numa linguagem de alto nvel Cdigo objeto: programa escrito numa linguagem de baixo nvel Cdigo executvel (binrio): programa escrito numa linguagem de baixo nvel
Informtica e Programao (ESTGA) 18:13 14
V F
18:13
15
Linguagem de Programao C
Criada em 1972 por Dennis Ritchie (Laboratrios Bell - AT&T)
http://cm.bell-labs.com/cm/cs/who/dmr/
ANSI C: em 1983 a American National Standards Institute (ANSI) formou um comit para definio do standard da linguagem C o ANSI C
18:13
16
Estrutura de um Programa em C
#include <stdio.h> ... main() { int a, b, c; ... printf(Hello World); ... }
declarao de ficheiros a incluir na fase de compilao (diretivas do pr-processador) declarao de funes, constantes e variveis globais funo principal do programa (bloco de instrues delimitado por chavetas) declarao de constantes e variveis locais
ver pg 1 a 31
18:13
17
Desenvolvimento de Programas em C
#include <stdio.h> main() { int a, b; printf(Hello world); }
0010010001010110100011
18:13
18
Ambiente de Desenvolvimento
http://www.codeblocks.org
Informtica e Programao (ESTGA) 18:13 19
Desenho de Programas
Programar escrever cdigo numa dada linguagem A parte mais difcil de desenvolver um programa no saber como expressar a soluo do problema em determinada linguagem de programao, mas sim, desenvolver um mtodo para resoluo do problema o Algoritmo O algoritmo independente da linguagem de programao
18:13
20
Desenho de Programas
Fases de especificao e resoluo de um problema:
Anlise do problema Desenvolvimento da soluo (Algoritmo) Programao da soluo (Programa) Depurao/Debug (traagem e teste da soluo) Finalizao da documentao Manuteno
Informtica e Programao (ESTGA) 18:13 21
Desenho de Programas
Exemplo de um algoritmo
Modo de preparao de um bolo de chocolate
125 g de manteiga 1 tablete de chocolate amargo (200 g) 250 g de acar 100 g de farinha 1 colher (ch) de fermento em p 6 ovos 1 colher (sopa) de manteiga
1. 2. 3. 4. 5.
6.
Tire duas barras tablete e guarde-as. Derreta o restante chocolate, juntamente com a manteiga, em banho-maria. Bata as gemas com o acar at obter uma mistura cremosa. Junte-lhe o chocolate e manteiga derretidos, a farinha, previamente misturada com o fermento, e as claras em castelo, mexendo sempre. Vaze o preparado numa forma untada com manteiga e polvilhada com farinha e leve ao forno para cozer. Entretanto, prepare a cobertura derretendo o restante chocolate e a colher de manteiga em banho-maria. Uma vez o bolo cozido, deixe arrefecer e cubra-o com este creme.
Resultado
Informtica e Programao (ESTGA) 18:13 22
Desenho de Programas
Algoritmo:
Sequncia de aces, que aplicadas sobre determinada informao inicial, permitem dela obter em tempo finito e de modo no ambguo um determinado resultado final.
1 problema N algoritmos
Caractersticas importantes de um algoritmo: Finito
No ambguo Ter zero ou mais entradas Ter uma ou mais sadas Efectivo
18:13
23
Desenho de Programas
Na fase de desenvolvimento de um algoritmo podemos utilizar:
Linguagem Natural linguagem corrente do dia-a-dia Pseudo-cdigo linguagem auxiliar de representao de alto nvel Diagrama de Fluxo (fluxograma) - notao grfica da soluo
INCIO
Linguagem Natural
Pseudo-cdigo
Declara custo, taxa L custo, taxa iva = custo * taxa Escreve iva FIM
Calcular valor do IVA, multiplicando o custo pela taxa Escrever o valor do IVA
Fluxograma
INCIO
custo,taxa
iva
FIM
Informtica e Programao (ESTGA) 18:13 24
Desenho de Programas
Depurao/Teste da soluo:
Detetar, localizar e corrigir erros (debugging): Erro sinttico - resulta da no conformidade de uma instruo com as regras sintticas da linguagem de programao. Detetados pelo compilador Erro semntico (lgicos) - o programa no executa a ao pretendida. Resulta de erros no desenho do algoritmo ou sua implementao Erro de Run-time - produzido durante a execuo do programa (p. ex. diviso por zero, overflow, violao da dimenso limite de uma estrutura de dados, etc.)
Informtica e Programao (ESTGA) 18:13 25