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

Nenhum comentário

Tecnologia do Blogger.