Programação II
Licenciatura de Ciências da Computação
Original: Docentes ISCTE
Padoca Calado
Informação

Sítio da cadeira:
http://www.padoca.org/padoca/p2
2

A consultar com frequência (Pequenos
anúncios)

Contém:

Enunciados das aulas práticas

Informação sobre calendário e horários

Programa e método de avaliação

Bibliografia

etc.
2008
Avaliação

Assiduidade, participação e envolvimento nas
aulas teórico-práticos (10%)

Práticas laboratóriais (30%)


Trabalho feito em grupo (5 alunos)

Discussão individual
Exame (60%)

3
Individual, sem consulta: nota mínima 7
2008
Contactos

4
Esclarecimento de Dúvidas:

Assuntos de Interesse geral: nas aulas.

Assuntos Pessoais: através do endereço de e-mail
[email protected] (usar com moderação).

Sessões de dúvidas: para esclarecimento de dúvidas
pelos docentes.

As questões sobre a matéria leccionada devem ser
colocadas preferencialmente nos horários de
atendimento presencial.
2008
Ética e Deontologia

5
Fraude

Os principios éticos orientam a conduta individual e o nosso curso é um espaço
onde todos os estudantes têm a oportunidade de aplicar e aprofundar os
princípios éticos que os desafios de uso das novas tecnologias colocam. Este
tema é um aspecto transversal a todo o curso e a sua prática é fundamental quer
agora na sua vida estudantil quer no seu futuro profissional.

O trabalho de equipa é uma constante ao longo do curso e no exercício de uma
profissão. Por isso, pretende-se que seja efectuado com um espírito de
entreajuda.

Devem ser respeitados os direitos de autor e de propriedade intelectual.

O aluno deve ter presente as regras da honestidade académica. O plágio de
trabalhos e projectos não é tolerado.

O uso de materiais que visam deturpar e falsear os resultados dos exames é uma
atitude altamente reprovável e é punido. Visa-se com estas punições estabelecer
um espírito de justiça e de facto atribuir as melhores notas aos melhores alunos.
2008
Ética e Deontologia

6
Crime Informático

Os alunos devem ter sempre presente que o uso dos computadores
implica determinadas regras e que existem leis que especificam que
determinado uso ou prática é um crime.

Vulgarmente designadas como pirataria, essas acções para além de
constituirem um crime para quem as pratica e de prejudicarem o seu
futuro profissional, também têm consequências, para a Faculdade, que
vão desde a perda de tempo à perda de informação, passando, pelo
prestígio, que se deve manter intocado.

O uso dos recursos informáticos desta Instituição para fins ilegais ou
imorais é proibido e o aluno apanhado nas actividades ilícitas será alvo
de um processo nas instancias policiais.
2008
Objectivos
7

Conhecer bem uma abordagem típica de resolução de
problemas usando Programação

Ser capaz de planear a resolução dos problemas, estruturando correctamente os respectivos programas

Dominar eficientemente um ambiente de desenvolvimento/programação e respectivas ferramentas

Ter conhecimentos intermédios da linguagem Java
2008
Programa

8
Programação em Java

Tipos, variáveis, expressões e instruções de selecção

Ciclos, matrizes, Strings e tipos enumerados

Modularização, abstracção e encapsulamento

Métodos, parâmetros, argumentos e contratos (programação por contrato)

Classes

Leitura e escrita de dados em ficheiros
2008
Metodologia

Aulas teóricas



9
Consultar página da disciplina
Atendimento ou aulas de dúvidas

Gabinete ou sala de computadores

Horários: Consultar página da disciplina
Qualquer informação relevante é publicada … na página da
disciplina
2008
Aula 1
Programação II
O que é um computador?

Máquina programável
genérica

Constituído por

Processador

Memória rápida
• RAM (volátil)
• ROM (persistente)

Memória lenta
• disco rígido
11
2008
Computador
Principais Componentes:

Suporte Físico

Hardware (HW)
girtby.net/images/hardware.jpg

Suporte Lógico

