SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
Aula 01
Introdução a Algoritmos
Ênio Prates Vasconcelos Filho
Faculdades Alfa
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
Tópicos
Δ O que é um Algoritmo;
Δ Por que criamos algoritmos?
Δ Tipos de Algoritmos;
Δ Linguagens de Baixo x Alto nível;
Δ Exemplos;
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
O que é um Algoritmo?
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
O que é um algoritmo?
Δ Sequência finita de instruções, ordenadas de forma lógica para a resolução
de uma determinada tarefa ou problema;
Δ Não necessariamente envolve aspectos computacionais. Ex.:
• Uma receita de bolo,
• Trocar um pneu de carro,
• Trocar uma lâmpada...;
Δ Um algoritmo também não representa, necessariamente, um programa
de computador e sim os passos necessários para realizar uma tarefa ou
solucionar um problema, seja de que área for.
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
O que é um algoritmo?
Δ Exemplo: Sequência para fritar um ovo:
1. Retirar o ovo da geladeira;
2. Colocar a frigideira no fogo;
3. Colocar óleo;
4. Esperar até o óleo ficar quente;
5. Quebrar o ovo separando a casca;
6. Colocar o conteúdo do ovo na frigideira;
7. Esperar um minuto;
8. Retirar o ovo da frigideira;
9. Apagar o fogo;
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
O que é um algoritmo?
Δ Tal sequência é um algoritmo? Vejamos...
• A sequência anterior possui instruções finitas e ordenadas?
o SIM. 9 instruções ordenadas;
o O início de uma instrução depende da conclusão de uma instrução anterior;
Δ O objetivo da sequência foi atingido?
• SIM. O ovo foi frito;
Δ Logo, a sequência anterior é um algoritmo!
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
O que é um Algoritmo?
Δ Todo algoritmo precisa possuir as seguintes características:
• Entrada: zero ou mais valores de entrada;
• Saída: pelo menos um valor é produzido;
• Clareza ou Definição: cada passo/instrução/etapa de um algoritmo
deve ser claro e não ambíguo;
• Efetividade: cada passo/instrução/etapa de um algoritmo deve ser
executável;
• Finitude: o algoritmo deve ter um conjunto finito de passos.
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
O que é um algoritmo?
⚫ Exercício
– Ordene e estruture uma sequência para a realização de uma
ligação telefônica em um orelhão.
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
O que é um algoritmo?
Δ Uma possível solução:
1. Tirar o telefone do gancho;
2. Ouvir o sinal de linha;
3. Introduzir o cartão no orelhão;
4. Teclar o número desejado;
5. Conversar;
6. Desligar;
7. Tirar o cartão;
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
O que é um algoritmo?
Δ A solução anterior... mais robusta:
1. Tirar o telefone do gancho;
2. Ouvir o sinal de linha;
3. Introduzir o cartão no orelhão;
4. Teclar o número desejado;
5. Se chamar e alguém atender...
1. Conversar;
2. Desligar;
3. Retirar o cartão;
6. Senão...
1. Desligar;
2. Voltar para a instrução 1;
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
Desafio
Δ Escreva um algoritmo que ajude o homem do barco a levar o lobo, a ovelha
e a caixa de verduras para o outro lado do lago. Utilize a descrição narrativa
para representar o algoritmo. Lembre-se:
• Lobos comem ovelhas e ovelhas comem as verduras quando o homem está na
outra margem!
• O Barco tem apenas dois lugares;
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
Desafio
Δ Solução:
1. Pega a ovelha
2. Vai para a outra margem
3. Deixa a ovelha
4. Volta a margem inicial
5. Pega a caixa de verduras
6. Vai para a outra margem
7. Deixa a caixa de verduras e pega a ovelha
8. Volta a margem inicial
9. Deixa a ovelha e pega o lobo
10. Vai para a outra margem
11. Deixa o lobo
12. Volta a margem inicial
13. Pega a ovelha
14. Vai para a outra margem
15. Deixa a ovelha
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
Por que criamos algoritmos?
Δ A linguagem natural não pode ser
interpretada por computadores;
Δ Computadores são projetados para
executar tarefas bem definidas a partir
de instruções;
Δ Para desenvolver software, utilizamos
linguagens de programação...
Δ A linguagem algorítmica é similar a
uma linguagem de programação;
Δ Logo, aprendendo a criar algoritmos,
estamos aptos a programar em
qualquer linguagem de programação;
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
Por que programar?
Δ No fundo, programar é ensinar um computador a resolver problemas!
Δ Mesmo que você não seja um programador no futuro, programar ajuda a
despertar as seguintes habilidades:
• Ajuda a encontrar a solução para problemas;
• Ensina a persistir;
• Desperta para o mundo;
• Estimula a criatividade;
• Desperta a paixão em aprender;
• Ensina a trabalhar coletivamente;
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
Tipos de algoritmos
⚫ Descrição Narrativa;
⚫ Fluxograma;
⚫ Pseudocódigo, Português Estruturado
ou Portugol;
SUBJETIVIDADE
PRECISÃO
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
Tipos de algoritmos
Δ Descrição Narrativa
• Utiliza-se preferencialmente um verbo por frase;
• Formada por frases curtas e simples;
• É objetiva;
• Evita palavras com sentido dúbio;
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
Tipos de algoritmos
Δ Descrição Narrativa – Exemplo:
• Dobro de um número (dobro = número x 2)
oDigitar um número;
oGravar em uma variável;
oMultiplicar o número digitado por 2;
oGravar o resultado em outra variável;
oMostrar o resultado da operação;
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
Tipos de algoritmos
Δ Fluxograma
• Descrevem o fluxo de ação de um determinado trabalho lógico;
• Usa símbolos convencionais, permitindo poucas variações;
• Representados por símbolos geométricos;
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
Tipos de algoritmos
Δ Fluxograma – Conjunto de Símbolos:
INÍCIO OU FIM DE
ALGORITMO
CÁLCULO OU
ATRIBUIÇÃO DE VALOR
ENTRADA DE
DADOS
SAÍDA DE DADOS
DECISÃO
FLUXO DE DADOS
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
Tipos de algoritmos
Δ Exemplo:
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
Tipos de algoritmos
Δ Exemplo: Faça um algoritmo que calcula e apresenta a multiplicação entre
dois números.
INÍCIO
Calcule a Multiplicação
M = N1 * N2
Leia Notas
N1, N2
Apresente Resultado:
M FIM
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
Tipos de algoritmos
Δ Exercício: Faça um algoritmo (narrativa) que calcula a média de três notas
de um determinado aluno e informa se o aluno está aprovado ou
reprovado.
• O aluno estará aprovado se sua média for maior ou igual a 6;
Δ Solução:
• Lê as Notas N1, N2 e N3;
• Calcula a MÉDIA entre N1, N2 e N3;
• Se MÉDIA é maior que 6,
oO Aluno está aprovado;
• Senão,
oO Aluno está Reprovado;
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
Tipos de algoritmos
Δ Exercício: Faça um algoritmo (fluxograma) que calcula a média de três notas
de um determinado aluno e informa se o aluno está aprovado ou
reprovado.
• O aluno estará aprovado se sua média for maior ou igual a 6;
INÍCIO
CALCULE A MÉDIA
MEDIA = (N1 + N2 + N3) / 3
LEIA NOTAS:
N1, N2, N3
APROVADO
FIM
MEDIA
>= 6
SIM NÃO
REPROVADO
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
Tipos de algoritmos
Δ Português Estruturado (Portugol)
• Linguagem mais restrita que o português em linguagem natural;
• Simplificação extrema do português;
• Significados bem definidos para todos os termos utilizados nas instruções;
• Possui um conjunto de palavras e regras específicas (sintaxe da linguagem);
• Normalmente as implementações são feitas em papel, escritas a mão;
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
Tipos de algoritmos
Δ Forma básica de um algoritmo em portugol:
• ALGORITMO
oDECLARE/DEFINA
• FIM_ALGORITMO
VARIÁVEIS
INSTRUÇÕES
TIPOS DE DADOS
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
Tipos de algoritmos
Δ Macarrão Instantâneo:
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
Tipos de algoritmos
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
Tipos de algoritmos
Δ Exemplo: Faça um algoritmo que calcula e apresenta a multiplicação entre
dois números.
ALGORITMO
DECLARE N1, N2, M NUMÉRICO
ESCREVA “Digite dois números”
LEIA N1, N2
M <- N1 * N2
ESCREVA “MULTIPLICAÇÃO = ” , M
FIM_ALGORITMO
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
Tipos de Algoritmos
Δ Exemplo: Faça um algoritmo que calcula e apresenta a média entre quatro
números.
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
O computador não nos entende ...
Δ O computador não entende linguagem natural, pseudocódigo ou
fluxograma.
Δ Problema de comunicação !
Fala alguma coisa
!
011011011
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
O computador não nos entende ...
PROBLEMA
SOLUÇÃO
ALGORITMO
Linguagens de Programação:
JAVA, PHP, C, C++, C#, RUBY, COBOL, DELPHI .....
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
Computadores conversam ... ?
• Qual linguagem os computadores entendem ?
• Qual o problema com a linguagem de máquina ?
• Palavras são mais fáceis de lembrar do que sequencias de zeros e uns.
• Qual instrução é mais fácil de ler:
AL=1;
mov $1, AL
10110000
01100001
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
Linguagens de baixo nível
movl $5, %eax
movl $1, %edx
.L4:
imull %eax, %edx
decl %eax
testl %eax, $0
jg .L4
Coloque 5 em eax
Coloque 1 em edx
Multiplique eax por edx e coloque o
resultado em edx
Subtraia 1 de eax
Teste se eax é 0
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
Linguagens de Alto nível
Δ Utiliza uma linguagem cuja sintaxe é mais próxima da linguagem natural;
Δ Principais características:
• Alta legibilidade;
• Independente da arquitetura do computador (alta portabilidade);
• Fácil manipulação (uso de abstrações);
• Maior confiabilidade;
• Maior produtividade do programador;
• Usada por não-especialistas.
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
Linguagens de Alto nível - C
#include<stdio.h>
int main()
{
int n1, n2, p3; //n1 = numero 1 n2 = numero 2 p3 = produto
printf("Sejam Bem Vindos!!n");
printf("Digite o primeiro Numeron");
scanf("%d",&n1);
printf("Digite o Segundo Numeron");
scanf("%d",&n2);
p3=n2*n1 ;
printf("O Resultado eh: %dn",p3);
}
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
Mas o computador não entende só zeros e uns ... ?
Δ Linguagem de alto nível permite uma maior produtividade ao programador
e uma maior legibilidade, confiabilidade e portabilidade aos programas
desenvolvidos.
Δ Linguagem de máquina é a linguagem que o computador entende e
consegue executar.
Δ Linguagem de montagem usa mnemônicos para facilitar um pouco o
trabalho do programador, mas apresentam os mesmos fundamentos da
linguagem de máquina.
TRADUÇÃO
I
n
t
r
o
d
u
ç
ã
o
a
A
l
g
o
r
i
t
m
o
s ALGORITMOS - 02/2015 – ÊNIO FILHO
Resumindo
HARDWARE
SISTEMA OPERACIONAL
Compilador ou
Interpretador
Linguagem
de máquina
Linguagem
de alto nível
DÚVIDAS?
Contatos:
E-mail: enio.filho@alfa.br
Skype: eniopvf
Twitter: eniopvf
Bibliografia:
• MANZANO, José Augusto N. G.; OLIVEIRA, Jayr Figueiredo de. Algoritmos: lógica para
desenvolvimento de programação de computadores. 18ª. ed. São Paulo: Érica, 2006. 236 p. ISBN
857194718;
• FORBELLONE, André Luiz Villar; EBERSPACHER, Henri Frederico. Lógica de programação: a construção
de algoritmos e estruturas de dados. 3ª. ed. São Paulo (SP): Pearson Prentice Hall, 2005. 195 p. ISBN
9788576050247;

