programação introdução à programação - ubisebastiao/teaching/2021/prog/lectures/t01.pdf ·...

15
T. 01 – Fundamentos de Computadores Programação Introdução à Programação

Upload: others

Post on 18-Oct-2020

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programação Introdução à Programação - UBIsebastiao/teaching/2021/PROG/Lectures/T01.pdf · Programação Introdução à Programação. Sumário …: – Conceitos básicos:

T. 01 – Fundamentos de Computadores

ProgramaçãoIntrodução à Programação

Page 2: Programação Introdução à Programação - UBIsebastiao/teaching/2021/PROG/Lectures/T01.pdf · Programação Introdução à Programação. Sumário …: – Conceitos básicos:

Sumário

…:

– Conceitos básicos: computador, hardware, software.

– Hardware e componentes físicos de um computador.

– Software: dados e programas.

– Arquitetura de von Newman.

– Bit, byte, organização da memória em bytes, registos de CPU e palavra.

– Organização hierárquica de memórias.

– Organização estrutural de CPUs.

– Organização hierárquica de memória secundária em sistemas de ficheiros.

– Como funciona um computador durante a execução de um programa.

– Exemplo de um programa em C.

– Ciclo de desenvolvimento de programas: edição, compilação e execução.

– Organização hieráquica de software em computador.

T.01 Fundamentos de Computadores

2

Page 3: Programação Introdução à Programação - UBIsebastiao/teaching/2021/PROG/Lectures/T01.pdf · Programação Introdução à Programação. Sumário …: – Conceitos básicos:

Conceitos básicos (1)

Computador

• Dispositivo que, sob o controlo dum programa, pode ler dados, processar dados através de cálculos e operações lógicas sem intervenção humana, e fornecer resultados.

• Serve para resolver problemas que as pessoas não

conseguem resolver em tempo útil.

Componentes principais dum computador

• Hardware

• Software

Intel Xeon Nehalem

T.01 Fundamentos de Computadores

3

Page 4: Programação Introdução à Programação - UBIsebastiao/teaching/2021/PROG/Lectures/T01.pdf · Programação Introdução à Programação. Sumário …: – Conceitos básicos:

#include <stdio.h>

void main()

{

int x = 5;

printf(“Hello World!”);

printf(“%d”,x);

}

Placa Ethernet

Dispositivo CR-ROM

CPU

Conceitos básicos (2)

Hardware

• Componentes físicos dum computador: processador ou CPU, memórias RAM, monitor, teclado, impressora, disco duro, placa principal (motherboard), placa Ethernet, etc.

Software = dados + programas

Dados

• Conjunto de valores de variáveis quantitativas ou qualitativas. Estes valores são fornecidos ao programa que de alguma forma os tratará. Este tratamento ou processamento produzirá um conjunto de resultados.

Programa

• Conjunto de instruções dadas a um computador para efectuar uma tarefa específica na resolução dum problema.

T.01 Fundamentos de Computadores

4

Page 5: Programação Introdução à Programação - UBIsebastiao/teaching/2021/PROG/Lectures/T01.pdf · Programação Introdução à Programação. Sumário …: – Conceitos básicos:

Hardware:arquitetura de von Neumann

Controlo e

processamento de

instruções

Armazenamento de

dados, programas, e

ficheiros

Diálogo com

periféricos,diálogo

homem-máquina

CPU

MemóriaE/S

T.01 Fundamentos de Computadores

5

Page 6: Programação Introdução à Programação - UBIsebastiao/teaching/2021/PROG/Lectures/T01.pdf · Programação Introdução à Programação. Sumário …: – Conceitos básicos:

Informação digital num computador

– A informação é representada num computador digital é binária, ou seja, é formada por bits: 0 (zero) e 1(um).

– bit (binary digit): dígito binário

– byte (8 bits):octeto

– memória principal (RAM): sequência de bytes endereçáveis.

– palavra: tamanho natural de dados dum computador. O tamanho depende da CPU. Há CPU de 16-bits, de 32-bits, etc.

– registos (CPU): pequenas memórias existentes dentro da CPU. Uma CPU de 16-bits tem registos de 16-bits, etc.

memória

1 bit

1 byte

2 bytes

T.01 Fundamentos de Computadores

6

Page 7: Programação Introdução à Programação - UBIsebastiao/teaching/2021/PROG/Lectures/T01.pdf · Programação Introdução à Programação. Sumário …: – Conceitos básicos:

Hierarquias de memórias

CPU – Registos

RAM - Random Access Memory

Memória Secundária (disco,pendrive,etc.)

Memória de Arquivo (fita magnética)lentobaixo

CUSTO elevado

CAPACIDADE de armazenamento

ACESSO rápido

T.01 Fundamentos de Computadores

7

Page 8: Programação Introdução à Programação - UBIsebastiao/teaching/2021/PROG/Lectures/T01.pdf · Programação Introdução à Programação. Sumário …: – Conceitos básicos:

Registos:memória interna da CPU

- Os registos são memórias internas da CPU.

- O tamanho de cada registo é igual à palavra do computador/CPU.

- Há basicamente 3 tipos de registos:

> Program Counter (PC): serve para guardar o endereço da próxima instrução a ser executada dumdado programa executável que reside em memória.É, por isso, conhecido por registo de endereçamento.

> Registos Gerais. Alguns destes registos servem para

guardar a instrução corrente dum dado programa.Servem também para guardar dados durante a execução duma instrução ou dum programa.

> Registo de Estado. Serve para guardar o estado de

execução dum programa/processo quando lhe é retiradoo direito de usar a CPU por parte do sistema operativo. Assim, quando lhe é atribuído novamente o direito de usar a CPU, o programa voltar a correr no ponto (ou estado) em que se encontrava previamente.

CPU

Unidade

de Controlo

Unidade

Aritmética

e Lógica

Program Counter

Registos

Gerais

Registo de Estado

T.01 Fundamentos de Computadores

8

Page 9: Programação Introdução à Programação - UBIsebastiao/teaching/2021/PROG/Lectures/T01.pdf · Programação Introdução à Programação. Sumário …: – Conceitos básicos:

Disco rígido: memória secundária

- Armazena grandes quantidades de ficheiros duma forma permanente.

- Discos magnéticos – pratos de vidro ou de metal rígido revestidos de material magnético de gravação.

- A superfície do disco está logicamente divididaem pistas (tracks), as quais por sua vez estãodivididas em sectores (sectors).

Disco rígido de 3 pratos e 6 cabeças de R/W

Interior dum disco rígido

T.01 Fundamentos de Computadores

9

Page 10: Programação Introdução à Programação - UBIsebastiao/teaching/2021/PROG/Lectures/T01.pdf · Programação Introdução à Programação. Sumário …: – Conceitos básicos:

Sistema de ficheiros em disco: memória secundária

- A nível lógico, os ficheiros em disco estão organizados numa árvore invertida que se designa por sistema de ficheiros.

- Tipos de ficheiros:

▪▪ directorias (pastas)

▪▪ ficheiros normais.

- As directorias podem conter outros ficheiros, incluindo outras directorias.

- Os ficheiros normais não podem conter qualquer outro ficheiro.

- Ficheiro: unidade lógica de armazenamento. Um ficheiro é uma colecção de informação inter-relacionada e definida por alguém. Normalmente, os ficheiros representam programas (em código fonte, código objecto, código nativo, etc…) e dados.

Sistema de ficheiros

T.01 Fundamentos de Computadores

10

Page 11: Programação Introdução à Programação - UBIsebastiao/teaching/2021/PROG/Lectures/T01.pdf · Programação Introdução à Programação. Sumário …: – Conceitos básicos:

Software: como funciona um computador durante a execução de um programa?

Atenção:• Um programa é uma sequência de instruções;• Um programa é escrito numa linguagem de programação (C,Pascal,etc.)

Reserva de memória para dados e resultados

Leitura de dados

Armazenamento de dados

Cálculo de resultados

Armazenamento de resultados

Escrita de resultados

Memória

Unidade de entrada

Memória

CPU

Memória

Unidade de saída

instruções/operações hardware

T.01 Fundamentos de Computadores

11

Page 12: Programação Introdução à Programação - UBIsebastiao/teaching/2021/PROG/Lectures/T01.pdf · Programação Introdução à Programação. Sumário …: – Conceitos básicos:

Exemplo: programa em C

Atenção:• Um programa é uma sequência de instruções;• Um programa é escrito numa linguagem de programação (C,Pascal,etc.)

memória

saída/ecrã

entrada/teclado

CPU

#include <stdio.h>

int main()

{

int x;

float y;

um valor inteiro: ”);printf(“Escreva

scanf(“%d”,&x);

y=x+5.4;

printf(“O valor de y=%f\n”,y);

}

T.01 Fundamentos de Computadores

12

Page 13: Programação Introdução à Programação - UBIsebastiao/teaching/2021/PROG/Lectures/T01.pdf · Programação Introdução à Programação. Sumário …: – Conceitos básicos:

Ciclo básicode desenvolvimento de programas em C

Atenção:• Um programa é escrito numa linguagem de programação (C,Pascal,etc.)• A compilação é necessária porque o computador só entende código-máquina.

Edição Compilação Execução

gedit ex1.c cc –o ex1 ex1.c ex1

Escrita dum programaem código-fonte

da linguagem C

Execução do

programa em

código-máquina

(sequência de 0s

e 1s)

Conversão do programaem código C

num programa

em código-

máquina

T.01 Fundamentos de Computadores

13

Page 14: Programação Introdução à Programação - UBIsebastiao/teaching/2021/PROG/Lectures/T01.pdf · Programação Introdução à Programação. Sumário …: – Conceitos básicos:

Software:classificação hierárquica

HARDWARE

SISTEMA OPERATIVO

SUPORTE

SO

FT

WA

RE

APLICAÇÕES

Software de suporte ao

desenvolvimento de software:

shells,editores,compiladores,

bibliotecas,etc.

• LINUX• WINDOWS

- StarOffice

- AutoCAD

• gcc• libc

• bash• gedit

• ex1

T.01 Fundamentos de Computadores

14

Page 15: Programação Introdução à Programação - UBIsebastiao/teaching/2021/PROG/Lectures/T01.pdf · Programação Introdução à Programação. Sumário …: – Conceitos básicos:

Conclusão

…:

– Conceitos básicos: computador, hardware, software.

– Hardware: arquitetura de von Neumann.

– Software: dados e programas.

– Organização estrutural de memórias em bytes.

– Organização estrutural de CPUs.

– Organização hierárquica de memória secundária em sistemas de ficheiros.

– Como funciona um computador durante a execução de um programa.

– Ciclo de desenvolvimento de programas: edição, compilação e execução.

FIM

T.01 Fundamentos de Computadores