SlideShare uma empresa Scribd logo
Introdução à algoritmia
Carlos Santos
LabMM 3 - NTC - DeCA - UA
Aula 03, 19-09-2011
Problema 1

• Construir um algoritmo para trocar os objetos entre as duas mãos.
Problema 1

• Construir um algoritmo para trocar os objetos entre as duas mãos.

  • Regra 1: Em qualquer momento, uma mão só pode ter um objeto;

  • Regra 2: Qualquer objeto tem que estar sempre em contacto com uma
    mão.
Problema 1 - solução
Problema 1 - solução - algoritmo

 INÍCIO

   colocar bolaAzul na mãoA;

   colocar bolaLaranja na mãoB;

   trocar bola na mãoA para a mãoC;

   trocar bola na mãoB para a mãoA;

   trocar bola na mãoC para a mãoB;

   libertar mãoC;

 FIM
Um programa...

• ... serve para processar informação!

   • para a informação ser processada ela tem que ser armazenada no
     computador.

   • numa linguagem de programação, são as variáveis que permitem
     armazenar informação.

      • uma variável simples apenas pode conter um elemento de informação;

      • o tipo de informação armazenada numa variável influencia as
        operações com a qual esta pode ser utilizada;

      • o limite do número de variáveis é essencialmente determinado pela
        espaço de armazenamento disponível no computador.
Problema 1 - solução - programa

 INÍCIO

   var a = “Azul”;

   var b = “Laranja”;

   var c = a;

   a = b;

   b = c;

 FIM
Problema 1 - programa - como funciona?

 INÍCIO

   var a = “Azul”;

   var b = “Laranja”;

   var c = a;                                    RAM
   a = b;

   b = c;

 FIM



            vamos ver no quadro o funcionamento passo-a-passo!
Problema 1 - programa - como funciona?

 INÍCIO

   var a = “Azul”;

   var b = “Laranja”;

   var c = a;

   a = b;

   b = c;

 FIM



       resultado final em RAM de acordo com a simulação realizada na aula
Variáveis: espaço em memória

