1 - introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ice-b-01.pdf · 1 introdução resumo...
TRANSCRIPT
![Page 1: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/1.jpg)
ICE-B
1 - Introdução
Ludwig Krippahl
![Page 2: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/2.jpg)
1
Introdução
Resumo■ Informações sobre o funcionamento de ICE-B■ Objectivos de ICE-B■ Informática e sistemas computacionais■ Porquê aprender a programar?■ Sistemas computacionais• Hardware, Sofware (sistema operativo e aplicações)
![Page 3: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/3.jpg)
2
Introdução
Informações
![Page 4: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/4.jpg)
3
Informações
Docentes:■ Regência, teóricas e "teórico-práticas":• Ludwig Krippahl ([email protected])
■ Práticas:• Nuno Marques, David Carmo, Sérgio Casca
■ Página de ICE-B: iceb.ssdi.di.fct.unl.pt/1718• Aulas, slides, apontamentos e gravaçoes• Planeamento• Nota: esta é a primeira edição em Python, e só ICE-B
![Page 5: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/5.jpg)
4
Informações
Livro aconselhado:■ Lutz, M.
"Learning python" (5ª ed.) O'Reilly Media, 2013
![Page 6: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/6.jpg)
5
Informações
Trabalho do aluno■ Presencial, 5h por semana:• Aulas teóricas, 2h por semana• Aulas teórico-práticas, 1h por semana• Aulas práticas, 2h por semana (começam dia 12 de Março)
■ Autónomo, ~6h por semana:• 55h de estudo• 35h de trabalhos
![Page 7: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/7.jpg)
6
Informações
Trabalho do aluno■ Aulas teóricas, 2h por semana• Para perceber e esclarecer dúvidas.• ~70% exposição, ~30% discussão• Não há nada para decorar (exposição disponível em vídeo)
■ Aulas "teórico-práticas", 1h por semana• Começam dia 12 de Março• Apresentação dos exercícios e preparação para as práticas• (Servem como primeira parte da aula prática)• MIEQB: 11:00; LBCM: 12:00
![Page 8: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/8.jpg)
7
Informações
Trabalho do aluno■ Aulas práticas, 2h por semana• (começam dia 12 de Março)• Login nos PC do laboratório: credenciais do CLIP• Usem a vossa pasta em C:/users para trabalhar
• No final copiem para drive Z: ou enviem por email• (podem usar pendisk mas não aconselho)• Devem ir preparados para praticar• Sem perceber a teórica é mais difícil
■ Mudar de turno: entre vocês, pelo CLIP
![Page 9: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/9.jpg)
8
Informações
Avaliação■ Teórico-prática (testes ou exame)• Testes: 28 de Abril e 6 de Junho
■ Componente laboratorial (trabalhos práticos)• Dois trabalhos em grupos de 2 alunos (25 Abril, 18 Maio)• Formar grupos até 6 de abril
■ Defesa de nota• No final de cada teste perguntas específicas acerca de cada trabalho
• Limitam a nota que poderão obter no trabalho
Fraude: reprovação imediata■ Qualquer acto que vicie o processo de avaliação• Copiar, ceder trabalho para cópia, assinar trabalhos que não se fez, etc...
![Page 10: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/10.jpg)
9
Informações
Trabalhos práticos■ Entregas e formação de grupos• Endereço: [email protected]• Enviar sempre do vosso endereço oficial na FCT• Este endereço não é para dúvidas; o processamento é automático
■ Para formar grupos• Máximo 2 alunos.
• Cada aluno tem de enviar um email para [email protected], do seuendereço oficial, indicando o número de aluno do outro membro do grupo
• Cada grupo é formado apenas se ambos enviarem o email indicando o número doparceiro
![Page 11: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/11.jpg)
10
Informações
Trabalhos práticos■ Entregas e formação de grupos• Endereço: [email protected]• Enviar sempre do vosso endereço oficial na FCT• Este endereço não é para dúvidas; o processamento é automático
■ Para entregar Trabalhos• Têm de enviar o mesmo ficheiro .zip para [email protected]
• O trabalho será considerado entregue se o ficheiro estiver de acordo com asespecificações e for igual para ambos os membros do grupo
• O conteúdo do ficheiro .zip será indicado para cada trabalho
![Page 12: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/12.jpg)
11
Informações
Avaliação, notas■ Condições necessárias• Frequência: TP1 ≥ 9.5 ou TP2 ≥ 9.5• Aprovação: Frequência e CompTP ≥ 8.5
■ Notas:• CompL = (TP1+TP2) / 2• CompTP = 0.4 * T1 + 0.6 * T2 (ou exame)
■ Nota final (só com frequência)• Se CompTP<8.5, Nota final = CompTP• Caso contrário, Nota Final = 0.4 * CompL + 0.6* CompTP
■ Frequência de 2 anos anteriores• (Mas notem que a linguagem é diferente)
![Page 13: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/13.jpg)
12
Introdução
Objectivos
![Page 14: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/14.jpg)
13
Objectivos
Objectivos de ICE-B■ Visão abrangente da informática, com ênfase na programação• Metodologias e ferramentas da Informática para a resolução de problemas em
Ciência e nas Engenharias.
• Fundamentos de programação;
• (Breve) introdução a bases de dados;
• Noções de redes e protocolos de comunicação;
• Aplicações: simulação, análise de dados, ...
■ Plano resumido• Introdução à programação imperativa (Python)• Gráficos, ficheiros e uso de recursos remotos (Internet)• Introdução às bases de dados e SQL
![Page 15: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/15.jpg)
14
Introdução
Informática e Computadores
![Page 16: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/16.jpg)
15
Informática e Computadores
Informática: Processamento de informação■ Sistemas computacionais■ Ambientes de programação■ Concepção e implementação de programas■ Bases de dados■ IA, Aprendizagem automática,■ ...Contribui para a resolução de problemas em todas asáreas de ciência e tecnologias.
![Page 17: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/17.jpg)
16
Informática e Computadores
Componentes de um sistema computacional■ Hardware• Dispositivos electrónicos que compõem o computador
■ Software: programas executados pelo hardware• Sistema Operativo: controla a execução de aplicações• Aplicações: executam várias funções
■ Dados• Informação lida ou escrita pelo software
![Page 18: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/18.jpg)
17
Informática e Computadores
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).• Efeito depende de como a informação é interpretada.
![Page 19: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/19.jpg)
18
Informática e Computadores
Hardware■ Unidade Central de Processamento (CPU)
■ Microprocessador:• Circuito integrado que opera,
sequencialmente, em valoresbinários (voltagem, 0 e 1).
■ Pentium pro, 1995• 5.5 milhões de transistores (Core)
![Page 20: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/20.jpg)
19
Informática e Computadores
Hardware■ Unidade Central de Processamento (CPU)
![Page 21: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/21.jpg)
20
Informática e Computadores
Hardware■ Motherboard: circuitos para comunicação e controlo
![Page 22: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/22.jpg)
21
Informática e Computadores
Hardware■ Random Access Memory (RAM): memória volátil rápida
![Page 23: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/23.jpg)
22
Informática e Computadores
Hardware■ Disco: memória não volátil, mais capacidade mas mais lenta
![Page 24: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/24.jpg)
23
Informática e Computadores
Hardware■ Disco: Periféricos (input, output, rede, ...)
![Page 25: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/25.jpg)
24
Informática e Computadores
Hardware■ Valores binários, materializados de formas diferentes
0101001010101010101001011011001001011011010100110101010100101010010101101010010101010010101010010010101010101010010101001001110100010101010101010100010101001001010010101010101010010110110110110101011010010101010101001010100101011010100101010100101010100100101010101010100101010101000101001101010101010101000101010010010100101010101010100101101101101101010011010101010010100110101001010110101001010101001010101001001010101010101001010101010001010101010101001001010001010100100100100101001010101010101001011011011011010100110101010100101010010101101010010101010010001010101010010010101010101010010101010100010101010101010100010101001001010010101010101001101010010110110110110101001101010101001010100101011010100101010100101010100100100100101010101010100101010101000101010101010101000101010010101010010101010010010101011001010101010010101010100010101010101010100010101001001010010101010101010010110110110001010110101001101010101001010100101011010100101010100101010100100101010101010100101000101010101000101010101010101000101010010010100101010101010100101101101101101010011010101001101010010101001010110101001010101001010101001001010101010101001010101010001010100100101010101010001010100100101001010101010100110101001011011011011010100110101010100101010010101101010010101010010101010010010010010101010101010010101010100010101010101010100010101001010101001010101001001010101100101010101001010101010001010101010101010001010100100101001010101010101001011011011000101011010100110101010100101010010101101010010
![Page 26: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/26.jpg)
25
Informática e Computadores
Hardware■ Em memória, organizados em palavras• 8, 16, 32 ou 64 bits, por exemplo (1 byte = 8 bits)• Endereço fixo, conteúdo variável
Endereço Valor
201 01010110001101011101111101101010
202 01110000000110100100110010010111
203 10000010111010010100001000110000
204 01100100011010000111001000000101
205 11110001100000010110000110111001
206 11110001011111110100001111000110
... ...
![Page 27: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/27.jpg)
26
Informática e Computadores
Hardware■ Leitura da memória RAM:• CPU apresenta endereço à memória (e.g. 203)• RAM devolve uma cópia do valor
Endereço Valor
201 01010110001101011101111101101010
202 01110000000110100100110010010111
203 10000010111010010100001000110000
204 01100100011010000111001000000101
205 11110001100000010110000110111001
206 11110001011111110100001111000110
... ...
![Page 28: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/28.jpg)
27
Informática e Computadores
Hardware■ Escrita na memória RAM:• CPU apresenta endereço e novo conteúdo (e.g. 205, 0000...)• RAM escreve uma cópia do valor apresentado
Endereço Valor
201 01010110001101011101111101101010
202 01110000000110100100110010010111
203 10000010111010010100001000110000
204 01100100011010000111001000000101
205 00000000000000000000000000000000
206 11110001011111110100001111000110
... ...
![Page 29: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/29.jpg)
28
Informática e Computadores
Execução de código no CPU■ CPU obtém instruções guardadas em memória (RAM)• Em cada momento guarda o endereço da instrução a executar• Executa sequencialmente, a menos de instruções específicas
![Page 30: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/30.jpg)
29
Informática e Computadores
Execução de código no CPU■ Exemplo (simplificado): SOMA 106 107 110• Obtém valores em 106 e 107• Soma e guarda o resultado em em 110
![Page 31: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/31.jpg)
30
Informática e Computadores
Sistema Operativo■ 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 32: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/32.jpg)
31
Informática e Computadores
Sistema Operativo■ Qualquer ficheiro é uma sequência de bits (1,0)• Organizado em bytes (8 bits)• Pode representar um texto, números, imagem, sons, ...• Depende apenas de como é interpretado
■ O ficheiro é guardado no disco• Não se perde ao desligar o computador• Tem um identificador único (caminho/nome).
■ E.g. ficheiro com código fonte• código escrito pelo programador
![Page 33: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/33.jpg)
32
Informática e Computadores
Sistema Operativo■ Gere recursos do sistema• Controla os periféricos• Gere a memória central (RAM)• Gere o acesso aos ficheiros (HDD, SSD, MC, PD...)• Gere a interacção com o utilizador
■ Quando a energia é ligada• O CPU começa a executar código que carrega o SO do sistema de ficheiros para a
RAM.
• 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 decomandos.
![Page 34: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/34.jpg)
33
Informática e Computadores
Interpretador de comandos■ Consola• Apresenta prompt• Lê comando• Executa, mostra resultado• Volta ao prompt
■ Interface Gráfica• GUI: Graphical User Interface• Ícones• Janelas• Botões• Menus
![Page 35: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/35.jpg)
34
Introdução
Introdução à Programação
![Page 36: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/36.jpg)
35
Programação
Porquê programar?■ Versatilidade• Não estamos limitados aos programas que já estão feitos
• E que temos, e que sabemos como usar
• Se soubermos programar podemos resolver muito mais problemas e aproveitarmelhor o potencial do computador
■ Reprodutibilidade• Fazer coisas “à mão” não é reprodutível
■ Fiabilidade• Uma vez testado, se funciona, funciona
■ Conveniência• O investimento inicial pode compensar muito
![Page 37: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/37.jpg)
36
Programação
Programa para calcular massa molecular:■ Exemplo: massa molecular da alanina, )COOHCH3CH(NH2
... def molecular_mass(formula,elements): fragments = [] while formula!='': fragment,formula = parse_fragment(formula) fragments.append(fragment) mass = 0 for fragment in fragments: mass+=elements[fragment['element']]['mass']*fragment['number'] return mass def calc_mass(formula): elements = load_elements('elementos.txt') return molecular_mass(formula,elements)
In : calc_mass('CH3CH(NH2)COOH') Out: 89.09318
![Page 38: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/38.jpg)
37
Programação
Para programar precisamos de dar instruções ao CPU■ O CPU funciona a mais
"baixo nível"• Operações algébricas, leitura e
escrita, condições acerca dosvalores em memória
... mov ax,'00' mov di,counter mov cx,digits+cntDigits/2 cld inc ax ...
■ Linguagens de "alto nível" estão mais próximas dos humanos• Instruções e estruturas de dados mais complexos, "traduzidas" para o CPU
def solve_quadratic(a,b,c): delta = b**2 - 4*a*c if delta<0: return [] elif delta>0: return [(-b -delta**0.5)/(2*a),(-b + delta**0.5)/(2*a)] else: return [-b/(2*a)]
![Page 39: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/39.jpg)
38
Programação
Precisamos de:■ Linguagem de programação• C++, Java, MATLAB, Python, ...
■ Um compilador...• Traduz o programa escrito na linguagem de programação e cria um ficheiro num
formato que o SO pode carregar em memória e o CPU executar
• E.g. Em C++, o programa é compilado para um executável (*.exe em Windows)
■ ...ou um interpretador• Traduz cada instrução da linguagem de programação em instruções para o CPU
conforme percorre o nosso programa
• E.g. Em Python, o nosso programa tem de ser executado com o auxílio dointerpretador
![Page 40: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/40.jpg)
39
Programação
Vamos usar:■ Python: linguagem (Python 3.x) e Interpretador■ iPython: consola que permite interagir com o Interpretador■ Spyder: Ambiente integrado de programação que gere ficheiros,
consola e Interpretador
![Page 41: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/41.jpg)
40
Extras
Material extra■ Por vezes vou mencionar alguns detalhes que não são
directamente relevantes para a avaliação• Podem ser úteis para ajudar a perceber os mecanismos subjacentes a algumas
operações
• Ou podem ser úteis para, de futuro, utilizarem melhor a Linguagem
■ Será matéria complementar e opcional, e assinalada pela imagem"EXTRA" nos slides e apontamentos.
![Page 42: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/42.jpg)
41
Introdução
Resumo
![Page 43: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/43.jpg)
42
Introdução
Resumo■ Funcionamento da disciplina: CLIP e iceb.ssdi.di.fct.unl.pt/1718■ Sistema computacional• Hardware e Software
■ Programação• Porquê programar• Linguagens de alto nível (Python)• Interpretador e IDE (Spyder)
Leitura adicional:■ Recomendada: Capítulo 1 dos apontamentos■ Opcional: Learning Python, Caps 1 e 2 (introdução ao Python)
![Page 44: 1 - Introduçãoiceb.ssdi.di.fct.unl.pt/1718/files/ICE-B-01.pdf · 1 Introdução Resumo Informações sobre o funcionamento de ICE-B Objectivos de ICE-B Informática e sistemas computacionais](https://reader031.vdocuments.net/reader031/viewer/2022020121/5be583a009d3f22b448c2093/html5/thumbnails/44.jpg)