0% acharam este documento útil (0 voto)
119 visualizações22 páginas

Algoritmos

O documento apresenta conceitos sobre algoritmos, definindo-os como uma sequência de passos para resolver um problema e fornecendo exemplos de algoritmos comuns, como fazer um sanduíche, trocar uma lâmpada e sacar dinheiro no banco. O objetivo é conceituar algoritmos e mostrar três tipos de algoritmos através de exemplos.

Enviado por

JOSE ADILSON
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
119 visualizações22 páginas

Algoritmos

O documento apresenta conceitos sobre algoritmos, definindo-os como uma sequência de passos para resolver um problema e fornecendo exemplos de algoritmos comuns, como fazer um sanduíche, trocar uma lâmpada e sacar dinheiro no banco. O objetivo é conceituar algoritmos e mostrar três tipos de algoritmos através de exemplos.

Enviado por

JOSE ADILSON
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 22

Algoritmos

Material Teórico
Conceito de Lógica Aplicada a Programas

Responsável pelo Conteúdo:


Prof.ª Me. Ana Fernanda Gomes Ascencio

Revisão Textual:
Jaquelina Kutsunugi

Revisão Técnica:
Prof.ª Esp. Margarete Eliane da Silva Almendro
Conceito de Lógica Aplicada
a Programas

• Definição de Algoritmo;
• Técnicas para o Desenvolvimento de Algoritmos.

OBJETIVO DE APRENDIZADO
• Conceituar ALGORITMO, descrever os três tipos mais utilizados de ALGORITMOS e
mostrar alguns exemplos de ALGORITMOS utilizando esses três tipos.
Orientações de estudo
Para que o conteúdo desta Disciplina seja bem
aproveitado e haja maior aplicabilidade na sua
formação acadêmica e atuação profissional, siga
algumas recomendações básicas:
Conserve seu
material e local de
estudos sempre
organizados.
Aproveite as
Procure manter indicações
contato com seus de Material
colegas e tutores Complementar.
para trocar ideias!
Determine um Isso amplia a
horário fixo aprendizagem.
para estudar.

Mantenha o foco!
Evite se distrair com
as redes sociais.

Seja original!
Nunca plagie
trabalhos.

Não se esqueça
de se alimentar
Assim: e de se manter
Organize seus estudos de maneira que passem a fazer parte hidratado.
da sua rotina. Por exemplo, você poderá determinar um dia e
horário fixos como seu “momento do estudo”;

Procure se alimentar e se hidratar quando for estudar; lembre-se de que uma


alimentação saudável pode proporcionar melhor aproveitamento do estudo;

No material de cada Unidade, há leituras indicadas e, entre elas, artigos científicos, livros, vídeos
e sites para aprofundar os conhecimentos adquiridos ao longo da Unidade. Além disso, você tam-
bém encontrará sugestões de conteúdo extra no item Material Complementar, que ampliarão
sua interpretação e auxiliarão no pleno entendimento dos temas abordados;

Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de discus-
são, pois irão auxiliar a verificar o quanto você absorveu de conhecimento, além de propiciar o
contato com seus colegas e tutores, o que se apresenta como rico espaço de troca de ideias e
de aprendizagem.
UNIDADE Conceito de Lógica Aplicada a Programas

Definição de Algoritmo
O computador é um dispositivo eletrônico importante e muito útil nos dias atu-
ais, pois tem a finalidade de receber, manipular e armazenar dados.
A finalidade de um computador é realizar o PROCESSAMENTO DE DA-
DOS, ou seja, receber dados por um dispositivo de entrada (por exem-
plo, teclado, mouse, scanner, entre outros), realizar operações com esses
dados e gerar uma resposta que será exibida em um dispositivo de saída
(por exemplo, impressora, monitor de vídeo, entre outros). (ASCENCIO,
1999, p. 1)

Portanto, para realizar o PROCESSAMENTO DE DADOS, o computador pre-


cisa de duas partes diferentes que trabalham juntas: o hardware, composto pelas
partes físicas, e o software, composto pelos programas.

Quando existe a necessidade de execução de um determinado tipo de PRO-


