Você está na página 1de 17

Princípios de Desenvolvimento de

Algoritmos
Leitura e escrita

Profa. Dra. Cecir Almeida Farias


Produção de Software

> Nosso objetivo:


Produzir software

> Como construir software?


Análise: conhecimento do problema (definição das entradas,
processamento e saída dos dados).

Construção do Algoritmo: aplicação de ferramentas para


descrição do problema e sua solução.

Codificação: o algoritmo é transformado em códigos da


linguagem de programação escolhida para se trabalhar (Pascal).
# Produção de Software

Problema !! Idéia

Produz Solução Tecnologias


Produção de Software O que é um problema?
• Questão difícil, delicada, suscetível de diversas
soluções.
Dúvida. Questão. (Dicionário Michaelis)
Problema !!! • Problemas fazem parte de nosso cotidiano.
• Exemplos de problemas cotidianos:
o Trocar uma lâmpada
o Definir como fazer um sanduíche
• Sempre que deparamos com um problema,
buscamos
uma procedimento para solucioná-lo.

Exemplo de solução –
Trocar Lâmpada:
Passo 1: Pegar uma lâmpada nova.
Passo 2: Pegar uma escada.
Passo 3: Colocar a escada embaixo da lâmpada
Solução queimada.
Passo 4: Subir na escada com a lâmpada nova na
mão.
Passo 5: Retirar a lâmpada queimada.
Passo 6: Colocar a lâmpada nova.
Passo 7: Descer da escada com a lâmpada velha.
Passo 8: Testar o interruptor.
Passo 9: Guardar a escada.
Passo 10: Jogar a lâmpada velha no lixo.
Produção de Software
O que nos orientou para
obtermos a solução
Solução desejada?
RACIOCÍNIO LÓGICO
O uso de LÓGICA é primordial na solução de
problemas. Com ela é possível alcançar
objetivos com eficácia e eficiência!
Ao utilizarmos LÓGICA para listar passos
ordenados que resultam na solução de um
determinado problema estamos construindo
um ALGORITMO.
Codificação
Linguagem de Programação:
• Ferramenta utilizada para desenvolver um
software
(programa). Nossa ferramenta: Pascal.

• Portanto, um programa é a codificação de um


algoritmo numa linguagem de programação.
(Ascencio, 1999)
Algoritmos

“Algoritmo é uma seqüência ordenada, e não ambígua,


de passos de passos que levam a solução de um
problema.” (Tremblay, 1983)

• Características básicas de um algoritmo:


– Ter fim;

– Não dar margem a 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 ambiente do algoritmo.
Algoritmos

• Passo a passo para a construção de


algoritmos:
1. Entender completamente o problema.

2. Identificar os dados de entrada, ou seja, quais dados


serão fornecidos a fim de possibilitar a solução do
problema.

3. Definir o processamento, ou seja, quais cálculos serão


efetuados e quais as restrições para estes cálculos.

4. Definir os dados de saída, ou seja, quais dados serão


gerados depois do processamento.

5. Construir o algoritmo utilizando uma forma de


representação.

6. Testar o algoritmo realizando simulações.


Algoritmos – Formas de
Representação

• As formas mais usadas para representar


algoritmos são:
1. Descrição Narrativa: uso do português para a
descrição do algoritmo.

2. Fluxograma: utilização de símbolos gráficos.

3. Linguagem algorítmica: pseudo-linguagem de


programação (português estruturado).

• Exemplo: Faça um algoritmo que receba duas


notas, calcule e exiba a média aritmética entre
elas.
Algoritmos – Formas de Representação

Descrição Fluxograma Linguagem Algorítmica


Narrativa
Início
Solicite que alguém Algoritmo Calcula_Media
informe dois números. Entrada de N1, N2: real
Leia estes dois Dados N1, N2 Media: real
números, faça o Início
cálculo da média Cálculo Escreva “Digite Nota 1 e
aritmética e informe o Média = (N1 + N2) Nota2”
resultado. /2 Leia N1, N2
Media  (N1 + N2)/2
Saída de Médi Escreva “Média = ”, Media
Dados
a Fim

Fim

Vantagens: Vantagens: Vantagens:


