Unidade 02 - Algoritmos
Unidade 02 - Algoritmos
Unidade 02 - Algoritmos
O que é Programação?
A tecnologia está cada vez mais presente no nosso
cotidiano, não é mesmo? De redes sociais a transações
bancárias, tudo envolve programação.
Pode não parecer, mas a programação existe há muito tempo. A ideia do computador
programável surgiu a partir da máquina analítica de Charles Babbage que, juntamente
com Ada Lovelace, deu os primeiros passos na ideia de uma máquina que pudesse
realizar cálculos matemáticos de acordo com as instruções pré-estabelecidas.
1
Em outras palavras, podemos afirmar que:
Hoje a programação controla a nossa relação com o mundo, afetando o modo como
vivemos não só na internet, mas também quando realizamos chamadas, quando fazemos
exames médicos ou quando navegamos em nossos veículos.
A realidade é que grande parte da nossa vida depende de máquinas que, para
funcionarem, precisam ser programadas por alguém. Isso porque, ao contrário do cérebro
humano que possui uma inteligência própria, o computador necessita de instruções para
funcionar.
Vamos entender um pouco mais sobre essas instruções no próximo módulo, bora lá?
2
Algoritmos
O que é Algoritmo?
Você já pensou que seu cotidiano é constituído por sequências de instruções e condições?
A realidade é que o algoritmo não é um bicho de sete cabeças que todos falam. Ele, em sua
melhor definição, é um conjunto de instruções que tem como objetivo resolver um problema
ou realizar uma ação. Ainda não conseguiu visualizar? Vamos usar exemplos simples:
1. Uma receita de bolo: Junte os ingredientes, mexa tudo até formar uma massa
homogênea e asse o bolo até dourar;
3. O trajeto de sua casa até o trabalho: Descreva seu modo de deslocamento (a pé,
ônibus, carro), percorra o caminho até chegar ao destino final.
“é preciso saber quais atividades deverão ser realizadas antes de partir para a
ação. “
Então, sabendo qual problema seu programa deverá resolver, você irá analisar e identificar
todas as etapas necessárias para chegar a essa solução e só depois começará a programar
o computador!
3
Algoritmos
Aprendemos que é preciso ter ordem e sequência na execução dos passos para
conseguirmos concluir uma tarefa, mas afinal, o que é lógica de programação e qual a sua
importância para se tornar um programador?
4
Algoritmos
Variáveis e constantes
Durante os módulos que estudamos, você percebeu que até o momento, não falamos sobre
armazenamento de dados, vimos apenas sobre procedimentos, como um algoritmo.
Nesse módulo vamos falar um pouco sobre valores variáveis e fixos, no caso as estruturas
de variáveis e constantes.
No caso das variáveis esse valor que será armazenado pode se alterar, já nas constantes,
esse valor é fixo.
Por exemplo:
■ O nome dos clientes de uma loja, esse valor muda de pessoa para pessoa (variável)
■ O valor de PI (3.14159265359...) que nunca vai mudar, é fixo (constante).
5
Algoritmos
Formas de Representação
Fluxograma
Para facilitar a visualização dos algoritmos, podemos utilizar um método visual chamado
Fluxograma. Esse método fornece padronização na representação, maior rapidez para
descrever tarefas e melhor visualização. Vamos conhecer os símbolos que são mais
utilizados para construir fluxogramas:
Início e Fim
Processo e operações
Condição ou decisão
6
Pseudocódigo
Já vimos nas aulas anteriores as formas de representação de algoritmos utilizando o
Fluxograma, agora, iremos conhecer um modelo de representação chamado
pseudocódigo.
Uma de suas principais vantagens é que tal representação não precisa seguir as mesmas
regras de uma linguagem de programação específica, dessa forma, transferi-lo para
qualquer uma delas torna o processo mais simples. Por outro lado, regras são regras e, até
mesmo para o pseudocódigo, elas precisam ser aprendidas.
Uma boa prática, que precisamos adotar desde cedo, é comentar o código gerado. No
exemplo anterior, notamos na mesma linha, após o código, temos “//”, neste caso, tudo o
que vier após a barra dupla não será lido pelo programa. Em outras palavras, é possível
deixar comentários para todos os programadores que lerem nossos códigos, inclusive nós
mesmos!
7
Algoritmos
Operadores Aritméticos
Todos nós já utilizamos operadores aritméticos na escola, quando íamos desenvolver uma
operação matemática, certo? Em algoritmos também utilizamos esses operadores. Eles
são simples e também têm a mesma simbologia em linguagens de programação.
Alguns desses operadores mais comuns são (+, - , * , /) , porém existem outros como o
incremento ++ e o módulo % que não são tão reconhecidos assim.
Os operadores aritméticos ou sinais, como temos o costume de falar, são meios pelos
quais podemos somar, subtrair, incrementar e decrementar os dados dentro do nosso
código. Vamos explorar alguns desses sinais e entender melhor sobre o seu
funcionamento dentro do nosso código.
3*6
* Multiplicação Operação de multiplicação entre dois números.
// retorna 18
valor = 2
++ Incremento O operador incrementa um ao seu número.
valor++ //retorna 3
valor = 4
-- Decremento O operador subtrai um do seu número atual.
valor-- //retorna 3
8
Algoritmos
Operadores Relacionais
Para a construção de nossos algoritmos, assim como os operadores aritméticos, os quais
vimos anteriormente, faremos uso também dos chamados Operadores Relacionais.
Os operadores relacionais são responsáveis por efetuar comparações entre valores, com o
objetivo de mostrar ao programa, como prosseguir a partir da resposta apresentada.
Esses operadores vão resultar em duas respostas lógicas do tipo verdadeiro ou falso,
conforme as diferentes combinações entre seus operandos. Vejamos a seguir, uma tabela
com alguns destes nossos operadores.
maior que
10 > 6 (retorna verdadeiro)
> (retorna verdadeiro se o operando esquerdo for maior
10 > 30 (retorna falso)
que o operando direito)
maior ou igual
4 >= 4 (retorna verdadeiro)
>= (retorna verdadeiro se o operando esquerdo for maior
4 >= 20 (retorna falso)
ou igual ao operando direito)
menor que
2 < 9 (retorna verdadeiro)
< (retorna verdadeiro se o operando esquerdo for menor
2 < 0 (retorna falso)
que o operando direito)
menor ou igual
8 <= 10 (retorna verdadeiro)
<= (retorna verdadeiro se o operando esquerdo for menor
8 <= 7 (retorna falso)
ou igual ao operando direito)
9
Algoritmos
Operadores lógicos
Além dos operadores aritméticos e relacionais, também vamos utilizar os operadores
lógicos para podermos criar os nossos algoritmos. Vamos entender um pouco como eles
funcionam?
Esses operadores nos permitem montar expressões lógicas que validam duas ou mais
expressões e também nos retornam duas respostas que já conhecemos, verdadeiro ou
falso.
não Negação
e Conjunção
ou Disjunção
A utilização dos operadores lógicos requer alguns recursos, como no caso da chamada
Tabela Verdade. Existe uma tabela para cada tipo de operador, nela são apresentados os
resultados das diferentes combinações que poderão ocorrer entre os operandos.
10
Vejamos a seguir as tabelas para cada operador.
Operador “E”
Operador “OU”
Operador “NÃO”
F (Falso) V (Verdadeiro)
V (Verdadeiro) F (Falso)
11
Algoritmos
Precedência de Operadores
Nos módulos anteriores, conhecemos alguns operadores que vão nos ajudar na criação de
nossos algoritmos. Mas será que existe alguma regrinha na hora de utilizá-los?
Quando temos mais de um operador sendo utilizado em uma mesma instrução, precisamos
nos atentar à precedência dos operadores. A precedência se refere à prioridade dada ao
operador quando a instrução for analisada, ou seja, algumas operações serão efetuadas
primeiro.
Por exemplo, na expressão 2 + 2 * 5, o resultado é 12 e não 20, porque o operador de
multiplicação (*) tem prioridade de precedência que o operador de adição (+).Todos os
operadores que aprendemos possuem regras de precedência, vamos ver cada um deles.
1. Parênteses
2. Operadores Aritméticos
3. Operadores Relacionais
4. Operadores Lógicos
Operador de Negação ( ! )
Operador de Disjunção ( || )
12
Algoritmos
//Início do Algoritmo
//Exibe a média
//Fim do Algoritmo
13
2. Um filme que você estava muito ansioso para assistir, finalmente vai estrear nos
cinemas. Porém, o filme tem a idade classificatória de 16 anos. O cinema precisa de
um algoritmo que calcule a idade de seus clientes para poder liberar a entrada. Vamos
ver a resolução desse problema através de um fluxograma.
//Início do Algoritmo
//Cálculo da idade
//Verificando se a idade é
maior ou igual a 16 anos
//Fim do Algoritmo
14
Algoritmos
1. É semana de prova em uma escola e todos os alunos estão ansiosos para saber as suas
médias. Vamos ajudá-los nesse cálculo?
15
2. Um filme que você estava muito ansioso para assistir, finalmente vai estrear nos
cinemas. Porém, o filme tem a idade classificatória de 16 anos. O cinema precisa de um
algoritmo que calcule a idade de seus clientes para poder liberar a entrada. Vamos ver a
resolução desse problema através de um fluxograma.
16
Exercícios
1 - Dado os pseudocódigos abaixo, montar o fluxograma equivalente para cada item.
a) Algoritmo para calcular quanto se vai pagar no frete de um determinado produto, sendo
que a empresa cobra 1.50 o km e taxa de envio de R$ 9,00.
b) Algoritmo para saber qual o IMC (Índice de Massa Corporal) de uma pessoa.
17
c) Algoritmo que ler dois valores e efetua as trocas dos valores de forma que a variável A
passe a possuir o valor da variável B e a variável B passe a possuir o valor da variável A.
18