SlideShare uma empresa Scribd logo
Programação I
Tema 1V: Métodos de Construção de
Algoritmos
Docente: Eugénio Xavier Domingos
Caetano
Método para Construção de
Algoritmos
 Os passos necessários para a
construção de um algoritmo são:
◦ ler atentamente o enunciado do
problema, compreendendo-o e
destacando os pontos mais importantes;
◦ definir os dados de entrada, ou seja,
quais dados serão fornecidos;
◦ definir os dados de saída, ou seja, quais
dados serão gerados depois do
processamento;
◦ definir o processamento, ou seja, quais
cálculos serão efetuados e quais as
restrições para esses cálculos.
 O processamento éresponsável pela obtenção
dos dados de saída com base nos dados de
entrada;
◦ definir as variáveis necessárias para
armazenar as entradas e efetuar o
processamento;
◦ elaborar o algoritmo;
◦ testar o algoritmo realizando simulações.
Formas de Representação de
um Algoritmo
 Pseudocódigo – forma textual.
 Fluxograma – forma gráfica.
Pseudocódigo
 Com base nos conceitos vistos
podemos aprofundar nosso estudo
sobre os métodos de representação
de algoritmos, iniciaremos pelo
pseudocódigo.
 Pseudocódigo é uma técnica textual
de representação de um algoritmo.
 Também é conhecida como
Português Estruturado ou Portugol.
 Nele os verbos (ações) disponíveis para
utilização são limitados e empregados
no imperativo, deve-se evitar as
expressões excessivamente longas,
estas restrições visam eliminar a
possibilidade de ambiguidade.
 A técnica é baseada em uma PDL
(Program Design Language), que é uma
linguagem genérica na qual é possível
representar um algoritmo de forma
semelhante à das linguagens de
programação.
Pseudocódigo – Estrutura
 A estrutura de um algoritmo em
pseudocódigo pode variar um pouco de
acordo com o autor ou com base na
linguagem de programação que será
utilizada posteriormente, mas essas
variações ocorrem apenas na sintaxe,
pois a semântica deve ser exatamente a
mesma.
 A estrutura que empregaremos para a
construção de nossos pseudocódigos
será a seguinte:
 algoritmo “nome”
◦ //Tem como objetivo identificar o
//algoritmo, deve-se utilizar um nome o
mais significativo //possível, para facilitar
a identificação
 var
◦ // Seção de Declarações -Neste ponto
são informadas //quais variáveis, e seus
respectivos tipos, serão // utilizadas no
algoritmo
 inicio
◦ // Seção de Comandos -Aqui seráescrita
a seqüência de comandos que deve ser
executada para solucionar o problema em
questão
 Fimalgoritmo
◦ //marca o final do algoritmo
Dados
 São as informações a serem
processadas por um computador.
 Consideremos 3 tipos de dados:
◦ numéricos(inteiros e reais),
◦ caracteres
◦ e lógicos.
 Tipos primitivos de dados:
◦ Inteiro: toda e qualquer informação numérica
que pertença ao conjunto dos números
inteiros (negativa, nula ou positiva).
 Exemplos: 39, 0, -56 entre outros.
◦ Real: toda e qualquer informação numérica
que pertença ao conjunto dos números reais
(negativa, nula ou positiva, inteiro ou
fracionário).
 Exemplos:- 4, 3, 0, 35, 1,23
◦ Caractere: São caracterizadas como tipos
caracteres, as sequências contendo letras,
números e símbolos especiais.
 Uma sequência de caracteres deve ser indicada
entre aspas (““).
 Este tipo de dado é também conhecido como
alfanumérico, string, literal ou texto.
 Exemplos: “Rua Alfa, 52 Apto 1”
◦ Lógico: São caracterizados como tipos
lógicos, os dados com valores verdadeiro
e falso, sendo que este tipo de dado
poderá representar apenas um dos dois
valores.
 Ele é chamado por alguns de tipo boleano,
devido à contribuição do filósofo e matemático
inglês George Boole na área da lógica
matemática.
 Os dados do tipo lógico, poderão ser
apresentados e delimitados pelo caractere
ponto (.) ou não:
 falso, .f., verdadeiro ou .v.
O Uso de Variáveis
 Tem-se como definição de variável tudo
