Algoritmo e Pseudo-código
Técnicas específicas de pensamento computacional incluem:
•Decomposição do problema
Suponha que você tenha um amigo estrangeiro que quer fazer o bolo de chocolate que você preparou no dia anterior? Como você o ajudaria?
Ou seu amigo estrangeiro se ofereceu a ir ao supermercado para fazer as compras. Como você explicaria o procedimento para passar no caixa?
Você tem dois programas de computador que fazem a mesma coisa e precisa indicar ao gestor o melhor dentre eles, o que você faria?
Você deve ter uma noção de como explicar o passo a passo de tal tarefa.
•Reconhecimento de padrões
Para resolver os problemas apresentados você precisa pelo menos:
–Indicar quais são as entradas esperadas
–Indicar quais são as saídas produzidas
–Um conjunto de passos não ambíguos para transformar as entradas nas saídas.
Isso é um algoritmo?
Um algoritmo é uma conjunto de atividades que podem ser executadas passo a passo para resolver problemas
Mas peraí ....
•Um algoritmo então é um programa de computador?
–Não. Um programa de computador é uma das possíveis representações de um algoritmo.
•Um algoritmo então é um processo?
–Não, processo é a atividade de executar sequência bem definidas e, consequentemente, também é a atividade de executar um algoritmo.
Pois é algoritmos estão em toda a parte...
Não adianta fugir.
Imagine que você queira dar escalabilidade para realizar atividades em sua escola.
–Um algoritmo pode analisar as atividades dos alunos e recomendar material de reforço.
–Um algoritmo pode avaliar as provas dos alunos.
–Um algoritmo pode identificar a maneira mais eficiente de dar apoio ao professor para criar material didático.
•Em Educação a Distância (EAD):
–Existem algoritmos para personalizar a aprendizagem colocando as atividades no ar de maneira diferenciada.
•Em computação tudo vira algoritmos!?
Se não é possível fugir, então junte-se a ele .
Seja um criador de algoritmo de primeira linha!
Como?
Como criar algoritmos?
•Para se tornar um bom cozinheiro, você não memoriza livros e livros de receitas.
•Você estuda receitas existentes.
•Você pratica fazê-los.
•Você experimenta com suas próprias variações.
•Até que possa inventar suas próprias receitas.
Para se tornar um bom profissional em exatas, você não deve memorizar livros e livros de algoritmos.
•Você estuda algoritmos famosos.
•Você pratica implementá-los e executá-los.
•Depois passa a reconhecer padrões mais gerais, e a experimentar implementações com suas próprias variações.
•Até que, finalmente, você irá inventar seus próprios algoritmos.
E como representar um algoritmo?
•Descrição narrativa:
–consiste em analisar o enunciado do problema e escrever, utilizando linguagem natural, os passos a serem seguidos para sua resolução (receita de bolo).
–Ponto positivo: Não é necessário aprender novos conceitos, pois a língua natural já é bem conhecida.
–Ponto negativo: A língua natural abre espaço para várias interpretações, dificultando a transcrição desse algoritmo para programa
Fluxograma:
–consiste em analisar o enunciado do problema e escrever, utilizando símbolos gráficos, os passos a serem seguidos para sua resolução
–Ponto positivo: O entendimento de elementos gráficos é mais simples que o entendimento de textos.
–Ponto negativo: Os fluxogramas devem ser entendidos e o algoritmo resultante não é detalhado. Isso dificulta sua transcrição para um programa.
Pseudocódigo:
–consiste em analisar o enunciado do problema e escrever, por meio de regras predefinidas, os passos a serem seguidos para sua resolução.
–Ponto positivo: Representação clara sem as especificações de linguagem de programação.
A passagem do algoritmo para qualquer linguagem de programação é mais simples.
–Ponto negativo: As regras do pseudocódigo devem ser aprendidas
Crie um algoritmo para exibir o resultado da multiplicação de dois números utilizando as três formas de representação.
•Descrição narrativa
–PASSO 1 – Receber os dois números que serão multiplicados.
–PASSO 2 – Multiplicar os números.
–PASSO 3 – Mostrar o resultado obtido da multiplicação.
Exemplo - Fluxograma
Exemplo - Pseudocódigo
Existem várias formas de escrever o pseudocódigo. Exemplos:
Multiplicação (n1, n2)
m ←n1*n2
RETORNE m
FIM
ou
ALGORITMO
DECLARE n1, n2, m
LEIA n1, n2
m ← n1*n2
ESCREVA m
FIM
Agora vamos ver um exemplo de algorítimo feito em linguagem de Programação C.
#include<stdio.h>
void main() {
int n1, n2, m;
scanf("%d %d", &n1, &n2);
m = n1*n2;
printf("\n %d", m);
}
ALGORITMO DECLARE n1, n2, m LEIA n1, n2 m ← n1*n2 ESCREVA m FIM
Representação de Algoritmos
•Leitura/Escrita
–Leitura de dados: LEIA
–Escrita de dados: IMPRIMA
•Estrutura Condicional
–Simples: SE-ENTAO
–Composta: SE-ENTAO-SENAO
•Estrutura de Repetição
–PARA
–ENQUANTO
–REPITA
Representação de Algoritmos
•Declaração de variáveis:
–DECLARE
•Leitura/Escrita
–Leitura de dados: LEIA
–Escrita de dados: IMPRIMA
•Estrutura Condicional
–Simples: SE-ENTAO
–Composta: SE-ENTAO-SENAO
•Estrutura de Repetição
–PARA
–ENQUANTO
–REPITA
Estrutura Condicional Simples
SE <Decisão> ENTÃO
Instrução 1
....
Instrução N
Estrutura Condicional Composta
SE <Decisão> ENTÃO
Instrução 1
Instrução N
SENÃO
Instrução 1
Instrução N
Dado dois inteiros crie um algoritmo para retornar o maior deles
Estrutura Condicional Composta
Entrada: inteiros i e j
Saída: um inteiro, maior valor entre i e j
SE i < j ENTÃO
IMPRIMA j
SENÃO
IMPRIMA i
Post a Comment