93
Informática para Ciências e Engenharias (B) 2013/14 Teórica 1

Informática para Ciências e Engenharias (B) 2013/14

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Informática para Ciências e Engenharias (B) 2013/14

Informática para Ciências e Engenharias (B)

2013/14

Teórica 1

Page 2: Informática para Ciências e Engenharias (B) 2013/14

2

Informação

Docente (teóricas)• Ludwig Krippahl ([email protected])

• Terças, 15:00-16:00 Gab. 252 Ed. II

Página de ICE:• http://ssdi.di.fct.unl.pt/ice/

Livro aconselhado:• Allen B. Downey. Physical Modeling in

MATLAB• PDF: http://greenteapress.com/matlab/

Page 3: Informática para Ciências e Engenharias (B) 2013/14

3

Na aula de hoje...

Objectivos, trabalhos e avaliação Aulas teóricas e práticas Sistema computacional

• Componentes e execução de programas

MATLAB• Modelo de execução (interpretador).

• Expressões aritméticas, atribuição e strings

Page 4: Informática para Ciências e Engenharias (B) 2013/14

4

Objectivos

Visão abrangente das metodologias e ferramentas da Informática para a resolução de problemas em Ciência e nas Engenharias.

Page 5: Informática para Ciências e Engenharias (B) 2013/14

5

Objectivos

Introdução a metodologias e ferramentas da Informática para resolver problemas em Ciência e Engenharias.• fundamentos de programação

• (breve) introdução a bases de dados

• redes e protocolos de comunicação

• aplicações: simulação, análise, ...

Page 6: Informática para Ciências e Engenharias (B) 2013/14

6

Trabalho do aluno

6 créditos ECTS• Presencial

• Aulas teóricas: 2h por semana

• Aulas práticas: 3h por semana

• Autónomo• Estudo: 55h

• Trabalhos: 35h

• (~ 6 horas por semana)

Page 7: Informática para Ciências e Engenharias (B) 2013/14

7

Aulas Teóricas

Perceber, não decorar.• Preparação para o estudo

~70% exposição, ~30% discussão• Aproveitem para ir tirando dúvidas

Page 8: Informática para Ciências e Engenharias (B) 2013/14

8

Aulas Práticas

Começam sexta feira (dia 7) 3 horas:

• Praticar e fazer os trabalhos.• (algumas aulas têm exercícios extra)

• mais autonomia

• devem ir preparados• Sem perceber a teórica é muito mais difícil

Page 9: Informática para Ciências e Engenharias (B) 2013/14

9

Aulas Práticas

Login, password: os do CLIP Trabalhem na vossa área em c:\users No final, copiar os ficheiros

• pendisk

• drive Z: (área do aluno na FCT)

• enviar por email.

Page 10: Informática para Ciências e Engenharias (B) 2013/14

10

Avaliação Duas componentes:

• Laboratorial (trabalhos práticos)

• Teórico-prática (testes ou exame)

Fraude• actos que viciem o processo de avaliação

• copiar, ceder trabalho para cópia, assinar trabalhos que não se fez, etc...

• reprovação imediata

Page 11: Informática para Ciências e Engenharias (B) 2013/14

11

Avaliação Contínua

Dois testes• 9 de Abril e 28 de Maio

Dois trabalhos• Grupos de 2 alunos

• Prazos de entrega terminam a:• P1: 4 de Maio

• discussões conforme necessário

• P2: 8 de Junho

• discussões com todos de 9 a 12 de Junho

Page 12: Informática para Ciências e Engenharias (B) 2013/14

12

Avaliação Contínua

Condições necessárias• Frequência

• P1 ≥ 9.5 ou P2 ≥ 9.5

• Aprovação• Frequência e CompTP ≥ 8.5

Notas• CompL = (TP1+TP2) / 2

• CompTP = 0.4 * T1 + 0.6 * T2 (ou exame)

• Final = 0.4 * CompL + 0.6 * CompTP

Page 13: Informática para Ciências e Engenharias (B) 2013/14

13

Avaliação

Nota final (só com frequência)• Se CompTP<8.5

• Nota final = CompTP

• Caso contrário• NF= 0.4 * CompL + 0.6* CompTP

Page 14: Informática para Ciências e Engenharias (B) 2013/14

14

Avaliação

