LP - 01 - Algoritmos Conceitos Básicos
LP - 01 - Algoritmos Conceitos Básicos
LP - 01 - Algoritmos Conceitos Básicos
Lógica de
Programação
Fabrício Curvello Gomes
Algoritmos
Conceitos Básicos
O que é Algoritmo?
Um algoritmo é uma sequência ordenada e finita de etapas,
cuja execução passo a passo resolve um determinado
problema.
Observe que a definição de problema é bastante genérica, o
que nos permite imaginar algoritmos para as mais diversas
situações, não necessariamente de caráter algébrico.
Na realidade, nossa própria memória já é recheada de
algoritmos para a execução de tarefas diariamente.
O que é Algoritmo? (Cont.)
Eis um exemplo de algoritmo para uma
situação rotineira:
Repare que alguns (ou todos os) itens parecem óbvios, mas o
algoritmo precisa ser claro assim, de forma que não gere dúvidas,
mesmo para quem nunca executou tais ações antes.
4
Atividade:
Vamos tentar descrever outras situações rotineiras em forma
de algoritmos. Descreva em seu caderno as seguintes
situações:
1. Algoritmo para tomar banho:
2. Algoritmo para vir da sua casa ao curso:
3. Algoritmo para preparar o café numa cafeteira elétrica:
4. Algoritmo para procurar a explicação de uma matéria em
um livro escolar:
5.Algoritmo para trocar uma lâmpada que está queimada no
lustre:
5
Algumas conclusões sobre a Atividade:
De acordo com as diversas respostas produzidas por todos na turma,
pôde‐se obervar que:
1. Podem existir diversos algoritmos diferentes, mas corretos para
a resolução de um determinado problema.
2. Alguns esquecem detalhes que parecem óbvios, mas este tipo de
esquecimento gera erros no algoritmo. Algoritmos sempre devem
ser testados, e, ao ser percebido algum erro, deve ser refeito, e
novamente testado, até que seja considerado correto.
3. O algoritmo ideal é o mais completo e ao mesmo tempo menor.
Visão Esquemática da Construção de Algoritmos
Execute o algoritmo
Problema Desenvolva um desenvolvido com
algoritmo para O algoritmo concluído e
dados para os quais o testado está pronto
resolver o resultado seja
problema. para ser aplicado.
conhecido.
Entenda o
problema com a
maior precisão
possível,
identifique os Alteração
dados; identifique
os resultados Se o resultado do teste de qualidade não for
desejados. satisfatório, altere o algoritmo e submeta‐o a
um novo teste de qualidade.
Finalidade dos Algoritmos
Os algoritmos mostram uma sequência lógica que deve ser seguida
passo a passo para a resolução de um problema.
Em T.I., a programação exige que o primeiro passo seja um algoritmo
do referido programa a ser construído.
Este algoritmo não diz respeito à linguagem de programação que
será utilizada na construção do programa. (Java, .NET, PHP, Python,
etc...)
Ele deve ser construído em diagramas de blocos, e depois, escrito
em texto, de forma que possa, posteriormente, ser entendido e
programado em qualquer linguagem de programação, por qualquer
programador.
Estruturação de Algoritmos
Estruturação de Algoritmos
10
Lógica de Programação
Construir um algoritmo implica em montar uma solução para um
problema.
Diagrama de Blocos
Iremos utilizar este tipo de representação gráfica de
algoritmos, o que facilita a visualização e entendimento
do proposto.
Os diagramas de blocos devem, preferencialmente, ser
desenhados ao centro da folha, com interpretação de
cima para baixo. Em segunda opção, aceita‐se o
direcionamento da esquerda para a direita.
12
Diagrama de Blocos (Cont.)
Tela do Dia Portable:
13
Diagrama de Blocos (Cont.)
Conheça os símbolos mais comuns utilizados em diagramas de blocos:
14
Diagrama de Blocos (Cont.)
Continuação (símbolos mais comuns utilizados em diagramas de blocos):
15
Diagrama de Blocos (Cont.)
Os símbolos devem ser interligados por setas, que representam a ação de
vínculo existente entre os vários símbolos de um diagrama de blocos.
Inicio
“Digite 2
números:”
A, B
R <‐ A + B
“A soma
é “ , R
Fim
16
Pseudocódigo
Como visto, o diagrama de blocos é a primeira forma de notação gráfica.
A outra etapa consiste em transcrever o diagrama de uma forma narrativa,
denominada pseudocódigo, também conhecida como Português
Estruturado ou chamada por alguns de Portugol.
A transcrição narrativa de um diagrama de blocos é baseada em uma
técnica de escrita denominada PDL (Program Design Langage – Linguagem
de Projeto de Programação), usada como referência genérica para uma
linguagem de projeto de programação, tendo como finalidade mostrar
uma notação para elaborar algoritmos, os quais serão utilizados na
definição, criação e desenvolvimento de uma linguagem computacional,
como C, C++, C#, PHP, Python, JAVA, entre outras.
17
Pseudocódigo (Cont.)
Em seguida, é apresentada a transcrição narrativa do diagrama
apresentado anteriormente:
Inicio
algoritmo "SOMA"
“Digite 2 var
números:”
A, B, R: real
A, B
inicio
Escreva ("Digite 2 números:")
Leia (A, B)
R <‐ A + B R <- A + B
Escreva ("A soma é ",R)
“A soma
é “ , R
fimalgoritmo
Fim
18
Pseudocódigo (Cont.)
Veja abaixo um exemplo da tela do aplicativo VisuAlg.
19
Código
Este curso vai trabalhar diretamente a estrutura de algoritmo dentro de
uma linguagem de programação profissional.
Desta forma, todos os conceitos de algoritmo serão trabalhados, e ao
mesmo tempo, uma linguagem de programação servirá de base para o
desenvolvimento dos códigos.
Vamos utilizar para estudos de códigos e conhecimentos de algoritmos a
linguagem de programação JAVA.
Será necessário preparar todo o ambiente de desenvolvimento em JAVA.
Todos os detalhes de como preparar este ambiente estão no documento
LP ‐ Extra 01 ‐ Preparação de ambiente JAVA.pdf
20
Dúvidas?
21