Escolar Documentos
Profissional Documentos
Cultura Documentos
Versão : D
(Engenharias Mecânica e Gestão Industrial)
Pedro Barahona
2019 / 20
Introdução
• Docentes
§ Teóricas e Teórico-Prá-cas
« Pedro Barahona
§ Prá-cas
« Pedro Barahona (Turno P5 e P6)
« Susana Nascimento (Turnos P1 a P4)
• ObjeEvos
§ Adquirir uma visão em largura das metodologias e ferramentas que
a Informá-ca disponibiliza para a resolução de problemas das áreas
das Ciências e Engenharias.
1. Introdução.
2. Conceitos básicos sobre Sistemas InformáEcos.
3. Conceitos fundamentais da Programação (1ª parte).
4. Redes de computadores. A Web.
5. Conceitos fundamentais da Programação (2ª parte).
6. Breve introdução às Bases de Dados.
7. Aplicações específicas (para as áreas das Engas Mecânica e de
Gestão Industrial?)
Notas Anteriores
• Os alunos que obEveram frequência a ICE em 2018/19:
§ Estão dispensados de realizar os trabalhos;
§ Nesse caso, não deverão inscrever-se nas aulas prá-cas;
§ Se os realizarem, CompL é o máximo entre a CompL anterior e a
ob-da este ano.
4 Março 2020 ICE-d Introdução 11
Bibliografia
• Bibliografia
§ Slides das Teóricas
§ Allen B. Downey. Think Python: How to Think Like a Computer Scien6st
(version 2.0.17).
§ Versão PDF disponível em
« h"p://greenteapress.com/wp/think-python-2e/
• Bibliografia Complementar
§ Ernesto Costa. Programação em Python - Fundamentos e Resolução de
Problemas, FCA, 2015
• SoRware
§ Anaconda
« Python 3.x: Linguagem e Interpretador
« iPython: consola interaDva
« Spyder: Sistema de desenvolvimento que integra o Interpretador, a consola e o
sistema de ficheiros (IDE - Integrated Development Environment)
§ Descarregável para PCs (Windows / Mac / Linux)
« hOps://www.anaconda.com
• Sistema computacional
§ Componentes
§ Execução de programas
• Python
§ Modelo de execução – interpretador.
§ Expressões aritmé-cas e atribuição. Strings.
« Biblioteca math.
• Hardware
§ Disposi-vos eletrónicos que compõem um computador e restantes
componentes do sistema
• Somware
§ Programas executados pelo hardware
« So;ware de sistema: controla a execução de aplicações
« Aplicações: executam as mais variadas funcionalidades, incuindo o
desenvolvimento de novas aplicações
• Dados
§ Informação que é lida ou escrita por uma aplicação
Eletrónica de
Unidade Central de controlo do disco
4 Março 2020
MemóriaICE-d
(RAM)
Introdução 22
Funcionamento do CPU
Lê instrução
CPU
• A instrução define a ação Endereço E
PC: 104
elementar a executar 104
IR: 1111 0110
§ Ações atuam sobre dados
armazenados em memória A: 1111 0110
central ou num disposiBvo 100: 0000 0001
de entrada/saída. B: 1111 0110 101: 1001 0111
4 Março 2020
MemóriaICE-d
(RAM)
Introdução 23
Funcionamento do CPU Lê dados:
posição 100
CPU
• A instrução define a ação Endereço E
PC: 104
elementar a executar 100
IR: 1111 0110
§ Ações atuam sobre dados
armazenados em memória A: 0000 0001
1111 0110
0000 0001
central ou num dispositivo 100:
de entrada/saída. B: 1111 0110 101: 1001 0111
4 Março 2020
MemóriaICE-d
(RAM)
Introdução 24
Funcionamento do CPU Lê dados:
posição 101
CPU
• A instrução define a ação Endereço E
PC: 104
elementar a executar 101
IR: 1111 0110
§ Ações atuam sobre dados
armazenados em memória A: 0000 0001
1111 0110
0000 0001
central ou num disposiBvo 100:
de entrada/saída. B: 1001 0111
1111 0110 101: 1001 0111
4 Março 2020
MemóriaICE-d
(RAM)
Introdução 25
Executa operação e
Funcionamento do CPU
escreve resultado:
posição 102
CPU
• A instrução define a ação Endereço E
PC: 104
elementar a executar 102
§ Ações atuam sobre dados IR: 1111 0110
armazenados em memória
central ou num dispositivo de A: 0000 0001
1111 0110
0000 0001
entrada/saída. 100:
B: 1001 0111
1111 0110 101: 1001 0111
• Exemplo
somar 100 101 102 C: 1001 1000
1111 0110 102: 1001 1000
§ Soma o conteúdo das 103:
posições 100 e 101 e 104: 1111 0110
armazena o resultado na 105:
posição 102.
4 Março 2020
MemóriaICE-d
(RAM)
Introdução 26
Software de sistema
• Interpretador de comandos:
§ programa que permite ao uElizador humano especificar
ações a efetuar pelo SO e pelos restantes programas.
• Funções essenciais
§ Supervisionar a utilização do hardware pelos programas
« Controlar o acesso ao CPU
« Controlar os periféricos
« Gerir a memória central
« Gerir o disco (os ficheiros)
• Carregador
§ Usando as funções anteriores, carrega programas guardados no
disco e coloca-os em execução
Linha de comando
(ou interface de texto)
Interface
Gráfica
« duplo-click,
« arrastar-largar,
« copiar/colar,
« etc.
• Sistema computacional.
§ Componentes.
§ Execução de programas.
• Python.
§ Modelo de execução - interpretador.
« Expressões aritméticas e atribuição.
« Strings.
« Biblioteca math.
• Para quê?
§ Versatilidade
« Resolver mais problemas e melhor
§ Automatização
« Reprodutibilidade
« Fiabilidade
§ Conveniência
« Facilidade e produtividade
• Python
§ Linguagem generalista mas simples
§ Desenhada para ser interpretada
§ Grande número de bibliotecas
Leitura de linha
Análise do conteúdo
CPU
Memória
Execução das Código e dados
A azul o que instruções do Interpretador
é escrito pelo
interpretador
Teclado Ecrã
In [1]: 5+2 A vermelho o
Out[1]: 7 que é escrito
In [2]: pelo utilizador
In : x = 1 + 3
• Alguns exemplos:
In : x
• Nota 1: o novo valor da Out: 4
variável só é mostrado se tal In : y = 2 ** x
for explicitamente solicitado. In : y
Out: 16
• Nota 2: o operador = denota In : x = y
afetação, não denota uma In : x
comparação. Out: 16
• Nota 3: o tipo da variável é In : x = x + 2.0
modificado de acordo com o In : x
tipo da expressão calculada. Out: 18.0
x 18 y 16
4 Março 2020 ICE-d Introdução 48
Tipos de dados manipulados
pelos programas
• Inteiros e reais:
§ Como nos exemplos anteriores.
• String (Texto):
§ Composto por sequências de símbolos – caracteres – que
representam letras (maiúsculas e minúsculas), algarismos e sinais
de pontuação.
§ Cada caracter é armazenado no computador usando uma dada
codificação (sequência de bits).
• Nota: uma sequência de bits tanto pode codificar números
como caracteres.
s
4 Março 2020 ICE-d Introdução 50
Exemplos de Atribuições
§ x = ‘abc’ In : x = 'abc'
§ atribui a x um objeto de Gpo In : x
str com valor ’abc’ Out: 'abc'
§ x = abc In : x = abc
§ atribui a x um objeto com o NameError: name 'abc' is not defined
• s.lower()
§ Converte as letras maiúsculas da string s em minúsculas.
• s.upper()
§ Converte as letras maiúsculas da string s em maiúsculas.
In : s = 'na FCT/NOVA.'
In : s.lower()
Out: 'na fct/nova.'
In : s.upper()
Out: ‘NA FCT/NOVA.'
In : import math
• A biblioteca math define
In : dir(math)
as funções matemáticas
Out: ['__doc__’,
básicas.
'__file__’,
• Antes de se poder usá-la '__loader__’,
deve ser importada. '__name__’,
'__package__’,
• Para listar as funções de
uma biblioteca pode-se '__spec__’,