1 / 26

Programação II

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

velvet
Download Presentation

Programação II

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programação II Licenciatura de Ciências da Computação Original: Docentes ISCTE Padoca Calado

  2. 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.

  3. 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

  4. 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.

  5. É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.

  6. É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.

  7. 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

  8. 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

  9. 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

  10. Aula 1 Programação II

  11. 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

  12. Computador Principais Componentes: • Suporte Físico • Hardware (HW) • Suporte Lógico • Software (SW) girtby.net/images/hardware.jpg do filme Matrix, whatisthematrix.warnerbros.com

  13. 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

  14. Nota: Imagem retirada de http://pt.wikipedia.org/wiki/Computador

  15. 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

  16. 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 )

  17. 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 ]

  18. 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.

  19. Linguagem?

  20. 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

  21. 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 )

  22. 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

  23. 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

  24. 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.

  25. 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

  26. Aula 1: Sumário • Computador como máquina programável • Conceitos de linguagens naturais, de programação e máquina

More Related