• Nenhum resultado encontrado

Informática para Ciências e Engenharias 2012/13. Teórica 6

N/A
N/A
Protected

Academic year: 2021

Share "Informática para Ciências e Engenharias 2012/13. Teórica 6"

Copied!
90
0
0

Texto

(1)

Informática para Ciências

e Engenharias

2012/13

(2)

2

Na aula de hoje...

Revisão: for, if, matrizes, gráficos

Cálculo de áreas por Monte Carlo

Introdução às redes de computadores e

à Internet:

Redes de computadores e seus protocolos

Web

Obtenção de dados da Internet usando MATLAB/Octave.

(3)

3

(4)

4

Estimar π

Círculo de raio 1, área = π

quadrado área = 1

quarto, área = π/4

(5)

5

Estimar π

Algoritmo (Monte Carlo)

N pontos ao acaso

contar d dentro

π ~ (d/N)*4

(6)

6

Calculo de áreas por MC

Em geral

N pontos ao acaso numa região conhecida que inclua a região de interesse

pseudo aleatórios

contar quantos incidem na área de interesse

a área de interesse será essa fracção, aproximadamente, da área conhecida

funciona melhor quanto maior for N e quanto maior for a fracção na área de interesse.

(7)

7

Calculo de áreas por MC

Função estimapi

recebe o número de pontos a gerar para a estimativa

devolve

o valor estimado de pi

duas matrizes com os pontos (x,y) que calharam dentro e fora da área de interesse, para o gráfico.

Assinatura da função:

(8)

8

Cria os vectores de saída (no máximo N linhas) e os

contadores que indicam

quantos pontos e em que linha vamos, em cada caso.

(9)

9

Ciclo principal para disparar N pontos

(10)

10

Função rand simula números aleatórios (pseudo-aleatória) 0 <= rand < 1 octave:46> rand ans = 0.30517 octave:47> rand ans = 0.73012 octave:48> rand ans = 0.76470 octave:49> rand ans = 0.083024

(11)

11

O ponto gerado a cada iteração conta dentro se a distância à origem não ultrapassar a unidade, fora se ultrapassar.

Incrementando as variáveis ixDentro e ixFora mantemos a contagem e o índice do ponto na matriz respectiva.

(12)

12

O resultado, a estimativa de π, é o quádruplo da área estimada pela proporção de pontos dentro.

É preciso também

redimensionar as matrizes dos pontos de acordo com o número efectivo de pontos (N linhas era o máximo possível, para evitar

redimensionar as matrizes muitas vezes durante o ciclo).

(13)

13

Estimar π

Script de

(14)

14

Estimar π

(15)

15

Estimar π

(16)

16

Estimar π

(17)

17

Estimar π

(18)

18

Estimar π

Mais pontos,

(19)

19

(20)

20

Redes de computadores

Um conjunto de computadores pode ser

interligado com o objectivo de trocar

informação e partilhar recursos,

transferindo dados entre si.

Exemplo: pesquisa no Google

enviamos os termos a pesquisar, usamos os

recursos do motor de pesquisa, obtemos de volta o resultado.

(21)

21

Redes de computadores

Numa transferência intervêm dois

computadores e a rede.

Nó emissor : produz uma sequência de bytes (mensagem)

Nó receptor : recebe essa sequência de bytes

A rede, a infraestrutura que inclui

Meios de interligação: cabos, atmosfera, …

Computadores dedicados a encaminhar a

(22)

22

Relação Cliente Servidor

Programa Cliente Programa Servidor

Pedido (request)

Resposta (response)

Um servidor pode servir vários clientes em simultâneo. Por exemplo, Browser Por exemplo, Servidor Web

(23)

23

Relação Cliente Servidor

23

 O servidor gere um recurso e fornece um serviço aos clientes

manipulando esse recurso.

 Um servidor Web pode gerir recursos com dados ou programas

que executa por conta dos clientes.