Notas de 2012/13• Frequência em 2012/13

• Dispensados de realizar os trabalhos

• Se os realizarem, ficam com a melhor CompL entre 2012/13 e 2013/14

• Alunos com CompTP ≥ 8.5• Estão dispensados dos testes e exame

• Se realizarem testes ou exame, ficam com a melhor CompTP entre 2012/13 e 2013/14

Page 15: Informática para Ciências e Engenharias (B) 2013/14

15

Avaliação em Recurso

Condições• Frequência (TP1 ≥ 9.5 ou TP2 ≥ 9.5)

• Exame ≥ 8.5

• CompTP = nota do exame

Nota final• NF= 0.4 * CompL + 0.6 * Nota do Exame

Page 16: Informática para Ciências e Engenharias (B) 2013/14

16

Melhoria na época de recurso

Condições• Ter aprovado

Nota final• NF= 0.4 * CompL + 0.6 * Nota do Exame

• (se a nota do exame for superior à nota já obtida na componente teórico-prática)

Page 17: Informática para Ciências e Engenharias (B) 2013/14

17

Informática

(Introdução)

Page 18: Informática para Ciências e Engenharias (B) 2013/14

18

Informática:Ciência e Engenharia

Processamento de informação• sistemas computacionais, ambientes de

programação, concepção e implementação de programas, ...

Contribui para a resolução de problemas de todas as áreas.

Usando o computador podemos• desenvolver programas

• executar programas

Page 19: Informática para Ciências e Engenharias (B) 2013/14

19

Sistema computacional

Hardware• dispositivos electrónicos que compõem o

computador

Software• Programas executados pelo hardware

• Sistema: controla a execução de aplicações

• Aplicações: executam várias funções

Dados• Informação lida ou escrita pelo software

Page 20: Informática para Ciências e Engenharias (B) 2013/14

20

Hardware

O hardware opera sobre sequências de elementos em dois estados• zero e um, desligado e ligado, bit (binary digit)

• Um conjunto de 8 bits é um byte

• Tudo é codificado em sequências de bytes:• Programas, dados (texto, imagens, músicas,

vídeos).

• Tudo depende de como a informação é interpretada.

Page 21: Informática para Ciências e Engenharias (B) 2013/14

21

Programas

Programa:• conjunto de instruções

Para executar programas é preciso:• Hardware

• interpreta conjuntos de bits que especificam acções muito simples (instruções).

• A funcionalidade dos programas vem do encadeamento de muitas acções simples

Page 22: Informática para Ciências e Engenharias (B) 2013/14

22

Programas

Software (os programas)• sistema operativo

• conjunto de programas que medeiam interacção com hardware e outros

• interpretador de comandos• permite especificar acções e invocar programas

• compiladores e interpretadores• traduzem instruções de alto nível para o hardware

• outras aplicações• processador de texto, folha de cálculo, imagem, ...

Page 23: Informática para Ciências e Engenharias (B) 2013/14

23

Hardware

imagens:

Unidade Central de Processamento

Microprocessador:Circuito integrado que opera, sequencialmente, em valores binários (voltagem, 0 e 1).

Pentium pro, 19955.5 milhões de transistores (Core)

Page 24: Informática para Ciências e Engenharias (B) 2013/14

24

Hardware

imagens:

CPU

Page 25: Informática para Ciências e Engenharias (B) 2013/14

25

Funcionamento

imagens:

CPU

Page 26: Informática para Ciências e Engenharias (B) 2013/14

26

Hardware

imagens:

Random Access Memory (RAM)

Memória central, rápida

Armazena dados eprogramas

Volátil: conteúdo perde-sequando o computador é desligado

Page 27: Informática para Ciências e Engenharias (B) 2013/14

27

Hardware

imagens:

CPU

MotherboardElectrónica de comunicação dentro e para fora do PC

Page 28: Informática para Ciências e Engenharias (B) 2013/14

28

Hardware

imagens:

HDDDisco rígidoNão volátil, mais lento

CPU

RAM

Page 29: Informática para Ciências e Engenharias (B) 2013/14

29

Hardware

imagens:

010010101 0111101

0100110

0100110

Page 30: Informática para Ciências e Engenharias (B) 2013/14

30

Hardware

Na memória, os bits estão organizados em palavras (8, 16, 32 bits, por exemplo)• 1 byte = 8 bits (normalmente)