CESSAMENTO DE DADOS, será preciso desenvolver um software e, para que o
computador compreenda e execute esse software, devemos escrevê-lo utilizando
uma linguagem entendível pelo computador e pelo desenvolvedor, ou seja, deve-
mos usar as chamadas LINGUAGENS DE PROGRAMAÇÃO.

Segundo Ascencio e Campos (2012, p. 1), as etapas para o desenvolvimento de


um programa são: análise, algoritmo e codificação.
• Análise – Nesta etapa, estuda-se o enunciado do problema para defi-
nir os dados de entrada, o processamento e os dados de saída;

• Algoritmo – Ferramentas do tipo descrição narrativa, fluxograma ou


português estruturado são utilizadas para descrever o problema com
suas soluções;

• Codificação – O algoritmo é transformado em códigos da linguagem


de programação escolhida para se trabalhar.

Portanto, um programa é a codificação de um algoritmo em uma linguagem de


programação. (ASCENCIO; CAMPOS, 2012, p. 1)

O texto a seguir apresenta a definição de algoritmos, segundo alguns autores


consagrados na área de programação de computadores.
“Algoritmo é uma sequência de passos que visa atingir um objetivo bem
definido” (FORBELLONE, 2005, p. 3).

“Algoritmo é a descrição de uma sequência de passos que deve ser segui-


da para a realização de uma tarefa” (ASCENCIO, 1999, p. 2).

“Um algoritmo representa um conjunto de regras para a solução de um


problema” (FURLAN DE SOUZA et al., 2011, p. 4).

8
“Algoritmo é um processo de cálculo matemático ou de resolução de um
grupo de problemas semelhantes” (MANZANO, 2004, p. 6).

Ação é um acontecimento que, a partir de um estado inicial, após um período


de tempo finito, produz um estado final previsível e bem definido. Portanto, um
algoritmo é a descrição de um conjunto de comandos que, obedecidos, resultam
numa sucessão finita de ações (FARRER, 1999, p. 3).

Neste ponto, você deve estar pensando: já vi isso em outro momento da minha vida escolar!
Explor

Então, é importante salientar que estamos falando de ALGORITMO, e não de LOGARITMO.

Analisando as definições anteriores, podemos perceber que executamos, no dia


a dia, vários algoritmos, como se pode observar nos exemplos a seguir, extraídos
de Ascencio e Campos (2012, p. 2).

ALGORITMO 1 – FAZER UM SANDUÍCHE

Passo 1 – PEGAR O PÃO E A FACA.

Passo 2 – CORTAR O PÃO AO MEIO.

Passo 3 – PEGAR A MAIONESE.

Passo 4 – PASSAR A MAIONESE, COM O AUXÍLIO DA FACA, NO PÃO.

Passo 5 – PEGAR E CORTAR ALFACE E TOMATE.

Passo 6 – COLOCAR ALFACE E TOMATE NO PÃO.

Passo 7 – PEGAR O HAMBÚRGUER.

Passo 8 – FRITAR O HAMBÚRGUER.

Passo 9 – COLOCAR O HAMBÚRGUER NO PÃO.

ALGORITMO 2 – TROCAR UMA LÂMPADA

Passo 1 – PEGAR UMA LÂMPADA NOVA.

Passo 2 – PEGAR UMA ESCADA.

Passo 3 – POSICIONAR A ESCADA EMBAIXO DA LÂMPADA 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.

9
9
UNIDADE Conceito de Lógica Aplicada a Programas

Passo 7 – DESCER DA ESCADA.

Passo 8 – TESTAR O INTERRUPTOR.

Passo 9 – GUARDAR A ESCADA.

Passo 10 – JOGAR A LÂMPADA VELHA NO LIXO.

ALGORITMO 3 – IR PARA A ESCOLA

Passo 1 – ACORDAR CEDO.

Passo 2 – IR AO BANHEIRO.

Passo 3 – ABRIR O ARMÁRIO PARA ESCOLHER UMA ROUPA.

Passo 4 – SE O TEMPO ESTIVER QUENTE, PEGAR UMA CAMISETA


E UMA CALÇA JEANS; CASO CONTRÁRIO, PEGAR UM AGASALHO E
UMA CALÇA JEANS.

