260 likes | 339 Views
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 A consultar com frequência ( Pequenos anúncios ) Contém: Enunciados das aulas práticas Informação sobre calendário e horários
E N D
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 • 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.
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%) • Individual, sem consulta: nota mínima 7
Contactos • Esclarecimento de Dúvidas: • Assuntos de Interesse geral: nas aulas. • Assuntos Pessoais: através do endereço de e-mail duvidas@padoca.org (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.
Ética e Deontologia • 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.
Ética e Deontologia • 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.
Objectivos • Conhecer bem uma abordagem típica de resolução de problemas usando Programação • Ser capaz de planear a resolução dos problemas, es-truturando correctamente os respectivos programas • Dominar eficientemente um ambiente de desenvol-vimento/programação e respectivas ferramentas • Ter conhecimentos intermédios da linguagem Java
Programa • 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 (pro-gramação por contrato) • Classes • Leitura e escrita de dados em ficheiros
Metodologia • Aulas teóricas • 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
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
Computador Principais Componentes: • Suporte Físico • Hardware (HW) • Suporte Lógico • Software (SW) girtby.net/images/hardware.jpg do filme Matrix, whatisthematrix.warnerbros.com
Computador HW (Recursos Físicos) + SW (Parte Decisora) => Execução de Tarefas • 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
Nota: Imagem retirada de http://pt.wikipedia.org/wiki/Computador
Principais Componentes Físicos • Processador - Unidade Central de Processamento Central Processing Unit (CPU) • Onde as instruções são executadas • Memória • Primária (RAM, principalmente) • Secundária (discos rígidos, CD-ROMs, DVDs, etc) • Periféricos • Comunicações com mundo exterior, armazenamento, etc
Memória do computador • Uma sequência de bits • 768 MBytes =805 306 368* bytes =6 442 450 944 bitsAproximadamente 1 bit por habitante da Terra Nota * : 1024 * 1024 * 768 ( 210 = 1024 )
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 ]
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 progra-mas, etc.
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
Linguagens • Linguagem de Programação de Alto-Nível (LPAN) • Sem as ambiguidades e imprecisões de uma lingua-gem 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 )
Instruções e Linguagens • 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
Linguagens • Exemplos de L.P.A.N.: • 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
A reter... • Programar: resolver problemas de modo a obter soluções - finitas - bem definidas e - eficazes • Tipos de linguagens: naturais, de programação de alto nível, máquina, etc.
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
Aula 1: Sumário • Computador como máquina programável • Conceitos de linguagens naturais, de programação e máquina