Cada palavra tem um endereço• endereço é fixo

• conteúdo varia 10100010010101110100101001011010

00000000000000000000000000000000

00000000000010010100101001001100

00010010011000000000000000000000

00000000000000000000000000000000

106

107

108

109

110

106

Page 31: Informática para Ciências e Engenharias (B) 2013/14

31

Hardware

Leitura• CPU apresenta endereço à memória

10100010010101110100101001011010

00000000000000000000000000000000

00000000000010010100101001001100

00010010011000000000000000000000

00000000000000000000000000000000

106

107

108

109

110

106

...

...CPU 109

Page 32: Informática para Ciências e Engenharias (B) 2013/14

32

Hardware

Leitura• Memória devolve cópia do conteúdo

10100010010101110100101001011010

00000000000000000000000000000000

00000000000010010100101001001100

00010010011000000000000000000000

00000000000000000000000000000000

106

107

108

109

110

106

...

...CPU

Page 33: Informática para Ciências e Engenharias (B) 2013/14

33

Hardware

Escrita• CPU apresenta endereço e novo conteúdo

10100010010101110100101001011010

00000000000000000000000000000000

00000000000010010100101001001100

00010010011000000000000000000000

00000000000000000000000000000000

106

107

108

109

110

106

...

...CPU

10710100101...

Page 34: Informática para Ciências e Engenharias (B) 2013/14

34

Hardware

Escrita• Memória actualiza o conteúdo no endereço

indicado.

10100010010101110100101001011010

10100101010010101010001001100100

00000000000010010100101001001100

00010010011000000000000000000000

00000000000000000000000000000000

106

107

108

109

110

106

...

...CPU

10710100101...

Page 35: Informática para Ciências e Engenharias (B) 2013/14

35

Hardware

CPU• Obtém instruções guardadas na memória (RAM)

• Em cada momento guarda o endereço da instrução a executar

• Execução sequencial

• Componentes principais• Unidade de controlo: determina que operações efectuar

para cada instrução

• Unidade aritmética e lógica: operações algébricas

Page 36: Informática para Ciências e Engenharias (B) 2013/14

36

Hardware

CPU• Exemplo (simplificado): SOMA 106 107 110

• Soma valores em 106 e 107, guarda em 110

Unidade deControlo

Unidade de aritmética e lógica

00100010010101110100101001011010

00000101010010101010001001100100

00000000000010010100101001001100

00010010011000000000000000000000

00100111101000011110110010111110

106

107

108

109

110

106

...

...

Page 37: Informática para Ciências e Engenharias (B) 2013/14

37

Sistema operativo (SO) Funções de acesso a periféricos e ficheiros

• Sistema de ficheiros, drivers, etc.

• Invocadas pelos programas em execução

Carregador

• Usando funções anteriores, carrega programas em memória e coloca-os em execução

Interpretador de comandos

• Usando as funções anteriores, lê comandos do teclado e invoca o carregador para executar programas.

Page 38: Informática para Ciências e Engenharias (B) 2013/14

38

Ficheiros Qualquer ficheiro é uma sequência de bits (1,0)

• Organizado em bytes (8 bits)

• pode representar um texto, números, imagem, sons, ...

• depende de como é interpretado

O ficheiro é guardado no disco

• não se perde ao desligar o computador

• tem um identificador único (caminho/nome).

Um ficheiro com código fonte

• código escrito pelo programador

Page 39: Informática para Ciências e Engenharias (B) 2013/14

39

Sistema operativo

Gere a memória

Acesso a periféricos e ficheiros

Carregador

Interpretador de comandos

Memória paraonde são carregados

os programas

Memória ocupada pelo SO

Memória livre para as aplicações

Page 40: Informática para Ciências e Engenharias (B) 2013/14

40

Sistema operativo “simples”

Um utilizador de cada vez• Supervisiona a utilização dos recursos do

sistema

• Controla os periféricos

• Gere a memória central (RAM)

• Gere o acesso aos ficheiros (HDD, SDD, MC, ...)

• Gere a interacção com o utilizador

Page 41: Informática para Ciências e Engenharias (B) 2013/14

41

Arranque

Quando a energia é ligada• O CPU começa a executar código, que carrega

