SlideShare uma empresa Scribd logo
1 de 34
ALGORITMO
A palavra algoritmo, à primeira
vista, parece-nos estranha. Embora
possua designação desconhecida,
fazemos uso constantemente de
algoritmos em nosso cotidiano:
A maneira como uma pessoa toma
banho é um algoritmo. Outros
algoritmos freqüentemente
encontrados são:
Trocar uma lâmpada
Tomar banho
Escovar os dentes
Fazer um bolo
ALGORITMO
POR QUE PRECISAMOS DE ALGORITIMOS?
 A importância do algoritmo está no fato de termos que especificar uma
seqüência de passos lógicos para que o computador possa executar uma
tarefa qualquer;
 O computador faz apenas o que mandamos;
 Com uma ferramenta algorítmica, podemos conceber uma solução para
um dado problema, independendo de uma linguagem específica e até
mesmo do próprio computador.
ALGORITMO
CARACTERISTICAS
Ter fim;
 Não dar margem à dupla interpretação (não ambíguo);
 Capacidade de receber dado(s) de entrada do mundo exterior;
 Poder gerar informações de saída para o mundo externo ao do ambiente
do algoritmo;
 Ser efetivo (todas as etapas especificadas no algoritmo devem ser
alcançáveis em um tempo finito).
ALGORITMO
FORMAS DE REPRESENTAÇÃO
DESCRIÇÃO NARRATIVA
Faz-se uso do português para descrever
algoritmos.
VANTAGENS:
o português é bastante conhecido por nós;
DESVANTAGENS:
 Imprecisão;
 Pouca confiabilidade;
 Extensão (normalmente, escreve-se
muito para dizer pouca coisa).
RECEITA DE BOLO:
1. Providencie manteiga, ovos, 2
Kg de massa, etc;
2. Misture os ingredientes;
3. Despeje a mistura na fôrma de
bolo;
4. Leve a fôrma ao forno;
5. Espere 20 minutos;
6. Retire a fôrma do forno;
7. Deixe esfriar;
8. Prove.
ALGORITMO
Início
Verifica se o interruptor está desligado;
Procura uma lâmpada nova;
Pega uma escada;
Leva a escada até o local;
Posiciona a escada;
Sobe os degraus;
Para na altura apropriada;
Retira a lâmpada queimada;
Coloca a lâmpada nova;
Desce da escada;
Aciona o interruptor;
Se a lâmpada não acender, então:
Retira a lâmpada queimada;
Coloca outra lâmpada nova
Senão
Tarefa terminada;
Joga a lâmpada queimada no lixo;
Guarda a escada;
Fim
ALGORITMO
FORMAS DE REPRESENTAÇÃO
FLUXOGRAMA
 Utilização de símbolos gráficos
para representar algoritmos;
 No fluxograma existem símbolos
padronizados para início, entrada de
dados, cálculos, saída de dados, fim,
etc. Calculo
Início/Fim
Entrada Saída
Decisão
ALGORITMO
FORMAS DE REPRESENTAÇÃO
FLUXOGRAMA
VANTAGENS:
 Uma das ferramentas mais
conhecidas;
 Figuras dizem muito mais que
palavras;
 Padrão mundial.
DESVANTAGENS:
 Faz com que a solução do
problema já esteja amarrada a
dispositivos físicos;
 Pouca atenção aos dados, não
oferecendo recursos para
descrevê-los ou representá-los;
 Complica-se à medida que o
algoritmo cresce.
ALGORITMO
FORMAS DE REPRESENTAÇÃO
FLUXOGRAMA
Exemplo:
1. Inicio do Algoritimo;
2. Entrada do Número;
3. Cálculo do dobro do Número;
4. Apresentação do resultado;
5. Fim do algoritimo.
Dobro <-
NUM * 2
Início
Leia NUM
Escreva
Dobro
Fim
ALGORITMO
FORMAS DE REPRESENTAÇÃO
LINGUAGEM ALGORÍTIMICA
 Consiste na definição de uma
pseudolinguagem de programação,
cujos comandos são em português,
para representar algoritmos.
EXEMPLO:
1. AlgoritmoCALCULA_DOBRO
2. Início
3. Leia NUM
4. DOBRO  2 * NUM
5. Escreva DOBRO
6. fim
ALGORITMO
FORMAS DE REPRESENTAÇÃO
LINGUAGEM ALGORÍTIMICA
VANTAGENS:
 Independência física da solução
