SlideShare uma empresa Scribd logo
PENSAMENTO
COMPUTACIONAL:
ALGORITMOS
Roteiro
– Lógica
– Algoritmos
– Conceito de Algoritmo
– Partes de um algoritmo
– Características
– Representação de um algoritmo
■ Fluxograma
■ Pseudocódigo
Lógica
■ Observe as seguintes afirmações:
■ O número 4 é menor que o número 7.
■ O número 9 é maior que o número 7. Logo, o número 4 é menor que os
números 9 e 7.
■ Um casal com três filhos notou que um vaso estava quebrado, enquanto
duas das crianças estavam na escola. Quem é o culpado?
■ Há uma caneta dentro de uma gaveta fechada. Sabemos que, para pegar
a caneta, devemos, antes, abrir a gaveta.
Lógica
■ Podemos deduzir a partir dessas afirmações, que em
nosso cotidiano, sempre que pensamos, já estamos
utilizando a lógica.
■ Se consultarmos em um dicionário da língua
portuguesa o verbete "lógica", veremos que se trata de
uma parte da filosofia que estuda as leis do raciocínio.
■ É uma ciência que estuda as formas do pensamento.
Lógica
■ “é uma sequência coerente, regular e necessária de acontecimentos, de
coisas".
■ Veja, a seguir, uma sequência de passos para comprar um determinado
produto em uma loja. Imagine se seria possível comprar o produto seguindo
os passos dessa sequência:
■ sair da loja;
■ pagar pelo produto;
■ entrar na loja;
■ retirar o dinheiro da carteira;
■ dirigir-se ao caixa;
■ escolher o produto na prateleira.
Lógica
■ Seria impossível conseguir efetuar a compra, pois apesar de
todas as ações estarem corretas, a sequência está errada.
■ Como você poderia pagar pelo produto após sair da loja? Ou
escolher o produto após pagar por ele?
■ A sequência correta, nesse caso, seria:
■ entrar na loja;
■ escolher o produto na prateleira;
■ dirigir-se ao caixa;
■ retirar o dinheiro da carteira;
■ pagar pelo produto;
■ sair da loja.
Lógica
■ A lógica, dessa forma, é utilizada para conduzir pensamentos ou
ações voltados para a solução de problemas. Assim, a lógica
está correta em determinada situação, se a solução do problema
tiver sido atingida.
■ Na programação de computadores, o treino dessa habilidade é
fundamental para aprimorarmos a nossa capacidade de resolver
problemas e programar.
■ Devemos, portanto, aprender a pensar de forma estruturada.
■ Significa desenvolver e aperfeiçoar a técnica de pensamento,
dentro de um raciocínio lógico e matemático, que é a base de
todo o trabalho na programação de computadores
Algoritmo
■ Para resolver um problema em um computador, de modo
semelhante ao que fazemos para resolver um problema do
nosso cotidiano, devemos encontrar uma maneira de
descrever esse problema de uma forma clara e precisa,
através de uma sequência de passos a serem seguidos até
que se atinja a solução procurada.
■ Essa estruturação deve seguir uma determinada lógica. A
lógica aplicada à programação de computadores, deve
buscar a melhor sequência de ações para se resolver um
problema. Essa sequência de ações damos o nome de
algoritmo.
Algoritmo
■ é um conjunto finito de regras que fornece uma sequência de
operações para resolver um problema específico. É algo
como uma receita, ou uma rotina.
Algoritmo
■ Para o desenvolvimento de um algoritmo eficiente é necessário
obedecermos algumas premissas básicas no momento de sua
construção:
■ Definir ações simples e sem ambiguidade;
■ Organizar as ações de forma ordenada
■ Estabelecer as ações dentro de uma sequência finita de
passos
Algoritmo
■ O algoritmo 1 é um exemplo simples de algoritmo (sem condições ou
repetições) para troca de um pneu.
■ Os algoritmos são capazes de realizar tarefas como:
■ Ler e escrever dados;
■ Avaliar expressões algébricas, relacionais e lógicas;
■ Tomar decisões com base nos resultados das expressões avaliadas;
■ Repetir um conjunto de ações de acordo com uma condição;
Algoritmo
■ Um algoritmo quando programado num computador é
constituído pelo menos das 3 partes, sendo elas:
■ 1. Entrada de dados;
■ 2. Processamento de dados;
■ 3. Saída de dados;
Algoritmo
■ Na parte de entrada, são fornecidas as informações necessárias para
que o algoritmo possa ser executado.
■ Estas informações podem ser fornecidas no momento em que o
programa está sendo executado ou podem estar embutidas dentro do
mesmo.
■ Na parte do processamento são avaliadas todas as expressões
algébricas, relacionais e lógicas, assim como todas as estruturas de
controle existentes no algoritmo (condição e/ou repetição).
■ Na parte de saída, todos os resultados do processamento (ou parte
deles) são enviados para um ou mais dispositivos de saída, como:
monitor, impressora, ou até mesmo a própria memória do computador.
Algoritmo 1 Troca de pneu do carro.
Passo 1: desligar o carro
Passo 2: pegar as ferramentas (chave e macaco)
Passo 3: pegar o estepe
Passo 4: suspender o carro com o macaco
Passo 5: desenroscar os 4 parafusos do pneu furado
Passo 6: colocar o estepe
Passo 7: enroscar os 4 parafusos
Passo 8: baixar o carro com o macaco
Passo 9: guardar as ferramentas
Algoritmo: Bolo de Chocolate
■ Passo1 – Receber os ingredientes:
■ 2 xícaras de açúcar;
■ 3 ovos;
■ 250g de margarina;
■ 3 xícaras de farinha de trigo;
■ 1 e ½ colher de fermento;
■ 1 xícara de leite.
■ Passo 2: aqueça o forno a 180 graus;
■ Passo 3: bata as claras em neve e reserve;
■ Passo 4: em uma travessa, bata o açúcar, a manteiga e as gemas;
Algoritmo: Bolo de Chocolate
■ Passo 5: misture a farinha e o leite;
■ Passo 6: bata bem, até ficar bem homogêneo;
■ Passo 7: com a ajuda de uma colher, acrescente o fermento;
■ Passo 8: por último, adicione as claras em neve e mexa cuidadosamente;
■ Passo 9: coloque em uma forma untada com manteiga e farinha de trigo e leve ao forno
médio para assar por aproximadamente 35 minutos ou até que, ao espetar um palito, esse
saia seco;
■ Passo 10: após assado, desligue o forno e deixe o bolo esfriar;
■ Passo 11: desenforme e saboreie.
Algoritmo: Características
■ Podemos observar cinco características inerentes aos algoritmos:
■ Finitude – Um algoritmo sempre deve terminar após um número finito
de passos.
■ Ex. Encerra no momento em que o bolo está pronto.
■ Definição – Cada passo do algoritmo deve ser bem definido e sem
ambiguidades
■ Não deve dar margem para uma interpretação dupla.
■ Entradas – Um algoritmo deve ter uma ou mais entradas, que são as
informações que devem ser fornecidas antes do algoritmo ser iniciado
■ No caso da receita de bolo, as entradas são os ingredientes
Algoritmo: Características
■ Podemos observar cinco características inerentes aos algoritmos
■ Saídas – Um algoritmo deve ter uma ou mais saídas.
■ Observando a nossa receita, vemos que os ingredientes (entradas) são
misturados, gerando uma única saída (o bolo).
■ Efetividade – Todo algoritmo deve ser descrito por operações básicas e
possíveis de ser realizadas de forma precisa, dentro de um determinado
tempo, por qualquer pessoa.
■ Se na receita víssemos uma instrução do tipo "coloque açúcar à
vontade", isso impossibilitaria a sua execução de uma forma precisa.
Algoritmo – Utilizando números e
expressões matemáticas
■ Cálculo da média aritmética de um aluno:
■ Passo 1: informe a primeira nota;
■ Passo 2: informe a segunda nota;
■ Passo 3: some a primeira nota com a segunda nota;
■ Passo 4: divida o resultado da soma por dois;
■ Passo 5: mostre o resultado obtido.
Algoritmo – Utilizando números e
expressões matemáticas
■ Podemos observar que esse algoritmo têm:
■ Início e fim
■ Passos bem definidos
■ Dados de entrada (primeira nota e segunda nota),
■ Dados de saída (média)
■ Instruções de cada passo são precisas
■ O exemplo reúne as 5 características mencionadas anteriormente.
■ Podemos afirmar que a construção de algoritmos é uma atividade que
faz parte do nosso cotidiano
■ Seguem uma sequência lógica de passos e geram suas respectivas
saídas (que são os resultados alcançados).
Algoritmo – Utilizando números e
expressões matemáticas
■ É importante lembrar que podem existir várias maneiras de
solucionar um problema.
■ O importante é chegar à solução. Melhor ainda, se essa
solução for atingida de forma eficiente e eficaz.
■ A eficiência a capacidade de produzir com maior qualidade e
com os mesmos ou menos recursos
■ A eficácia caracteriza-se por fazer o que é necessário para
alcançar determinado resultado
Atividade
■ Escreva o seu algoritmo usual para ir à
Universidade.
■ Escreva um algoritmo para fritar batatas.
■ Escreva o seu algoritmo usual para tomar
banho.
■ Escreva um algoritmo que, dado um número,
exiba o seu antecessor.
■ Faça o mesmo para exibir o sucessor do
número dado.
Nota:
■ Antes de fazer a atividade, considere as técnicas para elaboração de um
algoritmo:
■ Ler atentamente o enunciado
■ Destacando os pontos mais importantes;
■ Definir os dados de entrada;
■ Definir os dados de saída
■ O que se deseja obter
■ Definir o processamento
■ De que maneira será ordenada a sequência de passos
■ Construir o algoritmo;
Formas de Representação dos Algoritmos
■ Descrição narrativa
■ Fluxogramas
■ Pseudocódigo
Formas de Representação dos
Algoritmos :Descrição narrativa
■ Nessa forma de representação, analisamos o enunciado do problema e
descrevemos a sequência de passos em nossa língua nativa (em nosso
caso, o português).
■ A vantagem de se utilizar esse procedimento é que não precisamos
aprender nenhum conceito novo, pois já temos domínio sobre a nossa
língua nativa.
■ A desvantagem é que a língua natural pode ser interpretada de diferentes
maneiras. Em comparação com uma linguagem de programação, a
linguagem natural é abstrata, imprecisa e pouco confiável.
■ Isso poderia trazer problemas na hora de transcrever o algoritmo para o
programa (em uma linguagem de programação).
Formas de Representação dos
Algoritmos :Descrição narrativa
■ Considere o algoritmo – Receita de Bolo
■ Passo 9: coloque em uma forma untada com manteiga e farinha
de trigo e leve ao forno médio para assar por aproximadamente
35 minutos ou até que, ao espetar um palito, esse saia seco;
■ A informação sublinhada é imprecisa e pode ser interpretada de
diferentes.
■ "aproximadamente 35 minutos" pode ser um pouco menos que
35 minutos pra uma pessoa e um pouco mais que 35 minutos
pra outra pessoa executando a mesma receita.
■ Não fica clara a quantidade de manteiga e farinha de trigo que
deve ser aplicada na forma.
Formas de Representação dos
Algoritmos : Fluxograma
■ Fluxograma
■ Nessa forma de representação, escrevemos o algoritmo utilizando
símbolos gráficos predefinidos, enfatizando os passos individuais e
suas interconexões.
Formas de Representação dos
Algoritmos : Fluxograma
■A principal vantagem é que é mais fácil entender o conteúdo descrito de
forma gráfica do que um descrito textualmente.
■Além disso, os fluxogramas obedecem a um padrão mundial quanto à
simbologia.
■As desvantagens são as seguintes:
■Os dados podem não ser suficientemente detalhados, dificultando a
transcrição do algoritmo para o programa a ser desenvolvido;
■É necessário aprender a simbologia dos fluxogramas;
■Para algoritmos mais extensos, a construção do fluxograma pode se tornar
mais complicada.
Formas de Representação dos
Algoritmos : Fluxograma
■ Fluxograma
■ Exemplo para calcular a nota média de uma aluno
Formas de Representação dos
Algoritmos : Fluxograma
■ Fluxograma
■ Exemplo para calcular a nota média de uma aluno:
■ As entradas para a execução do algoritmo são a primeira e a segunda
nota
■ Veja, as notas 1 e 2 estão no símbolo de fluxograma correspondente à
entrada de dados.
■ O cálculo da média é efetuado no símbolo seguinte
■ Símbolo referente ao processamento, ou seja, os cálculos.
■ O símbolo de saída de dados do fluxograma exibe o resultado
■ A média do aluno
■ Os símbolos de Início e Fim são os delimitadores de execução
Atividade
■ Caracterize com suas próprias palavras uma descrição
narrativa.
■ Faça um algoritmo que descreva alguma situação do seu dia
a dia (ex. tomar banho) e construa um fluxograma contendo
os símbolos já vistos.
Formas de Representação dos
Algoritmos : Pseudocódigo
■ É uma combinação das melhores características das duas formas
de representação anteriores.
■ A principal vantagem da utilização do pseudocódigo é que,
mesmo sendo independente de qualquer linguagem de
programação, sua estruturação facilita a transcrição do algoritmo
criado para o código dessas linguagens
■ A desvantagem é que precisamos aprender as regras dessa
forma de representação. Também figura como desvantagem a
não padronização de sua estruturação. Isso quer dizer que você
encontrará um mesmo termo descrito de formas diferentes em
diferentes literaturas.
Pseudocódigo
Pseudocódigo
Formas de Representação dos
Algoritmos : Pseudocódigo
■ Vamos chamar as instruções que estão entre as palavras início e fim de bloco de
execução do algoritmo.
■ Veja que o bloco de execução não está posicionado no mesmo alinhamento das
palavras início e fim.
■ Chamamos esse recuo de identação.
■ A identação torna o código mais legível, pois facilita a visualização da delimitação
dos blocos de execução.
■ As palavras em negrito, são as palavras reservadas da linguagem.
■ Palavras reservadas são os comandos fornecidos pelas linguagens de
programação que permitem a expressão dos algoritmos.
■ Alguns exemplos de palavras reservadas são comandos de escrita ou leitura de
dados e a declaração de variáveis
■ O comentários explicam o algoritmo (em verde)
Formas de Representação dos Algoritmos :
Pseudocódigo
Formas de Representação dos Algoritmos :
Pseudocódigo
Exemplos: comandos de controle
Exemplos de Algoritmos em
Pseudocódigo
■ Como exemplo de um algoritmo matemático, vamos a considerar o problema de resolver
uma equação do primeiro grau da forma
■ Ax+b=0
■ A solução desta equação é
■ X=-b/a
■ Se o valor de a for diferente de 0.
Caso a seja igual a 1, a equação não possui solução, já que não é possivel dividir por 0.
Exemplos de Algoritmos em
Fluxograma
Exemplos de Algoritmos em
Pseudocódigo
Exemplos de Algoritmos em
Pseudocódigo
Fim da apresentação
■ Obrigada pela atenção