Mais conteúdo relacionado

Semelhante a Algoritmos e LP - Aula 01 - Introdução a Algoritmos.pdf

Algoritmos e LP - Aula 03 - Expressões Aritméticas.pdf
Algoritmos e LP - Aula 03 - Expressões Aritméticas.pdfAlgoritmos e LP - Aula 03 - Expressões Aritméticas.pdf
Algoritmos e LP - Aula 03 - Expressões Aritméticas.pdfEnio Filho
 
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxAula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxaronoliveira3
 
Aula 2 - Lógica de Programação
Aula 2 - Lógica de ProgramaçãoAula 2 - Lógica de Programação
Aula 2 - Lógica de ProgramaçãoInstituto CENTEC
 
Lógica parte 1 - Introdução
Lógica   parte 1 - IntroduçãoLógica   parte 1 - Introdução
Lógica parte 1 - IntroduçãoWallison Parreira
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Mariana Camargo
 
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
 
oficina de robótica educativa plano de curso
oficina de robótica educativa plano de cursooficina de robótica educativa plano de curso
oficina de robótica educativa plano de cursoRodrigo Moraes Barbosa
 
2.0_Programacao_PRG29002_-_Pseudocódigo.pdf
2.0_Programacao_PRG29002_-_Pseudocódigo.pdf2.0_Programacao_PRG29002_-_Pseudocódigo.pdf
2.0_Programacao_PRG29002_-_Pseudocódigo.pdfJustinoFontes
 