aquilo que é sujeito a variações.
 Variáveis são espaços de memória que
são alocados para armazenar
informações.
 Por que precisa-se de variáveis?
◦ R: Para armazenar valores que serão
utilizados posteriormente.
◦ Ex.: em um cálculo complexo, resultados
intermediários podem ser armazenados e
posteriormente processados para se obter o
resultado final.
 Imaginemos que a memória de um
computador é um grande armário com
diversas gavetas, onde cada gaveta
pode conter somente um valor
(numérico, caractere ou lógico).
 Deve-se concordar que é necessário
identificar cada gaveta para sua
utilização posterior, através de um
nome.
Nomenclatura e declaração
das variáveis
 O nome de uma variável faz
referência ao endereço de memória
onde essa variável se encontra.
 Existem algumas regras para a
utilização das variáveis:
◦ Nome de variável pode ter 1 ou mais
caracteres.
◦ O primeiro caractere de uma variável
sempre deve ser uma letra.
◦ Nenhuma variável pode ter espaço em
branco em seu nome
◦ Nenhum nome de variável pode ser uma
palavra reservada a uma instrução da
linguagem usada
◦ Poderão ser utilizados somente letras,
números e sublinhado (embora algumas
linguagens aceitem o cedilha e
acentuação).
◦ Procure sempre utilizar variáveis que
tenham sentido (Mnemônicos).
 Ex: alt_homens ao invés de x.
Comandos de Entrada e Saída
de dados
 A entrada de dados será feita através da
instrução ler
leia <variável>
◦ Exemplo: leia (A)
 A saída de dados será feita através da
instrução escrever: escreva <variável>
◦ Exemplo: escreva (A)
◦ escreva (“Valor de A:”, A , “A Soma de B com
C é :”, B+C)
◦ escreva (“Você pesa ”, X , “ quilos e tem ”,
idade, “anos.”)
 Aqui colocamos em prática os
conceitos aprendidos anteriormente,
nos fatores levados em consideração
na construção de um algoritmo.
 Sempre que estamos diante de um
problema, este deve ser primeiro
resolvido por nós, para que depois
seja resolvido pelo computador.
 Isto é, ele deve ser muito bem
compreendido para que depois se
busque a solução no computador.
 O computador deve ser utilizado para
agilizar os processos que executados
mecanicamente seriam muito lentos.
◦ Um exemplo bem simples: Numa turma com
50 alunos, o professor deve calcular a média
de cada aluno baseado em 3 provas, sendo
que a primeira tem peso 1, a segunda peso 2
e a terceira peso três.
◦ Para cada aluno o professor deve fazer o
seguinte cálculo: (nota 1 + nota 2 * 2 + nota
3 * 3 ) / 6.
Pseudocódigo –Exemplo
 Observaremos agora um pseudocódigo
que recebe um valor inteiro, fornecido
pelo usuário, e o retorna no monitor.
Algoritmo “exemplo 1”
var x: inteiro
inicio
leia (x)
escreva (x)
fimalgoritmo
 Outro exemplo éo pseudocódigo de um
algoritmo que recebe um valor inteiro,
acresce duas unidades a este, e exibe o
resultado desta manipulação.
algoritmo “exemplo 2”
var n: inteiro
inicio
escreva (“Digite um número inteiro: ”)
leia (n)
n <-n+2
escreval(“Resultado (número + 2): ”, n)
fimalgoritmo
Exercicios
 Construa um pseudocódigo para
representar um algoritmo que efetue a
multiplicação de dois inteiros
quaisquer.
 Gere um pseudocódigo que aplique
um desconto de 30% sobre o valor de
um produto, recebido como entrada, e
retorne o resultado da manipulação na
saída padrão.

Mais conteúdo relacionado

PDF
Endereçamento de memória
PPTX
Módulo 12 - Introdução aos sistemas de informação
PPT
Reprodução sexuada e meiose
PDF
Scratch cap-1
PPT
áCidos nucleicos e síntese proteínas power point(2)
PDF
Power Point Alimentacao E Sustentabilidade
PPT
Arquitetura cliente servidor
PPT
Barramento do Sistema - Arquitetura e Organização de Computadores
Endereçamento de memória
Módulo 12 - Introdução aos sistemas de informação
Reprodução sexuada e meiose
Scratch cap-1
áCidos nucleicos e síntese proteínas power point(2)
Power Point Alimentacao E Sustentabilidade
Arquitetura cliente servidor
Barramento do Sistema - Arquitetura e Organização de Computadores