o SO do sistema de ficheiros para a RAM.

• Depois, o CPU executa instruções que fazem a inicialização do SO

• Terminada a inicialização, passa a ser executado o código do interpretador de comandos.

Page 42: Informática para Ciências e Engenharias (B) 2013/14

42

Interpretador de comandos

Linha de comando• apresenta prompt

• lê comando

• executa o comando• mostra resultados

• volta ao prompt

• cmd, konsole

Page 43: Informática para Ciências e Engenharias (B) 2013/14

43

Interpretador de comandos

Gráfico• ícones

• janelas

• botões

• menus

imagem:

Page 44: Informática para Ciências e Engenharias (B) 2013/14

44

Interpretador de comandos

Linha de comandoprompt> comando argumento1 argumento2 …

• o comando pode ser interno do SO • dir, cd, print, type

• ou pode ser um programa para executar• o SO verifica se existe o programa, invoca o

carregador e o CPU executa o programa

• os argumentos são passados para esse programa• e.g. format G: /FS:FAT32

Page 45: Informática para Ciências e Engenharias (B) 2013/14

45

Interpretador de comandos

Interface Gráfica• (GUI: Graphical User Interface)

• janelas, icons, menus, ...

• click (ou duplo click)• se no ícone que representa um programa, o programa

é carregado e executado

• se no ícone que representa um ficheiro de dados é executado o programa associado, passando o nome do ficheiro como argumento

shell + click

Page 46: Informática para Ciências e Engenharias (B) 2013/14

46

Programar

Page 47: Informática para Ciências e Engenharias (B) 2013/14

47

Programar

Para quê?• Versatilidade

• Não estamos limitados aos programas que

• já estão feitos

• que temos

• e que sabemos como usar

• Se soubermos programar podemos resolver muito mais problemas

• aproveitar melhor o potencial do computador

Page 48: Informática para Ciências e Engenharias (B) 2013/14

48

Programar

Para quê?• Versatilidade

• Reprodutibilidade• fazer coisas “à mão” não é reprodutível

• é muito importante processar dados de forma reprodutível

Page 49: Informática para Ciências e Engenharias (B) 2013/14

49

Programar

Para quê?• Versatilidade

• Reprodutibilidade

• Fiabilidade• Uma vez testado, se funciona, funciona

Page 50: Informática para Ciências e Engenharias (B) 2013/14

50

Programar

Para quê?• Versatilidade

• Reprodutibilidade

• Fiabilidade

• Conveniência• O investimento inicial pode compensar muito

Page 51: Informática para Ciências e Engenharias (B) 2013/14

51

Programar

Exemplo: calcular massa molecular• Alanina: CH3CH(NH2)COOH

Objectivo• corremos o programa:

• massamol('CH3CH(NH2)COOH')

• e recebemos a resposta• 89.093

massamol

Page 52: Informática para Ciências e Engenharias (B) 2013/14

52

Programar

Exemplo: calcular massa molecular• Precisamos de aprender umas coisas antes

Hoje:• Como dar instruções ao CPU?

• ou seja, traduzir uma linguagem de programação prática para nós (alto nível) para as instruções correspondentes no CPU (baixo nível).

Page 53: Informática para Ciências e Engenharias (B) 2013/14

53

Programar

Baixo nível• Mais próximo do hardware

• Instruções simples, mais elementares• Operações lógicas, leitura e escrita, operações

algébricas...mov ax,'00'mov di,countermov cx,digits+cntDigits/2cldrep stoswinc ax...

http://assembly.happycodings.com/code1.html

Page 54: Informática para Ciências e Engenharias (B) 2013/14

54

Programar

Alto nível• Mais próximo de nós

• Instruções complexas• (convertidas em muitas simples para o CPU)

s=b^2-4*a*c; if s<0 raizes=[]; elseif s==0 raizes=-b/(2*a); else raizes=[(-b+sqrt(s))/(2*a),(-b-sqrt(s))/(2*a)];

Page 55: Informática para Ciências e Engenharias (B) 2013/14

55

Programar

Precisamos de:• linguagem de programação

• C++, Java, Python, … MATLAB

• um compilador... • Traduz o programa escrito na linguagem de

programação num formato que o SO pode carregar em memória e o CPU executar

• … ou um interpretador• Interpreta cada instrução da linguagem de