Aula 1 - Lógica de Programação.pptx
Aula 1 - Lógica de Programação.pptxAula 1 - Lógica de Programação.pptx
Aula 1 - Lógica de Programação.pptxAnalderMagalhaes
 

Semelhante a Algoritmos e LP - Aula 01 - Introdução a Algoritmos.pdf (20)

Algoritmos e LP - Aula 03 - Expressões Aritméticas.pdf
Algoritmos e LP - Aula 03 - Expressões Aritméticas.pdfAlgoritmos e LP - Aula 03 - Expressões Aritméticas.pdf
Algoritmos e LP - Aula 03 - Expressões Aritméticas.pdf
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxAula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
 
Aula 2 - Lógica de Programação
Aula 2 - Lógica de ProgramaçãoAula 2 - Lógica de Programação
Aula 2 - Lógica de Programação
 
Algoritimo - Raul
Algoritimo - RaulAlgoritimo - Raul
Algoritimo - Raul
 
Lógica parte 1 - Introdução
Lógica   parte 1 - IntroduçãoLógica   parte 1 - Introdução
Lógica parte 1 - Introdução
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
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 - Pascal
Algoritmos - PascalAlgoritmos - Pascal
Algoritmos - Pascal
 
LP1 P01 - Python.pdf
LP1 P01 - Python.pdfLP1 P01 - Python.pdf
LP1 P01 - Python.pdf
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Conceito de algoritmo
Conceito de algoritmoConceito de algoritmo
Conceito de algoritmo
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
Módulo1 aula4
Módulo1 aula4Módulo1 aula4
Módulo1 aula4
 