Um Servidor FTP ou de email funciona de forma análoga. 3. Servidor envia a resposta Recurso 2. Servidor processa o pedido 4. Cliente processa a resposta

1. Cliente envia pedido

Programa Cliente

Programa Servidor

(24)

24

Relação Cliente Servidor

24

Exemplo

O browser pede uma página de um blog

O servidor do blog recebe o pedido, obtém o conteúdo da base de dados

Texto, comentários, imagens, etc

O servidor envia essa informação, devidamente estruturada

O browser processa a informação e apresenta a página.

(25)

25

Relação entre pares

25

Ligação peer-to-peer

(par-a-par, ponto-a-ponto, P2P)

Neste tipo de relação, todos os participantes funcionam como clientes e como servidores

O esforço é partilhado, não exigindo servidores com capacidades especiais

Napster foi o primeiro exemplo notório (mas era centralizado)

BitTorrent é um dos mais conhecidos, e pode ser descentralizado.

(26)

26

Redes de computadores

Nos nós terminais

Placa ethernet

sinais por cabo

Placa Wi-Fi

sinais por ondas rádio

Rede local

LAN, Local Area Network

~1km; os computadores estão ligados directamente.

(27)

27

Redes de computadores

 LAN

Cobre um edifício, ou edifícios próximos  WAN

Wide Area Network

Liga redes locais

 Encaminhador

Router, gateway

máquina dedicada que liga redes diferentes (e.g. LAN a WAN)

(28)

28

Redes de computadores

28 28 Nó Nó Nó Router Nó Nó Router Nó Router Ethernet ou WiFI Ethernet ou WiFi

Ligação via satélite

Ligação fibra óptica

Duas LAN ligadas por 3 encaminhadores

(29)

29

Redes de computadores

Poder enviar sinais não basta.

É preciso saber

Remetente e destinatário

Controlar o tráfego

Como interpretar o conteúdo, etc.

(30)

30

Protocolos Internet

Nível físico

Sinais entre os nós da rede

Modulação e conversão

(31)

31

Protocolos Internet

Nível físico

Nível da ligação

Transmissão de conjuntos de bits entre nós da rede

(32)

32

Protocolos Internet

Nível físico

Nível da ligação

Nível IP (Internet Protocol)

Gere os pacotes de bytes, endereçamento e reencaminhamento

A informação é dividida em pacotes (sequências de bytes), encaminhados individualmente ao

destino.

Cada máquina tem um endereço e cada pacote

(33)

33

Protocolos Internet

Internet Protocol (IP)

o protocolo IP (versão 4) especifica um endereço único com 32 bits para cada máquina

(128 bits no IPv6)

mas permite redes privadas

e.g. em cada casa o router doméstico cria uma rede com os endereços 192.168.0.(0 – 255), e o ISP fornece um outro endereço para toda essa rede.

(34)

34

Protocolos Internet

Nível físico

Nível da ligação

Nível IP (Internet Protocol)

Nível de transporte (TCP).

Gere o transporte de dados, encarregando-se da gestão de pacotes, detecção e

(35)

35

Protocolos Internet

Nível físico

Nível da ligação

Nível IP (Internet Protocol)

Nível de transporte (TCP).

Nível da aplicação

Protocolos destinados a gerir a comunicação entre aplicações ou com o utilizador.

(36)

36

(37)

37

Protocolos Internet

Normalmente não vemos endereços IP

Usamos endereços simbólicos

Strings associadas aos endereços IP

e.g. www.google.com

O DNS (Domain Name System) é um sistema hierárquico de servidores que mapeia os

(38)

38

Top level domains

Top Level Domain Utilização

biz Negócios

com Comercial (EUA)

edu Educação (EUA)

info Informação

gov Governo (EUA)

mil Militar (EUA)

net Rede

(39)

39

Top level domains

39

Fora dos Estados o TLD é o código (com 2 letras) do país.

País TLD pt Portugal uk Reino Unido es Espanha fr França nz Nova Zelândia cn China … …