Passo 5 – VESTIR A ROUPA ESCOLHIDA.

Passo 6 – TOMAR CAFÉ.

Passo 7 – PEGAR UMA CONDUÇÃO.

Passo 8 – DESCER PRÓXIMO À ESCOLA.

ALGORITMO 4 – SACAR DINHEIRO NO BANCO 24 HORAS

Passo 1 – IR ATÉ UM BANCO 24 HORAS.

Passo 2 – COLOCAR O CARTÃO.

Passo 3 – DIGITAR A SENHA.

Passo 4 – SOLICITAR A QUANTIA DESEJADA.

Passo 5 – SE O SALDO FOR MAIOR OU IGUAL À QUANTIA DESE-


JADA, SACAR; CASO CONTRÁRIO, MOSTRAR MENSAGEM DE IMPOS-
SIBILIDADE DE SAQUE.

Passo 6 – RETIRAR O CARTÃO.

Você pode estar pensando: “Mas eu realizo essas atividades de maneira diferente!”. Esse
Explor

pensamento está correto, pois, às vezes, um problema pode ser resolvido de diversas ma-
neiras, porém gerando a mesma resposta, ou seja, podem existir vários algoritmos para
solucionar o mesmo problema.

10
Para Ascencio e Campos (2012, p. 3), a construção de qualquer tipo de algorit-
mo exige as etapas descritas a seguir:

Compreender completamente o problema a ser resolvido, destacando os pontos


mais importantes e os objetos que o compõem.

Definir os dados de entrada, ou seja, quais dados serão fornecidos e quais obje-
tos fazem parte desse cenário problema.

Definir o processamento, ou seja, quais cálculos serão efetuados e quais as res-


trições para esses cálculos. O processamento é responsável pela transformação dos
dados de entrada em dados de saída. Além disso, deve-se verificar quais objetos são
responsáveis pelas atividades.

Definir os dados de saída, ou seja, quais dados serão gerados depois do proces-
samento.

Construir o algoritmo utilizando um dos tipos descritos na próxima seção.

Testar o algoritmo realizando simulações.

Técnicas para o Desenvolvimento


de Algoritmos
Na literatura, estão descritas algumas técnicas utilizadas para o desenvolvimento
de algoritmos e as três mais conhecidas e utilizadas são: descrição narrativa, fluxo-
grama e pseudocódigo, também conhecido como portugol.

A DESCRIÇÃO NARRATIVA é a técnica que analisa o enunciado do problema


e escreve, utilizando uma linguagem natural (por exemplo, a língua portuguesa), os
passos a serem seguidos para sua resolução. A vantagem da descrição narrativa é
que, por utilizar uma linguagem natural, não é preciso aprender nenhuma outra nova
linguagem. Em compensação, tem-se a desvantagem de que as linguagens naturais
permitem várias interpretações, além de serem muito diferentes das linguagens de
programação, o que dificulta a transcrição de um algoritmo para um programa.

O fluxograma consiste em analisar o enunciado do problema e escrever, utilizan-


do símbolos gráficos pré-definidos na Tabela 1, os passos a serem seguidos para
sua resolução. A vantagem do fluxograma é que a utilização de elementos gráficos
permite a fácil compreensão dos elementos que compõem o Processamento de
Dados, ou seja, são facilmente identificadas as entradas, o processamento e as
saídas. Em compensação, tem-se a desvantagem de ter de aprender a simbologia
dos fluxogramas e, normalmente, a falta de detalhes dificulta a transcrição para um
programa utilizando uma linguagem de programação.

11
11
UNIDADE Conceito de Lógica Aplicada a Programas

Tabela 1 - Conjunto de símbolos utilizados no fluxograma

Fonte: Ascencio e Campos (2012)

O pseudocódigo ou portugol é a técnica mais utilizada e analisa o enunciado do pro-


blema escrevendo, por meio de regras predefinidas, também conhecidas como códigos,
os passos a serem seguidos para sua resolução. A vantagem da utilização do pseudocódi-
go é que a passagem do algoritmo para uma linguagem de programação é quase direta,
consistindo, na grande maioria das vezes, em uma espécie de tradução. Em compensa-
ção, a desvantagem está na necessidade de se aprender as regras do pseudocódigo.