• Qual o espaço mínimo ocupado por uma variável para armazenar o texto
  “Azul”?

  • Qual o espaço ocupado para armazenar um carácter?

     • a resposta está na tabela ASCII (http://www.asciitable.com/)
Tabelas ASCII




0..255 = 256 valores
256 = 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 = 28
   2 corresponde à base binária: 0 ou 1 (1 bit)
   8 é o número de símbolos
8 bits = 1 Byte por elemento ASCII
Variáveis: espaço em memória

• Qual o espaço mínimo ocupado por uma variável para armazenar o texto
  “Azul”?

     •A     z   u    l

     • 65 122 119 108 (4 Bytes)

     • 01000001 01111010 01110101 01101100 (32 bits)
Problema 2

• Ler 3 números inteiros e apresentar o maior dos valores introduzidos.
Problema 2 - questões?

• Ler 3 números inteiros e apresentar o maior dos valores introduzidos.

   • quantas variáveis são necessárias?

   • como determinar o maior de 3 números inteiros?
Problema 2 - algoritmo

 INÍCIO

   ler dados de entrada;

   determinar o maior valor;

   escrever resultado final;

 FIM
Problema 2 - algoritmo

 INÍCIO

   ler dados de entrada (num1, num2, num3);

   determinar o maior valor (num1, num2, num3, maior);

   escrever resultado final (maior);

 FIM
Problema 2 - algoritmo

 INÍCIO
    ler (num1);
    ler (num2);
    ler (num3);
    maior = num1;
    SE num2 > maior ENTÃO
        maior = num2;
    FIM SE
    SE num3 > maior ENTÃO
        maior = num3;
    FIM SE
    escrever (maior);
 FIM
Problema 2 - programa

 INÍCIO
    var num1 = lerValor();
    var num2 = lerValor();
    var num3 = lerValor();
    var maior = num1;
    SE num2 > maior ENTÃO                      RAM
       maior = num2;
    FIM SE
    SE num3 > maior ENTÃO
       maior = num3;
    FIM SE
    escrever (maior);
 FIM
          vamos ver no quadro o funcionamento passo-a-passo!
Problema 2 - outras soluções?

• Será possível encontrar uma solução que só utilize duas variáveis simples?

  • Se sim, apresentar solução no grupo do FB;

  • Identificar vantagens e desvantagens dessa possível solução.
Próxima aula

• Javascript!

   • como escrever?

   • como ler?

   • como armazenar informação?

   • ...

Mais conteúdo relacionado

Mais procurados

Aula02 - Sistemas Numéricos computacionais
Aula02 - Sistemas Numéricos computacionaisAula02 - Sistemas Numéricos computacionais
Aula02 - Sistemas Numéricos computacionais
Jorge Ávila Miranda
 
Algoritmos
AlgoritmosAlgoritmos
Lógica de Programação - Unimep/Pronatec - Aula01
Lógica de Programação - Unimep/Pronatec - Aula01Lógica de Programação - Unimep/Pronatec - Aula01
Lógica de Programação - Unimep/Pronatec - Aula01
André Phillip Bertoletti
 
Aula02 - Lógica de Programação
Aula02 - Lógica de ProgramaçãoAula02 - Lógica de Programação
Aula02 - Lógica de Programação
Jorge Ávila Miranda
 
Curso de Delphi - Linguagem Pascal
Curso de Delphi - Linguagem PascalCurso de Delphi - Linguagem Pascal
Curso de Delphi - Linguagem Pascal
José Araújo
 
Maratona de Programação
Maratona de ProgramaçãoMaratona de Programação
Maratona de Programação
Marcos Castro
 
Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08
André Phillip Bertoletti
 
Ip 01 logica
Ip 01 logicaIp 01 logica
Ip 01 logica
Eliane Corso
 
Aula05 - Lógica de Programação
Aula05 - Lógica de ProgramaçãoAula05 - Lógica de Programação
Aula05 - Lógica de Programação
Jorge Ávila Miranda
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
Aislan Rafael
 
Lógica de Programação - Unimep/Pronatec - Aula04
Lógica de Programação - Unimep/Pronatec - Aula04Lógica de Programação - Unimep/Pronatec - Aula04
Lógica de Programação - Unimep/Pronatec - Aula04
André Phillip Bertoletti
 
02 while
02 while02 while
02 while
Leandro Barbosa
 
Lógica de Programação - Unimep/Pronatec - Aula03
Lógica de Programação - Unimep/Pronatec - Aula03Lógica de Programação - Unimep/Pronatec - Aula03
Lógica de Programação - Unimep/Pronatec - Aula03
André Phillip Bertoletti
 
Lógica de Programação - Unimep/Pronatec - Aula10
Lógica de Programação - Unimep/Pronatec - Aula10Lógica de Programação - Unimep/Pronatec - Aula10
Lógica de Programação - Unimep/Pronatec - Aula10
André Phillip Bertoletti
 
Int. à Logica de Programação
Int. à Logica de ProgramaçãoInt. à Logica de Programação
Int. à Logica de Programação
amansilha
 
Python + algoritmo
Python + algoritmoPython + algoritmo
Python + algoritmo
Felipe Marcel
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
Andrei Bastos
 
Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06
André Phillip Bertoletti
 
Lp
LpLp
Aula python
Aula pythonAula python

Mais procurados (20)

Aula02 - Sistemas Numéricos computacionais
Aula02 - Sistemas Numéricos computacionaisAula02 - Sistemas Numéricos computacionais
Aula02 - Sistemas Numéricos computacionais
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Lógica de Programação - Unimep/Pronatec - Aula01
Lógica de Programação - Unimep/Pronatec - Aula01Lógica de Programação - Unimep/Pronatec - Aula01
Lógica de Programação - Unimep/Pronatec - Aula01
 
Aula02 - Lógica de Programação
Aula02 - Lógica de ProgramaçãoAula02 - Lógica de Programação
Aula02 - Lógica de Programação
 
Curso de Delphi - Linguagem Pascal
Curso de Delphi - Linguagem PascalCurso de Delphi - Linguagem Pascal
Curso de Delphi - Linguagem Pascal
 
Maratona de Programação
Maratona de ProgramaçãoMaratona de Programação
Maratona de Programação
 
Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08
 
Ip 01 logica
Ip 01 logicaIp 01 logica
Ip 01 logica
 
Aula05 - Lógica de Programação
Aula05 - Lógica de ProgramaçãoAula05 - Lógica de Programação
Aula05 - Lógica de Programação
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
 
Lógica de Programação - Unimep/Pronatec - Aula04
Lógica de Programação - Unimep/Pronatec - Aula04Lógica de Programação - Unimep/Pronatec - Aula04
Lógica de Programação - Unimep/Pronatec - Aula04
 
02 while
02 while02 while
02 while
 
Lógica de Programação - Unimep/Pronatec - Aula03
Lógica de Programação - Unimep/Pronatec - Aula03Lógica de Programação - Unimep/Pronatec - Aula03
Lógica de Programação - Unimep/Pronatec - Aula03
 
Lógica de Programação - Unimep/Pronatec - Aula10
Lógica de Programação - Unimep/Pronatec - Aula10Lógica de Programação - Unimep/Pronatec - Aula10
Lógica de Programação - Unimep/Pronatec - Aula10
 
Int. à Logica de Programação
Int. à Logica de ProgramaçãoInt. à Logica de Programação
Int. à Logica de Programação
 
Python + algoritmo
Python + algoritmoPython + algoritmo
Python + algoritmo
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06
 
Lp
LpLp
Lp
 
Aula python
Aula pythonAula python
Aula python
 

Destaque

1ª Tarefa Tabela Matriz Novo Curso
1ª Tarefa  Tabela Matriz   Novo Curso1ª Tarefa  Tabela Matriz   Novo Curso
1ª Tarefa Tabela Matriz Novo Curso
bibliotecaescolarsalazar
 
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO CampusRepensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
Carlos Santos
 
A technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus projectA technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus project
Carlos Santos
 
FT Módulo 617
FT Módulo 617FT Módulo 617
FT Módulo 617
Raquel Silva
 
Poliempreende2016: Software de Apoio à Gestão
Poliempreende2016: Software de Apoio à GestãoPoliempreende2016: Software de Apoio à Gestão
Poliempreende2016: Software de Apoio à Gestão
Vitor Gonçalves
 
Educação para a sociedade digital in Seminário: Literacias, Leitura e Digital...
Educação para a sociedade digital in Seminário: Literacias, Leitura e Digital...Educação para a sociedade digital in Seminário: Literacias, Leitura e Digital...
Educação para a sociedade digital in Seminário: Literacias, Leitura e Digital...
Vitor Gonçalves
 
Apresentação João Areias
Apresentação João AreiasApresentação João Areias
Apresentação João Areias
João Areias
 
Powerpoint
PowerpointPowerpoint
Powerpoint
guest19b2b3
 
Administração de Sistemas de Informação - aula 3
Administração de Sistemas de Informação - aula 3Administração de Sistemas de Informação - aula 3
Administração de Sistemas de Informação - aula 3
Paulo Sérgio Ramão
 
Tipos de Sistemas de Informação Resumo
Tipos de Sistemas de Informação ResumoTipos de Sistemas de Informação Resumo
Tipos de Sistemas de Informação Resumo
Robson Santos
 
Modelagem e Simulação de Sistemas Produtivos
Modelagem e Simulação de Sistemas ProdutivosModelagem e Simulação de Sistemas Produtivos
Modelagem e Simulação de Sistemas Produtivos
Adeildo Telles
 
Introdução à Simulação
Introdução à SimulaçãoIntrodução à Simulação
Introdução à Simulação
Simulação
 
A importância dos sistemas de informação nas organizações slideshare
A importância dos sistemas de informação nas organizações slideshareA importância dos sistemas de informação nas organizações slideshare
A importância dos sistemas de informação nas organizações slideshare
Faculdade Evangélica de Brasília
 
Sistemas de Informação 2 - Aula03 - cap2 parte1
Sistemas de Informação 2 - Aula03 - cap2 parte1Sistemas de Informação 2 - Aula03 - cap2 parte1
Sistemas de Informação 2 - Aula03 - cap2 parte1
CEULJI/ULBRA Centro Universitário Luterano de Ji-Paraná
 
Evolução dos sistemas de informação
Evolução dos sistemas de informaçãoEvolução dos sistemas de informação
Evolução dos sistemas de informação
Pâmela Nogueira da Silva
 
Sistemas de Informação nas Organizações
Sistemas de Informação nas OrganizaçõesSistemas de Informação nas Organizações
Sistemas de Informação nas Organizações
Antonio Dias de Figueiredo
 
Aplicações Informáticas para a Gestão de Empresas (11º Poliempreende 2013/2013)
Aplicações Informáticas para a Gestão de Empresas (11º Poliempreende 2013/2013)Aplicações Informáticas para a Gestão de Empresas (11º Poliempreende 2013/2013)
Aplicações Informáticas para a Gestão de Empresas (11º Poliempreende 2013/2013)
Vitor Gonçalves
 
Conceitos de Sistemas de Informação
Conceitos de Sistemas de InformaçãoConceitos de Sistemas de Informação
Conceitos de Sistemas de Informação
luanrjesus
 
Evolução dos Sistemas Operativos
Evolução dos Sistemas OperativosEvolução dos Sistemas Operativos
Evolução dos Sistemas Operativos
Kaska Lucas
 
Sistemas de Informações Gerenciais - SIG
Sistemas de Informações Gerenciais - SIGSistemas de Informações Gerenciais - SIG
Sistemas de Informações Gerenciais - SIG
MúsicaParaense.Org
 

Destaque (20)

1ª Tarefa Tabela Matriz Novo Curso
1ª Tarefa  Tabela Matriz   Novo Curso1ª Tarefa  Tabela Matriz   Novo Curso
1ª Tarefa Tabela Matriz Novo Curso
 
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO CampusRepensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
 
A technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus projectA technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus project
 
FT Módulo 617
FT Módulo 617FT Módulo 617
FT Módulo 617
 
Poliempreende2016: Software de Apoio à Gestão
Poliempreende2016: Software de Apoio à GestãoPoliempreende2016: Software de Apoio à Gestão
Poliempreende2016: Software de Apoio à Gestão
 
Educação para a sociedade digital in Seminário: Literacias, Leitura e Digital...
Educação para a sociedade digital in Seminário: Literacias, Leitura e Digital...Educação para a sociedade digital in Seminário: Literacias, Leitura e Digital...
Educação para a sociedade digital in Seminário: Literacias, Leitura e Digital...
 
Apresentação João Areias
Apresentação João AreiasApresentação João Areias
Apresentação João Areias
 
Powerpoint
PowerpointPowerpoint
Powerpoint
 
Administração de Sistemas de Informação - aula 3
Administração de Sistemas de Informação - aula 3Administração de Sistemas de Informação - aula 3
Administração de Sistemas de Informação - aula 3
 
Tipos de Sistemas de Informação Resumo
Tipos de Sistemas de Informação ResumoTipos de Sistemas de Informação Resumo
Tipos de Sistemas de Informação Resumo
 
Modelagem e Simulação de Sistemas Produtivos
Modelagem e Simulação de Sistemas ProdutivosModelagem e Simulação de Sistemas Produtivos
Modelagem e Simulação de Sistemas Produtivos
 
Introdução à Simulação
Introdução à SimulaçãoIntrodução à Simulação
Introdução à Simulação
 
A importância dos sistemas de informação nas organizações slideshare
A importância dos sistemas de informação nas organizações slideshareA importância dos sistemas de informação nas organizações slideshare
A importância dos sistemas de informação nas organizações slideshare
 
Sistemas de Informação 2 - Aula03 - cap2 parte1
Sistemas de Informação 2 - Aula03 - cap2 parte1Sistemas de Informação 2 - Aula03 - cap2 parte1
Sistemas de Informação 2 - Aula03 - cap2 parte1
 
Evolução dos sistemas de informação
Evolução dos sistemas de informaçãoEvolução dos sistemas de informação
Evolução dos sistemas de informação
 
Sistemas de Informação nas Organizações
Sistemas de Informação nas OrganizaçõesSistemas de Informação nas Organizações
Sistemas de Informação nas Organizações
 
Aplicações Informáticas para a Gestão de Empresas (11º Poliempreende 2013/2013)
Aplicações Informáticas para a Gestão de Empresas (11º Poliempreende 2013/2013)Aplicações Informáticas para a Gestão de Empresas (11º Poliempreende 2013/2013)
Aplicações Informáticas para a Gestão de Empresas (11º Poliempreende 2013/2013)
 
Conceitos de Sistemas de Informação
Conceitos de Sistemas de InformaçãoConceitos de Sistemas de Informação
Conceitos de Sistemas de Informação
 
Evolução dos Sistemas Operativos
Evolução dos Sistemas OperativosEvolução dos Sistemas Operativos
Evolução dos Sistemas Operativos
 
Sistemas de Informações Gerenciais - SIG
Sistemas de Informações Gerenciais - SIGSistemas de Informações Gerenciais - SIG
Sistemas de Informações Gerenciais - SIG
 

Semelhante a LabMM3 - Aula teórica 03

scilab aula 05
scilab  aula 05scilab  aula 05
scilab aula 05
Tomás Ribeiro
 
Test-driven Development
Test-driven DevelopmentTest-driven Development
Test-driven Development
Denis L Presciliano
 
Lógica de programação e algoritmos
Lógica de programação e algoritmosLógica de programação e algoritmos
Lógica de programação e algoritmos
Alisson Meneses Batista
 
4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx
Patrícia Melo
 
Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2
Robson Ferreira
 
Analise Algoritmos
Analise AlgoritmosAnalise Algoritmos
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOSAULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
profjotamarcosduarte
 
Algoritmos
AlgoritmosAlgoritmos
ApostilaAlgoritmo
ApostilaAlgoritmoApostilaAlgoritmo
ApostilaAlgoritmo
progidio
 
Introdução a programação
Introdução a programaçãoIntrodução a programação
Introdução a programação
Edu Queiroz
 
portugol
portugolportugol
portugol
anselmo alves
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
angelicamenegassi
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
angelicamenegassi
 
Conceitos e técnicas de programação introdução
Conceitos e técnicas de programação introduçãoConceitos e técnicas de programação introdução
Conceitos e técnicas de programação introdução
Robson Ferreira
 
Alg aula 01 - introdução tp1
Alg   aula 01 - introdução tp1Alg   aula 01 - introdução tp1
Alg aula 01 - introdução tp1
Thalles Anderson
 
Fórum respostas
Fórum  respostasFórum  respostas
Fórum respostas
Fernando A A Morais
 
Progamacao para não programadores
Progamacao para não programadoresProgamacao para não programadores
Progamacao para não programadores
alexandre freire
 
Apresentacao log
Apresentacao logApresentacao log
Apresentacao log
pedrohfsd
 
Algoritmo
AlgoritmoAlgoritmo
Aula 1 lpa
Aula 1   lpaAula 1   lpa

Semelhante a LabMM3 - Aula teórica 03 (20)

scilab aula 05
scilab  aula 05scilab  aula 05
scilab aula 05
 
Test-driven Development
Test-driven DevelopmentTest-driven Development
Test-driven Development
 
Lógica de programação e algoritmos
Lógica de programação e algoritmosLógica de programação e algoritmos
Lógica de programação e algoritmos
 
4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx
 
Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2
 
Analise Algoritmos
Analise AlgoritmosAnalise Algoritmos
Analise Algoritmos
 
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOSAULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
ApostilaAlgoritmo
ApostilaAlgoritmoApostilaAlgoritmo
ApostilaAlgoritmo
 
Introdução a programação
Introdução a programaçãoIntrodução a programação
Introdução a programação
 
portugol
portugolportugol
portugol
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Conceitos e técnicas de programação introdução
Conceitos e técnicas de programação introduçãoConceitos e técnicas de programação introdução
Conceitos e técnicas de programação introdução
 
Alg aula 01 - introdução tp1
Alg   aula 01 - introdução tp1Alg   aula 01 - introdução tp1
Alg aula 01 - introdução tp1
 
Fórum respostas
Fórum  respostasFórum  respostas
Fórum respostas
 
Progamacao para não programadores
Progamacao para não programadoresProgamacao para não programadores
Progamacao para não programadores
 
Apresentacao log
Apresentacao logApresentacao log
Apresentacao log
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Aula 1 lpa
Aula 1   lpaAula 1   lpa
Aula 1 lpa
 

Mais de Carlos Santos

Is AI the Spice of our future?
Is AI the Spice of our future?Is AI the Spice of our future?
Is AI the Spice of our future?
Carlos Santos
 
Mentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantesMentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantes
Carlos Santos
 
1º Encontro Científico TCEdu
1º Encontro Científico TCEdu1º Encontro Científico TCEdu
1º Encontro Científico TCEdu
Carlos Santos
 
Tecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicialTecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicial
Carlos Santos
 
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunosAVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
Carlos Santos
 
AVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunosAVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunos
Carlos Santos
 
chmod 777 education
chmod 777 educationchmod 777 education
chmod 777 education
Carlos Santos
 
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Carlos Santos
 
Tecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho práticoTecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho prático
Carlos Santos
 
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Carlos Santos
 
chmod 777 education
chmod 777 educationchmod 777 education
chmod 777 education
Carlos Santos
 
SAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning EnvironmentSAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning Environment
Carlos Santos
 
SAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativoSAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativo
Carlos Santos
 
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCARepensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Carlos Santos
 
T20_LM3: APIs e Scoreoid
T20_LM3: APIs e ScoreoidT20_LM3: APIs e Scoreoid
T20_LM3: APIs e Scoreoid
Carlos Santos
 
T19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoT19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificação
Carlos Santos
 
T18_LM3: Ajax
T18_LM3: AjaxT18_LM3: Ajax
T18_LM3: Ajax
Carlos Santos
 
T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)
Carlos Santos
 
T15_T16_LM3: Mais objetos do Javascript (2013-2014)
T15_T16_LM3: Mais objetos do Javascript (2013-2014)T15_T16_LM3: Mais objetos do Javascript (2013-2014)
T15_T16_LM3: Mais objetos do Javascript (2013-2014)
Carlos Santos
 
T14_LM3: Animação (2013-2014)
T14_LM3: Animação (2013-2014)T14_LM3: Animação (2013-2014)
T14_LM3: Animação (2013-2014)
Carlos Santos
 

Mais de Carlos Santos (20)

Is AI the Spice of our future?
Is AI the Spice of our future?Is AI the Spice of our future?
Is AI the Spice of our future?
 
Mentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantesMentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantes
 
1º Encontro Científico TCEdu
1º Encontro Científico TCEdu1º Encontro Científico TCEdu
1º Encontro Científico TCEdu
 
Tecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicialTecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicial
 
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunosAVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
 
AVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunosAVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunos
 
chmod 777 education
chmod 777 educationchmod 777 education
chmod 777 education
 
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
 
Tecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho práticoTecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho prático
 
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
 
chmod 777 education
chmod 777 educationchmod 777 education
chmod 777 education
 
SAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning EnvironmentSAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning Environment
 
SAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativoSAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativo
 
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCARepensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
 
