informática para ciências e engenharias (b)...
TRANSCRIPT
![Page 1: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/1.jpg)
Informática para Ciências e Engenharias (B)
2015/16
Teórica 1
![Page 2: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/2.jpg)
Informação
l Regência e Teóricas • Pedro Barahona ([email protected])
l Outros docentes e mais informação na...
l ... página de ICE-B: • http://ssdi.di.fct.unl.pt/ice/b
l Livro aconselhado: • Allen B. Downey. Physical Modeling in MATLAB
• PDF: http://greenteapress.com/matlab/
![Page 3: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/3.jpg)
Na aula de hoje...
l Objectivos, trabalhos e avaliação
l Aulas teóricas e práticas
l Sistema computacional
• Componentes e execução de programas
l MATLAB
• Modelo de execução (interpretador).
• Expressões aritméticas, atribuição e strings
![Page 4: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/4.jpg)
Objectivos
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/5.jpg)
Objectivos
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/6.jpg)
Trabalho do aluno
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/7.jpg)
Aulas Teóricas
l Perceber, não decorar.
• Preparação para o estudo
l ~70% exposição, ~30% discussão
• Aproveitem para ir tirando dúvidas
![Page 8: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/8.jpg)
Aulas Práticas
l Começam segunda feira (dia 7 Março)
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/9.jpg)
Aulas Práticas
l Login, password: os do CLIP
l Trabalhem na vossa área em c:\users
• Não no pendisk nem no Z:
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/10.jpg)
Avaliação
l Duas componentes:
• Laboratorial (trabalhos práticos)
• Teórico-prática (testes ou exame)
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/11.jpg)
Avaliação Contínua
l Dois testes
• 16 de Abril e 6 de Junho
l Dois trabalhos
• Grupos de 2 alunos
• Prazos de entrega terminam a: • P1: 3 de Maio
• discussões conforme necessário • P2: 7 de Junho
• discussões com todos de 8 a 11 de Junho
![Page 12: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/12.jpg)
Avaliação Contínua
l Condições necessárias para se obter
• Frequência • P1 ≥ 9.5 ou P2 ≥ 9.5
• Aprovação • Frequência e CompTP ≥ 8.5
l Notas • CompL = (P1+P2) / 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/13.jpg)
Avaliação
l Nota final (para quem obteve frequência)
• Se CompTP < 8.5 • Nota final = CompTP (reprovação)
• Caso contrário • NF= 0.4 * CompL + 0.6* CompTP
![Page 14: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/14.jpg)
Avaliação
l Notas de 2012/13, 2013/14 ou 2014/15
• Alunos com Frequência
• Dispensados de realizar os trabalhos
• Se os realizarem, ficam com a melhor CompL
• Alunos com CompTP ≥ 8.5
• Estão dispensados dos testes e exame
• Se realizarem testes ou exame, ficam com a melhor CompTP
![Page 15: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/15.jpg)
Avaliação em Recurso
l Condições
• Frequência (TP1 ≥ 9.5 ou TP2 ≥ 9.5)
• Exame ≥ 8.5
• CompTP = nota do exame
l Nota final
• NF= 0.4 * CompL + 0.6 * Nota do Exame
![Page 16: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/16.jpg)
Melhoria na época de recurso
l Condições
• Ter aprovado
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/17.jpg)
Informática (Introdução)
![Page 18: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/18.jpg)
Informática: Ciência e Engenharia
l Processamento de informação
• sistemas computacionais, ambientes de programação, concepção e implementação de programas, ...
l Contribui para a resolução de problemas de todas as áreas.
l Usando o computador podemos
• desenvolver programas
• executar programas
![Page 19: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/19.jpg)
Sistema computacional
l Hardware
• dispositivos electrónicos que compõem o computador
l Software
• Programas executados pelo hardware
• Sistema: controla a execução de aplicações
• Aplicações: executam várias funções
l Dados
• Informação lida ou escrita pelo software
![Page 20: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/20.jpg)
Hardware
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/21.jpg)
Programas
l Programa:
• conjunto de instruções l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/22.jpg)
Programas
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/23.jpg)
Hardware
imagens:
Unidade Central de Processamento (CPU)
Microprocessador: Circuito integrado que opera, sequencialmente, em valores binários (voltagem, 0 e 1).
Pentium pro, 1995 5.5 milhões de transistores (Core)
![Page 24: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/24.jpg)
Hardware
imagens:
CPU
![Page 25: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/25.jpg)
Hardware
imagens:
CPU
![Page 26: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/26.jpg)
Hardware
imagens:
Random Access Memory (RAM)
• Memória central, rápida
• Armazena dados e programas
• Volátil: conteúdo perde-se quando o computador é desligado
![Page 27: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/27.jpg)
Hardware
imagens:
CPU
Motherboard • Electrónica de
comunicação dentro e para fora do PC
![Page 28: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/28.jpg)
Hardware
imagens:
HDD
• Disco rígido
• Não volátil, mais lento
CPU
RAM
![Page 29: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/29.jpg)
Hardware
imagens:
010010101 0111101
0100110
0100110
![Page 30: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/30.jpg)
Hardware
l Na memória, os bits estão organizados em palavras (8, 16, 32 bits, por exemplo)
• 1 byte = 8 bits (normalmente)
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/31.jpg)
Hardware
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/32.jpg)
Hardware
l Leitura
• Memória devolve cópia do conteúdo
10100010010101110100101001011010 00000000000000000000000000000000 00000000000010010100101001001100
00000000000000000000000000000000
106 107 108
110
106
...
... CPU
00010010011000000000000000000000 109
![Page 33: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/33.jpg)
Hardware
l Escrita
• CPU apresenta endereço e novo conteúdo
10100010010101110100101001011010 00000000000000000000000000000000 00000000000010010100101001001100 00010010011000000000000000000000 00000000000000000000000000000000
106 107 108 109 110
106
...
... CPU
107 10100101...
107
![Page 34: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/34.jpg)
Hardware
l Escrita
• Memória actualiza o conteúdo no endereço indicado.
10100010010101110100101001011010 00000000000000000000000000000000 00000000000010000100101001001100 00010010011000000000000000000000 00000000000000000000000000000000
106 107 108 109 110 ...
... CPU
107 10100101...
10100101010010101010001001100100 107
![Page 35: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/35.jpg)
Hardware
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/36.jpg)
Hardware
l CPU • Exemplo (simplificado): SOMA 106 107 110
• Soma valores em 106 e 107, guarda em 110
Unidade de
Controlo
Unidade de aritmética e
lógica
00100010010101110100101001011010 00000101010010101010001001100100 00000000000010010100101001001100 00010010011000000000000000000000 00100111101000011110110010111110
106
108 109 110
107 106
...
...
![Page 37: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/37.jpg)
Sistema operativo (SO)
l Funções de acesso a periféricos e ficheiros
• Sistema de ficheiros, drivers, etc.
• Invocadas pelos programas em execução
l Carregador
• Usando funções anteriores, carrega programas em memória e coloca-os em execução
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/38.jpg)
Ficheiros
l 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
l O ficheiro é guardado no disco
• não se perde ao desligar o computador
• tem um identificador único (caminho/nome).
l Um ficheiro com código fonte
• código escrito pelo programador
![Page 39: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/39.jpg)
Sistema operativo
l Gere a memória
Acesso a periféricos e ficheiros
Carregador Interpretador de comandos
Memória ocupada pelo SO
Memória para onde são carregados
os programas
Memória livre para as aplicações
![Page 40: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/40.jpg)
Sistema operativo “simples”
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/41.jpg)
Arranque
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/42.jpg)
Interpretador de comandos
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/43.jpg)
Interpretador de comandos
l Interface Gráfica
• ícones
• janelas
• botões
• menus
imagem:
![Page 44: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/44.jpg)
Interpretador de comandos
l Linha de comando prompt> 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/45.jpg)
Interpretador de comandos
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/46.jpg)
Programar
![Page 47: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/47.jpg)
Programar
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/48.jpg)
Programar
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/49.jpg)
Programar
l Para quê? • Versatilidade • Reprodutibilidade • Fiabilidade
• Uma vez testado, se funciona, funciona
![Page 50: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/50.jpg)
Programar
l Para quê? • Versatilidade • Reprodutibilidade • Fiabilidade • Conveniência
• O investimento inicial pode compensar muito
![Page 51: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/51.jpg)
Programar
l Exemplo: calcular massa molecular • Alanina: CH3CH(NH2)COOH
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/52.jpg)
Programar
l Exemplo: calcular massa molecular • Precisamos de aprender umas coisas antes
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/53.jpg)
Programar
l 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,counter mov cx,digits+cntDigits/2 cld rep stosw inc ax ...
http://assembly.happycodings.com/code1.html
![Page 54: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/54.jpg)
Programar
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/55.jpg)
Programar
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/56.jpg)
Programar
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/57.jpg)
O interpretador é um programa
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/58.jpg)
O interpretador é um programa
l Consola do interpretador
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)
Memória
Código e dados do
interpretador
![Page 59: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/59.jpg)
Linguagem MATLAB
l Constantes numéricas 1 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/60.jpg)
Linguagem MATLAB
l Expressões aritméticas • Operadores aritméticos básicos: + - * / ^
octave:4> 5+12
ans = 17 octave:5> -1.7*(5-3) ans = -3.4000 octave:6> 5^2+3*2 ans = 31
![Page 61: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/61.jpg)
Linguagem MATLAB
l Constantes l Operadores aritméticos l Funções pré-definidas
• Chamar funções: • nome • nome(argumento) • nome(arg1,arg2,arg3...)
octave:7> cos(1) ans = 0.54030 octave:8> sqrt(15) ans = 3.8730 octave:9> sin(sqrt(2)) ans = 0.98777 octave:10> exp(2) ans = 7.3891 octave:11> e^2 ans = 7.3891 octave:12> pi ans = 3.1416
contas e funções
![Page 62: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/62.jpg)
Linguagem MATLAB
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/63.jpg)
Linguagem MATLAB
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/64.jpg)
Linguagem MATLAB
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/65.jpg)
Linguagem MATLAB
l Atribuição x = 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/66.jpg)
Linguagem MATLAB
l Atribuição x = 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/67.jpg)
Linguagem MATLAB
l Atribuição
x = 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/68.jpg)
Linguagem MATLAB
l Atribuição y = 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/69.jpg)
Linguagem MATLAB
l Cálculo e atribuição z = 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/70.jpg)
Linguagem MATLAB
l Cálculo e atribuição z = 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/71.jpg)
Linguagem MATLAB
l Cálculo e atribuição z = 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/72.jpg)
Linguagem MATLAB
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/73.jpg)
Linguagem MATLAB
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/74.jpg)
Linguagem MATLAB
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/75.jpg)
Linguagem MATLAB
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/76.jpg)
Codificação ASCII
Codificação ASCII
![Page 77: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/77.jpg)
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
Codificação ASCII
![Page 78: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/78.jpg)
Codificação ASCII
Dígitos, 48 a 57
Codificação ASCII
![Page 79: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/79.jpg)
Codificação ASCII
Letras
Maiúsculas 65 a 90
Minúsculas 97 a 122
Codificação ASCII
![Page 80: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/80.jpg)
Linguagem MATLAB
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/81.jpg)
Linguagem MATLAB
l Funções para strings
octave:1> string='Estudante na FCT/UNL' string = Estudante na FCT/UNL octave:2> stringRes=lower(string) stringRes = estudante na fct/unl octave:3> stringRes=upper(string) stringRes = ESTUDANTE NA FCT/UNL octave:4> numEmTexto='3.14' numEmTexto = 3.14 octave:5> num=str2num(numEmTexto) num = 3.1400 octave:6> outroTexto=num2str(num) outroTexto = 3.14 octave:7>
strings
![Page 82: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/82.jpg)
Linguagem MATLAB
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/83.jpg)
Linguagem MATLAB
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/84.jpg)
Linguagem MATLAB
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/85.jpg)
Linguagem MATLAB
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/86.jpg)
Linguagem MATLAB
l Funções e variáveis l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/87.jpg)
Exemplo
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/88.jpg)
Exemplo
l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/89.jpg)
Exemplo
l Sequências simples de comandos: • Podem usar o editor (e.g. notepad++)
• Escrevam no editor. Depois seleccionam, copy (ctrl+c) e paste (ctrl+v) 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/90.jpg)
Gestão de Variáveis
l who lista as variáveis definidas • whos para mais informação
l clear “esquece-se” delas • ou de uma em particular:
• clear x
![Page 91: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/91.jpg)
Resumo
l Comandos básicos do sistema l Operadores * / + - ^ l Atribuição de valor a variável =
• números e strings l Funções
• nome(argumentos)
![Page 92: Informática para Ciências e Engenharias (B) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/92.jpg)
Estudar esta aula
l Recomendado • Physical Modeling in MATLAB
• Capítulo 1 todo l 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) 2015/16iceb.ssdi.di.fct.unl.pt/1516/web/resources/iceb_t01.pdf · • Precisamos de aprender umas coisas antes l Hoje: • Como dar instruções](https://reader034.vdocuments.net/reader034/viewer/2022043006/5f90c6f4e67dcc71581e9e4d/html5/thumbnails/93.jpg)
Dúvidas?