Observe o infográfico a seguir.

Figura 1 - Técnicas para o desenvolvimento de algoritmos


Fonte: Viktor Bondar / 123RF

12
Explor
O objetivo do algoritmo é estruturar a solução de um problema, assim, não há tipo mais
apropriado, pois cabe, ao desenvolvedor, definir o tipo mais adequado para o seu entendi-
mento. Neste material, utilizaremos os fluxograma e o português estruturado. O fluxogra-
ma, por utilizar elementos gráficos, o que facilita o entendimento, bem como o português
estruturado, porque permite utilizar uma ferramenta denominada VisualG e, com essa fer-
ramenta, é possível verificar a corretude das soluções adotadas.

Os exemplos a seguir mostram alguns algoritmos desenvolvidos com os três


tipos citados anteriormente em Ascencio e Campos (2012, p. 4).

ALGORITMO 1 - Faça um algoritmo para mostrar o resultado da multipli-


cação de dois números.

Algoritmo em 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.

Algoritmo em fluxograma:

Figura 2 - Fluxograma do algoritmo que multiplica dois números

13
13
UNIDADE Conceito de Lógica Aplicada a Programas

Algoritmo em pseudocódigo:

algoritmo “exemplo1”

// Função: multiplicar dois números

// Autor: Ana Fernanda /*revisão Margarete E. S. Almendro

// Data: 24/12/2018 /*07/02/2020

// seção de declarações de variáveis e constantes

var n1, n2, m: real

inicio

escreval (“digite dois números”)

leia (n1)

leia (n2)

m <- n1 * n2

escreva (“Multiplicação = “,m)

fimalgoritmo

ALGORITMO 2 - Faça um algoritmo para mostrar o resultado da divisão


de dois números.

Algoritmo em descrição narrativa:

Passo 1 – Receber os dois números que serão divididos.

Passo 2 – Se o segundo número for igual a zero, não poderá haver divisão, pois
não existe divisão por zero, caso contrário, dividir os números e mostrar o resulta-
do da divisão.

Algoritmo em fluxograma:

Figura 3 - Fluxograma do algoritmo para calcular a divisão entre dois números

14
Algoritmo em pseudocódigo:

algoritmo “exemplo2”

// Função: calcular a divisão de dois números

// Autor: Ana Fernanda /*revisão Margarete E. S. Almendro

// Data: 24/12/2018 /*07/02/2020

// seção de declarações de variáveis e constantes

var n1, n2, d: real

inicio

escreval (“digite dois números”)

leia (n1)

leia (n2)

se n2 = 0 entao

escreva (“impossível dividir”)

senao

d <- n1 / n2

escreva (d)

fimse

fimalgoritmo

ALGORITMO 3 - Faça um algoritmo para calcular a média aritmética


entre duas notas de um aluno e mostrar sua situação, sendo este aluno apro-
vado ou reprovado.

Algoritmo em descrição narrativa:

Passo 1 – Receber as duas notas.

Passo 2 – Calcular a média aritmética.

Passo 3 – Mostrar a média aritmética.

Passo 4 – Se a média aritmética for maior ou igual a sete, então, a situação do


aluno é aprovado, caso contrário, a situação é reprovado.

15
15
UNIDADE Conceito de Lógica Aplicada a Programas

Algoritmo em fluxograma:

Figura 4 - Fluxograma para calcular a média aritmética

Algoritmo em pseudocódigo:

algoritmo “exemplo3”

// Função: calcular a média aritmética entre duas notas e


mostrar a

// Autor: Ana Fernanda /*revisão Margarete E. S. Almendro

// Data: 24/12/2018 /*07/02/2020

// Data: 24/12/2018

// seção de declarações de variáveis e constantes

var nota1, nota2, m: real

inicio

escreval (“digite as duas notas”)

leia (nota1)

leia (nota2)

16
m <- (nota1+nota2)/2

escreval(“media = “,m)

se (m >= 7) entao

escreval (“Aprovado”)

senao

escreval (“Reprovado”)

fimse

fimalgoritmo

ALGORITMO 4 - Faça um algoritmo para calcular o novo salário de um


