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?

Carlos drummond de andrade
Carlos drummond de andradeCarlos drummond de andrade
Carlos drummond de andradeLáyla Vieira
 
2ª fase modernista (prosa)
2ª fase modernista (prosa)2ª fase modernista (prosa)
2ª fase modernista (prosa)rillaryalvesj
 
Érico Veríssimo - Ana Terra e Olhai os Lírios do Campo
Érico Veríssimo - Ana Terra e Olhai os Lírios do CampoÉrico Veríssimo - Ana Terra e Olhai os Lírios do Campo
Érico Veríssimo - Ana Terra e Olhai os Lírios do CampoAry Oliveira
 
Aula 6 - Profmat - Numeros Primos - 08 09-17
Aula 6 - Profmat - Numeros Primos -  08 09-17Aula 6 - Profmat - Numeros Primos -  08 09-17
Aula 6 - Profmat - Numeros Primos - 08 09-17Aline Guedes
 
O cortiço - Aluísio Azevedo - Colégio Cerrado
O cortiço - Aluísio Azevedo - Colégio CerradoO cortiço - Aluísio Azevedo - Colégio Cerrado
O cortiço - Aluísio Azevedo - Colégio CerradoMarcus Vinicius
 
Matematica e as profissões
Matematica e as profissõesMatematica e as profissões
Matematica e as profissõescapitcar
 
Cores e Definições de Impressão - Produção Gráfica 2022
Cores e Definições de Impressão - Produção Gráfica 2022Cores e Definições de Impressão - Produção Gráfica 2022
Cores e Definições de Impressão - Produção Gráfica 2022Renato Melo
 
Saf şi̇i̇r anlayişi
Saf şi̇i̇r anlayişi Saf şi̇i̇r anlayişi
Saf şi̇i̇r anlayişi seymaserbetci
 
Livro: O cortiço - 2º ano CIC
Livro: O cortiço - 2º ano CICLivro: O cortiço - 2º ano CIC
Livro: O cortiço - 2º ano CICMaria J
 
Sintaxe da linguagem visual
Sintaxe da linguagem visualSintaxe da linguagem visual
Sintaxe da linguagem visualBruno Marques
 
Técnica carvão
Técnica carvãoTécnica carvão
Técnica carvãoGi Loureiro
 
Poesia matemática mat
Poesia matemática matPoesia matemática mat
Poesia matemática matIdelma
 
Introdução à Semiótica Peirceana _ Signo como relação triádica
Introdução à Semiótica Peirceana _ Signo como relação triádicaIntrodução à Semiótica Peirceana _ Signo como relação triádica
Introdução à Semiótica Peirceana _ Signo como relação triádicaGabrielle Grimm
 
Introdução a Projeto Gráfico.
Introdução a Projeto Gráfico.Introdução a Projeto Gráfico.
Introdução a Projeto Gráfico.Wunderman
 
Ficha de trabalho escher simetria
Ficha de trabalho escher   simetriaFicha de trabalho escher   simetria
Ficha de trabalho escher simetriaruiseixas
 
Narrativas multimídia interativas
Narrativas multimídia interativasNarrativas multimídia interativas
Narrativas multimídia interativasPaulo Filho
 

Was ist angesagt? (20)

Carlos drummond de andrade
Carlos drummond de andradeCarlos drummond de andrade
Carlos drummond de andrade
 
2ª fase modernista (prosa)
2ª fase modernista (prosa)2ª fase modernista (prosa)
2ª fase modernista (prosa)
 
Érico Veríssimo - Ana Terra e Olhai os Lírios do Campo
Érico Veríssimo - Ana Terra e Olhai os Lírios do CampoÉrico Veríssimo - Ana Terra e Olhai os Lírios do Campo
Érico Veríssimo - Ana Terra e Olhai os Lírios do Campo
 
Aula 6 - Profmat - Numeros Primos - 08 09-17
Aula 6 - Profmat - Numeros Primos -  08 09-17Aula 6 - Profmat - Numeros Primos -  08 09-17
Aula 6 - Profmat - Numeros Primos - 08 09-17
 
O cortiço - Aluísio Azevedo - Colégio Cerrado
O cortiço - Aluísio Azevedo - Colégio CerradoO cortiço - Aluísio Azevedo - Colégio Cerrado
O cortiço - Aluísio Azevedo - Colégio Cerrado
 
Matematica e as profissões
Matematica e as profissõesMatematica e as profissões
Matematica e as profissões
 
Carlos drummond
Carlos drummondCarlos drummond
Carlos drummond
 
Cores e Definições de Impressão - Produção Gráfica 2022
Cores e Definições de Impressão - Produção Gráfica 2022Cores e Definições de Impressão - Produção Gráfica 2022
Cores e Definições de Impressão - Produção Gráfica 2022
 
João guimarães rosa
João guimarães rosaJoão guimarães rosa
João guimarães rosa
 
Saf şi̇i̇r anlayişi
Saf şi̇i̇r anlayişi Saf şi̇i̇r anlayişi
Saf şi̇i̇r anlayişi
 
Livro: O cortiço - 2º ano CIC
Livro: O cortiço - 2º ano CICLivro: O cortiço - 2º ano CIC
Livro: O cortiço - 2º ano CIC
 
Introdução ao design gráfico
Introdução ao design gráficoIntrodução ao design gráfico
Introdução ao design gráfico
 
Sintaxe da linguagem visual
Sintaxe da linguagem visualSintaxe da linguagem visual
Sintaxe da linguagem visual
 
Técnica carvão
Técnica carvãoTécnica carvão
Técnica carvão
 
Tipografia - Noções Básicas
Tipografia - Noções BásicasTipografia - Noções Básicas
Tipografia - Noções Básicas
 
Poesia matemática mat
Poesia matemática matPoesia matemática mat
Poesia matemática mat
 
Introdução à Semiótica Peirceana _ Signo como relação triádica
Introdução à Semiótica Peirceana _ Signo como relação triádicaIntrodução à Semiótica Peirceana _ Signo como relação triádica
Introdução à Semiótica Peirceana _ Signo como relação triádica
 
Introdução a Projeto Gráfico.
Introdução a Projeto Gráfico.Introdução a Projeto Gráfico.
Introdução a Projeto Gráfico.
 
Ficha de trabalho escher simetria
Ficha de trabalho escher   simetriaFicha de trabalho escher   simetria
Ficha de trabalho escher simetria
 
Narrativas multimídia interativas
Narrativas multimídia interativasNarrativas multimídia interativas
Narrativas multimídia interativas
 

Ähnlich wie Introducao algoritmos

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...Os Fantasmas !
 
Algoritmia (Conceitos)
Algoritmia (Conceitos)Algoritmia (Conceitos)
Algoritmia (Conceitos)Sandro Lopes
 
Aula 2 - Introducao a Algoritmo.pptx
Aula 2 - Introducao a Algoritmo.pptxAula 2 - Introducao a Algoritmo.pptx
Aula 2 - Introducao a Algoritmo.pptxJadna Almeida
 
Ferramentas da qualidade 2.pptx
Ferramentas da qualidade  2.pptxFerramentas da qualidade  2.pptx
Ferramentas da qualidade 2.pptxMidoriPitanga2
 
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.pptxMárcio Santos
 
Introduçao a Algoritmo...................
Introduçao a Algoritmo...................Introduçao a Algoritmo...................
Introduçao a Algoritmo...................Márcio Santos
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Gercélia Ramos
 

Ähnlich wie Introducao algoritmos (12)

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
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 

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.