oficina de robótica educativa plano de curso
oficina de robótica educativa plano de cursooficina de robótica educativa plano de curso
oficina de robótica educativa plano de curso
 
Aula02
Aula02Aula02
Aula02
 
2.0_Programacao_PRG29002_-_Pseudocódigo.pdf
2.0_Programacao_PRG29002_-_Pseudocódigo.pdf2.0_Programacao_PRG29002_-_Pseudocódigo.pdf
2.0_Programacao_PRG29002_-_Pseudocódigo.pdf
 
Aula 1 - Lógica de Programação.pptx
Aula 1 - Lógica de Programação.pptxAula 1 - Lógica de Programação.pptx
Aula 1 - Lógica de Programação.pptx
 
Logica de Programacao
Logica de ProgramacaoLogica de Programacao
Logica de Programacao
 

Mais de Enio Filho

Algoritmos e LP - Aula 07 - Vetores e Introdução ao C.pdf
Algoritmos e LP - Aula 07 - Vetores e Introdução ao C.pdfAlgoritmos e LP - Aula 07 - Vetores e Introdução ao C.pdf
Algoritmos e LP - Aula 07 - Vetores e Introdução ao C.pdfEnio Filho
 
Algoritmos e LP - Aula 08 - Linguagem C - p1.pdf
Algoritmos e LP - Aula 08 - Linguagem C - p1.pdfAlgoritmos e LP - Aula 08 - Linguagem C - p1.pdf
Algoritmos e LP - Aula 08 - Linguagem C - p1.pdfEnio Filho
 
Algoritmos e LP - Aula 04 - Estruturas de Repeticao - p1.pdf
Algoritmos e LP - Aula 04 - Estruturas de Repeticao - p1.pdfAlgoritmos e LP - Aula 04 - Estruturas de Repeticao - p1.pdf
Algoritmos e LP - Aula 04 - Estruturas de Repeticao - p1.pdfEnio Filho
 
Algoritmos e LP - Aula 09 - Linguagem C - p2.pdf
Algoritmos e LP - Aula 09 - Linguagem C - p2.pdfAlgoritmos e LP - Aula 09 - Linguagem C - p2.pdf
Algoritmos e LP - Aula 09 - Linguagem C - p2.pdfEnio Filho
 
Algoritmos e LP - Aula 05 - Estruturas de Repeticao - p2.pdf
Algoritmos e LP - Aula 05 - Estruturas de Repeticao - p2.pdfAlgoritmos e LP - Aula 05 - Estruturas de Repeticao - p2.pdf
Algoritmos e LP - Aula 05 - Estruturas de Repeticao - p2.pdfEnio Filho
 
