SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
Introdução à algoritmia
Carlos Santos
LabMM 3 - NTC - DeCA - UA
Aula 02, 13-09-2013
O que é um programa?
• Um programa é um conjunto de instruções que:
• tem como objetivo a resolução de um ou vários problemas;
• é normalmente escrito com o apoio de uma linguagem de programação;
• é interpretado e executado por uma máquina/computador.
O que é programar?
• É o ato de ordenar um conjunto de instruções pré-definidas de forma
lógica, com o objetivo de resolver um problema.
• O que é a lógica ?
• “É a ciência que estuda as leis e critérios de validade que regem o
pensamento e a demonstração, ou seja, ciência dos princípios formais
do raciocínio.” (Manzano, 2000: 3)
• Usar o “raciocínio” lógico implica compreender os processos de
geração de conhecimento, implica seguir uma sequência coerente e
regular de acontecimentos.
Passos a seguir no ato de programar
1. Definir o problema e identificar todas as suas especificidades;
2. Escolher a estratégia ou método para a resolução do problema;
3. Resolver o problema numa sequência lógica de instruções;
4. Codificar essas instruções numa linguagem de programação (JavaScript,
PHP, Actionscript, Pascal, Java, C, C++, Objective C,….);
5. Testar e corrigir erros;
6. Documentar o programa.
• 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: Uma mão só pode segurar um objeto;
• Regra 2: Os objetos têm de estar sempre em contacto com uma mão.
Problema 1 - regras
Problema 1 - solução
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
Problema 1 - solução - algoritmo
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, as variáveis 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 influência as
operações na qual esta pode ser utilizada;
• o limite do número de variáveis é essencialmente determinado pela
espaço de armazenamento disponível no computador.
• para que uma variável possa ser processada é obrigatório que esteja
armazenada na memória do computador.
INÍCIO
var a = “Azul”;
var b = “Laranja”;
var c = a;
a = b;
b = c;
FIM
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?
RAM
vamos ver no quadro o funcionamento passo-a-passo!
INÍCIO
var a = “Azul”;
var b = “Laranja”;
var c = a;
a = b;
b = c;
FIM
Problema 1 - programa - como funciona?
resultado final em RAM de acordo com a simulação realizada na aula
“Laranja”
“Azul”
“Azul”
a
b
c
Curiosidade
• um simulador online de execução de código em Python
• http://www.pythontutor.com/visualize.html
Variáveis: espaço em memória
• Qual o espaço 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
• Escrever um algoritmo que leia três números inteiros e apresente o maior dos
valores introduzidos.
Problema 2 - questões?
• Escrever um algoritmo que leia três números inteiros e apresente o maior dos
valores introduzidos.
• quantas variáveis são necessárias?
• como determinar o maior de 3 números inteiros?
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 - algoritmo
INÍCIO
var num1 = lerValor();
var num2 = lerValor();
var num3 = lerValor();
var 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
RAM
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 SAPO Campus;
• Identificar vantagens e desvantagens dessa possível solução.
Próxima aula
• Javascript!
• para que serve?
• como ler?
• como armazenar informação?
• como escrever?
• ...

Weitere ähnliche Inhalte

Was ist angesagt?

Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...tdc-globalcode
 
Int. à Logica de Programação
Int. à Logica de ProgramaçãoInt. à Logica de Programação
Int. à Logica de Programaçãoamansilha
 
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 - Aula08André Phillip Bertoletti
 
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 - Aula01André Phillip Bertoletti
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascalangelicamenegassi
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação12anogolega
 
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 AlgoritmosMario Jorge Pereira
 
Maratona de Programação
Maratona de ProgramaçãoMaratona de Programação
Maratona de ProgramaçãoMarcos Castro
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à ProgramaçãoMario Sergio
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoRegis Magalhães
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1engenhariadecomputacao
 
Aula 02 - Lógica de Programação
Aula 02 - Lógica de ProgramaçãoAula 02 - Lógica de Programação
Aula 02 - Lógica de ProgramaçãoAislan Rafael
 
Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosElaine Cecília Gatto
 
Como usar algoritmos e fluxogramas
Como usar algoritmos e fluxogramasComo usar algoritmos e fluxogramas
Como usar algoritmos e fluxogramasKleber Jacinto
 

Was ist angesagt? (20)

Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
 
Int. à Logica de Programação
Int. à Logica de ProgramaçãoInt. à Logica de Programação
Int. à Logica 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
 
Aula01 - Logica de Programação
Aula01 - Logica de ProgramaçãoAula01 - Logica de Programação
Aula01 - Logica de Programação
 
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
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação
 
Algoritmo - tipos de dados
Algoritmo - tipos de dadosAlgoritmo - tipos de dados
Algoritmo - tipos de dados
 
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
 
Maratona de Programação
Maratona de ProgramaçãoMaratona de Programação
Maratona de Programação
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 Algoritmo
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
 
