Introdução à Programação
Informática e Gestão de EmpresasEngenharia de Telecomunicações e InformáticaEngenharia Informática
Apresentação da unidade curricular (UC)
2010/2011 2Introdução à Programação - DCTI - ISCTE-IUL
Informação
Página Web da UC: http://ip.dcti.iscte.pt/
Consultar com frequência!
Contém Avisos Enunciados de exercícios Informação sobre calendário e horários Programa e método de avaliação Bibliografia Etc.
2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 3
Objectivos
Conhecer elementos fundamentais da programação
Ser capaz de planear resolução de problemas, estruturando correctamente os programas
Dominar eficientemente ambiente de desenvolvimento e suas ferramentas
Ter conhecimentos intermédios da linguagem Java
2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 4
Programa
Programação em Java Tipos, variáveis e expressões Classes e objectos Métodos, parâmetros e argumentos Instruções de selecção e iteração Matrizes, cadeias de caracteres e tipos
enumerados Métodos, decomposição funcional Recursividade
2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 5
Metodologia
Aulas teórico-demonstrativas (21 horas em 13 semanas) Salas de aula normais ou auditórios
Aulas laboratoriais (39 horas em 13 semanas) Laboratórios de informática (Edifício I, sala
0S0n, e Edifício II, salas D1.nn)
Atendimento ou sessões de dúvidas Gabinetes Laboratórios de informática (quando
necessário)2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 6
Informação e avisos
Informação relevante é publicada sempre página Web de IP: http://ip.dcti.iscte.pt/
2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 7
Aula 1Computador como máquina programávelConceitos de línguas naturais, linguagens de programação de baixo e de alto nível e linguagens máquinaNoções de algoritmo e de programa
2010/2011 8Introdução à Programação - DCTI - ISCTE-IUL
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
2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 9
Computador
Suporte físico ou hardware
Suporte lógico ou software
2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 10
girtby.net/images/hardware.jpg
do filme Matrix, whatisthematrix.warnerbros.com
Computador
hardware + software→ Execução de programas
Limitações no hardware podem impor limitações no software
Estrutura exacta do hardware varia
Mas arquitectura do hardware assemelha-se
2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 11
Hardware: principais componentes
Processador Unidade Central de Processamento (CPU) Executa instruções
Memória Primária: ROM e, sobretudo, RAM Secundária: discos rígidos Amovível: CD-ROM, DVD, canetas USB, cartões, etc.
Periféricos Comunicações com mundo exterior, armazenamento,
etc.
2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 12
Central Processing
Unit
Software
Ficheiro ou arquivo Unidade de armazenamento de dados
num sistema de ficheiros Normalmente em hierarquia de pastas Com identificador único (caminho ou
path)
2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 13
Software
Programa Instruções (contidas num ficheiro) numa
dada linguagem que resolvem um dado problema
Sistema operativo Programa ou conjunto de programas que
gerem o hardware, executam outros programas, fornecem uma interface de utilização, etc.
2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 14
Linguagens
2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 15
Linguagens
Linguagens naturais Português Inglês …
Linguagens artificiais Comunicação entre humanos
Esperanto Interlingua …
Linguagens de programação2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 16
As nossas!
Linguagens de programação
Linguagens de programação
De baixo nível Linguagem máquina Assembly
De alto nível PHP C++ Java …
2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 17
Comunicação com
computador.
Desadequadas para humanos.
Adequadas a humanos.
A nossa!
Linguagens de programação de baixo nível
Assemblies Linguagens muito básicas Usadas (quase) directamente pelos processadores
Linguagens máquina Usadas directamente pelos processadores (reais ou
virtuais) Por exemplo, o assembly
LOAD @R1, 0 JMP @R1
equivale, em linguagem máquina, a
0100001000100111001001100010100010010010001100010102010/2011 Introdução à Programação - DCTI - ISCTE-IUL 18
Instruções e linguagens
Informação armazenada Sob a forma de bits Bits organizados em octetos ou bytes Instruções são também informação Instruções representadas por sequências de octetos
Processador executa Instruções do seu próprio repertório Instruções de baixo nível
Instruções de alto nível Próximas da forma humana de raciocinar Processador não as pode executar directamente
2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 19
Introdução à Programação - DCTI - ISCTE-IUL 20
Linguagens de programação de alto nível
Sem ambiguidades e imprecisões de línguas naturais
Menos penosas para humanos que as de baixo nível
O Java
if(x == 1) System.out.println("x é igual a 1.");
pode traduzir-se para linguagem natural por
«Se a variável x contiver neste momento o valor 1, escrever no monitor o texto “x é igual a 1.”.»
2010/2011
Introdução à Programação - DCTI - ISCTE-IUL 21
Linguagens de programação de alto nível
CPU não as entende
Humanos preferem-nas
Necessário traduzi-las para linguagem máquina
Tradução realizada por compiladores
2010/2011
Introdução à Programação - DCTI - ISCTE-IUL 22
Programar
Compreender bem problema e dados envolvidos
Averiguar melhor forma de resolver problema e representar os dados
Determinar instruções duma linguagem de programação que resolvem (de forma genérica) esse problema
Essas instruções formam um programa2010/2011
Algoritmos (primeira abordagem)
Como uma receita, mas mais precisa:
Conjunto finito de regras, traduzíveis numa sequência de operações/instruções, que permitem resolver um determinado tipo de problema.
Donald E. Knuth2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 23
A reter…
Tipos de linguagens (das línguas naturais às linguagens programação de alto nível)
Algoritmo como método de resolver um dado problema
Programa enquanto algoritmo expresso numa linguagem de programação2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 24
A ler...
Capítulos 1 a 2 e secções 3.1 e 3.2 do livro:
Y. Daniel Liang, Introduction to Java Programming, 8.ª edição, Prentice-Hall, 2010.ISBN: 978-0-13-213080-6
2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 25
Sumário
Apresentação da UCAula 1
Computador como máquina programável Conceitos de▪ línguas naturais▪ linguagens de programação de baixo e de
alto nível▪ linguagens máquina
Noções de algoritmo e de programa
2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 26
Top Related