(40)

40

Domain Name System

Domínio raiz Top-level

domains edu gov com … uk pt …

utl unl cmu cs fe fct di google ibm

(41)

41

Protocolos Internet

Endereços simbólicos, exemplo

nslookup (no command prompt ou consola)

~$ nslookup fct.unl.pt ...

Name: fct.unl.pt

(42)

42

Nome do nó

asc.di.fct.unl.pt

Top level domain

(TLD)

Organização

Nome da

máquina

~$ nslookup asc.di.fct.unl.pt ... asc.di.fct.unl.pt

canonical name = di78.di.fct.unl.pt. Name: di78.di.fct.unl.pt

(43)

43

Internet

Reenvio de pacotes

O remetente envia cada pacote ao router na sua rede.

Cada router reenvia os pacotes ao router que (estima) está mais próximo do destinatário

Pelo endereço IP e tempos de transmissão

Este processo é dinâmico, permitindo gerir o tráfego e contornar falhas pontuais na rede.

Eventualmente, o pacote chega a um router que o envia ao destinatário

(44)

44

Internet

(45)

45

Programas servidores

Nos servidores há programas que esperam

por pedidos (programas servidores)

São executados em background, sem interacção directa com utilizadores (deamons)

Aguardam pedidos dirigidos a portas específicas

Uma porta é um endereço dentro da própria máquina

Exemplos

Servidor Web (porta 80)

(46)

46

Programas servidores

Exemplos:

Servidor Web (porta 80)

Recursos: ficheiros, programas, páginas dinâmicas

Serviços: obter ficheiros e executar programas CGI a pedido do cliente.

Servidor FTP (portas 20 e 21)

Recursos: ficheiros

Serviços: leitura e escrita de ficheiros

Servidor de Mail (porta 25, SMTP)

Recursos: ficheiro spool de email.

(47)

47

Programas clientes

Exemplos:

Browser, ftp, ssh,

Encontra o programa servidor

Pelo endereço da máquina onde o programa servidor está a ser executado

Pela porta associada ao protocolo e serviço

e.g. O browser contacta a máquina com aquele endereço IP na porta 80 para o protocolo HTTP.

(48)

48

(49)

49

World Wide Web

1989

Tim Berners-Lee (no CERN) escreve uma proposta para desenvolver um sistema

distribuído de hiper-texto. Ligar uma “web of notes with links” para ajudar os físicos do CERN a partilhar informação em grandes projectos.

1990

Tim B-L escreve um browser com interface gráfica.

(50)

50

World Wide Web

 A Web (teia)

Documentos interligados e sofware para consultar e manipular essa informação.

 Protocolos da Web

Protocolos de aplicação que gerem a partilha da informação.

 Página Web

Documento com dados e, normalmente, ligações (link) a outros documentos.

 Link (elo)

(51)

51

World Wide Web

 Site Web

Conjunto de páginas Web relacionadas e, geralmente, armazenadas na mesma máquina.

Servidor Web - servidor

Programa, na máquina que aloja a informação, que responde a pedidos de acesso às páginas Web.

Browser Web - cliente

Ferramenta que pede páginas Web e as mostra.

(52)

52

World Wide Web

A Web não é a Internet

a Internet inclui muito mais do que a Web

a Web existe sobre a Internet

Três elementos centrais da Web são

Uniform Resource Locator

(ou endereço Web)

HTML

linguagem das páginas Web

HTTP

(53)

53

URL: Uniform Resource Locator

http://asc.di.fct.unl.pt/~pm/index.html

Protocolo Máquina Endereço IP:x.x.x.x Nome DNS Ficheiro /home/pm/public-html/index.html 53

Forma normalizada de especificar a

localização de um recurso na Web.

Protocolo (pode ser omitido);

Nome da máquina;

(54)

54

HTML

Hypertext Markup Language (HTML)

Linguagem usada para criar páginas Web.