(solução lógica apenas);
 Usa o português como base;
 Pode-se definir quais e como os
dados vão estar estruturados;
 Passagem quase imediata do
algoritmo para uma linguagem de
programação qualquer.
DESVANTAGENS:
 Exige a definição de uma
linguagem não real para trabalho;
 Não padronizado.
CONSTRUÇÃODEALGORITMOS
Existem 3 estruturas básicas de
controle nas quais se baseiam os
algoritmos:
Sequenciação
Repetição ou
Interação
Decisão ou Seleção
CONSTRUÇÃODEALGORITMOS
SEQUENCIAÇÃO
 Os comandos do algoritmo fazem parte de uma seqüência, onde é
relevante a ordem na qual se encontram os mesmos;
 Serão executados um de cada vez, estritamente, de acordo com essa
ordem.;
 De uma forma genérica, poderíamos expressar uma seqüência da
seguinte maneira:
CONSTRUÇÃODEALGORITMOS
SEQUENCIAÇÃO
Exemplo:
1. Comando-1;
2. Comando-2;
3. Comando-3;
4. -
5. -
6. Comando-n;
CONSTRUÇÃODEALGORITMOS
DECISÃO OU SELEÇÃO
 Essa estrutura também é conhecida por estrutura condicional;
 Há a subordinação da execução de um ou mais comandos à veracidade de
uma condição;
 A decisão deve ser sempre usada quando há a necessidade de testar
alguma condição e em função da mesma tomar uma atitude.
EXEMPLO:
Se tiver dinheiro suficiente, então vou almoçar em um bom restaurante.
Caso contrário (senão), vou comer um sanduíche na lanchonete da esquina.
CONSTRUÇÃODEALGORITMOS
DECISÃO OU SELEÇÃO
Se <condição> Então
<comando-1>
Senão
<comando-2>
Se a <condição> for verdadeira será executado o <comando-1> e, em caso
contrário, teremos a execução de <comando-2>.
CONSTRUÇÃODEALGORITMOS
REPETIÇÃO OU INTERAÇÃO
 Essa estrutura também é conhecida por “looping” ou laço;
 A repetição permite que tarefas individuais sejam repetidas um número
determinado de vezes ou tantas vezes quantas uma condição lógica
permita.
 EXEMPLOS:
a) vou atirar pedras na vidraça até quebrá-la;
b) baterei cinco pênaltis;
c) enquanto tiver saúde e dinheiro, vou desfrutar a vida.
 Para uma melhor padronização de nossos estudos, vamos agora definir
uma linguagem para a construção de nossos algoritmos;
 Antes de começarmos a definir as operações básicas de nossa linguagem
algorítmica.
LINGUAGEM ALGORÍTMICA
LINGUAGEM ALGORÍTMICA
CONCEITO DEVARIÁVEL
 Cada variável corresponde uma posição de memória, cujo conteúdo pode
variar ao longo do tempo durante a execução de um algoritmo;
 Embora a variável possa assumir diferentes valores, ela só pode
armazenar um valor a cada instante;
 Toda variável é identificada por um nome ou identificador;
 Nunca use uma palavra reservada, isto é, que faça parte da linguagem
algorítmica.
 Teorema de pitágoras (a2 = b2 + c2), os identificadores A, B e C podem
representar as posições de memória.
LINGUAGEM ALGORÍTMICA
OPERAÇÃO DE ATRIBUIÇÃO
 A operação de atribuição permite que se forneça um valor a uma certa
variável;
 Se for atribuído uma expressão à variável, será armazenado o resultado
daquela expressão;
 Se for atribuído uma outra variável, será armazenado o conteúdo daquela
variável;
 Para a operação de atribuição, utilizaremos a seguinte sintaxe:
variável  expressão / Exemplos:
A  2 NOME  'João' A  B + C B  A SENHA  'X3Y9'
NOTA  NOTA – 1 NOTA  10 C  1 / 3 X  2.5
LINGUAGEM ALGORÍTMICA
OPERAÇÕES DE ENTRADA E SAÍDA
 Definimos aqui dois novos comandos da nossa linguagem algorítmica para
manusear entrada e saída;
 O comando LEIA nos permite ler valores dados atribuindo-os à variáveis
indicadas;
 O comando ESCREVA nos permite mostrar os resultados.
leia variável-1, variável-2, ..., variável-n
escreva expressão-1, expressão-2, ..., expressão-n
Exemplos:
leia NOTA escreva 15
leiaA,B,C escreva NOTA+2
leia NOME escreva A,B
LINGUAGEM ALGORÍTMICA
ESTRUTURA SEQUENCIAL
 Num algoritmo, os comandos deverão ser executados numa seqüência
linear, seguindo-se o texto em que estão escritos, de cima para baixo.
inicio inicio
comando-1 leiaA,B
comando-2 SOMA <-A + B
. . . escreva SOMA
comando-n fim
fim
LINGUAGEM ALGORÍTMICA
ESTRUTURA CONDICIONAL
 A estrutura condicional permite a escolha do grupo de ações e estruturas a
ser executado quando determinadas condições (expressões lógicas) são ou
não satisfeitas;
 Esta estrutura pode se apresentar de duas formas, simples e composta.
LINGUAGEM ALGORÍTMICA
ESTRUTURA CONDICIONAL SIMPLES
se condição então se MEDIA >= 7 entao
comando-1 SITUAÇÃO <- 'Aprovado'
comando-2 escreva SITUAÇÃO
. . .
comando-n
LINGUAGEM ALGORÍTMICA
ESTRUTURA CONDICIONAL SIMPLES
LINGUAGEM ALGORÍTMICA
ESTRUTURA CONDICIONAL COMPOSTA
se condição então
comando-A1
comando-A2
. . .
comando-Na
senão
comando-B1
comando-B2
. . .
comando-Bn
LINGUAGEM ALGORÍTMICA
ESTRUTURA CONDICIONAL COMPOSTA
se PESO > 80 então
escreva 'Você está obeso'
escreva 'Faça atividades físicas'
senão
escreva 'Você está no peso certo'
escreva 'Procure manter sua forma'
LINGUAGEM ALGORÍTMICA
ESTRUTURA CONDICIONAL COMPOSTA
LINGUAGEM ALGORÍTMICA
ESTRUTURA DE REPETIÇÃO
 A estrutura de repetição permite que uma seqüência de comandos seja
executada repetidamente até que uma determinada condição não seja
satisfeita. Utilizaremos o comando enquanto para representar esta
estrutura.
enquanto condição
comando-A1
comando-A2
. . .
comando-An
LINGUAGEM ALGORÍTMICA
ESTRUTURA DE REPETIÇÃO
leia SENHA
enquanto SENHA <> 'ASPER'
escreva 'Senha inválida'
escreva 'Digite a senha novamente'
leia SENHA
LINGUAGEM ALGORÍTMICA
ESTRUTURA DE REPETIÇÃO

Mais conteúdo relacionado

Mais procurados

Apresentação 20130805 algoritmos
Apresentação 20130805 algoritmos Apresentação 20130805 algoritmos
Apresentação 20130805 algoritmos
João moreira
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 Algoritmo
Regis Magalhães
 
Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3
Robson Ferreira
 
Curso De Algoritmo Aula 9
Curso De Algoritmo   Aula 9Curso De Algoritmo   Aula 9
Curso De Algoritmo Aula 9
Felipe Santos
 
53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i
Edvan Mateó
 
Conceitos e técnicas de programação lista de exercícios i
Conceitos e técnicas de programação lista de exercícios iConceitos e técnicas de programação lista de exercícios i
Conceitos e técnicas de programação lista de exercícios i
Robson Ferreira
 

Mais procurados (20)

Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Guia para traducao algoritmos x l ps
Guia para traducao algoritmos x l psGuia para traducao algoritmos x l ps
Guia para traducao algoritmos x l ps
 
Apresentação 20130805 algoritmos
Apresentação 20130805 algoritmos Apresentação 20130805 algoritmos
Apresentação 20130805 algoritmos
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 Algoritmo
 
Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3
 
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
 
Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Fluxograma (Lógica de Programação)
Fluxograma (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)
Descritiva Narrativa (Lógica de Programação)
 
Curso De Algoritmo Aula 9
Curso De Algoritmo   Aula 9Curso De Algoritmo   Aula 9
Curso De Algoritmo Aula 9
 
53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i
 
Algoritmo - tipos de dados
Algoritmo - tipos de dadosAlgoritmo - tipos de dados
Algoritmo - tipos de dados
 
Algoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoAlgoritmos - Lógica de Programação
Algoritmos - Lógica de Programação
 
Algoritmos e Programação
Algoritmos e ProgramaçãoAlgoritmos e Programação
Algoritmos e Programação
 
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saídaICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
 
Programar Em Pascal
Programar Em PascalProgramar Em Pascal
Programar Em Pascal
 
Variáveis e portugol
Variáveis e portugolVariáveis e portugol
Variáveis e portugol
 
Algoritmos - Procedimentos
Algoritmos - ProcedimentosAlgoritmos - Procedimentos
Algoritmos - Procedimentos
 
Conceitos e técnicas de programação lista de exercícios i
Conceitos e técnicas de programação lista de exercícios iConceitos e técnicas de programação lista de exercícios i
Conceitos e técnicas de programação lista de exercícios i
 
Lógica De Programação
Lógica De ProgramaçãoLógica De Programação
Lógica De Programação
 

Destaque

1 ano trigonometria no triângulo retângulo - 2008
1 ano   trigonometria no triângulo retângulo - 20081 ano   trigonometria no triângulo retângulo - 2008
1 ano trigonometria no triângulo retângulo - 2008
Erick Fernandes
 
Exercícios resolvidos - Velocidade média e escalar média
Exercícios resolvidos - Velocidade média e escalar médiaExercícios resolvidos - Velocidade média e escalar média
Exercícios resolvidos - Velocidade média e escalar média
UFPB
 
Trigonometria No TriâNgulo RetâNgulo Antonio
Trigonometria No TriâNgulo RetâNgulo AntonioTrigonometria No TriâNgulo RetâNgulo Antonio
Trigonometria No TriâNgulo RetâNgulo Antonio
Antonio Carneiro
 
Logica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoLogica Algoritmo 05 Repeticao
Logica Algoritmo 05 Repeticao
Regis Magalhães
 
402 macroeconomia-i-caderno-de-exercicios-para-exame-resolvidos
402 macroeconomia-i-caderno-de-exercicios-para-exame-resolvidos402 macroeconomia-i-caderno-de-exercicios-para-exame-resolvidos
402 macroeconomia-i-caderno-de-exercicios-para-exame-resolvidos
Ronne Seles
 

Destaque (20)

Trabalho sobre algoritmo
Trabalho sobre algoritmoTrabalho sobre algoritmo
Trabalho sobre algoritmo
 
Trabalho de algoritmos
Trabalho de algoritmosTrabalho de algoritmos
Trabalho de algoritmos
 
Aula 4 aed - parte 1
Aula 4   aed - parte 1Aula 4   aed - parte 1
Aula 4 aed - parte 1
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
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
 
Aula 5 aed - vetores
Aula 5   aed - vetoresAula 5   aed - vetores
Aula 5 aed - vetores
 
Aula 3 algoritmos
Aula 3   algoritmosAula 3   algoritmos
Aula 3 algoritmos
 
1 ano trigonometria no triângulo retângulo - 2008
1 ano   trigonometria no triângulo retângulo - 20081 ano   trigonometria no triângulo retângulo - 2008
1 ano trigonometria no triângulo retângulo - 2008
 
Trigonometria no triângulo retângulo
Trigonometria no triângulo retânguloTrigonometria no triângulo retângulo
Trigonometria no triângulo retângulo
 
Ferramentas da qualidade
Ferramentas da qualidadeFerramentas da qualidade
Ferramentas da qualidade
 
Aula 8 - Comandos de Entrada e Saída
Aula 8 - Comandos de Entrada e SaídaAula 8 - Comandos de Entrada e Saída
Aula 8 - Comandos de Entrada e Saída
 
Exercícios resolvidos - Velocidade média e escalar média
Exercícios resolvidos - Velocidade média e escalar médiaExercícios resolvidos - Velocidade média e escalar média
Exercícios resolvidos - Velocidade média e escalar média
 
Como usar algoritmos e fluxogramas
Como usar algoritmos e fluxogramasComo usar algoritmos e fluxogramas
Como usar algoritmos e fluxogramas
 
Trigonometria No TriâNgulo RetâNgulo Antonio
Trigonometria No TriâNgulo RetâNgulo AntonioTrigonometria No TriâNgulo RetâNgulo Antonio
Trigonometria No TriâNgulo RetâNgulo Antonio
 
Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação
 
M.R.U.V.
M.R.U.V.M.R.U.V.
M.R.U.V.
 
Logica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoLogica Algoritmo 05 Repeticao
Logica Algoritmo 05 Repeticao
 
ResoluçãO De Problemas
ResoluçãO De ProblemasResoluçãO De Problemas
ResoluçãO De Problemas
 
Fluxograma & Layout
Fluxograma & LayoutFluxograma & Layout
Fluxograma & Layout
 
402 macroeconomia-i-caderno-de-exercicios-para-exame-resolvidos
402 macroeconomia-i-caderno-de-exercicios-para-exame-resolvidos402 macroeconomia-i-caderno-de-exercicios-para-exame-resolvidos
402 macroeconomia-i-caderno-de-exercicios-para-exame-resolvidos
 

Semelhante a Algoritimo - Raul

Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigo
Mauro Pereira
 
Algorítmo estruturado
Algorítmo estruturadoAlgorítmo estruturado
Algorítmo estruturado
Naldo Falaschi
 

Semelhante a Algoritimo - Raul (20)

Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturado
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
122172 1445
122172 1445122172 1445
122172 1445
 
Aula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptAula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.ppt
 
INFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.ppt
INFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.pptINFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.ppt
INFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.ppt
 
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOCURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
 
Algoritmos - Pascal
Algoritmos - PascalAlgoritmos - Pascal
Algoritmos - Pascal
 
Prova algoritmos
Prova algoritmosProva algoritmos
Prova algoritmos
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigo
 
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
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmos
 
Algoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoAlgoritmos e Lógica de Programação
Algoritmos e Lógica de Programação
 
Introdução a programação
Introdução a programaçãoIntrodução a programação
Introdução a programação
 
Fundamento da ciência da computação
Fundamento da ciência da computaçãoFundamento da ciência da computação
Fundamento da ciência da computação
 
Aula02
Aula02Aula02
Aula02
 
Lp
LpLp
Lp
 
Lógica de Programção - Módulo 1 - algoritmos-introdução
Lógica de Programção - Módulo 1 - algoritmos-introduçãoLógica de Programção - Módulo 1 - algoritmos-introdução
Lógica de Programção - Módulo 1 - algoritmos-introdução
 
Lógica parte 2 - Algoritmos
Lógica   parte 2 - AlgoritmosLógica   parte 2 - Algoritmos
Lógica parte 2 - Algoritmos
 
Algorítmo estruturado
Algorítmo estruturadoAlgorítmo estruturado
Algorítmo estruturado
 

Algoritimo - Raul

  • 1.
  • 2. ALGORITMO A palavra algoritmo, à primeira vista, parece-nos estranha. Embora possua designação desconhecida, fazemos uso constantemente de algoritmos em nosso cotidiano: A maneira como uma pessoa toma banho é um algoritmo. Outros algoritmos freqüentemente encontrados são: Trocar uma lâmpada Tomar banho Escovar os dentes Fazer um bolo
  • 3. ALGORITMO POR QUE PRECISAMOS DE ALGORITIMOS?  A importância do algoritmo está no fato de termos que especificar uma seqüência de passos lógicos para que o computador possa executar uma tarefa qualquer;  O computador faz apenas o que mandamos;  Com uma ferramenta algorítmica, podemos conceber uma solução para um dado problema, independendo de uma linguagem específica e até mesmo do próprio computador.
  • 4. ALGORITMO CARACTERISTICAS Ter fim;  Não dar margem à dupla interpretação (não ambíguo);  Capacidade de receber dado(s) de entrada do mundo exterior;  Poder gerar informações de saída para o mundo externo ao do ambiente do algoritmo;  Ser efetivo (todas as etapas especificadas no algoritmo devem ser alcançáveis em um tempo finito).
  • 5. ALGORITMO FORMAS DE REPRESENTAÇÃO DESCRIÇÃO NARRATIVA Faz-se uso do português para descrever algoritmos. VANTAGENS: o português é bastante conhecido por nós; DESVANTAGENS:  Imprecisão;  Pouca confiabilidade;  Extensão (normalmente, escreve-se muito para dizer pouca coisa). RECEITA DE BOLO: 1. Providencie manteiga, ovos, 2 Kg de massa, etc; 2. Misture os ingredientes; 3. Despeje a mistura na fôrma de bolo; 4. Leve a fôrma ao forno; 5. Espere 20 minutos; 6. Retire a fôrma do forno; 7. Deixe esfriar; 8. Prove.
  • 6. ALGORITMO Início Verifica se o interruptor está desligado; Procura uma lâmpada nova; Pega uma escada; Leva a escada até o local; Posiciona a escada; Sobe os degraus; Para na altura apropriada; Retira a lâmpada queimada; Coloca a lâmpada nova; Desce da escada; Aciona o interruptor; Se a lâmpada não acender, então: Retira a lâmpada queimada; Coloca outra lâmpada nova Senão Tarefa terminada; Joga a lâmpada queimada no lixo; Guarda a escada; Fim
  • 7. ALGORITMO FORMAS DE REPRESENTAÇÃO FLUXOGRAMA  Utilização de símbolos gráficos para representar algoritmos;  No fluxograma existem símbolos padronizados para início, entrada de dados, cálculos, saída de dados, fim, etc. Calculo Início/Fim Entrada Saída Decisão
  • 8. ALGORITMO FORMAS DE REPRESENTAÇÃO FLUXOGRAMA VANTAGENS:  Uma das ferramentas mais conhecidas;  Figuras dizem muito mais que palavras;  Padrão mundial. DESVANTAGENS:  Faz com que a solução do problema já esteja amarrada a dispositivos físicos;  Pouca atenção aos dados, não oferecendo recursos para descrevê-los ou representá-los;  Complica-se à medida que o algoritmo cresce.
  • 9. ALGORITMO FORMAS DE REPRESENTAÇÃO FLUXOGRAMA Exemplo: 1. Inicio do Algoritimo; 2. Entrada do Número; 3. Cálculo do dobro do Número; 4. Apresentação do resultado; 5. Fim do algoritimo. Dobro <- NUM * 2 Início Leia NUM Escreva Dobro Fim
  • 10. ALGORITMO FORMAS DE REPRESENTAÇÃO LINGUAGEM ALGORÍTIMICA  Consiste na definição de uma pseudolinguagem de programação, cujos comandos são em português, para representar algoritmos. EXEMPLO: 1. AlgoritmoCALCULA_DOBRO 2. Início 3. Leia NUM 4. DOBRO  2 * NUM 5. Escreva DOBRO 6. fim
  • 11. ALGORITMO FORMAS DE REPRESENTAÇÃO LINGUAGEM ALGORÍTIMICA VANTAGENS:  Independência física da solução (solução lógica apenas);  Usa o português como base;  Pode-se definir quais e como os dados vão estar estruturados;  Passagem quase imediata do algoritmo para uma linguagem de programação qualquer. DESVANTAGENS:  Exige a definição de uma linguagem não real para trabalho;  Não padronizado.
  • 12.
  • 13. CONSTRUÇÃODEALGORITMOS Existem 3 estruturas básicas de controle nas quais se baseiam os algoritmos: Sequenciação Repetição ou Interação Decisão ou Seleção
  • 14. CONSTRUÇÃODEALGORITMOS SEQUENCIAÇÃO  Os comandos do algoritmo fazem parte de uma seqüência, onde é relevante a ordem na qual se encontram os mesmos;  Serão executados um de cada vez, estritamente, de acordo com essa ordem.;  De uma forma genérica, poderíamos expressar uma seqüência da seguinte maneira:
  • 16. CONSTRUÇÃODEALGORITMOS DECISÃO OU SELEÇÃO  Essa estrutura também é conhecida por estrutura condicional;  Há a subordinação da execução de um ou mais comandos à veracidade de uma condição;  A decisão deve ser sempre usada quando há a necessidade de testar alguma condição e em função da mesma tomar uma atitude. EXEMPLO: Se tiver dinheiro suficiente, então vou almoçar em um bom restaurante. Caso contrário (senão), vou comer um sanduíche na lanchonete da esquina.
  • 17. CONSTRUÇÃODEALGORITMOS DECISÃO OU SELEÇÃO Se <condição> Então <comando-1> Senão <comando-2> Se a <condição> for verdadeira será executado o <comando-1> e, em caso contrário, teremos a execução de <comando-2>.
  • 18. CONSTRUÇÃODEALGORITMOS REPETIÇÃO OU INTERAÇÃO  Essa estrutura também é conhecida por “looping” ou laço;  A repetição permite que tarefas individuais sejam repetidas um número determinado de vezes ou tantas vezes quantas uma condição lógica permita.  EXEMPLOS: a) vou atirar pedras na vidraça até quebrá-la; b) baterei cinco pênaltis; c) enquanto tiver saúde e dinheiro, vou desfrutar a vida.
  • 19.
  • 20.  Para uma melhor padronização de nossos estudos, vamos agora definir uma linguagem para a construção de nossos algoritmos;  Antes de começarmos a definir as operações básicas de nossa linguagem algorítmica. LINGUAGEM ALGORÍTMICA
  • 21.
  • 22. LINGUAGEM ALGORÍTMICA CONCEITO DEVARIÁVEL  Cada variável corresponde uma posição de memória, cujo conteúdo pode variar ao longo do tempo durante a execução de um algoritmo;  Embora a variável possa assumir diferentes valores, ela só pode armazenar um valor a cada instante;  Toda variável é identificada por um nome ou identificador;  Nunca use uma palavra reservada, isto é, que faça parte da linguagem algorítmica.  Teorema de pitágoras (a2 = b2 + c2), os identificadores A, B e C podem representar as posições de memória.
  • 23. LINGUAGEM ALGORÍTMICA OPERAÇÃO DE ATRIBUIÇÃO  A operação de atribuição permite que se forneça um valor a uma certa variável;  Se for atribuído uma expressão à variável, será armazenado o resultado daquela expressão;  Se for atribuído uma outra variável, será armazenado o conteúdo daquela variável;  Para a operação de atribuição, utilizaremos a seguinte sintaxe: variável  expressão / Exemplos: A  2 NOME  'João' A  B + C B  A SENHA  'X3Y9' NOTA  NOTA – 1 NOTA  10 C  1 / 3 X  2.5
  • 24. LINGUAGEM ALGORÍTMICA OPERAÇÕES DE ENTRADA E SAÍDA  Definimos aqui dois novos comandos da nossa linguagem algorítmica para manusear entrada e saída;  O comando LEIA nos permite ler valores dados atribuindo-os à variáveis indicadas;  O comando ESCREVA nos permite mostrar os resultados. leia variável-1, variável-2, ..., variável-n escreva expressão-1, expressão-2, ..., expressão-n Exemplos: leia NOTA escreva 15 leiaA,B,C escreva NOTA+2 leia NOME escreva A,B
  • 25. LINGUAGEM ALGORÍTMICA ESTRUTURA SEQUENCIAL  Num algoritmo, os comandos deverão ser executados numa seqüência linear, seguindo-se o texto em que estão escritos, de cima para baixo. inicio inicio comando-1 leiaA,B comando-2 SOMA <-A + B . . . escreva SOMA comando-n fim fim
  • 26. LINGUAGEM ALGORÍTMICA ESTRUTURA CONDICIONAL  A estrutura condicional permite a escolha do grupo de ações e estruturas a ser executado quando determinadas condições (expressões lógicas) são ou não satisfeitas;  Esta estrutura pode se apresentar de duas formas, simples e composta.
  • 27. LINGUAGEM ALGORÍTMICA ESTRUTURA CONDICIONAL SIMPLES se condição então se MEDIA >= 7 entao comando-1 SITUAÇÃO <- 'Aprovado' comando-2 escreva SITUAÇÃO . . . comando-n
  • 29. LINGUAGEM ALGORÍTMICA ESTRUTURA CONDICIONAL COMPOSTA se condição então comando-A1 comando-A2 . . . comando-Na senão comando-B1 comando-B2 . . . comando-Bn
  • 30. LINGUAGEM ALGORÍTMICA ESTRUTURA CONDICIONAL COMPOSTA se PESO > 80 então escreva 'Você está obeso' escreva 'Faça atividades físicas' senão escreva 'Você está no peso certo' escreva 'Procure manter sua forma'
  • 32. LINGUAGEM ALGORÍTMICA ESTRUTURA DE REPETIÇÃO  A estrutura de repetição permite que uma seqüência de comandos seja executada repetidamente até que uma determinada condição não seja satisfeita. Utilizaremos o comando enquanto para representar esta estrutura. enquanto condição comando-A1 comando-A2 . . . comando-An
  • 33. LINGUAGEM ALGORÍTMICA ESTRUTURA DE REPETIÇÃO leia SENHA enquanto SENHA <> 'ASPER' escreva 'Senha inválida' escreva 'Digite a senha novamente' leia SENHA