Hugo Pedro Proença
Universidade da Beira Interior
Departamento de Informática
Horário da Disciplina (EI/1 + TSI/1), Hugo Proença e Carlos Barrico
Qui.
Sal
Sex.
Sal
Sáb.
-
-
-
-
-
-
S
al
-
-
-
-
-
-
-
-
-
0603
-
-
-
-
-
-
-
-
5374-PL4
0625
-
-
-
-
-
-
-
-
0613
0625
5374-PL4
0625
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
14-15
5374-PL1
0613
-
-
-
-
-
-
-
-
15-16
5374-PL1
0613
-
-
-
-
-
-
-
-
16-17
At. Alunos
Gab
5374-PL3
At. Alunos
At
0625
Gab
-
-
-
-
-
-
-
-
17-18
At. Alunos
Gab
5374-PL3
At. Alunos
0625
Gab
-
-
-
-
-
-
-
-
18-19
19 20
19-20
-
-
-
-
-
-
-
-
-
-
-
-
Tempos
Seg.
Sal
Ter.
Sal
8-9
-
-
-
-
-
9-10
6619-T
0602
5374-TE1
0603
10-11
6619-T
0602
5374-TE1
11-12
6619-P1
5374-PL2
5374
PL2
0613
0625
12-13
6619-P1
5374-PL2
13-14
Qua. Sal
p //
p/
g
p/p g
http://www.di.ubi.pt/~hugomcp/programacao1
•Acetatos das aulas teóricas
•Fichas aulas práticas e laboratoriais
•Anúncios relevantes
•Datas/salas de provas
•Consulta de classificações
•Programa
•Critérios de Avaliação
•Bibliografia
•Ligações úteis
• Assiduidade
• Serão registadas as presenças nas aulas teóricas e práticas práticas. • Cada falta não‐justificada (Serviços Académicos) implicará uma penalização de 0.25 valores na nota final (f
(frequência e exames). ê i ) • 16 semanas lectivas, 16 aulas teóricas + 16 aulas p
práticas = 32 aulas. Penalização máxima de 8 valores.
3
ç
•Eventual compensação de faltas poderá exclusivamente ser efectuada na mesma semana (com o consentimento dos docentes das aulas práticas).
dos docentes das aulas práticas)
• Frequências
q
• Prova FA ‐ 1ª frequência: 5 de Novembro de 2007, 19:30, Sala a definir. (6 valores).
• Prova FB ‐
P
FB 2ª frequência: 17 de Dezembro de 2007, f
ê i d D
b d 19:30, Sala a definir. (6 valores).
• Prova FC ‐ 3ª frequência: 28 de Janeiro de 2007, 14:00, Sala a definir. (8 valores).
• Exames
• Provas EX1 e EX2. Data, hora e sala a definir (20 valores). • Trabalhadores‐Estudantes (registados nos Serviços Académicos):
•As regras a aplicar serão as mesmas, com excepção da p
penalização pela assiduidade, que não se verifica. ç p
q
• Greg Perry. Absolute Beginner's Guide to C (2nd Edition), Sams Publishers, USA, 2005.
• L. Damas. Linguagem C. FCA ‐ Editora de Informática, 1999.
• P. Darnell e P. Margolis. C: a software engineering approach. Springer‐Verlag, NY, USA, 1996.
• B. Forouzan e R. Gilberg. Computer Science: a structured programming approach using C. PWS Publishing Company, 1997.
• A. Shiflet. Problem solving in C including breadth and laboratories. West Publishing Company, 1995.
• J. Garrot, J. Amador e J. Castro. UNIX: curso completo. FCA ‐
J G
J A d J C
UNIX l
FCA Editora de Edi
d Informática, 1998.
• B. Kerningham e R. Pike. The Unix programming environment. Prentice‐Hall, Inc 1984 Inc., 1984. • Dotar os alunos com os conceitos básicos de programação p g
ç
procedimental em linguagens de alto nível.
• Donceitos indispensáveis à resolução algorítmica de D
i i di
á i à l ã l í i d problemas.
• Noções básicas de programação estruturada e modular e de abstracção de dados.
• Relevância especial ao bom estilo e metodologias de resolução de problemas em detrimento das características resolução de problemas, em detrimento
particulares da linguagem.
1. Perspectiva Geral sobre Computadores e Computação
1. Hardware/Software
H d
/S f
2. O Processo de Execução
1. Input
2. Processamento
3. Output
2. Técnicas de Resolução de Problemas
1. Fluxogramas
2. Pseudo‐código
P d ódi
3. Variavéis
1. O Que São Variáveis?
2. Utilização de Variáveis
ç
3. Tipos de Dados
1. Simples
2. Compostos
3 Vectores
3.
4. Introdução à Programação em C
1. Perspectiva Histórica
P
i Hi ó i
2. Variáveis
1. Declaração de Variáveis
2. Inicialização de Variáveis
ç
3. Operadores
1. Operadores Aritméticos
2. Operadores Lógicos
4. Sintaxe
Si t
1. Palavras‐reservadas
2. Erros de Sintaxe
5
5. Controlo da Execução
ç
1. Instrução IF
2. Ciclos
1. Ciclo FOR
2 Ciclo WHILE
2. Ciclo WHILE
3. Erros de Programação
5. Funções
1. Variáveis Globais
V iá i Gl b i
2. Variáveis Locais
3. Valor de Retorno
6. Input / Output
1. Noção de Stream
2. Streams de Entrada
3. Streams de Saída
• O que é um computador ?
q
p
• (webopedia) Uma máquina programável, cujas principais características são:
• Responde
R
d a um conjunto
j t específico
ífi de d instruções de uma forma pré‐definida.
• É capaz de executar um conjunto de instruções.
ç
• O que é um computador ?
q
p
• (wikipedia) Um computador é uma máquina
que manipula dados, de acordo com uma lista
(conjunto ordenado) de instruções. • É o exemplo ideal de um sistema de processamento de dados.
de dados
•Um sistema computacional, na
p
,
sua essência, recebe
,
um conjunto de dados, transforma‐o (executa um conjunto pré‐determinado de acções) e devolve os
resultados (dados transformados).
Dados
Resultados
Computador
•Estudo sistemático da computação
p ç sobre a informação (Informática=Informação Automática).
• .Possui uma vasta gama de sub‐áreas:
• Algoritmos
Al it
e compiladores
il d
• Sistemas paralelos e distribuídos
•Inteligência
Inteligência artificial
•Redes de computadores
•Engenharia
g
de Software.
•(…)
Programação
Hardware
• Conjunto de todos os componentes físicos j
p
de um computador.
• CPU, Memória RAM, placas de rede, CPU Memória RAM placas de rede placas de som, placas gráficas, teclado, monitor,...
Software • Parte “lógica” (não‐tangível) de um g
(
g )
computador. Consiste numa sequência de instruções a serem executadas, na manipulação redirecionamento ou manipulação, redirecionamento ou modificação de uma unidade de informação.
•Sequência de instruções, que é p
p
interpretada e executada por um processador.
Conjunto de acções bem formadas e préviamente transmitidas, por forma a ordenar
d
ao sistema
i
computacional
i
l determinado
d
i d comportamento ou a execução
ã de d uma determinada tarefa.
Exemplo: Controlo
p
de um semáforo ((fonte: http://en.wikipedia.org/wiki/Computer)
p //
p
g/
/
p
)
1. Turn off all of the lights
2. Turn on the red light
3. Wait for sixty seconds
4. Turn off the red light
5. Turn on the green light
T th li ht
6 W it f i t 6. Wait for sixty seconds
d
7. Turn off the green light
8. Turn on the yellow light
9. Wait for two seconds
10.Turn off the yellow light
11. If the maintenance switch is NOT turned on then jump to instruction number 2
12. Turn on the red light
13. Wait for one second
14. Turn off the red light
14. Wait for one second
15 Jump to instruction number 11
15. Jump to instruction number 11
Sintaxe
Semãntica
Modelo computacional que implementa
uma Máquina Universal de Turing
•Nome atribuído por Alan Turing a qual‐
quer máquina capaz de executar qualquer
sequência de “instruções” bem formada.
Sub‐conjunto do conjunto de simbolos Sub
conjunto do conjunto de simbolos (alfabeto)
Fonte: Wikipédia, http://en.wikipedia.org/wiki/Image:Von_Neumann_architecture.svg
• O modelo de execução sequencial, isto é, a CPU só processa uma instrução de cada vez. A memória central só aceita um acesso de cada vez, seja para de cada e A memória central só aceita um acesso de cada e seja para leitura ou para escrita. • Cada elemento principal consiste em componentes físicos independentes, cuja implementação tem variado ao longo do tempo:
• Relés eletromagnéticos Æ os tubos de vácuo, Æ
os tubos de vácuo Æ até aos semicondutores
•Interação entre os componentes do sistema. As suas interacções exibem tempos típicos que também têm variado ao longo do tempo. •Presentemente, as CPU processam instruções em ciclos de relógios cujos períodos típicos são da ordem de 1 nanosegundo.
típicos são da ordem de 1 nanosegundo
• As memórias centrais têm tempos típicos de acesso da ordem da dezena de nanosegundos. •As unidades de entrada e saída exibem tempos típicos extremamente variáveis, mas sempre muito superiores aos anteriormente referidos Por exemplo os discos rígidos sempre muito superiores aos anteriormente referidos. Por exemplo, os discos rígidos exibem tempos da ordem do milisegundo. (cerca de 1 000 000 superiores aos referidos).
‐ +
•CPU – Registos
g
Desempenho Os registos são memórias internas da CPU. O seu tamanho é normalmente igual à palavra do computador/CPU. Servem
para guardar informação sobre o processo em execução
•RAM ‐
RAM Random
R d
A
Access Memory M
Repositório sequencial de bytes, onde cada byte tem um endereço (valor
inteiro). Os endereços permitem o acesso aleatório à memória.
•Memória Secundária Discos rígidos, armazenam normalmente grandes quantidades de informação numa estrutura lógica de pistas e sectores
•Memória de Arquivo
Memória de Arquivo
Capacidade
+ ‐
Unidades de armazenamento com capacidade máxima e número previsto de acessos mínimo.
Download

Hugo Pedro Proença Universidade da Beira Interior Departamento