Aula 02 - Lógica de Programação
Aula 02 - Lógica de ProgramaçãoAula 02 - Lógica de Programação
Aula 02 - Lógica de Programação
 
Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Como usar algoritmos e fluxogramas
Como usar algoritmos e fluxogramasComo usar algoritmos e fluxogramas
Como usar algoritmos e fluxogramas
 

Ähnlich wie T02_LM3: Introdução à algoritmia (2013-2014)

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 2Robson Ferreira
 
Algoritmos, Inteligência Artificial e Políticas Públicas
Algoritmos, Inteligência Artificial e Políticas PúblicasAlgoritmos, Inteligência Artificial e Políticas Públicas
Algoritmos, Inteligência Artificial e Políticas PúblicasNathalia Sautchuk Patricio
 
(A02) LabMM3 - Introdução à programação
(A02) LabMM3 - Introdução à programação(A02) LabMM3 - Introdução à programação
(A02) LabMM3 - Introdução à programaçãoCarlos Santos
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascalangelicamenegassi
 
Aula 04 - Introducao a Algoritmos.pdf
Aula 04 - Introducao a Algoritmos.pdfAula 04 - Introducao a Algoritmos.pdf
Aula 04 - Introducao a Algoritmos.pdfEMERSONMUNIZDECARVAL
 
Pensamento Computacional.................................
Pensamento Computacional.................................Pensamento Computacional.................................
Pensamento Computacional.................................AnabelaAlferes
 
Linguagem c wellington telles - aula 01
Linguagem c   wellington telles - aula 01Linguagem c   wellington telles - aula 01
Linguagem c wellington telles - aula 01profwtelles
 
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çãoRobson Ferreira
 
Apostila algoritmos
Apostila algoritmosApostila algoritmos
Apostila algoritmosPedro Nelson
 
4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptxPatrícia Melo
 
Apresentaçao - Introdução à Computação.pptx
Apresentaçao - Introdução à Computação.pptxApresentaçao - Introdução à Computação.pptx
Apresentaçao - Introdução à Computação.pptxscoffee633
 
Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxPaulo Cardoso
 

Ähnlich wie T02_LM3: Introdução à algoritmia (2013-2014) (20)

Analise Algoritmos
Analise AlgoritmosAnalise Algoritmos
Analise Algoritmos
 
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
 
Algoritmos, Inteligência Artificial e Políticas Públicas
Algoritmos, Inteligência Artificial e Políticas PúblicasAlgoritmos, Inteligência Artificial e Políticas Públicas
Algoritmos, Inteligência Artificial e Políticas Públicas
 
(A02) LabMM3 - Introdução à programação
(A02) LabMM3 - Introdução à programação(A02) LabMM3 - Introdução à programação
(A02) LabMM3 - Introdução à programação
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Aula1
Aula1Aula1
Aula1
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Aula 04 - Introducao a Algoritmos.pdf
Aula 04 - Introducao a Algoritmos.pdfAula 04 - Introducao a Algoritmos.pdf
Aula 04 - Introducao a Algoritmos.pdf
 
Pensamento Computacional.................................
Pensamento Computacional.................................Pensamento Computacional.................................
Pensamento Computacional.................................
 
Linguagem c wellington telles - aula 01
Linguagem c   wellington telles - aula 01Linguagem c   wellington telles - aula 01
Linguagem c wellington telles - aula 01
 
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
 
Apostila algoritmos
Apostila algoritmosApostila algoritmos
Apostila algoritmos
 
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
 
Apresentaçao - Introdução à Computação.pptx
Apresentaçao - Introdução à Computação.pptxApresentaçao - Introdução à Computação.pptx
Apresentaçao - Introdução à Computação.pptx
 
Curso de Linguagem C
Curso de Linguagem CCurso de Linguagem C
Curso de Linguagem C
 
Fórum respostas
Fórum  respostasFórum  respostas
Fórum respostas
 
Hardware
HardwareHardware
Hardware
 
Aula01
Aula01Aula01
Aula01
 
Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptx
 

Mehr von 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 estudantesCarlos Santos
 
1º Encontro Científico TCEdu
1º Encontro Científico TCEdu1º Encontro Científico TCEdu
1º Encontro Científico TCEduCarlos 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 inicialCarlos 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 alunosCarlos 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 alunosCarlos 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áticoCarlos 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
 
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 EnvironmentCarlos Santos
 
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 CampusCarlos 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 projectCarlos Santos
 
SAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativoSAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativoCarlos 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 DeCACarlos Santos
 
T20_LM3: APIs e Scoreoid
T20_LM3: APIs e ScoreoidT20_LM3: APIs e Scoreoid
T20_LM3: APIs e ScoreoidCarlos 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çãoCarlos 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
 

Mehr von 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
 
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
 
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)
 

Kürzlich hochgeladen

Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxLuizHenriquedeAlmeid6
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxMarcosLemes28
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVlenapinto
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptxJssicaCassiano2
 
