SlideShare a Scribd company logo
1 of 24
Download to read offline
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?
• ...

More Related Content

What's hot

Int. à Logica de Programação
Int. à Logica de ProgramaçãoInt. à Logica de Programação
Int. à Logica de Programação
amansilha
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
angelicamenegassi
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação
12anogolega
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 Algoritmo
Regis 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 1
engenhariadecomputacao
 

What's hot (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
 

Similar to 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 2
Robson Ferreira
 
(A02) LabMM3 - Introdução à programação
(A02) LabMM3 - Introdução à programação(A02) LabMM3 - Introdução à programação
(A02) LabMM3 - Introdução à programação
Carlos Santos
 
Pensamento Computacional.................................
Pensamento Computacional.................................Pensamento Computacional.................................
Pensamento Computacional.................................
AnabelaAlferes
 
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
 

Similar to 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
 

More from 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
 
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
 
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
 
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
 

More from 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)
 

Recently uploaded

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
lenapinto
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturas
rfmbrandao
 
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
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
marlene54545
 
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
azulassessoria9
 
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
 

Recently uploaded (20)

Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
Apresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaApresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União Europeia
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 
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
 
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
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturas
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
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
 
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 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.
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
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
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
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
 
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...
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 
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
 

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