2
25/04/2015
“Seqüência de instruções ordenadas de forma
lógica para a resolução de uma determinada
tarefa ou problema.”
A...
3
25/04/2015
Algoritmo “balada”
1. Identificar pessoa de interesse
2. Se posicionar na linha de visão
da pessoa de interes...
4
25/04/2015
“Algoritmos escrito em linguagem
computacional.”
Exemplos de Linguagens de
Programação
Pascal
COBOL
Visual Ba...
5
25/04/2015
#include <stdio.h>
#include <stdlib.h>
main()
{
char sexo;
system ("cls");
printf ("n* * * I F S P * * *n");
...
Fluxograma – Principais Símbolos
6
Atribuição de
valores
Operação Aritmética ou
cálculo de uma fórmula
Indicador de início...
25/04/2015
Considerações sobre algoritmos
 Complexidade
Mais variáveis, mais complexidade
 Legilibilidade
Clareza para q...
8
25/04/2015
 Restrições nos orientam a utilizar os desvios.
 Instruções similares, com comportamentos parecidos podem i...
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 ...
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íci...
Introducao algoritmos
Próximos SlideShares
Carregando em…5
×

Introducao algoritmos

373 visualizações

Publicada em

Introdução a algoritmos e lógica de programação.

Publicada em: Software
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
373
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
2
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Introducao algoritmos

  1. 1. 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
  2. 2. 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
  3. 3. 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
  4. 4. 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
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. 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
  9. 9. 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.
  10. 10. 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.

×