SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
Programaçã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.
O que é o CPU?
Visão Caixa Negra
                            Unidade de Processamento
                                    Central




            E                        CPU                  S




Entrada de dados                                        Saída de dados
(sensores, interfaces, …)                         (dispositivos, armazenamento, …)
Arq. Von Neumann do CPU

          Memória Primária
                                         Dados




                             Controlo
  Dados




                                                   Entrada e
                                                     Saída




  ULA                        UC         Controlo
O Processador
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
Programas Informáticos
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.
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

                                       (…)
                       01100110 01010011 00110101 01001010
          CPU          01110101 10101010 01001010 01011110
                       01111100 11111111 00001010 01010100
                                       (…)
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
Baixo Nível vs. Alto Nível
Baixo Nível                                 Alto Nível
     -           Facilidade na escrita         +
     -        Facilidade na interpretação      +
 (criptico)                                 (natural)
     +        Volume de código por tarefa      -



• A linguagem de alto nível é mais natural
  para o humano e os domínios de
  conhecimentos.
Baixo Nível vs. Alto Nível
(…)
                                                    (…)
lernum proc
push ax
                                                    valor = ler_numero_do_teclado();
mov ah, 09h
int 21h
                                                    (…)
pop ax
ret
lernum endp
(…)


                              (…)
              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
                              (…)
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
Experiência com
 Programação
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)
     fim
             o Buzinar()
Exemplo
                          Mapa:

             >


                                             fim




Objectivo:                        Operações Disponíveis:

• Programar o robô para              Mover (F|R, distancia)
  percorrer o caminho                      (F=frente; R=inverso)

  apresentado.                       Rodar (H|A, nº graus)
                                           (H=Horário; A=Antihorário)
                                     Buzinar()
• Buzinar à chegada.
Solução
               Mapa:

>


                                                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
Exercício
Solução
               Mapa:

                          >



      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
Solução
                Mapa:




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

Weitere ähnliche Inhalte

Andere mochten auch

Tdd01 a simple intro to tdd
Tdd01 a simple intro to tddTdd01 a simple intro to tdd
Tdd01 a simple intro to tddMiguel Alho
 
Delivering Changes for Applications and Databases
Delivering Changes for Applications and DatabasesDelivering Changes for Applications and Databases
Delivering Changes for Applications and DatabasesMiguel Alho
 
Classroom Management Tips for Kids and Adolescents
Classroom Management Tips for Kids and AdolescentsClassroom Management Tips for Kids and Adolescents
Classroom Management Tips for Kids and AdolescentsShelly Sanchez Terrell
 
The Buyer's Journey - by Chris Lema
The Buyer's Journey - by Chris LemaThe Buyer's Journey - by Chris Lema
The Buyer's Journey - by Chris LemaChris Lema
 
The Presentation Come-Back Kid
The Presentation Come-Back KidThe Presentation Come-Back Kid
The Presentation Come-Back KidEthos3
 

Andere mochten auch (7)

Kanban
KanbanKanban
Kanban
 
Web 3.0
Web 3.0Web 3.0
Web 3.0
 
Tdd01 a simple intro to tdd
Tdd01 a simple intro to tddTdd01 a simple intro to tdd
Tdd01 a simple intro to tdd
 
Delivering Changes for Applications and Databases
Delivering Changes for Applications and DatabasesDelivering Changes for Applications and Databases
Delivering Changes for Applications and Databases
 
Classroom Management Tips for Kids and Adolescents
Classroom Management Tips for Kids and AdolescentsClassroom Management Tips for Kids and Adolescents
Classroom Management Tips for Kids and Adolescents
 
The Buyer's Journey - by Chris Lema
The Buyer's Journey - by Chris LemaThe Buyer's Journey - by Chris Lema
The Buyer's Journey - by Chris Lema
 
The Presentation Come-Back Kid
The Presentation Come-Back KidThe Presentation Come-Back Kid
The Presentation Come-Back Kid
 

Ähnlich wie Programação sem código

Arquitetura e Manutenção de Computadores
Arquitetura e Manutenção de ComputadoresArquitetura e Manutenção de Computadores
Arquitetura e Manutenção de ComputadoresEmanoel Lopes
 
Arduino e Python: Do It Yourself
Arduino e Python: Do It YourselfArduino e Python: Do It Yourself
Arduino e Python: Do It YourselfBruno Nascimento
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascalJocelma Rios
 
Aula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptAula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptJadna Almeida
 
Introdução a linguagem c karen lowhany
Introdução a linguagem c   karen lowhanyIntrodução a linguagem c   karen lowhany
Introdução a linguagem c karen lowhanyKaren Costa
 