programação em instruções para o CPU

Page 56: Informática para Ciências e Engenharias (B) 2013/14

56

Programar

Vamos usar:• Linguagem de programação

• MATLAB

• Um interpretador• MATLAB

• ou Octave

• Gratuito.

• Disponível em http://www.gnu.org/software/octave/

Page 57: Informática para Ciências e Engenharias (B) 2013/14

57

O interpretador é um programa

Funcionamento da consola do interpretador:• utilizador escreve a linha com a instrução

• (enter no final)

• o interpretador analisa a linha

• o interpretador executa a instrução• mostra o resultado

• volta ao prompt

Page 58: Informática para Ciências e Engenharias (B) 2013/14

58

O interpretador é um programa

Consola do interpretador

Código e dados do

interpretador

Memória

Utilizador dá ao interpretador o comando na linguagem de alto nível (MATLAB)O interpretador interpreta o comando e dá ao CPU as instruções correspondentes.(o CPU também executa o interpretador e coordena as entradas e saídas)

Page 59: Informática para Ciências e Engenharias (B) 2013/14

59

Linguagem MATLAB

Constantes numéricas1 1.5 -20.8

• Nota: o ponto é o separador decimal

• Constantes numéricas valem o que representam.

Page 60: Informática para Ciências e Engenharias (B) 2013/14

60

Linguagem MATLAB

Expressões aritméticas• Operadores aritméticos básicos:

+ - * / ^

octave:4> 5+12ans = 17octave:5> -1.7*(5-3)ans = -3.4000octave:6> 5^2+3*2ans = 31

Page 61: Informática para Ciências e Engenharias (B) 2013/14

61

Linguagem MATLAB

Constantes Operadores aritméticos Funções pré-definidas

• Chamar funções:• nome

• nome(argumento)

• nome(arg1,arg2,arg3...)

octave:7> cos(1)ans = 0.54030octave:8> sqrt(15)ans = 3.8730octave:9> sin(sqrt(2))ans = 0.98777octave:10> exp(2)ans = 7.3891octave:11> e^2ans = 7.3891octave:12> pians = 3.1416

contas e funções

Page 62: Informática para Ciências e Engenharias (B) 2013/14

62

Linguagem MATLAB

Variáveis• uma variável é um nome para uma posição na

memória

• o valor da variável é o conteúdo dessa posição

• nome da variável• letras (sem acentos, cedilhas, etc), algarismos e _

(underscore) começando por uma letra ou _

• e.g. var var1 _spec Y y

• maiúsculas e minúsculas são diferentes

Page 63: Informática para Ciências e Engenharias (B) 2013/14

63

Linguagem MATLAB

Variáveis• o CPU executa instruções que especificam

endereços de memória; a unidade de aritmética e lógica opera sobre os conteúdos desses endereços.

• mas as linguagens de alto nível permitem associar nomes a endereços de memória para o programador não precisar de saber os endereços

Page 64: Informática para Ciências e Engenharias (B) 2013/14

64

Linguagem MATLAB

Variáveis• os interpretadores mantêm uma tabela que

associa nomes de variáveis a endereços.

• quando um valor é atribuído a um nome pela primeira vez é criada a variável acrescentando uma linha à tabela.

• a partir daí, sempre que o nome aparecer, a tabela é consultada para se saber qual é o endereço de memória correspondente a esse nome.

Page 65: Informática para Ciências e Engenharias (B) 2013/14

65

Linguagem MATLAB

Atribuiçãox = 6

• interpretador lê a linha

• analisa o conteúdo• definir uma variável com nome x

• atribuir-lhe o valor 6

Page 66: Informática para Ciências e Engenharias (B) 2013/14

66

Linguagem MATLAB

Atribuiçãox = 6

• interpretador lê a linha

• analisa o conteúdo• definir uma variável com nome x

• atribuir-lhe o valor 6

• Executa• associa o nome x um endereço

1000

RAM

1000

1001

1002

x

Nome Endereço

Page 67: Informática para Ciências e Engenharias (B) 2013/14

67

Linguagem MATLAB

Atribuiçãox = 6

• interpretador lê a linha

• analisa o conteúdo• definir uma variável com nome x

• atribuir-lhe o valor 6

• Executa• associa o nome x um endereço

• guarda o valor no endereço RAM