Software (SW)
do filme Matrix, whatisthematrix.warnerbros.com
12
2008
Computador
HW (Recursos Físicos) + SW (Parte Decisora)
=> Execução de Tarefas
13

Limitações do Hardware impõem limites às
possibilidades do Software que o utiliza

Estrutura exacta do HW depende do fabricante

Componentes genéricos do HW na maioria dos casos
são relativamente semelhantes
2008
Nota: Imagem retirada de http://pt.wikipedia.org/wiki/Computador
14
2008
Principais Componentes Físicos

Processador - Unidade Central de Processamento
Central Processing Unit (CPU)



Memória

Primária (RAM, principalmente)

Secundária (discos rígidos, CD-ROMs, DVDs, etc)
Periféricos

15
Onde as instruções são executadas
Comunicações com mundo exterior, armazenamento, etc
2008
Memória do computador

Uma sequência de bits

768 MBytes =
805 306 368* bytes =
6 442 450 944 bits
Aproximadamente 1 bit por habitante da Terra
Nota * : 1024 * 1024 * 768
16
( 210 = 1024 )
2008
Bits e Bytes

1 Byte = 23 ou 8 bits (ou 8 digitos binários: 0’s ou 1’s)

1 KB (Kbyte ou Kilobyte) = 210 ou 1024 bytes
± 103

1 MB (Megabyte) = 220 ou 1024 KB ou 1048576 Bytes
± 106

1 GB (Gigabyte) = 230 ou 1024 MB
± 109
[ ao trabalharmos com valores binários e não decimais, o espaço de memória disponível
não é bem o que imaginamos: por exemplo um disco de 200 GB, tal como é publicitado,
corresponde, em binário, a cerca de 186 Gigabytes – a sua capacidade real ]
17
2008
Suporte Lógico (SW)

Conceitos principais:

Ficheiro
• Conjunto de Dados armazenado sob um nome identificador

Programa
• Instruções (contidas num ficheiro) que descrevem uma
tarefa numa dada linguagem

Sistema Operativo
• Programa especial que gere o HW, executa outros programas, etc.
18
2008
Linguagem?
19
2008
Linguagens

Linguagem natural


O Português é uma linguagem natural
Linguagem (de programação) assembly

Muito básica: usada quase directamente pelos processadores
dos computadores, ex:
LOAD @R1, 0
JMP @R1
Equivalente em linguagem máquina:
010000100010011100100110001010001001001000110001010
20
2008
Linguagens

Linguagem de Programação de Alto-Nível (LPAN)

Sem as ambiguidades e imprecisões de uma linguagem natural, mas não tão penosa de utilizar como a
linguagem máquina, ex:
if (x == 1)
System.out.println(“X é igual a 1”);
( caso x seja 1, escreve no monitor X é igual a 1 )
21
2008
Instruções e Linguagens



22
Informação armazenada:

Sob a forma de bits

Bits organizados em bytes

Instruções são informação, logo, conjuntos de bytes
Processador executa:

Instruções do seu repertório próprio

Instruções consideradas de baixo nível
Instruções de alto-nível

Mais próximas da forma humana de raciocinar

Processador não é capaz de as executar directamente
2008
Linguagens

Exemplos de L.P.A.N.:


23
C, C++, Fortran, Java, etc
Factos:

CPU entende instruções oriundas de uma L.P.B.N.

Humanos preferem descrever tarefas para execução pelo
computador usando L.P.A.N.

Necessidade de um meio de tradução LPAN -> LPBN

Tradução realizada através de programas: compiladores
2008
A reter...

Programar:
resolver problemas de modo a obter soluções
- finitas
- bem definidas e
- eficazes

24
Tipos de linguagens: naturais, de programação
de alto nível, máquina, etc.
2008
A ler...
Capítulos 1 e 2 e secções 3.1 e 3.2 do livro:
Y. Daniel Liang, "Introduction to Java
Programming", 5ª Edição, Prentice-Hall, 2005.
ISBN: 0-13-185721 - 5
25
2008
Aula 1: Sumário
26

Computador como máquina programável

Conceitos de linguagens naturais, de
programação e máquina
2008
Download

Introdução à Programação, Aula1