• O português é conhecido • O entendimento de • Usa o português como base.
e não seria necessário elementos gráficos é • A passagem do algoritmo para
aprender nenhum mais simples que o qualquer linguagem de
conceito novo. entendimento de textos. programação
é quase imediata.
Algoritmos – Formas de Representação

Descrição Fluxograma Linguagem Algorítmica


Narrativa
Início

Solicite que alguém Algoritmo Calcula_Media


informe dois números. N1, N2: real
Leia estes dois N1, N2 Media: real
números, faça o Início
cálculo da média Escreva “Digite Nota 1 e
aritmética e informe o Média = (N1 + N2) Nota2”
resultado.
/2 Leia N1, N2
Media  (N1 + N2)/2
Médi Escreva “Média = ”, Media
a Fim

Fim
Desvantagens:
• Imprecisão: abre Desvantagens: Desvantagens:
margem para várias • Difícil de representar a • Não padronizado.
interpretações. medida que cresce. • Necessário aprender as regras
• Dificuldade em passar • Dificuldade em passar do pseudo-código: vamos
este algoritmo para um este algoritmo para um aprender!
programa. programa.
Introdução a Algoritmos

Conceitos Básicos
Linguagem Algorítmica

> Consiste na definição de uma pseudolinguagem de programação, cujos


comandos são em português, para representar algoritmos.

> Para detalharmos os comandos da linguagem algorítmica, vamos


pensar no seguinte exemplo:
Um algoritmo que leia duas notas de um aluno, calcula e exibe a
média aritmética entre elas.
> Dicas Táticas:
Defina o objetivo do algoritmo:
• Calcular a Média

Defina as metas (passos) para atingir o objetivo:


• Ler notas do aluno , calcular a média e exibir

Defina as variáveis necessárias:


• Nota1, Nota2 e Média

Use as regras para execução (comandos na linguagem algorítmica)


Linguagem Algorítmica
Para declararmos
> Formato de um algoritmo: variáveis devemos
obedecer a seguinte
sintaxe:
Algoritmo <título do algoritmo> lista-de-Identificadores:
tipo
<declarações de variáveis> onde,
lista-de-Identificadores:
são os nomes das variáveis
início
tipo: é o tipo da variável
<bloco de comandos> Exemplos:
Nota1, Nota2, Media: real
fim NomeAluno: string

Para escrever algoritmos, percebemos que as instruções


devem ser executadas em sequência, ou seja, uma após a
outra. Como podemos definir isso?
• Através do bloco de comandos “início – fim”.

• Todos as instruções definidas dentro do bloco de comandos que


serão executadas em sequencia.
Linguagem Algorítmica

> Operações de Entrada e Saída:


Permitem a interação com o usuário.

> Comando Escreva:


Serve para escrever mensagens no dispositivo de saída (padrão:
vídeo).
Sintaxe:
• escreva (“Oi aluno! Informe seu nome:”)
• escreva (“Digite as suas duas notas:”)

> Comando Leia:


Serve para ler os dado(s) do dispositivo de entrada (padrão:
teclado) e armazenar na variável (memória).
Sintaxe:
• leia (NomeAluno)
• leia (Nota1, Nota2)
Linguagem Algorítmica

> Operações de Atribuição:


Permite que se forneça um valor a uma certa variável.

> Sintaxe:
variável  expressão

> Exemplo:
Media  (Nota1 + Nota2)/2
Linguagem Algorítmica

> Comentários:
Usados para dar clareza a um algoritmo.
Deve ser escrito entre chaves
Pode ser colocado em qualquer lugar do algoritmo.

> Exemplo:
{Finalidade do algoritmo: Ler notas do aluno e calcular a média}
Linguagem Algorítmica

• Solução do exemplo: Um algoritmo que leia duas notas de um


aluno, calcula e exibe a média aritmética entre elas.
Algoritmo Calcula_média_notas
{Finalidade: Ler duas notas e calcular a média aritmética entre elas}
Nota1, Nota2, Media: real
Início
{Lendo as notas}
escreva(“Informe a primeira nota:”)
leia (Nota1)
escreva(“Informe a segunda nota:”)
leia (Nota2)
{Calculando a média}
Media  (Nota1 + Nota2)/2
{Exibindo o resultado}
escreva (Media)
fim

Você também pode gostar