• (em binário, mas vamos simplificar...)

6

1000

RAM

1000

1001

1002

x

Nome Endereço

Page 68: Informática para Ciências e Engenharias (B) 2013/14

68

Linguagem MATLAB

Atribuiçãoy = 12

• interpretador lê a linha

• analisa o conteúdo

• executa• associa o nome y um endereço

• guarda o valor no endereço RAM

6

12

1000

1001

RAM

1000

1001

1002

x

y

Nome Endereço

Page 69: Informática para Ciências e Engenharias (B) 2013/14

69

Linguagem MATLAB

Cálculo e atribuiçãoz = x + y

• interpretador lê a linha

• analisa o conteúdo• somar x e y

• guardar em z

6

12

1000

1001

RAM

1000

1001

1002

x

y

Nome Endereço

Page 70: Informática para Ciências e Engenharias (B) 2013/14

70

Linguagem MATLAB

Cálculo e atribuiçãoz = x + y

• interpretador lê a linha

• analisa o conteúdo

• executa• y e x estão em memória

6

12

1000

1001

RAM

1000

1001

1002

x

y

Nome Endereço

Page 71: Informática para Ciências e Engenharias (B) 2013/14

71

Linguagem MATLAB

Cálculo e atribuiçãoz = x + y

• interpretador lê a linha

• analisa o conteúdo

• executa• y e x estão em memória

• é criada a variável z

• CPU: SOMA 1000, 1001, 1002

6

12

18

1000

1001

1002

RAM

1000

1001

1002

x

y

z

Nome Endereço

Page 72: Informática para Ciências e Engenharias (B) 2013/14

72

Linguagem MATLAB

Variáveis e valores• variável = expressão

• = é o sinal de atribuição

• à esquerda do = tem de ficar uma variável

• Só se pode atribuir valores à variável

x = 2

2 = x

atribuição e binário

Page 73: Informática para Ciências e Engenharias (B) 2013/14

73

Linguagem MATLAB

Tipos de dados (alguns)• inteiros

x = 1

• reais • (aproximadamente... na verdade alguns racionais)

y = 23.8

• string (texto literal)t = 'abc'

Page 74: Informática para Ciências e Engenharias (B) 2013/14

74

Linguagem MATLAB

strings• entre plicas indicar que é valor e não um nome

x = abc• o interpretador interpreta abc como um nome de uma

variável ou função

x = 'abc'• assim atribui o texto, literalmente, à variável x

• (como sempre, codificado numericamente, e em binário)

Page 75: Informática para Ciências e Engenharias (B) 2013/14

75

Linguagem MATLAB

strings (texto)• sequências de símbolos (caracteres): letras

maiúsculas e minúsculas, algarismos, sinais de pontuação.

• cada carácter é armazenado no computador usando uma dada codificação numérica• sequência de bits

• A codificação mais utilizada está definida na norma ASCII • American Standard Code for Information Interchange.

Page 76: Informática para Ciências e Engenharias (B) 2013/14

76

Codificação ASCII

7676

Codificação ASCII

Page 77: Informática para Ciências e Engenharias (B) 2013/14

77

Codificação ASCII

7777

Codificação ASCII

Caracteres de controlo, como o LF - mudança de linha, em MATLAB ‘\n’, iniciam-se no código 01 e vão até ao código 31

Page 78: Informática para Ciências e Engenharias (B) 2013/14

78

Codificação ASCII

7878

Codificação ASCII

Dígitos, 48 a 57

Page 79: Informática para Ciências e Engenharias (B) 2013/14

79

Codificação ASCII

7979

Codificação ASCII

Letras

Maiúsculas 65 a 90

Minúsculas 97 a 122

Page 80: Informática para Ciências e Engenharias (B) 2013/14

80

Linguagem MATLAB

Resumindo, strings• uma sequência de caracteres.

• Em MATLAB• escreve-se entre plicas

• são valores que se pode atribuir a variáveis

octave:1> string='Estudante na FCT/UNL'string = Estudante na FCT/UNL

Page 81: Informática para Ciências e Engenharias (B) 2013/14

81

Linguagem MATLAB

