SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Downloaden Sie, um offline zu lesen
2
25/04/2015
“Seqüência de instruções ordenadas de forma
lógica para a resolução de uma determinada
tarefa ou problema.”
Algoritmo “Pegar ônibus”
1.Caminhar até o ponto de ônibus
2.Parar no ponto de ônibus
3.Identificar o ônibus com a linha desejada
4.Fazer sinal para o ônibus parar
5.Aguardar a abertura da porta.
6.Entrar no ônibus
Sequencial
Algoritmo
3
25/04/2015
Algoritmo “balada”
1. Identificar pessoa de interesse
2. Se posicionar na linha de visão
da pessoa de interesse
3. Ficar encarando a pessoa de interesse
4. Olhar correspondido com um sorriso?
4.1 Sim
4.1.1 Iniciar procedimento de aproximação
4.1.2 Executar procedimentos complementares
4.1.3 “Azaração” finalizada com sucesso
4.2. Não
4.2.1 Hora de ir embora?
4.2.1.1 Não
4.2.1.1.1 Voltar ao item 1
4.2.1.2 Sim
4.3.1.2.1 “Azaração” finalizada sem sucesso
Desvio
Desvio
Repetição
Algoritmo “Pegar ônibus”
1.Caminhar até o ponto de ônibus
2.Parar no ponto de ônibus
3.Identificar o ônibus com a linha desejada
4.Fazer sinal para o ônibus parar
5.Aguardar a abertura da porta.
6.Entrar no ônibus
Sequencial
Algoritmo
4
25/04/2015
“Algoritmos escrito em linguagem
computacional.”
Exemplos de Linguagens de
Programação
Pascal
COBOL
Visual Basic
C
Assembler
Delphi
Fortran
C# (C“sharp”)
algoritmo OlaMundo
inicio
escreva("Olá,
Mundo!")
fim
programa Teste;
inicio
variavel num1, do tipo inteiro;
variavel num2, do tipo inteiro;
variavel res, do tipo inteiro;
meio
recebe número digitado pelo usuário;
guarda número digitado pelo usuário na variável
num1;
recebe número digitado pelo usuário;
guarda número digitado pelo usuário na variável
num2;
variavel res recebe a soma de num1 + num2;
mostra res na tela
fim
Programa
5
25/04/2015
#include <stdio.h>
#include <stdlib.h>
main()
{
char sexo;
system ("cls");
printf ("n* * * I F S P * * *n");
sexo = ' ';
printf ("nDigite o sexo (F ou M): ");
scanf("%C", &sexo);
if (sexo != 'F' && sexo != 'M')
{
printf (“Dado inválido.");
}
printf ("nn");
system("pause");
return (0);
}
#include <stdio.h>
main()
{
printf("IFSP");
}
Exemplo de Programas em C
Fluxograma – Principais Símbolos
6
Atribuição de
valores
Operação Aritmética ou
cálculo de uma fórmula
Indicador de início ou
fim do algoritmo
Entrada de Dados
Desvio
lógico
(?)
Sim Não
Saída de Dados
conector
Exibição de Dados
25/04/2015
Considerações sobre algoritmos
 Complexidade
Mais variáveis, mais complexidade
 Legilibilidade
Clareza para quem “vem de fora”
 Portabilidade
Sem relação com tecnologia ou linguagem
 Método Cartesiano
“Dividir para conquistar”
 Planejamento Reverso
A partir do resultado “montar” o processamento e
a entrada.
Para desenvolver um algoritmo é necessário entender bem
o problema. Identificar os dados de entrada, os dados de
saída e os eventos que fizeram com os dados de entrada se
transformassem nos dados de saída ou naquele resultado.
Lógica x Algoritmos
Início
Atribui
valores
Efetua
cálculos
Desvio
Desvio
Soma
valores
Fim
Exibe
resultado
8
25/04/2015
 Restrições nos orientam a utilizar os desvios.
 Instruções similares, com comportamentos parecidos podem indicar o uso de
repetição (loop) e até a elaboração de um algoritmo genérico para uso por
diversos outros algoritmos.
Lógica x Algoritmos
9
25/04/2015
3
1
2
A B C
Restrição/Condição: Nenhuma barra pode ficar sobre uma barra menor que ela.
Torre de Hanoi
10
25/04/2015
 Mover disco 1 para haste B
 Mover disco 2 para haste C
 Mover disco 1 para haste C
 Mover disco 3 para haste B
 Mover disco 1 para haste A
 Mover disco 2 para haste B
 Mover disco 1 para haste B
Torre de Hanói - Algoritmo
1
1 2
2
Quando se conhece a solução,
podemos automatizá-la (como
neste caso).
Se deixar por conta do algoritmo
encontrar a solução a complexi-
dade será bem maior.
11
25/04/2015
1) A partir de dois números inteiros digitados, mostrar qual o maior deles.
Comparação entre 2 números
Início
Primeiro
Número é
Maior que o
Segundo?
Fim
Armazenar
Informar um
número inteiro Sim
1
Informar outro
número inteiro
Armazenar
Não
1
O primeiro
número é
maior que o
segundo.
O segundo
número é
maior que o
primeiro.

Weitere ähnliche Inhalte

Was ist angesagt?

Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 Algoritmo
Regis Magalhães
 
Logica Algoritmo 01 Introducao A Logica
Logica Algoritmo 01 Introducao A LogicaLogica Algoritmo 01 Introducao A Logica
Logica Algoritmo 01 Introducao A Logica
Regis Magalhães
 
Análise combinatória
Análise combinatóriaAnálise combinatória
Análise combinatória
betencourt
 
SequêNcias De NúMeros
SequêNcias De NúMerosSequêNcias De NúMeros
SequêNcias De NúMeros
ritapereira
 
Estatística
EstatísticaEstatística
Estatística
aldaalves
 
Teoria de seno e cosseno.
Teoria de seno e cosseno.Teoria de seno e cosseno.
Teoria de seno e cosseno.
Gustavo Mercado
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
Mauro Pereira
 

Was ist angesagt? (20)

Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registros
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 Algoritmo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Introdução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosIntrodução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos Básicos
 
Aulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosAulas 13 e 14 - Algoritmos
Aulas 13 e 14 - Algoritmos
 
Logica Algoritmo 01 Introducao A Logica
Logica Algoritmo 01 Introducao A LogicaLogica Algoritmo 01 Introducao A Logica
Logica Algoritmo 01 Introducao A Logica
 
Aula 1
Aula 1Aula 1
Aula 1
 
Desvios médios, variância e desvios padrões
Desvios médios, variância e desvios padrõesDesvios médios, variância e desvios padrões
Desvios médios, variância e desvios padrões
 
Linguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e FunçõesLinguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e Funções
 
Determinar frequências absoluta, relativa e relativa percentual
Determinar frequências absoluta, relativa e relativa percentualDeterminar frequências absoluta, relativa e relativa percentual
Determinar frequências absoluta, relativa e relativa percentual
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Análise combinatória
Análise combinatóriaAnálise combinatória
Análise combinatória
 
SequêNcias De NúMeros
SequêNcias De NúMerosSequêNcias De NúMeros
SequêNcias De NúMeros
 
Visualg
VisualgVisualg
Visualg
 
Estatística
EstatísticaEstatística
Estatística
 
Slides sistema monetário
Slides sistema monetárioSlides sistema monetário
Slides sistema monetário
 
Introdução à Lógica de Programação
Introdução à Lógica de ProgramaçãoIntrodução à Lógica de Programação
Introdução à Lógica de Programação
 
Processo TecnolóGico
Processo TecnolóGicoProcesso TecnolóGico
Processo TecnolóGico
 
Teoria de seno e cosseno.
Teoria de seno e cosseno.Teoria de seno e cosseno.
Teoria de seno e cosseno.
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 

Ähnlich wie Introducao algoritmos (11)

algoritmo construção
algoritmo construçãoalgoritmo construção
algoritmo construção
 
Capítulo 02 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 02 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 02 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 02 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
Lógica da programação
Lógica da programaçãoLógica da programação
Lógica da programação
 
Lógica da programação
Lógica da programaçãoLógica da programação
Lógica da programação
 
Algoritmia (Conceitos)
Algoritmia (Conceitos)Algoritmia (Conceitos)
Algoritmia (Conceitos)
 
Aula 2 - Introducao a Algoritmo.pptx
Aula 2 - Introducao a Algoritmo.pptxAula 2 - Introducao a Algoritmo.pptx
Aula 2 - Introducao a Algoritmo.pptx
 
Ferramentas da qualidade 2.pptx
Ferramentas da qualidade  2.pptxFerramentas da qualidade  2.pptx
Ferramentas da qualidade 2.pptx
 
Aula 01 - Apresentação - Introdução a Lógica.pptx
Aula 01 - Apresentação - Introdução a Lógica.pptxAula 01 - Apresentação - Introdução a Lógica.pptx
Aula 01 - Apresentação - Introdução a Lógica.pptx
 
Introduçao a Algoritmo...................
Introduçao a Algoritmo...................Introduçao a Algoritmo...................
Introduçao a Algoritmo...................
 
Aula 1 lpa
Aula 1   lpaAula 1   lpa
Aula 1 lpa
 
Cálculo numérico
Cálculo numéricoCálculo numérico
Cálculo numérico
 

Introducao algoritmos

  • 1.
  • 2. 2 25/04/2015 “Seqüência de instruções ordenadas de forma lógica para a resolução de uma determinada tarefa ou problema.” Algoritmo “Pegar ônibus” 1.Caminhar até o ponto de ônibus 2.Parar no ponto de ônibus 3.Identificar o ônibus com a linha desejada 4.Fazer sinal para o ônibus parar 5.Aguardar a abertura da porta. 6.Entrar no ônibus Sequencial Algoritmo
  • 3. 3 25/04/2015 Algoritmo “balada” 1. Identificar pessoa de interesse 2. Se posicionar na linha de visão da pessoa de interesse 3. Ficar encarando a pessoa de interesse 4. Olhar correspondido com um sorriso? 4.1 Sim 4.1.1 Iniciar procedimento de aproximação 4.1.2 Executar procedimentos complementares 4.1.3 “Azaração” finalizada com sucesso 4.2. Não 4.2.1 Hora de ir embora? 4.2.1.1 Não 4.2.1.1.1 Voltar ao item 1 4.2.1.2 Sim 4.3.1.2.1 “Azaração” finalizada sem sucesso Desvio Desvio Repetição Algoritmo “Pegar ônibus” 1.Caminhar até o ponto de ônibus 2.Parar no ponto de ônibus 3.Identificar o ônibus com a linha desejada 4.Fazer sinal para o ônibus parar 5.Aguardar a abertura da porta. 6.Entrar no ônibus Sequencial Algoritmo
  • 4. 4 25/04/2015 “Algoritmos escrito em linguagem computacional.” Exemplos de Linguagens de Programação Pascal COBOL Visual Basic C Assembler Delphi Fortran C# (C“sharp”) algoritmo OlaMundo inicio escreva("Olá, Mundo!") fim programa Teste; inicio variavel num1, do tipo inteiro; variavel num2, do tipo inteiro; variavel res, do tipo inteiro; meio recebe número digitado pelo usuário; guarda número digitado pelo usuário na variável num1; recebe número digitado pelo usuário; guarda número digitado pelo usuário na variável num2; variavel res recebe a soma de num1 + num2; mostra res na tela fim Programa
  • 5. 5 25/04/2015 #include <stdio.h> #include <stdlib.h> main() { char sexo; system ("cls"); printf ("n* * * I F S P * * *n"); sexo = ' '; printf ("nDigite o sexo (F ou M): "); scanf("%C", &sexo); if (sexo != 'F' && sexo != 'M') { printf (“Dado inválido."); } printf ("nn"); system("pause"); return (0); } #include <stdio.h> main() { printf("IFSP"); } Exemplo de Programas em C
  • 6. Fluxograma – Principais Símbolos 6 Atribuição de valores Operação Aritmética ou cálculo de uma fórmula Indicador de início ou fim do algoritmo Entrada de Dados Desvio lógico (?) Sim Não Saída de Dados conector Exibição de Dados
  • 7. 25/04/2015 Considerações sobre algoritmos  Complexidade Mais variáveis, mais complexidade  Legilibilidade Clareza para quem “vem de fora”  Portabilidade Sem relação com tecnologia ou linguagem  Método Cartesiano “Dividir para conquistar”  Planejamento Reverso A partir do resultado “montar” o processamento e a entrada. Para desenvolver um algoritmo é necessário entender bem o problema. Identificar os dados de entrada, os dados de saída e os eventos que fizeram com os dados de entrada se transformassem nos dados de saída ou naquele resultado. Lógica x Algoritmos Início Atribui valores Efetua cálculos Desvio Desvio Soma valores Fim Exibe resultado
  • 8. 8 25/04/2015  Restrições nos orientam a utilizar os desvios.  Instruções similares, com comportamentos parecidos podem indicar o uso de repetição (loop) e até a elaboração de um algoritmo genérico para uso por diversos outros algoritmos. Lógica x Algoritmos
  • 9. 9 25/04/2015 3 1 2 A B C Restrição/Condição: Nenhuma barra pode ficar sobre uma barra menor que ela. Torre de Hanoi
  • 10. 10 25/04/2015  Mover disco 1 para haste B  Mover disco 2 para haste C  Mover disco 1 para haste C  Mover disco 3 para haste B  Mover disco 1 para haste A  Mover disco 2 para haste B  Mover disco 1 para haste B Torre de Hanói - Algoritmo 1 1 2 2 Quando se conhece a solução, podemos automatizá-la (como neste caso). Se deixar por conta do algoritmo encontrar a solução a complexi- dade será bem maior.
  • 11. 11 25/04/2015 1) A partir de dois números inteiros digitados, mostrar qual o maior deles. Comparação entre 2 números Início Primeiro Número é Maior que o Segundo? Fim Armazenar Informar um número inteiro Sim 1 Informar outro número inteiro Armazenar Não 1 O primeiro número é maior que o segundo. O segundo número é maior que o primeiro.