é uma markup language porque usa marcas (tags) para anotar a informação.

Tags (marcas)

Especificam a interpretação do conteúdo

A forma concreta como a informação é

(55)

55

HTML

Código fonte da página, HTML

(56)

56

HTML

Representação da página pelo browser

(57)

57

HTML

Marcas (tags)

Colocadas entre os símbolos < e >

A marca final distingue-se da inicial pela </..>

Elementos

Os elementos da página são definidos por uma marca inicial e final ladeando o conteúdo.

e.g. <TITLE>Título</TITLE>

(58)

58

HTML

Exemplos

<P> ... </P> especifica um parágrafo separado.

<BR> indica uma mudança de linha.

<CENTER> ... </CENTER> centra o conteúdo.

<I> … </I> conteúdo em itálico.

<B> … </B> conteúdo em negrito (bold).

<HR> insere um separador horizontal a toda a largura da página (mudança de contexto).

(59)

59

HTML

Exemplos

<UL> … </UL> define uma lista de itens.

<LI>…</LI> define um item.

<H1> … </H1> Formatação do texto no estilo H1 –relevo máximo (dimensão das letras …).

<H8> … </H8> Formatação do texto no estilo H8 – relevo mínimo.

(60)

60

HTML

Nota:

No standard HTML5 a ênfase é na semântica e não no aspecto visual.

Várias tags foram delegadas para folhas de estilo (e.g. CENTER) ou têm significado

(61)

61

HTML

A tag pode ter também atributos

informação adicional acerca do elemento.

nome-do-atributo="valor"

Exemplo

Imagem:

(62)

62

HTML

Links (hiper-ligação)

Tag A (âncora) 

Exemplo

<A HREF = "http://ssdi.di.fct.unl.pt/ice/b/praticas.html"> página das práticas de ICE-B</A>

(63)

63

Protocolo HTTP

Browser Servidor Pedido Resposta GET /index.html HTTP/1.1

Linhas com informação sobre o pedido e o browser Linha em branco

Mais linhas opcionais

200 OK HTTP/1.1

Linhas com informação sobre a resposta e o servidor Linha em branco

Mais linhas opcionais

<html>

</html>

Pedidos e respostas são

(64)

64

World Wide Web

Utilizador especifica URL, o browser pede o recurso ao servidor, este envia os dados com o texto, imagens, etc.

(65)

65

Conteúdo estático

O conteúdo pode ser estático

é enviado um ficheiro que existe no servidor

Exemplos: ficheiros HTML, imagens, audio clips.

URLs para conteúdos estáticos:

http://www.cs.cmu.edu:80/index.html

http://www.cs.cmu.edu/index.html

http://www.cs.cmu.edu

Identificam o ficheiro index.html gerido pelo servidor em www.cs.cmu.edu à escuta na porta 80.

(66)

66

Conteúdo dinâmico

O conteúdo pode ser dinâmico

Quando é pedido um recurso dinâmico, o servidor executa um programa que o gera no momento.

(67)

67

(68)

68

Acesso a recursos remotos

O MATLAB (e Octave) inclui funções para

aceder a recursos pelo URL

[conteudo, sucesso] = urlread( url )

A função urlread acede ao URL url e retorna:

na string conteudo o conteúdo obtido;

no booleano sucesso o valor true (1), se a operação teve sucesso, e o valor false (0), se a operação não teve sucesso.

(69)

69

Acesso a recursos remotos

[nComp,sucesso]=urlwrite(url,nomeFich)

A função urlwrite acede ao URL url, grava o conteúdo no ficheiro nomeFich e retorna:

na string nComp o nome completo do ficheiro local, incluíndo o caminho;

no booleano sucesso o valor true (1), se a operação teve sucesso, e o valor false (0), se a operação não teve

(70)

70

(71)

71

Exemplo

Wunderground

Em http://www.wunderground.com podem consultar-se dados meteorológicos de vários pontos da Terra.