Mais procurados (20)

PPTX
Segurança da informação
PPTX
Conceitos básicos de genética
DOCX
Modelos osi tcpip
PPTX
Segurança e protecção dos sistemas operativos
PPSX
Engenharia GenéTica
PPT
Visão geral do sistema operacional
PDF
Aula Introdução a Arquitetura e Organização de Computadores
PPTX
PPTX
Actividade laboratorial Biologia 12º ano
PDF
Ficha Informativa - Experiência de Niremberg e Khorana
PPT
Módulo 1 de PSI
PPT
Reprodução sexuada e meiose
PPT
ENGENHARIA GENÉTICA
PPT
Memória Interna - Arquitetura e Organização de Computadores
PDF
Descritiva Narrativa (Lógica de Programação)
PDF
Sucessões: Exercícios Resolvidos
DOCX
resumo de geologia 10 ano
PDF
Redes de Computadores
PDF
Lista de exercicios algoritmos resolvida-
PPT
Arquitectura Interna Do Computador
Segurança da informação
Conceitos básicos de genética
Modelos osi tcpip
Segurança e protecção dos sistemas operativos
Engenharia GenéTica
Visão geral do sistema operacional
Aula Introdução a Arquitetura e Organização de Computadores
Actividade laboratorial Biologia 12º ano
Ficha Informativa - Experiência de Niremberg e Khorana
Módulo 1 de PSI
Reprodução sexuada e meiose
ENGENHARIA GENÉTICA
Memória Interna - Arquitetura e Organização de Computadores
Descritiva Narrativa (Lógica de Programação)
Sucessões: Exercícios Resolvidos
resumo de geologia 10 ano
Redes de Computadores
Lista de exercicios algoritmos resolvida-
Arquitectura Interna Do Computador
Anúncio

Semelhante a 4. metodos de contrucao de algoritmo (20)

PDF
Algoritmos e Lógica de Programação
PPTX
PPTX
Introdução aos algoritmos e à algoritmia.pptx
PDF
Apostila de algoritimos
PDF
Cap05
PDF
Cap05
PDF
Cap05
PPT
Material de Apoio de Algoritmo e Lógica de Programação
PPT
Algoritmos
DOC
Algoritmos e linguagem pascal
DOC
Algoritmos e linguagem pascal
PPTX
Aula 3-lógica.pptx
PPTX
002 - ESTRUTURA E VARIAVEIS DE DADOS.pptx
PPT
FC-Logic
PDF
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
PPT
Algop - aula 02
Algoritmos e Lógica de Programação
Introdução aos algoritmos e à algoritmia.pptx
Apostila de algoritimos
Cap05
Cap05
Cap05
Material de Apoio de Algoritmo e Lógica de Programação
Algoritmos
Algoritmos e linguagem pascal
Algoritmos e linguagem pascal
Aula 3-lógica.pptx
002 - ESTRUTURA E VARIAVEIS DE DADOS.pptx
FC-Logic
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algop - aula 02
Anúncio

Mais de Eugenio Caetano (15)

PPTX
18. arduino
PPTX
15. c++ e arduino
PPTX
15. introducao ao c++
PPTX
8. matrizes
PPTX
6. estruturas de controlo de fluxo
PPTX
5. introducao a linguagem c
PPTX
Sala de aula em rede
PPTX
11. Relatorios e OLE
PPTX
6. Estruturas de controlo de fluxo (decisao)
PPTX
5. Operadores
PPTX
Introducao ao visual basic
PPTX
Importancia da comunidade virtual de aprendizagem
PPTX
2. ambiente de desenvolvimento do vb (parte 1)
PPTX
3. ambiente de desenvolvimento do vb (parte 2)
PPTX
18. arduino
15. c++ e arduino
15. introducao ao c++
8. matrizes
6. estruturas de controlo de fluxo
5. introducao a linguagem c
Sala de aula em rede
11. Relatorios e OLE
6. Estruturas de controlo de fluxo (decisao)
5. Operadores
Introducao ao visual basic
Importancia da comunidade virtual de aprendizagem
2. ambiente de desenvolvimento do vb (parte 1)
3. ambiente de desenvolvimento do vb (parte 2)