T20_LM3: APIs e Scoreoid
T20_LM3: APIs e ScoreoidT20_LM3: APIs e Scoreoid
T20_LM3: APIs e Scoreoid
 
T19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoT19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificação
 
T18_LM3: Ajax
T18_LM3: AjaxT18_LM3: Ajax
T18_LM3: Ajax
 
T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)
 
T15_T16_LM3: Mais objetos do Javascript (2013-2014)
T15_T16_LM3: Mais objetos do Javascript (2013-2014)T15_T16_LM3: Mais objetos do Javascript (2013-2014)
T15_T16_LM3: Mais objetos do Javascript (2013-2014)
 
T14_LM3: Animação (2013-2014)
T14_LM3: Animação (2013-2014)T14_LM3: Animação (2013-2014)
T14_LM3: Animação (2013-2014)
 

LabMM3 - Aula teórica 03

  • 1. Introdução à algoritmia Carlos Santos LabMM 3 - NTC - DeCA - UA Aula 03, 19-09-2011
  • 2. Problema 1 • Construir um algoritmo para trocar os objetos entre as duas mãos.
  • 3. Problema 1 • Construir um algoritmo para trocar os objetos entre as duas mãos. • Regra 1: Em qualquer momento, uma mão só pode ter um objeto; • Regra 2: Qualquer objeto tem que estar sempre em contacto com uma mão.
  • 4. Problema 1 - solução
  • 5. Problema 1 - solução - algoritmo INÍCIO colocar bolaAzul na mãoA; colocar bolaLaranja na mãoB; trocar bola na mãoA para a mãoC; trocar bola na mãoB para a mãoA; trocar bola na mãoC para a mãoB; libertar mãoC; FIM
  • 6. Um programa... • ... serve para processar informação! • para a informação ser processada ela tem que ser armazenada no computador. • numa linguagem de programação, são as variáveis que permitem armazenar informação. • uma variável simples apenas pode conter um elemento de informação; • o tipo de informação armazenada numa variável influencia as operações com a qual esta pode ser utilizada; • o limite do número de variáveis é essencialmente determinado pela espaço de armazenamento disponível no computador.
  • 7. Problema 1 - solução - programa INÍCIO var a = “Azul”; var b = “Laranja”; var c = a; a = b; b = c; FIM
  • 8. Problema 1 - programa - como funciona? INÍCIO var a = “Azul”; var b = “Laranja”; var c = a; RAM a = b; b = c; FIM vamos ver no quadro o funcionamento passo-a-passo!
  • 9. Problema 1 - programa - como funciona? INÍCIO var a = “Azul”; var b = “Laranja”; var c = a; a = b; b = c; FIM resultado final em RAM de acordo com a simulação realizada na aula
  • 10. Variáveis: espaço em memória • Qual o espaço mínimo ocupado por uma variável para armazenar o texto “Azul”? • Qual o espaço ocupado para armazenar um carácter? • a resposta está na tabela ASCII (http://www.asciitable.com/)
  • 11. Tabelas ASCII 0..255 = 256 valores 256 = 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 = 28 2 corresponde à base binária: 0 ou 1 (1 bit) 8 é o número de símbolos 8 bits = 1 Byte por elemento ASCII
  • 12. Variáveis: espaço em memória • Qual o espaço mínimo ocupado por uma variável para armazenar o texto “Azul”? •A z u l • 65 122 119 108 (4 Bytes) • 01000001 01111010 01110101 01101100 (32 bits)
  • 13. Problema 2 • Ler 3 números inteiros e apresentar o maior dos valores introduzidos.
  • 14. Problema 2 - questões? • Ler 3 números inteiros e apresentar o maior dos valores introduzidos. • quantas variáveis são necessárias? • como determinar o maior de 3 números inteiros?
  • 15. Problema 2 - algoritmo INÍCIO ler dados de entrada; determinar o maior valor; escrever resultado final; FIM
  • 16. Problema 2 - algoritmo INÍCIO ler dados de entrada (num1, num2, num3); determinar o maior valor (num1, num2, num3, maior); escrever resultado final (maior); FIM
  • 17. Problema 2 - algoritmo INÍCIO ler (num1); ler (num2); ler (num3); maior = num1; SE num2 > maior ENTÃO maior = num2; FIM SE SE num3 > maior ENTÃO maior = num3; FIM SE escrever (maior); FIM
  • 18. Problema 2 - programa INÍCIO var num1 = lerValor(); var num2 = lerValor(); var num3 = lerValor(); var maior = num1; SE num2 > maior ENTÃO RAM maior = num2; FIM SE SE num3 > maior ENTÃO maior = num3; FIM SE escrever (maior); FIM vamos ver no quadro o funcionamento passo-a-passo!
  • 19. Problema 2 - outras soluções? • Será possível encontrar uma solução que só utilize duas variáveis simples? • Se sim, apresentar solução no grupo do FB; • Identificar vantagens e desvantagens dessa possível solução.
  • 20. Próxima aula • Javascript! • como escrever? • como ler? • como armazenar informação? • ...