Para Lisboa:

http://www.wunderground.com/weatherstation/WX DailyHistory.asp?ID=ILISBON2&format=1

(72)

72

Exemplo

E.g. 23:44 de 24-11-2012: ↵ Time,TemperatureC,DewpointC,PressurehPa,WindDirection,WindDirectionDegrees,WindSpeedKMH, WindSpeedGustKMH,Humidity,HourlyPrecipMM,Conditions,Clouds,dailyrainMM,SoftwareType,DateU TC<br>↵ 2012-11-24 00:03:00,15.9,12.7,1014.1,SSE,166,16.1,16.1,81,0.0,,,0.0,Wunderground v.1.13,2012-11-24 00:03:00, ↵ <br>↵ 2012-11-24 00:08:00,15.9,12.7,1014.1,SSE,157,16.1,25.7,81,0.0,,,0.0,Wunderground v.1.13,2012-11-24 00:08:00, ↵ <br>↵ (…) 2012-11-24 23:43:00,13.7,13.1,1015.5,NE,40,11.3,11.3,96,1.3,,,56.4,Wunderground v.1.13,2012-11-24 23:43:00, ↵ <br>↵

(73)

73

Exemplo

Gráfico

Processando esta informação pode-se obter o gráfico da temperatura por hora na Portela

Mas, por agora,

vamos fazer uma versão simplificada

(74)

74

Exemplo

Simplificando:

http://asc.di.fct.unl.pt/~pm/meteorologia.txt

temperatura ( ºC), Ponto de condensação (º C), pressão (hPa), direcção do vento (código numérico), velocidade do vento (Kph), humidade (%), precipitação (mm/m2)

Cada linha corresponde a uma hora (0:00 a 0:59, 1:00 a 1:59, etc...) 8.6,1.9,1029.3,4,1.6,63,0.0; 8.5,1.8,1029.0,4,1.6,63,0.0; 8.0,2.1,1029.0,4,0.0,66,0.0; 7.7,1.9,1029.3,4,0.0,67,0.0; ...

(75)

75

Exemplo

 Queremos o gráfico da temperatura média a cada

(76)

76

Exemplo

 Compreender o problema  Caracterizar:

Entrada: URL

Saída: nenhum valor, mas gerar o gráfico

 Tarefas

Obter os dados remotos (urlread) e converter numa matriz (como? Já vamos ver...)

Desenhar o gráfico

(77)

77

Exemplo

Assinaturas das funções

(não se esqueçam)

function dados=ledados(url)

function graficotemp(horas,temp)

function temperaturas(url)

(78)

78

Exemplo

Converter string em números:

str2num octave:11> a=str2num(s)

a = 123 octave:12> a+1 ans = 124 octave:13> mStr='1,2,3;4,5,6;7,8,9' mStr = 1,2,3;4,5,6;7,8,9 octave:14> m=str2num(mStr) m = 1 2 3 4 5 6 7 8 9 octave:9> s='123' s = 123 octave:10> s+1 ans = 50 51 52

(79)

79

Exemplo

Os dados no servidor são fáceis de

converter:

8.6,1.9,1029.3,4,1.6,63,0.0; 8.5,1.8,1029.0,4,1.6,63,0.0; 8.0,2.1,1029.0,4,0.0,66,0.0; 7.7,1.9,1029.3,4,0.0,67,0.0; ...

(80)

80

(81)

81

Exemplo

octave:8> mat=ledados('http://asc.di.fct.unl.pt/~pm/meteorologia.txt') mat =