Último (6)

PDF
Evolução em código: algoritmos genéticos com PHP
PDF
Paper_A028_BR_Victor_Enrique_Cavero_Sori (1).pdf
PDF
Dos requisitos ao código: como criar código rastreável em PHP
DOC
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
PDF
apresentacao introducao computacao ead.pdf
PPTX
Mapeamento de Objeto para Tabela Relacional
Evolução em código: algoritmos genéticos com PHP
Paper_A028_BR_Victor_Enrique_Cavero_Sori (1).pdf
Dos requisitos ao código: como criar código rastreável em PHP
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
apresentacao introducao computacao ead.pdf
Mapeamento de Objeto para Tabela Relacional

4. metodos de contrucao de algoritmo

  • 1. Programação I Tema 1V: Métodos de Construção de Algoritmos Docente: Eugénio Xavier Domingos Caetano
  • 2. Método para Construção de Algoritmos  Os passos necessários para a construção de um algoritmo são: ◦ ler atentamente o enunciado do problema, compreendendo-o e destacando os pontos mais importantes; ◦ definir os dados de entrada, ou seja, quais dados serão fornecidos; ◦ definir os dados de saída, ou seja, quais dados serão gerados depois do processamento;
  • 3. ◦ definir o processamento, ou seja, quais cálculos serão efetuados e quais as restrições para esses cálculos.  O processamento éresponsável pela obtenção dos dados de saída com base nos dados de entrada; ◦ definir as variáveis necessárias para armazenar as entradas e efetuar o processamento; ◦ elaborar o algoritmo; ◦ testar o algoritmo realizando simulações.
  • 4. Formas de Representação de um Algoritmo  Pseudocódigo – forma textual.  Fluxograma – forma gráfica.
  • 5. Pseudocódigo  Com base nos conceitos vistos podemos aprofundar nosso estudo sobre os métodos de representação de algoritmos, iniciaremos pelo pseudocódigo.  Pseudocódigo é uma técnica textual de representação de um algoritmo.  Também é conhecida como Português Estruturado ou Portugol.
  • 6.  Nele os verbos (ações) disponíveis para utilização são limitados e empregados no imperativo, deve-se evitar as expressões excessivamente longas, estas restrições visam eliminar a possibilidade de ambiguidade.  A técnica é baseada em uma PDL (Program Design Language), que é uma linguagem genérica na qual é possível representar um algoritmo de forma semelhante à das linguagens de programação.
  • 7. Pseudocódigo – Estrutura  A estrutura de um algoritmo em pseudocódigo pode variar um pouco de acordo com o autor ou com base na linguagem de programação que será utilizada posteriormente, mas essas variações ocorrem apenas na sintaxe, pois a semântica deve ser exatamente a mesma.  A estrutura que empregaremos para a construção de nossos pseudocódigos será a seguinte:
  • 8.  algoritmo “nome” ◦ //Tem como objetivo identificar o //algoritmo, deve-se utilizar um nome o mais significativo //possível, para facilitar a identificação  var ◦ // Seção de Declarações -Neste ponto são informadas //quais variáveis, e seus respectivos tipos, serão // utilizadas no algoritmo
  • 9.  inicio ◦ // Seção de Comandos -Aqui seráescrita a seqüência de comandos que deve ser executada para solucionar o problema em questão  Fimalgoritmo ◦ //marca o final do algoritmo
  • 10. Dados  São as informações a serem processadas por um computador.  Consideremos 3 tipos de dados: ◦ numéricos(inteiros e reais), ◦ caracteres ◦ e lógicos.  Tipos primitivos de dados: ◦ Inteiro: toda e qualquer informação numérica que pertença ao conjunto dos números inteiros (negativa, nula ou positiva).  Exemplos: 39, 0, -56 entre outros.
  • 11. ◦ Real: toda e qualquer informação numérica que pertença ao conjunto dos números reais (negativa, nula ou positiva, inteiro ou fracionário).  Exemplos:- 4, 3, 0, 35, 1,23 ◦ Caractere: São caracterizadas como tipos caracteres, as sequências contendo letras, números e símbolos especiais.  Uma sequência de caracteres deve ser indicada entre aspas (““).  Este tipo de dado é também conhecido como alfanumérico, string, literal ou texto.  Exemplos: “Rua Alfa, 52 Apto 1”
  • 12. ◦ Lógico: São caracterizados como tipos lógicos, os dados com valores verdadeiro e falso, sendo que este tipo de dado poderá representar apenas um dos dois valores.  Ele é chamado por alguns de tipo boleano, devido à contribuição do filósofo e matemático inglês George Boole na área da lógica matemática.  Os dados do tipo lógico, poderão ser apresentados e delimitados pelo caractere ponto (.) ou não:  falso, .f., verdadeiro ou .v.
  • 13. O Uso de Variáveis  Tem-se como definição de variável tudo aquilo que é sujeito a variações.  Variáveis são espaços de memória que são alocados para armazenar informações.  Por que precisa-se de variáveis? ◦ R: Para armazenar valores que serão utilizados posteriormente. ◦ Ex.: em um cálculo complexo, resultados intermediários podem ser armazenados e posteriormente processados para se obter o resultado final.
  • 14.  Imaginemos que a memória de um computador é um grande armário com diversas gavetas, onde cada gaveta pode conter somente um valor (numérico, caractere ou lógico).  Deve-se concordar que é necessário identificar cada gaveta para sua utilização posterior, através de um nome.
  • 15. Nomenclatura e declaração das variáveis  O nome de uma variável faz referência ao endereço de memória onde essa variável se encontra.  Existem algumas regras para a utilização das variáveis: ◦ Nome de variável pode ter 1 ou mais caracteres. ◦ O primeiro caractere de uma variável sempre deve ser uma letra.
  • 16. ◦ Nenhuma variável pode ter espaço em branco em seu nome ◦ Nenhum nome de variável pode ser uma palavra reservada a uma instrução da linguagem usada ◦ Poderão ser utilizados somente letras, números e sublinhado (embora algumas linguagens aceitem o cedilha e acentuação). ◦ Procure sempre utilizar variáveis que tenham sentido (Mnemônicos).  Ex: alt_homens ao invés de x.
  • 17. Comandos de Entrada e Saída de dados  A entrada de dados será feita através da instrução ler leia <variável> ◦ Exemplo: leia (A)  A saída de dados será feita através da instrução escrever: escreva <variável> ◦ Exemplo: escreva (A) ◦ escreva (“Valor de A:”, A , “A Soma de B com C é :”, B+C) ◦ escreva (“Você pesa ”, X , “ quilos e tem ”, idade, “anos.”)
  • 18.  Aqui colocamos em prática os conceitos aprendidos anteriormente, nos fatores levados em consideração na construção de um algoritmo.  Sempre que estamos diante de um problema, este deve ser primeiro resolvido por nós, para que depois seja resolvido pelo computador.
  • 19.  Isto é, ele deve ser muito bem compreendido para que depois se busque a solução no computador.  O computador deve ser utilizado para agilizar os processos que executados mecanicamente seriam muito lentos. ◦ Um exemplo bem simples: Numa turma com 50 alunos, o professor deve calcular a média de cada aluno baseado em 3 provas, sendo que a primeira tem peso 1, a segunda peso 2 e a terceira peso três. ◦ Para cada aluno o professor deve fazer o seguinte cálculo: (nota 1 + nota 2 * 2 + nota 3 * 3 ) / 6.
  • 20. Pseudocódigo –Exemplo  Observaremos agora um pseudocódigo que recebe um valor inteiro, fornecido pelo usuário, e o retorna no monitor. Algoritmo “exemplo 1” var x: inteiro inicio leia (x) escreva (x) fimalgoritmo
  • 21.  Outro exemplo éo pseudocódigo de um algoritmo que recebe um valor inteiro, acresce duas unidades a este, e exibe o resultado desta manipulação. algoritmo “exemplo 2” var n: inteiro inicio escreva (“Digite um número inteiro: ”) leia (n) n <-n+2 escreval(“Resultado (número + 2): ”, n) fimalgoritmo
  • 22. Exercicios  Construa um pseudocódigo para representar um algoritmo que efetue a multiplicação de dois inteiros quaisquer.  Gere um pseudocódigo que aplique um desconto de 30% sobre o valor de um produto, recebido como entrada, e retorne o resultado da manipulação na saída padrão.