funcionário. Sabe-se que os funcionários que possuem salário atual até R$
500,00 terão aumento de 20%; os demais terão aumento de 10%.

Algoritmo em descrição narrativa:

Passo 1 – Receber o salário atual do funcionário.

Passo 2 – Se o salário atual do funcionário for até R$ 500,00, então, calcular o


novo salário com percentual de aumento de 20%, caso contrário, calcular o novo
salário com percentual de aumento de 10%.

Passo 3 – Mostrar o novo salário.

Algoritmo em fluxograma:

Figura 5 - Fluxograma para calcular o salário reajustado

17
17
UNIDADE Conceito de Lógica Aplicada a Programas

Algoritmo em pseudocódigo:

algoritmo “exemplo4”

// Função: calcular o salário reajustado

// Autor: Ana Fernanda /*revisão Margarete E. S. Almendro

// Data: 24/12/2018 /*07/02/2020

// seção de declarações de variáveis e constantes

var sal_atual, novo_sal: real

inicio

escreval (“digite o salário atual”)

leia (sal_atual)

se (sal_atual <= 500) entao

novo_sal <- sal_atual * 1.20

senao

novo_sal <- sal_atual * 1.10

fimse

escreval(“novo salário = “,novo_sal)

fimalgoritmo

Os exemplos acima, tente fazer um algoritmo para calcular a diferença entre dois números e
Explor

mostrar a mensagem de resultado POSITIVO, NEGATIVO ou ZERO.

18
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:

Sites
VisualG
No link abaixo, é possível fazer download da ferramenta VisualG, que é utilizada
para testar algoritmos. O VisualG é um programa que permite a criação, edição e
a interpretação, além da execução dos algoritmos em português (portugol), como se
fosse um “programa” comum de computador. Seu uso é livre e sua distribuição é
gratuita. Além do mais, é muito utilizado para o ensino de lógica de programação e
vale a pena seu ensino.
http://bit.ly/2Sw915a

Livros
Fundamentos da Programação de Computadores
O livro indicado a seguir, especificamente no Capítulo 1, apresenta os conceitos
trabalhados nesta Unidade e, no Capítulo 2, mostra alguns paradigmas de programação.
Vale a pena sua leitura!
ASCENCIO, A. F. G.; CAMPOS, E. A. V. Fundamentos da Programação de
Computadores. 3. ed. São Paulo: Pearson, 2012.

Algoritmos
O livro abaixo é indicado para iniciantes e descreve conceitoS e exemplos de algoritmos.
É importante para que você aprenda um pouco mais sobre esSa área e, por meio de
exemplos que o livro traz, aprofunde-se nessa aprendizagem.
MANZANO, J. A. N. G. Algoritmos. 28. ed. São Paulo: Pearson, 2016.

Leitura
Dicas de Programação
O Link a seguir dá acesso a vários artigos para iniciantes em programação de
computadores. O site tem a intenção de compartilhar o ensino sobre programação e
o desenvolvimento de softwares em geral, possuindo as categorias “Banco de dados”,
“dicas de programação”, “dicionário de programador” e “iniciantes em programação”.
Vale a pena para quem gostaria de aprender mais sobre a iniciação na programação.
https://goo.gl/SieKMX

19
19
UNIDADE Conceito de Lógica Aplicada a Programas

Referências
ASCENCIO, A. F. G. Lógica de Programação com Pascal. São Paulo: Pearson, 1999.

ASCENCIO, A. F. G.; CAMPOS, E. A. V. Fundamentos da Programação de


Computadores. 3. ed. São Paulo: Pearson, 2012.

FARRER, H. Algoritmo Estruturado. 3. ed. Rio de Janeiro: LTC, 1999.

FORBELLONE, A. L. V.; EBERSPACHER, H. F. Lógica de Programação. 3. ed.


São Paulo: Pearson, 2005.

FURLAN DE SOUZA, M. A. et al. Algoritmos e Lógica de Programação. 2. ed.


São Paulo: Cengage Learning, 2011.

MANZANO, J. A. N. G.; OLIVEIRA, J. F. Algoritmos. 4. ed. São Paulo: Érica, 2004.

20

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy