Top Banner
Programação Para Não Programadores
23

Programacão para não programadores

Dec 18, 2014

Download

Documents

Miguel Alho

Apresentação final da formação inicial de formadores (CAP), com uma introdução à programação, usando uma abordagem de programação de alto nível.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Programacão para não programadores

Programação Para Não Programadores

Page 2: Programacão para não programadores

Objectivos:

• Identificar o componente essencial de um computador na execução de tarefas.

• Distinguir o componente essencial de componentes periféricos.

• Compreender o que é um programa informático.

• Escrever um programa simples.

Page 3: Programacão para não programadores

O que é o CPU?

Page 4: Programacão para não programadores

Visão Caixa Negra

CPU E S

Entrada de dados (sensores, interfaces, …)

Saída de dados (dispositivos, armazenamento, …)

Unidade de Processamento Central

Page 5: Programacão para não programadores

Arq. Von Neumann do CPU

ULA UC

Memória Primária

Entrada e Saída

Dados

Controlo

Dad

os

Co

ntr

olo

Page 6: Programacão para não programadores

O Processador

Page 7: Programacão para não programadores

Os Periféricos

• São a interface entre o mundo e o processador

• De entrada => fornecem dados ao CPU o Sensores

o Interfaces para humanos (teclado, rato, etc…)

• De saída => permitem ver resultados ou controlar operações o Monitores

o Discos de armazenamento

o Luzes

o Motores

Page 8: Programacão para não programadores

Programas Informáticos

Page 9: Programacão para não programadores

Programas e Algoritmos

• Um programa informático é uma sequência

de instruções para o computador executar

tarefas.

• Um algoritmo é uma sequência de

instruções para executar uma só tarefa.

• Um programa é composto por um ou mais

algoritmos.

Page 10: Programacão para não programadores

Linguagens de Programação

• Instruções, ao nível do processador, são

conjuntos de 1s e 0s,

• 1s e 0s realizados por sinais eléctricos

CPU

(…) 01100110 01010011 00110101 01001010 01110101 10101010 01001010 01011110 01111100 11111111 00001010 01010100

(…)

Page 11: Programacão para não programadores

Linguagens de Programação

• Padrão que expressa instruções para o

computador.

• Contém regras sintácticas e semânticas.

• O documento escrito por um humano é

traduzido para uma linguagem de

máquina, com a representação correcta

de 1s e 0s

Page 12: Programacão para não programadores

Baixo Nível vs. Alto Nível

Baixo Nível Alto Nível

- Facilidade na escrita +

- (criptico)

Facilidade na interpretação + (natural)

+ Volume de código por tarefa -

• A linguagem de alto nível é mais natural

para o humano e os domínios de

conhecimentos.

Page 13: Programacão para não programadores

Baixo Nível vs. Alto Nível

(…) lernum proc push ax mov ah, 09h int 21h pop ax ret lernum endp (…)

(…) valor = ler_numero_do_teclado(); (…)

(…) 01100110 01010011 00110101 01001010 01110101 10101010 01001010 01011110 01111100 11111111 00001010 01010100 01100110 01010011 00110101 01001010 01110101 10101010 01001010 01011110 01111100 11111111 00001010 01010100 01100110 01010011 00110101 01001010 01110101 10101010 01001010 01011110 01111100 11111111 00001010 01010100 01100110 01010011 00110101 01001010 01110101 10101010 01001010 01011110 01111100 11111111 00001010 01010100

(…)

Page 14: Programacão para não programadores

Instruções

• Expressões que representam uma operações.

• Uma sequência de instruções permite realizar

trabalho complexo

• Podemos agrupar instruções em estruturas

chamadas de procedimentos, funções ou

métodos.

Soma (número , número)

Nome Lista de parâmetros

Page 15: Programacão para não programadores

Experiência com Programação

Page 16: Programacão para não programadores

Comando de Robô

• Controlamos um robô que

segue as instruções que

programamos

• Fabricante disponibiliza 3

instruções: o Mover (F|R, distancia) (F=frente; R=inverso)

o Rodar (H|A, nº graus) (H=Horário;

A=Antihorário)

o Buzinar()

>

fim

Page 17: Programacão para não programadores

Exemplo

>

fim

Objectivo: • Programar o robô para

percorrer o caminho apresentado.

• Buzinar à chegada.

Operações Disponíveis:

Mover (F|R, distancia) (F=frente; R=inverso)

Rodar (H|A, nº graus) (H=Horário; A=Antihorário)

Buzinar()

Mapa:

Page 18: Programacão para não programadores

Solução

>

fim

Solução: Mover (F, 4) //move 4 casas para a frente

Rodar (H,90) //roda 90º no sentido horário

Mover (F, 2) //mover 2 casas para a frente

Rodar (A,90) //roda 90º no sentido anti-horário

Mover (F, 3) //mover 3 casas para a frente

Buzinar() //emite sinal sonoro

Mapa:

Page 19: Programacão para não programadores

Exercício

Page 20: Programacão para não programadores

Solução

>

fim

Solução: Mover (F, 1) //move 1 casas para a frente

Rodar (H,90) //roda 90º no sentido horário

Mover (F, 2) //mover 2 casas para a frente

Rodar (H,90) //roda 90º no sentido horário

Mover (F, 4) //mover 4 casas para a frente

Buzinar() //emite sinal sonoro

Mapa:

Page 21: Programacão para não programadores

Solução

> fim

Solução: Mover (F, 2) //move 2 casas para a frente

Rodar (H, 90) //roda 90º no sentido horário

Mover (F, 4) //mover 4 casas para a frente

Rodar (H, 90) //roda 90º no sentido horário

Mover (F, 2) //mover 2 casas para a frente

Buzinar() //emite sinal sonoro

Mapa:

Page 22: Programacão para não programadores

Concluíndo…

• A escrita de um programa envolve um processo de decomposição de uma tarefa.

• As instruções são as etapas elementares da tarefa.

• Quanto mais alto nível, mais simples é o nosso trabalho de descrever esse processo.

• Quanto mais baixo nível, mais elementar são as instruções, exigindo um maior número de passos.

Page 23: Programacão para não programadores

Resumo

• O CPU é a componente central de um

computador na execução de instruções.

• Os elementos periféricos permite interacção

do mundo com o CPU na realização de

trabalho.

• Um programa é uma sequência de

instruções para a realização de uma tarefa.