3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptxMarlene Cunhada
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...azulassessoria9
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024azulassessoria9
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLidianePaulaValezi
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubeladrianaguedesbatista
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...azulassessoria9
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...azulassessoria9
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do séculoBiblioteca UCS
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxFlviaGomes64
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.denisecompasso2
 
Slides 9º ano 2024.pptx- Geografia - exercicios
Slides 9º ano 2024.pptx- Geografia - exerciciosSlides 9º ano 2024.pptx- Geografia - exercicios
Slides 9º ano 2024.pptx- Geografia - exerciciosGentil Eronides
 
Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfJuliana Barbosa
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022LeandroSilva126216
 
Falando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdFalando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdLeonardoDeOliveiraLu2
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxMarcosLemes28
 

Kürzlich hochgeladen (20)

Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XV
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.
 
Slides 9º ano 2024.pptx- Geografia - exercicios
Slides 9º ano 2024.pptx- Geografia - exerciciosSlides 9º ano 2024.pptx- Geografia - exercicios
Slides 9º ano 2024.pptx- Geografia - exercicios
 
Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdf
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022
 
Novena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João EudesNovena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João Eudes
 
Falando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdFalando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introd
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 

T02_LM3: Introdução à algoritmia (2013-2014)

  • 1. Introdução à algoritmia Carlos Santos LabMM 3 - NTC - DeCA - UA Aula 02, 13-09-2013
  • 2. O que é um programa? • Um programa é um conjunto de instruções que: • tem como objetivo a resolução de um ou vários problemas; • é normalmente escrito com o apoio de uma linguagem de programação; • é interpretado e executado por uma máquina/computador.
  • 3. O que é programar? • É o ato de ordenar um conjunto de instruções pré-definidas de forma lógica, com o objetivo de resolver um problema. • O que é a lógica ? • “É a ciência que estuda as leis e critérios de validade que regem o pensamento e a demonstração, ou seja, ciência dos princípios formais do raciocínio.” (Manzano, 2000: 3) • Usar o “raciocínio” lógico implica compreender os processos de geração de conhecimento, implica seguir uma sequência coerente e regular de acontecimentos.
  • 4. Passos a seguir no ato de programar 1. Definir o problema e identificar todas as suas especificidades; 2. Escolher a estratégia ou método para a resolução do problema; 3. Resolver o problema numa sequência lógica de instruções; 4. Codificar essas instruções numa linguagem de programação (JavaScript, PHP, Actionscript, Pascal, Java, C, C++, Objective C,….); 5. Testar e corrigir erros; 6. Documentar o programa.
  • 5. • Construir um algoritmo para trocar os objetos entre as duas mãos. Problema 1
  • 6. • Construir um algoritmo para trocar os objetos entre as duas mãos. • Regra 1: Uma mão só pode segurar um objeto; • Regra 2: Os objetos têm de estar sempre em contacto com uma mão. Problema 1 - regras
  • 7. Problema 1 - solução
  • 8. 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 Problema 1 - solução - algoritmo
  • 9. 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, as variáveis 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 influência as operações na qual esta pode ser utilizada; • o limite do número de variáveis é essencialmente determinado pela espaço de armazenamento disponível no computador. • para que uma variável possa ser processada é obrigatório que esteja armazenada na memória do computador.
  • 10. INÍCIO var a = “Azul”; var b = “Laranja”; var c = a; a = b; b = c; FIM Problema 1 - solução - programa
  • 11. INÍCIO var a = “Azul”; var b = “Laranja”; var c = a; a = b; b = c; FIM Problema 1 - programa - como funciona? RAM vamos ver no quadro o funcionamento passo-a-passo!
  • 12. INÍCIO var a = “Azul”; var b = “Laranja”; var c = a; a = b; b = c; FIM Problema 1 - programa - como funciona? resultado final em RAM de acordo com a simulação realizada na aula “Laranja” “Azul” “Azul” a b c
  • 13. Curiosidade • um simulador online de execução de código em Python • http://www.pythontutor.com/visualize.html
  • 14. Variáveis: espaço em memória • Qual o espaço 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/)
  • 15. 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
  • 16. 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)
  • 17. Problema 2 • Escrever um algoritmo que leia três números inteiros e apresente o maior dos valores introduzidos.
  • 18. Problema 2 - questões? • Escrever um algoritmo que leia três números inteiros e apresente o maior dos valores introduzidos. • quantas variáveis são necessárias? • como determinar o maior de 3 números inteiros?
  • 19. INÍCIO ler dados de entrada; determinar o maior valor; escrever resultado final; FIM Problema 2 - algoritmo
  • 20. 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
  • 21. 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 - algoritmo
  • 22. INÍCIO var num1 = lerValor(); var num2 = lerValor(); var num3 = lerValor(); var 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 RAM vamos ver no quadro o funcionamento passo-a-passo!
  • 23. 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 SAPO Campus; • Identificar vantagens e desvantagens dessa possível solução.
  • 24. Próxima aula • Javascript! • para que serve? • como ler? • como armazenar informação? • como escrever? • ...