Mais conteúdo relacionado

PPT
Algoritmos_em_Pseudocodigo.ppt - aula sobre algoritmo
PPTX
Aula 2 - Introducao a Algoritmo.pptx
PDF
PDF
Algoritmia (Conceitos)
PDF
Conceito de algoritmo
PDF
Algoritmos parte1
PPT
Algoritmos
Algoritmos_em_Pseudocodigo.ppt - aula sobre algoritmo
Aula 2 - Introducao a Algoritmo.pptx
Algoritmia (Conceitos)
Conceito de algoritmo
Algoritmos parte1
Algoritmos

Semelhante a Algoritmos em Pseudocodigo Algoritmos em Pseudocodigo Algoritmos em Pseudocodigo Algoritmos em Pseudocodigo Algoritmos em Pseudocodigo (20)

PPTX
Algoritmo 01 - Semana 01
PDF
Aula 06 - Introdução à Ciência da Computação.pdf
PDF
PPTX
Programacao-1-Aula-01.pptx Programacao-1-Aula-01.pptx
PDF
Apostila algoritmos
PDF
UC_ 9 Desenvolver Algoritmos ( Vinicios Cararine Coelho ) 26_02.pdf
PDF
01 fundamentos de programação
PPTX
Algoritimo - Raul
PPT
Algoritmos - Modificado.ppt
PDF
122172 1445
DOC
Algoritmos e linguagem pascal
DOC
Algoritmos e linguagem pascal
PPT
ALGORITMOS_CONCEITOS_INICIAISaprendiz.ppt
DOC
Lógica da programação
DOC
Lógica da programação
PDF
Apostila de Introdução aos Algoritmos - usando o Visualg
PDF
Ufra tec prog_p_01
PDF
Algoritmos com java script
PDF
Modulo 1 - PSI.pdf
PPTX
Apresentação Aula Logica Intro aos Algoritmos I modulo.pptx
Algoritmo 01 - Semana 01
Aula 06 - Introdução à Ciência da Computação.pdf
Programacao-1-Aula-01.pptx Programacao-1-Aula-01.pptx
Apostila algoritmos
UC_ 9 Desenvolver Algoritmos ( Vinicios Cararine Coelho ) 26_02.pdf
01 fundamentos de programação
Algoritimo - Raul
Algoritmos - Modificado.ppt
122172 1445
Algoritmos e linguagem pascal
Algoritmos e linguagem pascal
ALGORITMOS_CONCEITOS_INICIAISaprendiz.ppt
Lógica da programação
Lógica da programação
Apostila de Introdução aos Algoritmos - usando o Visualg
Ufra tec prog_p_01
Algoritmos com java script
Modulo 1 - PSI.pdf
Apresentação Aula Logica Intro aos Algoritmos I modulo.pptx
Anúncio