8.6000e+00 1.9000e+00 1.0293e+03 4.0000e+00 1.6000e+00 6.3000e+01 0.0000e+00 8.5000e+00 1.8000e+00 1.0290e+03 4.0000e+00 1.6000e+00 6.3000e+01 0.0000e+00 8.0000e+00 2.1000e+00 1.0290e+03 4.0000e+00 0.0000e+00 6.6000e+01 0.0000e+00 7.7000e+00 1.9000e+00 1.0293e+03 4.0000e+00 0.0000e+00 6.7000e+01 0.0000e+00 6.8000e+00 1.5000e+00 1.0297e+03 4.0000e+00 0.0000e+00 6.9000e+01 0.0000e+00 7.0000e+00 9.0000e-01 1.0300e+03 4.0000e+00 1.6000e+00 6.5000e+01 0.0000e+00 6.0000e+00 1.1000e+00 1.0304e+03 4.0000e+00 0.0000e+00 7.1000e+01 0.0000e+00 5.7000e+00 1.3000e+00 1.0310e+03 4.0000e+00 0.0000e+00 7.3000e+01 0.0000e+00 7.3000e+00 3.6000e+00 1.0317e+03 4.0000e+00 0.0000e+00 7.7000e+01 0.0000e+00 8.8000e+00 4.4000e+00 1.0321e+03 4.0000e+00 1.6000e+00 7.4000e+01 0.0000e+00 9.5000e+00 4.9000e+00 1.0321e+03 6.0000e+00 4.8000e+00 7.3000e+01 0.0000e+00 1.1200e+01 5.7000e+00 1.0317e+03 6.0000e+00 0.0000e+00 6.9000e+01 0.0000e+00 1.3500e+01 5.9000e+00 1.0310e+03 1.0000e+00 4.8000e+00 6.0000e+01 0.0000e+00 1.3000e+01 5.4000e+00 1.0304e+03 1.0000e+00 3.2000e+00 6.0000e+01 0.0000e+00 1.3900e+01 6.5000e+00 1.0300e+03 6.0000e+00 9.7000e+00 6.1000e+01 0.0000e+00 1.3500e+01 7.1000e+00 1.0304e+03 4.0000e+00 1.1300e+01 6.5000e+01 0.0000e+00 ...

(82)

82

Exemplo

octave:9> ledados('xpto')

Ooops... alguma coisa falhou em ledados. ans = [](0x0)

(83)

83

(84)

84

Exemplo

Testar graficotemp:

(85)

85

(86)

86

Exemplo

Testar:

(87)

87

(88)

88

Trabalho Prático 1

Obter dados de um servidor (URL)

Processar os dados

matrizes, cálculos, …

Gerar um gráfico

(89)

89

Trabalho Prático 1

Aulas

Apoio nas semanas 8-12 e 15-19

Entregas

Versão intermédia, 14 de Abril

não conta para nota

para “ensaiar” e para seguirmos o progresso

Versão final

Limite: 21 de Abril, recomendado: ~19 de Abril

(90)

90

Referências

Documentos relacionados

Trata-se de um laboratório situado no prédio AT/LAB, no piso térreo, possuindo paredes de alvenaria de blocos rebocadas, paredes divisórias em madeira, forro de laje reta, piso

Por vezes, o localizador necessita de alterar não só o texto como também possíveis imagens ou a forma como estas são apresentadas, sendo o exemplo mais óbvio o caso de

A Coordenação do Programa de Ensino, Pesquisa e Extensão em Informação, Tecnologia e Inovação da UFSCar (ITI UFSCar) torna público a abertura das inscrições para o Processo

M ATERIAIS RESTAURADORES DEFINITIVOS : RESINAS COMPOSTAS FOTOPOLIMERIZÁVEIS  Usadas para todas as classes de cavidades  Sistema de polimerização física-luz.  Compostas

O browser contacta a máquina com aquele endereço IP na porta 80 para o protocolo HTTP... World

•   Neste caso, se as strings não tiverem o mesmo comprimento, as mais pequenas são preenchidas com brancos.. Acesso

l  Propagar os focos do incêndio.. Para todas as células internas da matriz que estejam a arder. Nota: Não queremos propagar as da fronteira para evitar sair dos limites da

l  Os parâmetros da função são variáveis, separadas por vírgulas l  A variável nomeResultado, recebe o valor da função..