Algoritmos e LP - Aula 06 - Estruturas de Repeticao p3 e Vetores.pdf
Algoritmos e LP - Aula 06 - Estruturas de Repeticao p3 e Vetores.pdfAlgoritmos e LP - Aula 06 - Estruturas de Repeticao p3 e Vetores.pdf
Algoritmos e LP - Aula 06 - Estruturas de Repeticao p3 e Vetores.pdfEnio Filho
 
Algoritmos e LP - Aula 00 - Introdução e Apresentação.pdf
Algoritmos e LP - Aula 00 - Introdução e Apresentação.pdfAlgoritmos e LP - Aula 00 - Introdução e Apresentação.pdf
Algoritmos e LP - Aula 00 - Introdução e Apresentação.pdfEnio Filho
 
Eica 2016.1 - Identificando e rastreando itens na era do IOT
Eica 2016.1 - Identificando e rastreando itens na era do IOTEica 2016.1 - Identificando e rastreando itens na era do IOT
Eica 2016.1 - Identificando e rastreando itens na era do IOTEnio Filho
 
Eica 2015.2 - Introdução ao IOT
Eica 2015.2 - Introdução ao IOTEica 2015.2 - Introdução ao IOT
Eica 2015.2 - Introdução ao IOTEnio Filho
 
Eica 2016.2 - Industria 4.0
Eica 2016.2 - Industria 4.0Eica 2016.2 - Industria 4.0
Eica 2016.2 - Industria 4.0Enio Filho
 
Iot - identificando e rastreando - PUC
Iot  - identificando e rastreando - PUCIot  - identificando e rastreando - PUC
Iot - identificando e rastreando - PUCEnio Filho
 

Mais de Enio Filho (11)

Algoritmos e LP - Aula 07 - Vetores e Introdução ao C.pdf
Algoritmos e LP - Aula 07 - Vetores e Introdução ao C.pdfAlgoritmos e LP - Aula 07 - Vetores e Introdução ao C.pdf
Algoritmos e LP - Aula 07 - Vetores e Introdução ao C.pdf
 
Algoritmos e LP - Aula 08 - Linguagem C - p1.pdf
Algoritmos e LP - Aula 08 - Linguagem C - p1.pdfAlgoritmos e LP - Aula 08 - Linguagem C - p1.pdf
Algoritmos e LP - Aula 08 - Linguagem C - p1.pdf
 
Algoritmos e LP - Aula 04 - Estruturas de Repeticao - p1.pdf
Algoritmos e LP - Aula 04 - Estruturas de Repeticao - p1.pdfAlgoritmos e LP - Aula 04 - Estruturas de Repeticao - p1.pdf
Algoritmos e LP - Aula 04 - Estruturas de Repeticao - p1.pdf
 
Algoritmos e LP - Aula 09 - Linguagem C - p2.pdf
Algoritmos e LP - Aula 09 - Linguagem C - p2.pdfAlgoritmos e LP - Aula 09 - Linguagem C - p2.pdf
Algoritmos e LP - Aula 09 - Linguagem C - p2.pdf
 
Algoritmos e LP - Aula 05 - Estruturas de Repeticao - p2.pdf
Algoritmos e LP - Aula 05 - Estruturas de Repeticao - p2.pdfAlgoritmos e LP - Aula 05 - Estruturas de Repeticao - p2.pdf
Algoritmos e LP - Aula 05 - Estruturas de Repeticao - p2.pdf
 
Algoritmos e LP - Aula 06 - Estruturas de Repeticao p3 e Vetores.pdf
Algoritmos e LP - Aula 06 - Estruturas de Repeticao p3 e Vetores.pdfAlgoritmos e LP - Aula 06 - Estruturas de Repeticao p3 e Vetores.pdf
Algoritmos e LP - Aula 06 - Estruturas de Repeticao p3 e Vetores.pdf
 
Algoritmos e LP - Aula 00 - Introdução e Apresentação.pdf
Algoritmos e LP - Aula 00 - Introdução e Apresentação.pdfAlgoritmos e LP - Aula 00 - Introdução e Apresentação.pdf
Algoritmos e LP - Aula 00 - Introdução e Apresentação.pdf
 
Eica 2016.1 - Identificando e rastreando itens na era do IOT
Eica 2016.1 - Identificando e rastreando itens na era do IOTEica 2016.1 - Identificando e rastreando itens na era do IOT
Eica 2016.1 - Identificando e rastreando itens na era do IOT
 
Eica 2015.2 - Introdução ao IOT
Eica 2015.2 - Introdução ao IOTEica 2015.2 - Introdução ao IOT
Eica 2015.2 - Introdução ao IOT
 
Eica 2016.2 - Industria 4.0
Eica 2016.2 - Industria 4.0Eica 2016.2 - Industria 4.0
Eica 2016.2 - Industria 4.0
 
Iot - identificando e rastreando - PUC
Iot  - identificando e rastreando - PUCIot  - identificando e rastreando - PUC
Iot - identificando e rastreando - PUC
 

Último

PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
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.pdfcomercial400681
 
INTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorINTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorEdvanirCosta
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSOLeloIurk1
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxMauricioOliveira258223
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaHELENO FAVACHO
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfHELENO FAVACHO
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfHELENO FAVACHO
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxLuizHenriquedeAlmeid6
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecniCleidianeCarvalhoPer
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdfLeloIurk1
 

Último (20)

PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
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
 
INTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorINTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de Professor
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptx
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 

Algoritmos e LP - Aula 01 - Introdução a Algoritmos.pdf

  • 1. Aula 01 Introdução a Algoritmos Ênio Prates Vasconcelos Filho Faculdades Alfa
  • 2. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO Tópicos Δ O que é um Algoritmo; Δ Por que criamos algoritmos? Δ Tipos de Algoritmos; Δ Linguagens de Baixo x Alto nível; Δ Exemplos;
  • 3. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO O que é um Algoritmo?
  • 4. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO O que é um algoritmo? Δ Sequência finita de instruções, ordenadas de forma lógica para a resolução de uma determinada tarefa ou problema; Δ Não necessariamente envolve aspectos computacionais. Ex.: • Uma receita de bolo, • Trocar um pneu de carro, • Trocar uma lâmpada...; Δ Um algoritmo também não representa, necessariamente, um programa de computador e sim os passos necessários para realizar uma tarefa ou solucionar um problema, seja de que área for.
  • 5. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO O que é um algoritmo? Δ Exemplo: Sequência para fritar um ovo: 1. Retirar o ovo da geladeira; 2. Colocar a frigideira no fogo; 3. Colocar óleo; 4. Esperar até o óleo ficar quente; 5. Quebrar o ovo separando a casca; 6. Colocar o conteúdo do ovo na frigideira; 7. Esperar um minuto; 8. Retirar o ovo da frigideira; 9. Apagar o fogo;
  • 6. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO O que é um algoritmo? Δ Tal sequência é um algoritmo? Vejamos... • A sequência anterior possui instruções finitas e ordenadas? o SIM. 9 instruções ordenadas; o O início de uma instrução depende da conclusão de uma instrução anterior; Δ O objetivo da sequência foi atingido? • SIM. O ovo foi frito; Δ Logo, a sequência anterior é um algoritmo!
  • 7. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO O que é um Algoritmo? Δ Todo algoritmo precisa possuir as seguintes características: • Entrada: zero ou mais valores de entrada; • Saída: pelo menos um valor é produzido; • Clareza ou Definição: cada passo/instrução/etapa de um algoritmo deve ser claro e não ambíguo; • Efetividade: cada passo/instrução/etapa de um algoritmo deve ser executável; • Finitude: o algoritmo deve ter um conjunto finito de passos.
  • 8. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO O que é um algoritmo? ⚫ Exercício – Ordene e estruture uma sequência para a realização de uma ligação telefônica em um orelhão.
  • 9. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO O que é um algoritmo? Δ Uma possível solução: 1. Tirar o telefone do gancho; 2. Ouvir o sinal de linha; 3. Introduzir o cartão no orelhão; 4. Teclar o número desejado; 5. Conversar; 6. Desligar; 7. Tirar o cartão;
  • 10. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO O que é um algoritmo? Δ A solução anterior... mais robusta: 1. Tirar o telefone do gancho; 2. Ouvir o sinal de linha; 3. Introduzir o cartão no orelhão; 4. Teclar o número desejado; 5. Se chamar e alguém atender... 1. Conversar; 2. Desligar; 3. Retirar o cartão; 6. Senão... 1. Desligar; 2. Voltar para a instrução 1;
  • 11. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO Desafio Δ Escreva um algoritmo que ajude o homem do barco a levar o lobo, a ovelha e a caixa de verduras para o outro lado do lago. Utilize a descrição narrativa para representar o algoritmo. Lembre-se: • Lobos comem ovelhas e ovelhas comem as verduras quando o homem está na outra margem! • O Barco tem apenas dois lugares;
  • 12. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO Desafio Δ Solução: 1. Pega a ovelha 2. Vai para a outra margem 3. Deixa a ovelha 4. Volta a margem inicial 5. Pega a caixa de verduras 6. Vai para a outra margem 7. Deixa a caixa de verduras e pega a ovelha 8. Volta a margem inicial 9. Deixa a ovelha e pega o lobo 10. Vai para a outra margem 11. Deixa o lobo 12. Volta a margem inicial 13. Pega a ovelha 14. Vai para a outra margem 15. Deixa a ovelha
  • 13. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO Por que criamos algoritmos? Δ A linguagem natural não pode ser interpretada por computadores; Δ Computadores são projetados para executar tarefas bem definidas a partir de instruções; Δ Para desenvolver software, utilizamos linguagens de programação... Δ A linguagem algorítmica é similar a uma linguagem de programação; Δ Logo, aprendendo a criar algoritmos, estamos aptos a programar em qualquer linguagem de programação;
  • 14. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO Por que programar? Δ No fundo, programar é ensinar um computador a resolver problemas! Δ Mesmo que você não seja um programador no futuro, programar ajuda a despertar as seguintes habilidades: • Ajuda a encontrar a solução para problemas; • Ensina a persistir; • Desperta para o mundo; • Estimula a criatividade; • Desperta a paixão em aprender; • Ensina a trabalhar coletivamente;
  • 15. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO Tipos de algoritmos ⚫ Descrição Narrativa; ⚫ Fluxograma; ⚫ Pseudocódigo, Português Estruturado ou Portugol; SUBJETIVIDADE PRECISÃO
  • 16. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO Tipos de algoritmos Δ Descrição Narrativa • Utiliza-se preferencialmente um verbo por frase; • Formada por frases curtas e simples; • É objetiva; • Evita palavras com sentido dúbio;
  • 17. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO Tipos de algoritmos Δ Descrição Narrativa – Exemplo: • Dobro de um número (dobro = número x 2) oDigitar um número; oGravar em uma variável; oMultiplicar o número digitado por 2; oGravar o resultado em outra variável; oMostrar o resultado da operação;
  • 18. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO Tipos de algoritmos Δ Fluxograma • Descrevem o fluxo de ação de um determinado trabalho lógico; • Usa símbolos convencionais, permitindo poucas variações; • Representados por símbolos geométricos;
  • 19. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO Tipos de algoritmos Δ Fluxograma – Conjunto de Símbolos: INÍCIO OU FIM DE ALGORITMO CÁLCULO OU ATRIBUIÇÃO DE VALOR ENTRADA DE DADOS SAÍDA DE DADOS DECISÃO FLUXO DE DADOS
  • 20. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO Tipos de algoritmos Δ Exemplo:
  • 21. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO Tipos de algoritmos Δ Exemplo: Faça um algoritmo que calcula e apresenta a multiplicação entre dois números. INÍCIO Calcule a Multiplicação M = N1 * N2 Leia Notas N1, N2 Apresente Resultado: M FIM
  • 22. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO Tipos de algoritmos Δ Exercício: Faça um algoritmo (narrativa) que calcula a média de três notas de um determinado aluno e informa se o aluno está aprovado ou reprovado. • O aluno estará aprovado se sua média for maior ou igual a 6; Δ Solução: • Lê as Notas N1, N2 e N3; • Calcula a MÉDIA entre N1, N2 e N3; • Se MÉDIA é maior que 6, oO Aluno está aprovado; • Senão, oO Aluno está Reprovado;
  • 23. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO Tipos de algoritmos Δ Exercício: Faça um algoritmo (fluxograma) que calcula a média de três notas de um determinado aluno e informa se o aluno está aprovado ou reprovado. • O aluno estará aprovado se sua média for maior ou igual a 6; INÍCIO CALCULE A MÉDIA MEDIA = (N1 + N2 + N3) / 3 LEIA NOTAS: N1, N2, N3 APROVADO FIM MEDIA >= 6 SIM NÃO REPROVADO
  • 24. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO Tipos de algoritmos Δ Português Estruturado (Portugol) • Linguagem mais restrita que o português em linguagem natural; • Simplificação extrema do português; • Significados bem definidos para todos os termos utilizados nas instruções; • Possui um conjunto de palavras e regras específicas (sintaxe da linguagem); • Normalmente as implementações são feitas em papel, escritas a mão;
  • 25. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO Tipos de algoritmos Δ Forma básica de um algoritmo em portugol: • ALGORITMO oDECLARE/DEFINA • FIM_ALGORITMO VARIÁVEIS INSTRUÇÕES TIPOS DE DADOS
  • 26. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO Tipos de algoritmos Δ Macarrão Instantâneo:
  • 27. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO Tipos de algoritmos
  • 28. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO Tipos de algoritmos Δ Exemplo: Faça um algoritmo que calcula e apresenta a multiplicação entre dois números. ALGORITMO DECLARE N1, N2, M NUMÉRICO ESCREVA “Digite dois números” LEIA N1, N2 M <- N1 * N2 ESCREVA “MULTIPLICAÇÃO = ” , M FIM_ALGORITMO
  • 29. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO Tipos de Algoritmos Δ Exemplo: Faça um algoritmo que calcula e apresenta a média entre quatro números.
  • 30. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO O computador não nos entende ... Δ O computador não entende linguagem natural, pseudocódigo ou fluxograma. Δ Problema de comunicação ! Fala alguma coisa ! 011011011
  • 31. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO O computador não nos entende ... PROBLEMA SOLUÇÃO ALGORITMO Linguagens de Programação: JAVA, PHP, C, C++, C#, RUBY, COBOL, DELPHI .....
  • 32. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO Computadores conversam ... ? • Qual linguagem os computadores entendem ? • Qual o problema com a linguagem de máquina ? • Palavras são mais fáceis de lembrar do que sequencias de zeros e uns. • Qual instrução é mais fácil de ler: AL=1; mov $1, AL 10110000 01100001
  • 33. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO Linguagens de baixo nível movl $5, %eax movl $1, %edx .L4: imull %eax, %edx decl %eax testl %eax, $0 jg .L4 Coloque 5 em eax Coloque 1 em edx Multiplique eax por edx e coloque o resultado em edx Subtraia 1 de eax Teste se eax é 0
  • 34. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO Linguagens de Alto nível Δ Utiliza uma linguagem cuja sintaxe é mais próxima da linguagem natural; Δ Principais características: • Alta legibilidade; • Independente da arquitetura do computador (alta portabilidade); • Fácil manipulação (uso de abstrações); • Maior confiabilidade; • Maior produtividade do programador; • Usada por não-especialistas.
  • 35. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO Linguagens de Alto nível - C #include<stdio.h> int main() { int n1, n2, p3; //n1 = numero 1 n2 = numero 2 p3 = produto printf("Sejam Bem Vindos!!n"); printf("Digite o primeiro Numeron"); scanf("%d",&n1); printf("Digite o Segundo Numeron"); scanf("%d",&n2); p3=n2*n1 ; printf("O Resultado eh: %dn",p3); }
  • 36. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO Mas o computador não entende só zeros e uns ... ? Δ Linguagem de alto nível permite uma maior produtividade ao programador e uma maior legibilidade, confiabilidade e portabilidade aos programas desenvolvidos. Δ Linguagem de máquina é a linguagem que o computador entende e consegue executar. Δ Linguagem de montagem usa mnemônicos para facilitar um pouco o trabalho do programador, mas apresentam os mesmos fundamentos da linguagem de máquina. TRADUÇÃO
  • 37. I n t r o d u ç ã o a A l g o r i t m o s ALGORITMOS - 02/2015 – ÊNIO FILHO Resumindo HARDWARE SISTEMA OPERACIONAL Compilador ou Interpretador Linguagem de máquina Linguagem de alto nível
  • 38. DÚVIDAS? Contatos: E-mail: enio.filho@alfa.br Skype: eniopvf Twitter: eniopvf Bibliografia: • MANZANO, José Augusto N. G.; OLIVEIRA, Jayr Figueiredo de. Algoritmos: lógica para desenvolvimento de programação de computadores. 18ª. ed. São Paulo: Érica, 2006. 236 p. ISBN 857194718; • FORBELLONE, André Luiz Villar; EBERSPACHER, Henri Frederico. Lógica de programação: a construção de algoritmos e estruturas de dados. 3ª. ed. São Paulo (SP): Pearson Prentice Hall, 2005. 195 p. ISBN 9788576050247;