Funções para stringsoctave:1> string='Estudante na FCT/UNL'string = Estudante na FCT/UNLoctave:2> stringRes=lower(string)stringRes = estudante na fct/unloctave:3> stringRes=upper(string)stringRes = ESTUDANTE NA FCT/UNLoctave:4> numEmTexto='3.14'numEmTexto = 3.14octave:5> num=str2num(numEmTexto)num = 3.1400octave:6> outroTexto=num2str(num)outroTexto = 3.14octave:7>

strings

Page 82: Informática para Ciências e Engenharias (B) 2013/14

82

Linguagem MATLAB

Funções e variáveis• podemos usar variáveis como argumentos

sin(a) (se a estiver definida)

• ATT: se definirmos uma variável com o mesmo nome que uma função “escondemos” a função• e.g. sin=2 (já não podemos usar função sin)

Page 83: Informática para Ciências e Engenharias (B) 2013/14

83

Linguagem MATLAB

Funções e variáveis• todas as funções são chamadas pelo seu nome

seguido dos argumentos entre parênteses:• sin(2) calcula o seno de 2

• help('sin') mostra a documentação da função sin

• cd('c:\users\a.meireles')muda a pasta de trabalho para a pasta indicada

• pwd sem argumentos, indica a pasta corrente

• pi sem argumentos, devolve o valor de π

Page 84: Informática para Ciências e Engenharias (B) 2013/14

84

Linguagem MATLAB

Funções e variáveis• Excepção:

• se uma função recebe apenas uma string sem espaços como argumento, pode ser chamada sem parênteses nem plicas na string.

• help sin equivale a help('sin')

• format bit equivale a format('bit)

• cd c:\users\a.meireles cd('c:\users\a.meireles')

• só usem esta síntaxe nestes casos

• sin 0 equivale a sin('0'), que calcula o seno do código numérico do carácter '0' (48) ou erro.

Page 85: Informática para Ciências e Engenharias (B) 2013/14

85

Linguagem MATLAB

Funções e variáveis• Excepção:

• se uma função recebe apenas uma string sem espaços como argumento, pode ser chamada sem parênteses nem plicas na string.

• Dá jeito em casos como help, cd e format, mas evitem usar esta síntaxe noutros casos para não fazer confusão.

• Em geral, invocar a função com

• nome(argumentos)

Page 86: Informática para Ciências e Engenharias (B) 2013/14

86

Linguagem MATLAB

Funções e variáveis Expressões

• Quando uma expressão é avaliada o interpretador “ecoa” o resultado• excepto se terminarmos linha com ;

• Se o valor de uma expressão não é atribuído a uma variável o interpretador guarda na variável ans

funções

Page 87: Informática para Ciências e Engenharias (B) 2013/14

87

Exemplo

Cálculo de concentração.• NaCl: massa molar 58.4 g/mol

• Concentração de 2g em 125ml?

Page 88: Informática para Ciências e Engenharias (B) 2013/14

88

Exemplo

Cálculo de concentração.• NaCl: massa molar 58.4 g/mol

• Concentração de 2g em 125ml?

mmNaCl=58.4

v=0.125

q=2/mmNaCl

c=q/v

Page 89: Informática para Ciências e Engenharias (B) 2013/14

89

Exemplo

Sequências simples de comandos:• Podem usar o editor (e.g. notepad++)

• Escrevam no editor. Depois seleccionam, copy (ctrl+c) e paste no interpretador

• Octave, shift+ins.

• Ou botão da direita, etc

• Depende da versão da consola...

concentração

Page 90: Informática para Ciências e Engenharias (B) 2013/14

90

Gestão de Variáveis

who lista as variáveis definidas• whos para mais informação

clear “esquece-se” delas• ou de uma em particular:

• clear x

Page 91: Informática para Ciências e Engenharias (B) 2013/14

91

Resumo Comandos básicos do sistema Operadores * / + - ^ Atribuição de valor a variável =

• números e strings Funções nome(argumentos)

Page 92: Informática para Ciências e Engenharias (B) 2013/14

92

Estudar esta aula

Recomendado• Physical Modeling in MATLAB

• Capítulo 1 todo

Opcional (ler por alto)• Manual do Octave

• Capítulos 1 e 2, introdução do capítulo 4

• tem mais matéria do que é dada nesta disciplina, mas é útil saberem o que lá está

• principalmente para consulta

Page 93: Informática para Ciências e Engenharias (B) 2013/14

93

Dúvidas