Mais de Paulalsilveira Silveira (7)

PPTX
Pensamento Computacional Pensamento Computacional
PPTX
requisitos requisitos engenharia de requisitos requisitos requisitos engenhar...
PPTX
escrita cientifica escrita cientifica escrita cientifica
PPTX
Engenharia de Software Reuso Engenharia de Software Reuso Engenharia de Softw...
PPTX
PPTX
Sociedade da informação e do conhecimento (2).pptx
Pensamento Computacional Pensamento Computacional
requisitos requisitos engenharia de requisitos requisitos requisitos engenhar...
escrita cientifica escrita cientifica escrita cientifica
Engenharia de Software Reuso Engenharia de Software Reuso Engenharia de Softw...
Sociedade da informação e do conhecimento (2).pptx
Anúncio

Último (20)

PPTX
Aula sobre desenvolvimento de aplicativos
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Curso de Java 9 - (Threads) Multitarefas.pptx
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PPTX
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PPTX
Curso de Java 14 - (Explicações Adicionais (Classes Abstrata e Interface)).pptx
PPTX
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
PPTX
Aula sobre banco de dados com firebase db
PPTX
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
PPTX
Curso de Java 13 - (JavaEE (JSP e Servlets)).pptx
PPTX
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx
PPTX
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
PPTX
Émile Durkheim slide elaborado muito bom
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Processos na gestão de transportes, TM100 Col18
Aula sobre desenvolvimento de aplicativos
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Curso de Java 9 - (Threads) Multitarefas.pptx
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Curso de Java 14 - (Explicações Adicionais (Classes Abstrata e Interface)).pptx
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
Aula sobre banco de dados com firebase db
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
Custos e liquidação no SAP Transportation Management, TM130 Col18
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
Curso de Java 13 - (JavaEE (JSP e Servlets)).pptx
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
Émile Durkheim slide elaborado muito bom
Aula 18 - Manipulacao De Arquivos python
Processos na gestão de transportes, TM100 Col18