A arquitetura básica de um computador
A arquitetura básica de um computadorA arquitetura básica de um computador
A arquitetura básica de um computadorredesinforma
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao cprofwtelles
 
Introdução à informática tsc cederj-01
Introdução à informática tsc cederj-01Introdução à informática tsc cederj-01
Introdução à informática tsc cederj-01Waldemar Neto
 
Canais Assíncronos II - Aplicações
Canais Assíncronos II - AplicaçõesCanais Assíncronos II - Aplicações
Canais Assíncronos II - AplicaçõesHeron Carvalho
 
Informática Básica - Aula 1
Informática Básica - Aula 1Informática Básica - Aula 1
Informática Básica - Aula 1wallaceolive
 
Introdução à Programacao em Processing
Introdução à Programacao em Processing Introdução à Programacao em Processing
Introdução à Programacao em Processing Jorge Cardoso
 
Workshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - FarruscoWorkshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - FarruscoArticacc, Lda
 

Ähnlich wie Programação sem código (20)

Arquitetura e Manutenção de Computadores
Arquitetura e Manutenção de ComputadoresArquitetura e Manutenção de Computadores
Arquitetura e Manutenção de Computadores
 
Arduino e Python: Do It Yourself
Arduino e Python: Do It YourselfArduino e Python: Do It Yourself
Arduino e Python: Do It Yourself
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascal
 
Aula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptAula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.ppt
 
F oc aula_02a
F oc aula_02aF oc aula_02a
F oc aula_02a
 
COMPUTADOR_122756.pdf
COMPUTADOR_122756.pdfCOMPUTADOR_122756.pdf
COMPUTADOR_122756.pdf
 
Introdução a linguagem c karen lowhany
Introdução a linguagem c   karen lowhanyIntrodução a linguagem c   karen lowhany
Introdução a linguagem c karen lowhany
 
Aula 03
Aula 03Aula 03
Aula 03
 
A arquitetura básica de um computador
A arquitetura básica de um computadorA arquitetura básica de um computador
A arquitetura básica de um computador
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
 
Informática básica
Informática básicaInformática básica
Informática básica
 
Introdução à informática tsc cederj-01
Introdução à informática tsc cederj-01Introdução à informática tsc cederj-01
Introdução à informática tsc cederj-01
 
Canais Assíncronos II - Aplicações
Canais Assíncronos II - AplicaçõesCanais Assíncronos II - Aplicações
Canais Assíncronos II - Aplicações
 
Hardware
HardwareHardware
Hardware
 
Informática Básica - Aula 1
Informática Básica - Aula 1Informática Básica - Aula 1
Informática Básica - Aula 1
 
Introdução à Programacao em Processing
Introdução à Programacao em Processing Introdução à Programacao em Processing
Introdução à Programacao em Processing
 
Workshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - FarruscoWorkshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - Farrusco
 
Haskell - Introdução
Haskell - IntroduçãoHaskell - Introdução
Haskell - Introdução
 

Programação sem código

  • 2. 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.
  • 3. O que é o CPU?
  • 4. Visão Caixa Negra Unidade de Processamento Central E CPU S Entrada de dados Saída de dados (sensores, interfaces, …) (dispositivos, armazenamento, …)
  • 5. Arq. Von Neumann do CPU Memória Primária Dados Controlo Dados Entrada e Saída ULA UC Controlo
  • 7. 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
  • 9. 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.
  • 10. 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 (…) 01100110 01010011 00110101 01001010 CPU 01110101 10101010 01001010 01011110 01111100 11111111 00001010 01010100 (…)
  • 11. 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
  • 12. Baixo Nível vs. Alto Nível Baixo Nível Alto Nível - Facilidade na escrita + - Facilidade na interpretação + (criptico) (natural) + Volume de código por tarefa - • A linguagem de alto nível é mais natural para o humano e os domínios de conhecimentos.
  • 13. Baixo Nível vs. Alto Nível (…) (…) lernum proc push ax valor = ler_numero_do_teclado(); mov ah, 09h int 21h (…) pop ax ret lernum endp (…) (…) 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 (…)
  • 14. 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
  • 16. 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) fim o Buzinar()
  • 17. Exemplo Mapa: > fim Objectivo: Operações Disponíveis: • Programar o robô para Mover (F|R, distancia) percorrer o caminho (F=frente; R=inverso) apresentado. Rodar (H|A, nº graus) (H=Horário; A=Antihorário) Buzinar() • Buzinar à chegada.
  • 18. Solução Mapa: > 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
  • 20. Solução Mapa: > 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
  • 21. Solução Mapa: 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
  • 22. 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.
  • 23. 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.