Algoritmos em Pseudocodigo Algoritmos em Pseudocodigo Algoritmos em Pseudocodigo Algoritmos em Pseudocodigo Algoritmos em Pseudocodigo

  • 2. Roteiro – Lógica – Algoritmos – Conceito de Algoritmo – Partes de um algoritmo – Características – Representação de um algoritmo ■ Fluxograma ■ Pseudocódigo
  • 3. Lógica ■ Observe as seguintes afirmações: ■ O número 4 é menor que o número 7. ■ O número 9 é maior que o número 7. Logo, o número 4 é menor que os números 9 e 7. ■ Um casal com três filhos notou que um vaso estava quebrado, enquanto duas das crianças estavam na escola. Quem é o culpado? ■ Há uma caneta dentro de uma gaveta fechada. Sabemos que, para pegar a caneta, devemos, antes, abrir a gaveta.
  • 4. Lógica ■ Podemos deduzir a partir dessas afirmações, que em nosso cotidiano, sempre que pensamos, já estamos utilizando a lógica. ■ Se consultarmos em um dicionário da língua portuguesa o verbete "lógica", veremos que se trata de uma parte da filosofia que estuda as leis do raciocínio. ■ É uma ciência que estuda as formas do pensamento.
  • 5. Lógica ■ “é uma sequência coerente, regular e necessária de acontecimentos, de coisas". ■ Veja, a seguir, uma sequência de passos para comprar um determinado produto em uma loja. Imagine se seria possível comprar o produto seguindo os passos dessa sequência: ■ sair da loja; ■ pagar pelo produto; ■ entrar na loja; ■ retirar o dinheiro da carteira; ■ dirigir-se ao caixa; ■ escolher o produto na prateleira.
  • 6. Lógica ■ Seria impossível conseguir efetuar a compra, pois apesar de todas as ações estarem corretas, a sequência está errada. ■ Como você poderia pagar pelo produto após sair da loja? Ou escolher o produto após pagar por ele? ■ A sequência correta, nesse caso, seria: ■ entrar na loja; ■ escolher o produto na prateleira; ■ dirigir-se ao caixa; ■ retirar o dinheiro da carteira; ■ pagar pelo produto; ■ sair da loja.
  • 7. Lógica ■ A lógica, dessa forma, é utilizada para conduzir pensamentos ou ações voltados para a solução de problemas. Assim, a lógica está correta em determinada situação, se a solução do problema tiver sido atingida. ■ Na programação de computadores, o treino dessa habilidade é fundamental para aprimorarmos a nossa capacidade de resolver problemas e programar. ■ Devemos, portanto, aprender a pensar de forma estruturada. ■ Significa desenvolver e aperfeiçoar a técnica de pensamento, dentro de um raciocínio lógico e matemático, que é a base de todo o trabalho na programação de computadores
  • 8. Algoritmo ■ Para resolver um problema em um computador, de modo semelhante ao que fazemos para resolver um problema do nosso cotidiano, devemos encontrar uma maneira de descrever esse problema de uma forma clara e precisa, através de uma sequência de passos a serem seguidos até que se atinja a solução procurada. ■ Essa estruturação deve seguir uma determinada lógica. A lógica aplicada à programação de computadores, deve buscar a melhor sequência de ações para se resolver um problema. Essa sequência de ações damos o nome de algoritmo.
  • 9. Algoritmo ■ é um conjunto finito de regras que fornece uma sequência de operações para resolver um problema específico. É algo como uma receita, ou uma rotina.
  • 10. Algoritmo ■ Para o desenvolvimento de um algoritmo eficiente é necessário obedecermos algumas premissas básicas no momento de sua construção: ■ Definir ações simples e sem ambiguidade; ■ Organizar as ações de forma ordenada ■ Estabelecer as ações dentro de uma sequência finita de passos
  • 11. Algoritmo ■ O algoritmo 1 é um exemplo simples de algoritmo (sem condições ou repetições) para troca de um pneu. ■ Os algoritmos são capazes de realizar tarefas como: ■ Ler e escrever dados; ■ Avaliar expressões algébricas, relacionais e lógicas; ■ Tomar decisões com base nos resultados das expressões avaliadas; ■ Repetir um conjunto de ações de acordo com uma condição;
  • 12. Algoritmo ■ Um algoritmo quando programado num computador é constituído pelo menos das 3 partes, sendo elas: ■ 1. Entrada de dados; ■ 2. Processamento de dados; ■ 3. Saída de dados;
  • 13. Algoritmo ■ Na parte de entrada, são fornecidas as informações necessárias para que o algoritmo possa ser executado. ■ Estas informações podem ser fornecidas no momento em que o programa está sendo executado ou podem estar embutidas dentro do mesmo. ■ Na parte do processamento são avaliadas todas as expressões algébricas, relacionais e lógicas, assim como todas as estruturas de controle existentes no algoritmo (condição e/ou repetição). ■ Na parte de saída, todos os resultados do processamento (ou parte deles) são enviados para um ou mais dispositivos de saída, como: monitor, impressora, ou até mesmo a própria memória do computador.
  • 14. Algoritmo 1 Troca de pneu do carro. Passo 1: desligar o carro Passo 2: pegar as ferramentas (chave e macaco) Passo 3: pegar o estepe Passo 4: suspender o carro com o macaco Passo 5: desenroscar os 4 parafusos do pneu furado Passo 6: colocar o estepe Passo 7: enroscar os 4 parafusos Passo 8: baixar o carro com o macaco Passo 9: guardar as ferramentas
  • 15. Algoritmo: Bolo de Chocolate ■ Passo1 – Receber os ingredientes: ■ 2 xícaras de açúcar; ■ 3 ovos; ■ 250g de margarina; ■ 3 xícaras de farinha de trigo; ■ 1 e ½ colher de fermento; ■ 1 xícara de leite. ■ Passo 2: aqueça o forno a 180 graus; ■ Passo 3: bata as claras em neve e reserve; ■ Passo 4: em uma travessa, bata o açúcar, a manteiga e as gemas;
  • 16. Algoritmo: Bolo de Chocolate ■ Passo 5: misture a farinha e o leite; ■ Passo 6: bata bem, até ficar bem homogêneo; ■ Passo 7: com a ajuda de uma colher, acrescente o fermento; ■ Passo 8: por último, adicione as claras em neve e mexa cuidadosamente; ■ Passo 9: coloque em uma forma untada com manteiga e farinha de trigo e leve ao forno médio para assar por aproximadamente 35 minutos ou até que, ao espetar um palito, esse saia seco; ■ Passo 10: após assado, desligue o forno e deixe o bolo esfriar; ■ Passo 11: desenforme e saboreie.
  • 17. Algoritmo: Características ■ Podemos observar cinco características inerentes aos algoritmos: ■ Finitude – Um algoritmo sempre deve terminar após um número finito de passos. ■ Ex. Encerra no momento em que o bolo está pronto. ■ Definição – Cada passo do algoritmo deve ser bem definido e sem ambiguidades ■ Não deve dar margem para uma interpretação dupla. ■ Entradas – Um algoritmo deve ter uma ou mais entradas, que são as informações que devem ser fornecidas antes do algoritmo ser iniciado ■ No caso da receita de bolo, as entradas são os ingredientes
  • 18. Algoritmo: Características ■ Podemos observar cinco características inerentes aos algoritmos ■ Saídas – Um algoritmo deve ter uma ou mais saídas. ■ Observando a nossa receita, vemos que os ingredientes (entradas) são misturados, gerando uma única saída (o bolo). ■ Efetividade – Todo algoritmo deve ser descrito por operações básicas e possíveis de ser realizadas de forma precisa, dentro de um determinado tempo, por qualquer pessoa. ■ Se na receita víssemos uma instrução do tipo "coloque açúcar à vontade", isso impossibilitaria a sua execução de uma forma precisa.
  • 19. Algoritmo – Utilizando números e expressões matemáticas ■ Cálculo da média aritmética de um aluno: ■ Passo 1: informe a primeira nota; ■ Passo 2: informe a segunda nota; ■ Passo 3: some a primeira nota com a segunda nota; ■ Passo 4: divida o resultado da soma por dois; ■ Passo 5: mostre o resultado obtido.
  • 20. Algoritmo – Utilizando números e expressões matemáticas ■ Podemos observar que esse algoritmo têm: ■ Início e fim ■ Passos bem definidos ■ Dados de entrada (primeira nota e segunda nota), ■ Dados de saída (média) ■ Instruções de cada passo são precisas ■ O exemplo reúne as 5 características mencionadas anteriormente. ■ Podemos afirmar que a construção de algoritmos é uma atividade que faz parte do nosso cotidiano ■ Seguem uma sequência lógica de passos e geram suas respectivas saídas (que são os resultados alcançados).
  • 21. Algoritmo – Utilizando números e expressões matemáticas ■ É importante lembrar que podem existir várias maneiras de solucionar um problema. ■ O importante é chegar à solução. Melhor ainda, se essa solução for atingida de forma eficiente e eficaz. ■ A eficiência a capacidade de produzir com maior qualidade e com os mesmos ou menos recursos ■ A eficácia caracteriza-se por fazer o que é necessário para alcançar determinado resultado
  • 22. Atividade ■ Escreva o seu algoritmo usual para ir à Universidade. ■ Escreva um algoritmo para fritar batatas. ■ Escreva o seu algoritmo usual para tomar banho. ■ Escreva um algoritmo que, dado um número, exiba o seu antecessor. ■ Faça o mesmo para exibir o sucessor do número dado.
  • 23. Nota: ■ Antes de fazer a atividade, considere as técnicas para elaboração de um algoritmo: ■ Ler atentamente o enunciado ■ Destacando os pontos mais importantes; ■ Definir os dados de entrada; ■ Definir os dados de saída ■ O que se deseja obter ■ Definir o processamento ■ De que maneira será ordenada a sequência de passos ■ Construir o algoritmo;
  • 24. Formas de Representação dos Algoritmos ■ Descrição narrativa ■ Fluxogramas ■ Pseudocódigo
  • 25. Formas de Representação dos Algoritmos :Descrição narrativa ■ Nessa forma de representação, analisamos o enunciado do problema e descrevemos a sequência de passos em nossa língua nativa (em nosso caso, o português). ■ A vantagem de se utilizar esse procedimento é que não precisamos aprender nenhum conceito novo, pois já temos domínio sobre a nossa língua nativa. ■ A desvantagem é que a língua natural pode ser interpretada de diferentes maneiras. Em comparação com uma linguagem de programação, a linguagem natural é abstrata, imprecisa e pouco confiável. ■ Isso poderia trazer problemas na hora de transcrever o algoritmo para o programa (em uma linguagem de programação).
  • 26. Formas de Representação dos Algoritmos :Descrição narrativa ■ Considere o algoritmo – Receita de Bolo ■ Passo 9: coloque em uma forma untada com manteiga e farinha de trigo e leve ao forno médio para assar por aproximadamente 35 minutos ou até que, ao espetar um palito, esse saia seco; ■ A informação sublinhada é imprecisa e pode ser interpretada de diferentes. ■ "aproximadamente 35 minutos" pode ser um pouco menos que 35 minutos pra uma pessoa e um pouco mais que 35 minutos pra outra pessoa executando a mesma receita. ■ Não fica clara a quantidade de manteiga e farinha de trigo que deve ser aplicada na forma.
  • 27. Formas de Representação dos Algoritmos : Fluxograma ■ Fluxograma ■ Nessa forma de representação, escrevemos o algoritmo utilizando símbolos gráficos predefinidos, enfatizando os passos individuais e suas interconexões.
  • 28. Formas de Representação dos Algoritmos : Fluxograma ■A principal vantagem é que é mais fácil entender o conteúdo descrito de forma gráfica do que um descrito textualmente. ■Além disso, os fluxogramas obedecem a um padrão mundial quanto à simbologia. ■As desvantagens são as seguintes: ■Os dados podem não ser suficientemente detalhados, dificultando a transcrição do algoritmo para o programa a ser desenvolvido; ■É necessário aprender a simbologia dos fluxogramas; ■Para algoritmos mais extensos, a construção do fluxograma pode se tornar mais complicada.
  • 29. Formas de Representação dos Algoritmos : Fluxograma ■ Fluxograma ■ Exemplo para calcular a nota média de uma aluno
  • 30. Formas de Representação dos Algoritmos : Fluxograma ■ Fluxograma ■ Exemplo para calcular a nota média de uma aluno: ■ As entradas para a execução do algoritmo são a primeira e a segunda nota ■ Veja, as notas 1 e 2 estão no símbolo de fluxograma correspondente à entrada de dados. ■ O cálculo da média é efetuado no símbolo seguinte ■ Símbolo referente ao processamento, ou seja, os cálculos. ■ O símbolo de saída de dados do fluxograma exibe o resultado ■ A média do aluno ■ Os símbolos de Início e Fim são os delimitadores de execução
  • 31. Atividade ■ Caracterize com suas próprias palavras uma descrição narrativa. ■ Faça um algoritmo que descreva alguma situação do seu dia a dia (ex. tomar banho) e construa um fluxograma contendo os símbolos já vistos.
  • 32. Formas de Representação dos Algoritmos : Pseudocódigo ■ É uma combinação das melhores características das duas formas de representação anteriores. ■ A principal vantagem da utilização do pseudocódigo é que, mesmo sendo independente de qualquer linguagem de programação, sua estruturação facilita a transcrição do algoritmo criado para o código dessas linguagens ■ A desvantagem é que precisamos aprender as regras dessa forma de representação. Também figura como desvantagem a não padronização de sua estruturação. Isso quer dizer que você encontrará um mesmo termo descrito de formas diferentes em diferentes literaturas.
  • 35. Formas de Representação dos Algoritmos : Pseudocódigo ■ Vamos chamar as instruções que estão entre as palavras início e fim de bloco de execução do algoritmo. ■ Veja que o bloco de execução não está posicionado no mesmo alinhamento das palavras início e fim. ■ Chamamos esse recuo de identação. ■ A identação torna o código mais legível, pois facilita a visualização da delimitação dos blocos de execução. ■ As palavras em negrito, são as palavras reservadas da linguagem. ■ Palavras reservadas são os comandos fornecidos pelas linguagens de programação que permitem a expressão dos algoritmos. ■ Alguns exemplos de palavras reservadas são comandos de escrita ou leitura de dados e a declaração de variáveis ■ O comentários explicam o algoritmo (em verde)
  • 36. Formas de Representação dos Algoritmos : Pseudocódigo
  • 37. Formas de Representação dos Algoritmos : Pseudocódigo
  • 39. Exemplos de Algoritmos em Pseudocódigo ■ Como exemplo de um algoritmo matemático, vamos a considerar o problema de resolver uma equação do primeiro grau da forma ■ Ax+b=0 ■ A solução desta equação é ■ X=-b/a ■ Se o valor de a for diferente de 0. Caso a seja igual a 1, a equação não possui solução, já que não é possivel dividir por 0.
  • 40. Exemplos de Algoritmos em Fluxograma
  • 41. Exemplos de Algoritmos em Pseudocódigo
  • 42. Exemplos de Algoritmos em Pseudocódigo
  • 43. Fim da apresentação ■ Obrigada pela atenção