Você está na página 1de 23

12/09/2020 .:.

Apostila de Lógica de Programação | Fuctura Tecnologia - Treinamento oficial, parceiro do Porto Digital, IBM e Linux LPI

.:. Apostila de Lógica de Programação


Recomendamos esse estudo para todos os alunos que estão iniciando desenvolvimento. Nosso
objetivo é que você amplie seu conhecimento de lógica, então leia com calma todo o post.

Vá pulando os tópicos que achar fácil e tente simular o conteúdo replicando tudo numa folha de
papel. Você pode começar pelos vídeos ou ler primeiro toda a revisão de lógica.

Vídeos Recomendados
Um curso completo de lógica foi publicado pela UFABC é bem completo. Recomendamos ler o
conteúdo abaixo e assistir os vídeos no nal desse conteúdo. São vídeos curtos de no máximo 5
minutos e você pode pular alguns que já tem conhecimento.
 

Capítulo 1
Aprendendo a Programar Computadores
O  principal componente de um programa de computador é a sua lógica, ou  seja, o que o
computador deve fazer para resolver um problema. A lógica de programação é necessária para
pessoas que desejam trabalhar com  desenvolvimento de sistemas e programas, ela permite
de nir a sequência lógica para o desenvolvimento.
Devemos então  DESCREVER essa lógica numa linguagem que o computador “entenda”, é
mais fácil começar a programar (organizar a lógica) em uma linguagem de alto nível. Qual é a
linguagem de mais alto nível para um ser humano que fala naturalmente o português? O
caminho mais tranquilo é por meio de ALGORITMOS.

Definição de Algoritmo
É  uma sequência nita de instruções, ordenada de forma lógica para a  resolução de uma
determinada tarefa ou problema. Um algoritmo xa um padrão de comportamento a ser seguido,
uma norma de execução, com o objetivo de resolver um determinado problema. Como exemplos
de algoritmos podemos citar os algoritmos das operações  básicas (adição, multiplicação,
divisão e subtração) de números reais  decimais. Outros exemplos seriam os manuais de
aparelhos eletrônicos,  como um videocassete, que explicam passo-a-passo como, por
exemplo,  gravar um evento.  Até mesmo as coisas mais simples, podem ser descritas por
sequências lógicas. Por exemplo:
“Chupar uma bala”

1. Pegar a bala 
https://www.fuctura.com.br/recife/quero-revisar-logica-de-programacao/ 1/23
12/09/2020 .:. Apostila de Lógica de Programação | Fuctura Tecnologia - Treinamento oficial, parceiro do Porto Digital, IBM e Linux LPI

2. Retirar o papel 
3. Chupar a bala 
4. Jogar o papel no lixo 

“Somar dois números quaisquer”


1. Escreva o primeiro número no retângulo A. 
2. Escreva o segundo número no retângulo B. 
3. Some o número do retângulo A com número do retângulo B e coloque o resultado no
retângulo C. 

Existem diversas soluções para um problema, desta forma pode-se haver vários algoritmos para
resolver um mesmo problema, a nal, cada pessoa pensa e age de forma diferente. O
desenvolvimento de um algoritmo é um exercício de criatividade e experiência.
Diferentes algoritmos podem estar corretos, se levarem ao alcance do objetivo nal. Entretanto,
deve-se procurar desenvolver algoritmos que resolvam o problema com menos esforço e maior
objetividade.

Capítulo 2
Desenvolvendo algoritmos
Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma
alusão à posterior implementação em uma linguagem de programação, ou seja, quando formos
programar em uma linguagem, por exemplo Java, estaremos gerando código em Java. Ao
contrário de uma linguagem de programação não existe um formalismo rígido de como deve ser
escrito o algoritmo, este deve ser fácil de se interpretar e fácil de codi car, ou seja, ele deve ser o
intermediário entre a linguagem falada e a linguagem de programação. Para escrever Algoritmos
(programas) é necessário o uso de Instruções / Comandos:
Instrução/Comando: São frases que indicam as ações a serem executadas. São
compostas de um verbo no imperativo, ou no in nitivo, mais um complemento. 

Pseudocódigo
Pseudocódigo é uma forma de representação de algoritmos, é praticamente um programa
escrito em português que, depois, podemos passar para o computador. Para escrevermos
códigos com pseudocódigo precisaremos de um programa chamado visual (disponível
gratuitamente na Internet) e conhecer alguns comandos básicos, são eles:
escreva (” “)= comando usado para imprimir uma mensagem na tela; 
leia () = comando usado para ler valores digitados no teclado; 
<-= comando de atribuição; 
inicio = palavra usada para iniciar o programa principal; 
malgoritmo = palavra usada para nalizar o algoritmo; 
https://www.fuctura.com.br/recife/quero-revisar-logica-de-programacao/ 2/23
12/09/2020 .:. Apostila de Lógica de Programação | Fuctura Tecnologia - Treinamento oficial, parceiro do Porto Digital, IBM e Linux LPI

var = palavra usada para declarar variáveis; 


algoritmo = palavra usada para indicar o início do programa. 
 Construiremos a seguir um algoritmo para ler dois números. Em seguida, calcularemos a soma
desses números, armazenando o resultado em outra variável.

Imprimindo os dados iniciais e a soma.

Analisaremos a seguir linha a linha o algoritmo desenvolvido pra solucionar o problema de


somar dois números:
Linha 1: usamos a palavra-chave ALGORITMO para começar o nosso algoritmo. Observe que em
seguida temos um nome entre as aspas duplas, então, sempre que for desenvolver um algoritmo
você deve escrever na primeira linha algoritmo “nome_do_algoritmo”. É importante saber que
toda linguagem de programação tem um modo de identi car o início do programa. Você sempre
deve consultar a documentação da linguagem de programação que deseja trabalhar para
veri car a estrutura da mesma.
Linha 2: usamos a palavra-chave VAR para indicar que naquele espaço devemos declarar as
variáveis que usaremos em nosso programa.

Linha 3: aqui são declaradas as variáveis, com seus identi cadores e tipos. Observe que
primeiro vem o nome (identi cador) da variável e após os dois pontos é que vem o tipo dela. n1
e n2 são os dois números, soma é a variável que armazenará o resultado da operação.

Linha 5: usamos a palavra-chave INICIO para indicar que a partir daquele ponto, tem-se o início
do programa principal. Programa principal? Mas espera aí, a gente já não está no programa?
Pois é!!! Vamos esclarecer isso. O algoritmo inteiro, das linhas 01 à 16, é um programa, mas o
programa é dividido em partes, como
estamos percebendo aqui: nome do programa, declaração de variáveis, etc. Isso é norma para
todas as linguagens de programação. O que ocorre é que, o que de fato o algoritmo vai fazer, vai
no programa principal, ou seja, dentro de INICIO e FIMALGORITMO. Essas divisões existem, pois,
como veremos mais adiante, um programa na verdade é um conjunto de programas, é o que
chamamos de modularização. Não quem com medo, logo falaremos sobre isso. No momento,
o mais importante é saber que o programa principal é aquele que faz EXECUTAR os seus
comandos.

https://www.fuctura.com.br/recife/quero-revisar-logica-de-programacao/ 3/23
12/09/2020 .:. Apostila de Lógica de Programação | Fuctura Tecnologia - Treinamento oficial, parceiro do Porto Digital, IBM e Linux LPI

Linha 7: usamos o comando ESCREVA para que seja impresso na tela do usuário um texto.
Neste caso, está sendo impresso na tela um texto de solicitação. Solicitamos que o usuário
digite um número.

Linha 8: usamos o comando LEIA para que o valor digitado pelo usuário, no teclado, seja
armazenado na variável correspondente. Portanto, será atribuído à variável N1 o valor que o
usuário digitar.

Linha 9: idem à linha 7.


Linha 10: idem à linha 8.

Linha 11: aqui é realizada uma operação matemática, mais especi camente aritmética. Observe
que usamos o comando <- para que seja atribuído à variável SOMA o resultado da soma entre os
valores armazenados em n1 e n2.

Linha 12: aqui novamente usamos o comando escreva, mas observe que desta vez tem algo
diferente em relação às linhas 7 e 9. Estamos imprimindo na tela, junto com o texto que
queremos, os valores das variáveis. Isso é feito usando-se a vírgula e, pondo após ela, a variável
que queremos que seja impressa na tela.

Linha 13: idem à linha 12


Linha 14: idem à linha 12

Linha 16: usamos a palavra-chave FIMALGORITMO para nalizar o programa principal e terminar
a execução do programa. Essa palavra chave força a saída do
programa, fechando a janela e liberando o espaço de memória que estavam reservados para as
variáveis.

 Regras para construção do Algoritmo:


Para escrever um algoritmo precisamos descrever a sequência de instruções, de maneira
simples e objetiva. Para isso utilizaremos algumas técnicas:

Usar somente um verbo por frase. 


Imaginar que você está desenvolvendo um algoritmo para pessoas que não trabalham
com informática. 
Usar frases curtas e simples. 
Ser objetivo. 
Procurar usar palavras que não tenham sentido dúbio. 

Uma linguagem (ou pseudo-linguagem) possui duas características:

Sintaxe – como escrever os comandos e seus componentes;


Semântica – o signi cado de cada comando e conceito.

A sintaxe e a semântica de uma linguagem de programação englobam várias ações, como, por
exemplo: Declarações de Variáveis; Operadores; Comandos de entrada e de saída; Comandos de
seleção, repetição etc.

Exemplo de Algoritmo

https://www.fuctura.com.br/recife/quero-revisar-logica-de-programacao/ 4/23
12/09/2020 .:. Apostila de Lógica de Programação | Fuctura Tecnologia - Treinamento oficial, parceiro do Porto Digital, IBM e Linux LPI

Imagine o seguinte problema: Calcular a média nal dos alunos da 3ª Série. Os alunos realizarão
quatro provas: P1, P2, P3 e P4.

Onde: Média Final = P1 + P2 + P3 + P4


Para montar o algoritmo proposto, faremos três perguntas:

Quais são os dados de entrada? 


R: Os dados de entrada são P1, P2, P3 e P4

 Qual será o processamento a ser utilizado? 


R: O procedimento será somar todos os dados de entrada e dividi-los por 4 (quatro). P1 + P2 +
P3 + P4

Quais serão os dados de saída? 


R: O dado de saída será a média nal

Algoritmo
Receba a nota da prova1
Receba a nota de prova2
Receba a nota de prova3
Receba a nota da prova4
Some todas as notas e divida o resultado por 4
Mostre o resultado da divisão

Capítulo 3
Diagrama de Bloco
O diagrama de blocos é uma forma padronizada e e caz para representar os passos lógicos de
um determinado processamento. Com o diagrama podemos de nir uma sequência de símbolos,
com signi cado bem de nido, portanto, sua principal função é a de facilitar a visualização dos
passos de um processamento.

Simbologia
Existem diversos símbolos em um diagrama de bloco. No decorrer do curso Apresentaremos os
mais utilizados. Veja no quadro abaixo alguns dos símbolos que iremos utilizar:

https://www.fuctura.com.br/recife/quero-revisar-logica-de-programacao/ 5/23
12/09/2020 .:. Apostila de Lógica de Programação | Fuctura Tecnologia - Treinamento oficial, parceiro do Porto Digital, IBM e Linux LPI

Obs.: Dentro do símbolo sempre terá algo escrito, pois somente os símbolos não nos dizem
nada. Veja no exemplo a seguir:

Obs.: Veja que no exemplo da bala seguimos uma sequência lógica somente com informações
diretas, já no segundo exemplo da média utilizamos cálculo e exibimos o resultado do mesmo.

Capítulo 4
Constantes e Variáveis

https://www.fuctura.com.br/recife/quero-revisar-logica-de-programacao/ 6/23
12/09/2020 .:. Apostila de Lógica de Programação | Fuctura Tecnologia - Treinamento oficial, parceiro do Porto Digital, IBM e Linux LPI

Variáveis e constantes são os elementos básicos que um programa manipula. Uma variável. é
um espaço reservado na memória do computador para armazenar um tipo de dado
determinado. Variáveis devem receber nomes para poderem ser referenciadas e modi cadas
quando necessário. Um programa deve conter declarações que especi cam de que tipo são as
variáveis que ele utilizará e as vezes um valor inicial. Tipos podem ser por exemplo: inteiros,
reais, caracteres, etc. As expressões combinam variáveis e constantes para calcular novos
valores.
Variáveis – Quando declaramos uma variável em um programa, estamos na verdade de nindo e
reservando um espaço na memória para armazenar o valor que aquela variável conterá em
determinado tempo de execução do programa. Muito difícil??? Vamos exempli car então para
facilitar. Suponha que você precise fazer um programa que solicite ao usuário dois números
inteiros, some esses dois números e apresente o resultado da soma para o usuário. Para
resolver esse problema teremos de DECLARAR duas variáveis do TIPO inteiras. Vamos supor
que essas duas variáveis se chamem X e Y. Além disso, você precisará de uma terceira variável
para armazenar o resultado da soma. Vamos chamar então essa variável de SOMA. Sendo
assim, teremos o seguinte algoritmo passo a passo:

 
Não se preocupe com alguns detalhes desse algoritmo, voltaremos nele mais para frente. O que
é importante no momento é entender como funcionam as variáveis. Veja, o programa solicita ao
usuário para digitar os valores de X e Y. Nesse instante é impresso na tela a mensagem que está
dentro dos parênteses do comando ESCREVA e, em seguida, o usuário digita um valor usando o
teclado. No momento em que o usuário digita o valor desejado, esse valor DECIMAL é “passado”
para a variável X, por meio do comando LEIA. Lembre-se, a variável X é um espaço de memória
reservado, com o tamanho de bits para o tipo de dado INTEIRO. O mesmo acontece com a
variável Y. Esses valores carão armazenados nas variáveis enquanto nenhum outro valor for
digitado para eles, ou enquanto o programa estiver em execução. Isso signi ca que depois que o
programa terminar de executar, esses valores deixarão de existir, assim como as variáveis, e o
espaço de memória que estava reservado será também liberado.

Tipos de Variáveis

https://www.fuctura.com.br/recife/quero-revisar-logica-de-programacao/ 7/23
12/09/2020 .:. Apostila de Lógica de Programação | Fuctura Tecnologia - Treinamento oficial, parceiro do Porto Digital, IBM e Linux LPI

As variáveis e as constantes podem ser basicamente de quatro tipos: Numéricas, caracteres,


Alfanuméricas ou lógicas.

Numéricas – Específicas
para armazenamento de números, que posteriormente poderão ser utilizados para cálculos.
Podem ser ainda classi cadas como Inteiras ou Reais. As variáveis do tipo inteiro são para
armazenamento de números inteiros e as Reais são para o armazenamento de números que
possuam casas decimais.

Caracteres – Especí cas para armazenamento de conjunto de caracteres que não contenham
números (literais). Ex: nomes. Alfanuméricas – Especí cas para dados que contenham letras
e/ou números. Pode em determinados momentos conter somente dados numéricos ou somente
literais. Se usado somente para armazenamento de números, não poderá ser utilizada para
operações matemáticas.
Lógicas – Armazenam somente dados lógicos que podem ser Verdadeiro ou Falso. Constantes
Uma constante é uma variável. Sim, é uma variável no sentido de que uma constante também
reserva um espaço de memória para o tipo de dado que manipulará. Entretanto, uma constante
armazenará um valor ÚNICO, um valor que NÃO mudará com o tempo de execução do programa.
Suponha que você precise trabalhar com o número PI, que é um valor xo de aproximadamente
3.14. Você pode simplesmente declará-lo e utilizá-lo em todo o seu programa. Veja:

Uma constante chamada PI foi declarada no início do algoritmo e, posteriormente, usada para
realizar uma operação de multiplicação. Portanto, lembre-se: constantes e variáveis são
espaços de memória reservados para o tipo de dados que você deseja trabalhar. Constantes são
valores xos que você utilizará em seu programa e variáveis são valores que precisam variar
durante o tempo de execução do seu programa.

Capítulo 5
Operadores

https://www.fuctura.com.br/recife/quero-revisar-logica-de-programacao/ 8/23
12/09/2020 .:. Apostila de Lógica de Programação | Fuctura Tecnologia - Treinamento oficial, parceiro do Porto Digital, IBM e Linux LPI

Os operadores são meios pelo qual incrementamos, decrementamos, comparamos e avaliamos


dados dentro do computador. Temos três tipos de operadores:
 Operadores Aritméticos
 Operadores Relacionais
 Operadores Lógicos 
 Operadores Aritméticos

Os operadores aritméticos são os utilizados para obter resultados numéricos. Além da adição,
subtração, multiplicação e divisão, podem utilizar também o operador para exponenciação. Os
símbolos para os operadores aritméticos são:

Operadores Relacionais
Os operadores relacionais são utilizados para comparar String de caracteres e números. Os
valores a serem comparados podem ser caracteres ou variáveis. Estes operadores sempre
retornam valores lógicos (verdadeiro ou falso/ True ou False), para estabelecer prioridades no
que diz respeito a qual operação executar primeiro,
utilize os parênteses. Os operadores relacionais são:

Operadores Lógicos
Os operadores lógicos servem para combinar resultados de expressões, retornando se o
resultado nal é verdadeiro ou falso. Os operadores lógicos são:

E / AND – Uma expressão AND (E) é verdadeira se todas as condições forem verdadeiras. 
OR / OU – Uma expressão OR (OU) é verdadeira se pelo menos uma condição for
verdadeira. 

NOT – Uma expressão NOT (NÃO) inverte o valor da expressão ou condição, se verdadeira
inverte para falsa e vice-versa. 

https://www.fuctura.com.br/recife/quero-revisar-logica-de-programacao/ 9/23
12/09/2020 .:. Apostila de Lógica de Programação | Fuctura Tecnologia - Treinamento oficial, parceiro do Porto Digital, IBM e Linux LPI

A tabela abaixo mostra todos os valores possíveis criados pelos


três operadores lógicos (AND, OR e NOT).

Operações Lógicas
Operações Lógicas são utilizadas quando se torna necessário tomar decisões em um diagrama
de bloco. Num diagrama de bloco, toda decisão terá sempre como resposta o resultado
VERDADEIRO ou FALSO. Como no exemplo do algoritmo “CHUPAR UMA BALA”. Imaginemos que
algumas pessoas não gostem de chupar bala de Morango, neste caso teremos que modi car o
algoritmo para:

“Chupar uma bala”


Pegar a bala 
A bala é de morango? 
Se sim, não chupe a bala 
Se não, continue com o algoritmo 
Retirar o papel 
Chupar a bala 
Jogar o papel no lixo 

Exemplo do algoritmo “Chupar Bala” utilizando diagrama de Blocos:

https://www.fuctura.com.br/recife/quero-revisar-logica-de-programacao/ 10/23
12/09/2020 .:. Apostila de Lógica de Programação | Fuctura Tecnologia - Treinamento oficial, parceiro do Porto Digital, IBM e Linux LPI

Comandos de Decisão
Comandos de Controle de Programa ou simplesmente comandos de decisão são comandos que
podemos usar em nossos programas para direcionar o uxo de sua execução. Explicaremos
melhor a seguir, não se preocupe. Um programa pode ser dividido em partes, como pudemos
compreender até aqui, primeiro temos que escrever o nome do programa, depois temos um
espaço reservado para declaração de variáveis, aí entra o programa principal, com os comandos
que queremos que sejam executados. Um comando de controle de programa é então um
comando que desvia de uma parte do programa, executa determinada ação, e volta para onde
estava. Normalmente, o programa principal está sendo executado e então, ao chegar em uma
linha que contém um comando desse tipo, o controle do programa passa a não ser mais do
programa principal, mas sim daquele bloco de código que está sendo executado.

A estrutura de decisão “SE/IF”


Normalmente vem acompanhada de um comando, ou seja, se determinada condição for
satisfeita pelo comando SE/IF então execute determinado comando. Segue Sintaxe:

O comando SE (IF): deve ser utilizado sempre quando precisamos analisar uma situação e
decidir o que vamos fazer em seguida. Simpli cadamente, funciona mais ou menos assim: Se
tal condição for verdadeira, faça tal coisa, caso contrário, faça outra coisa. Daremos um exemplo
clássico. Desenvolveremos um programa que:
Solicite as notas das duas provas bimestrais dos estudantes; 
Calcule a média dessas notas; 
Veri que a situação do estudante: 
o Aprovado se a média for maior ou igual a 7; 
o Recuperação se a média for menor que 7 e maior que 4; 
o Reprovado se a média for menor que 4. 
Apresente na tela os resultados. 

Linha 1: Nome do Programa.

Linha 2 e 3: Declaração de Variáveis. São declaradas três variáveis do tipo real, duas para obter
os valores das duas notas e uma terceira para armazenar o valor da
média.

https://www.fuctura.com.br/recife/quero-revisar-logica-de-programacao/ 11/23
12/09/2020 .:. Apostila de Lógica de Programação | Fuctura Tecnologia - Treinamento oficial, parceiro do Porto Digital, IBM e Linux LPI

Linha 4: Início do Programa.

Linhas 5, 7, 11, 12, 13, e 14: Usamos o comando ESCREVA para escrever textos na tela.
Linhas 6 e 8: Usamos o comando LEIA para obter os valores das variáveis NE e N2 que serão
digitados pelo usuário.

Linha 9: Fazemos o cálculo da média das duas notas.

Linha 10: Aqui usamos o comando SE para avaliar a condição MÉDIA >= 7. Se a resposta para
avaliação for VERDADEIRA, então, vai aparecer na tela as mensagens que colocamos no
ESCREVA. Essas mensagens apresentam as notas das provas, a média e a situação do aluno. Se
MÉDIA não for maior ou igual a 7, então nada acontece, simplesmente saímos do bloco de
comando do SE e voltamos para o programa principal, o qual apenas emite uma mensagem de
FIM DE PROGRAMA. Portanto, das linhas 10 à 15, temos o bloco de comando do IF. A condição
sendo verdadeira, esse bloco será executado, sendo falsa, sairá do bloco. se/se não Vamos ver
agora como ca o mesmo programa ao tratarmos tanto a resposta Verdadeira, quanto a Falsa. O
Pseudocódigo correspondente é apresentado na gura a seguir:

Observe as linhas de 17 a 21. Nelas encontram-se o tratamento para a resposta FALSA da


avaliação da condição. Novamente vamos imprimir na tela os valores das notas, da média e
agora a situação do estudante aparecerá como REPROVADO. A condição avaliada é a seguinte:
Se a MÉDIA >= 7 é V então o estudante está aprovado, CASO CONTRÁRIO, o estudante está
reprovado. Então, o comando Se Composto pode ser generalizado como: SE a condição avaliada
for Verdadeira, ENTÃO, execute os comandos deste bloco, CASO CONTRÁRIO, execute os
comandos do outro bloco. Ao terminar a execução do bloco SE, retorne ao programa principal.

A sintaxe é:

While

https://www.fuctura.com.br/recife/quero-revisar-logica-de-programacao/ 12/23
12/09/2020 .:. Apostila de Lógica de Programação | Fuctura Tecnologia - Treinamento oficial, parceiro do Porto Digital, IBM e Linux LPI

O comando While é um comando de LOOP, ou falando em português, um comando de repetição.


Este é muito diferente do comportamento do comando IF. Em um comando de decisão, é
analisada uma condição e, se a resposta for V ou F, algo acontece, ou não, uma única vez. No
caso do While, uma condição também é analisada, uma resposta F sai do bloco de comando e
volta para o programa principal, mas uma resposta V executará o bloco de instruções repetidas
vezes. A quantidade de vezes que aquele bloco de instruções será executado é de nido na
condição. Portanto, enquanto a condição for verdadeira, repita o bloco de comandos. No
momento em que a condição for falsa, sairá do while.

A sintaxe do comando While é a seguinte:

Veremos a seguir um exemplo simples onde iremos somar os


números menores ou iguais a dez.

Switch Case
O comando Switch/Case é do tipo  Seleção/Condição, como o IF: diante de uma condição ele
seleciona o que será feito. Este comando é muito utilizado para a construção de menus de
opções ao usuário, a sua sintaxe em pseudocódigo (VISUALG) é a seguinte:

A palavra-chave ESCOLHA é o comando que conhecemos como SWITCH em várias linguagens


de programação. Switch em inglês quer dizer (entre outros signi cados) chave, então, um
comando Switch funciona como uma chave de seleção. Caso é uma palavra-chave reservada
que em inglês é Case, o qual é selecionado de acordo com o valor da expressão.

https://www.fuctura.com.br/recife/quero-revisar-logica-de-programacao/ 13/23
12/09/2020 .:. Apostila de Lógica de Programação | Fuctura Tecnologia - Treinamento oficial, parceiro do Porto Digital, IBM e Linux LPI

Cada CASO é um bloco de comandos especí co que será executado somente se for
selecionado. Então, Switch seleciona um CASO e CASO é a seleção de um bloco de comandos
especí co. Em algumas situações você pode usar o IF/ELSE ou o SWITCH/CASE para resolver o
mesmo problema. Apesar de serem comandos parecidos, funcionam de formas diferentes.

O comando funciona basicamente da seguinte forma: o valor de ESCOLHA (Switch) é


normalmente uma variável que contém um valor que foi digitado pelo usuário anteriormente.
Esse valor será comparado a cada um dos casos, até chegar no caso igual a esse valor e, se o
valor não existir nos casos, será direcionado para default. Reforço que o programa é executado
de forma sequencial, isto é, o programa é executado linha a linha. Se tivermos 10 casos e o
usuário digitar a opção 8, cará assim:

Caso1 = 8? Falso, não executa nada e vai pro próximo caso.

Caso2 = 8 ? Falso, não executa nada e vai pro próximo caso.


Assim por diante até que: Caso8= 8? Verdadeiro, entra no bloco de comandos executa todas as
instruções e depois retorna o comando para o programa principal.
Vamos codi car uma calculadora que permite ao usuário escolher a operação matemática que
ele deseja.

https://www.fuctura.com.br/recife/quero-revisar-logica-de-programacao/ 14/23
12/09/2020 .:. Apostila de Lógica de Programação | Fuctura Tecnologia - Treinamento oficial, parceiro do Porto Digital, IBM e Linux LPI

Analisaremos a seguir o pseudocódigo:


Linha 3 e 4: são declaradas as variáveis que utilizaremos no programa. X e Y são as variáveis
responsáveis por armazenar os valores dos números (operandos). OP é o valor da opção que o
usuário selecionará.

Linha 14: LIMPATELA é um comando utilizado para limpar a tela do CONSOLE no momento em
que o programa está sendo executado.

Linhas de 16 a 19: Nestas linhas apenas escrevemos na tela do console mensagens que
apresentam as opções ao usuário. São mensagens claras e objetivas.
Linhas de 21 a 23: Nestas linhas pedimos ao usuário que escolha a opção que ele deseja e
fazemos a LEITURA do valor digitado pelo usuário. OP armazena esse valor para que ele seja
usado em seguida, na comparação do caso até encontrar o caso desejado.
Linhas 25 a 27: Este é o CASO 1. Aqui é executada a operação de SOMA. Observe que todos os
comandos aqui são utilizados para isso, para calcular a SOMA e
apresentar ao usuário o resultado da soma.
Linhas 29 a 31: Aqui estão os comandos correspondentes ao CASO 2, que é a SUBTRAÇÃO, bem
parecido com o CASO1.
Linhas 33 a 35: Aqui estão os comandos correspondentes ao CASO 3, que é a MULTIPLICAÇÃO,
bem parecido com o CASO1.

Linhas 37 a 43: Aqui estão os comandos correspondentes ao CASO 4, que é a DIVISÃO. Aqui foi
feito o tratamento da divisão por zero, nunca podemos nos esquecer disso quando formos usar
a DIVISÃO. Se o divisor for zero, não existe divisão por zero e isso gera um erro! Então, quando o
divisor for zero, enviamos uma mensagem para o usuário alertando-o sobre isso. Caso contrário,
a divisão ocorre normalmente.
Linha 45: FIMESCOLHA é o comando para nalizar o ESCOLHA/CASO.

For (Para) O comando FOR pode ser utilizado sempre que você precisar repetir um bloco de
comandos, Mas cuidado, um bloco de comando deve ser repetido um
número de vezes, isto é, a repetição deve ter um m, caso contrário, o seu programa cará em
LOOP in nito. Resumindo, se não tiver um m, aqueles comandos carão executando
eternamente, o programa cará travado nisso e ninguém quer isso certo?! Na verdade, não é
agradável quando isso acontece e, na maioria das vezes, o LOOP in nito ocorre por um erro de
lógica ou um erro de digitação, além disso, deve haver uma forma de CONTAR quantas vezes o
FOR foi executado, isto é, precisamos de um contador ou um INCREMENTADOR. No
pseudocódigo apresentado aqui, pelo VisuALg, esse incrementador ca IMPLÍCITO, mas a
maioria das linguagens de programação, implementa o incrementador de forma EXPLICITA.
Mostrarei com o FOR é implementado em outras linguagens para que vocês compreendam
melhor.

A estrutura FOR, portanto, repete a execução do bloco em um número de nitivo de vezes pois
ela possui limites xos, devemos utilizar essa estrutura quando sabe-se de antemão o número
de vezes que o laço deverá ser executado. A estrutura básica é a seguinte:

https://www.fuctura.com.br/recife/quero-revisar-logica-de-programacao/ 15/23
12/09/2020 .:. Apostila de Lógica de Programação | Fuctura Tecnologia - Treinamento oficial, parceiro do Porto Digital, IBM e Linux LPI

V  é uma variável de controle que precisa ser do tipo inteiro,  VI  é o valor inicial da
variável V e VF é o valor nal da variável V.

Fazemos a leitura da seguinte forma: para uma variável V com um valor inicial VI até atingir o
valor nal VF FAÇA. O comando FOR vai repetir todas as linhas de comando que estiverem
dentro do seu bloco até que VF seja alcançado. Quando VF for alcançado, o FOR para e sai do
bloco de comandos, retornando o controle para o programa principal. Exemplo de pseudocódigo
estrutura FOR:

Vamos analisar o pseudocódigo acima linha a linha:


Linha 1: nome do algoritmo.
Linha 3 e 4: declaração de variáveis.

Linha 6: inicio do algoritmo.

Linha 7: inicializando a variável i com o valor zero.


Linha 8: inicializando a variável soma com zero.

Linha 9: escreve uma mensagem de texto na tela.


Linha 11 a 15: comando For.

Linha 11: Nesta linha é de nido o comando FOR – para i de 1 até 10 faça – isto é, para i
começando em 1 e até alcançar o valor 10, execute os comandos deste bloco.

Linhas 12, 13 e 14: são os comandos que serão repetidos até que VF seja igual a 10.

Linha 12: Realiza uma soma cumulativa, soma <- i + soma, em que o valor da variável SOMA será
sempre somado com o valor da variável I, armazenando o resultado dessa soma em SOMA.
Linha 13: escreve uma mensagem de texto na tela, informando o valor ATUAL da variável i.

Linha 14: escreve uma mensagem de texto na tela, informando o valor ATUAL da variável soma.

Linha 15: m do bloco de comando PARA.


Linha 17: m do pseudocódigo.

DO-WHILE
https://www.fuctura.com.br/recife/quero-revisar-logica-de-programacao/ 16/23
12/09/2020 .:. Apostila de Lógica de Programação | Fuctura Tecnologia - Treinamento oficial, parceiro do Porto Digital, IBM e Linux LPI

O comando Do-While é parecido com o comando While, mas existe uma pequena diferença entre
eles. Os comandos do bloco DO-WHILE só serão executados se a avaliação da condição resultar
VERDADEIRA. Essa é a diferença entre esses dois comandos. A sintaxe é a seguinte:

Os comandos do do-while serão repetidos quantas vezes forem necessárias até que a condição
de nida seja alcançada. Vamos ver um exemplo:

Esse exemplo mostra como somar os números de 1 a 10, sem a necessidade de alguém digitar
os números, o próprio programa faz a soma sozinho. São necessárias duas variáveis: i e soma.
A variável i funciona como um contador, a cada vez que se entra no do-while, ele soma mais um,
e é assim que conseguimos chegar ao valor 10. A variável soma armazena o valor da soma, que
é o resultado de soma + i, e também é somado de forma iterativa, ou seja, a cada vez que o do-
while é executado.

 A condição de parada desse LOOP é i=10, então, enquanto o valor de i não chegar à 10, o LOOP
continuará executando. Quando i for igual a 10, a execução dos comandos do bloco do-while
são encerradas, e o controle volta para o programa principal. Esse código faz exatamente a
mesma coisa que o código do artigo anterior, mas desta vez estamos usando DO-WHILE e não
WHILE ou FOR.
As linhas de 7 a 12: são as que correspondem ao comando do-while que, no VISUALG, no
PASCAL e no PSEUDOCÓDIGO é chamado de REPEAT-UNTIL ou REPITA ATÉ QUE.

Vetores e Matrizes
Vetores e Matrizes são estruturas de dados muito simples que podem nos ajudar muito quando
temos muitas variáveis do mesmo tipo em um algoritmo. Imagine o seguinte problema: Você
precisa criar um algoritmo que lê o nome e as 4 notas de 50 alunos, calcular a média de cada
aluno e informar quais foram aprovados e quais foram reprovados.

Conseguiu imaginar quantas variáveis você vai precisar? Muitas né? Vamos fazer uma conta
rápida: 50 variáveis para armazenar os nomes dos alunos, (4 * 50 =) 200 variáveis para
armazenar as 4 notas de cada aluno e por m, 50 variáveis para armazenar as médias de cada
aluno. 300 variáveis no total, sem contar a quantidade de linhas de código que você vai precisar
para ler todos os dados do usuário, calcular as médias e apresentar os resultados. Mas eu tenho
uma boa notícia para você. Nós não precisamos criar 300 variáveis! Podemos utilizar Vetores e
Matrizes (também conhecidos como ARRAYs)!

https://www.fuctura.com.br/recife/quero-revisar-logica-de-programacao/ 17/23
12/09/2020 .:. Apostila de Lógica de Programação | Fuctura Tecnologia - Treinamento oficial, parceiro do Porto Digital, IBM e Linux LPI

Vetor (array uni-dimensional) é uma variável que armazena várias variáveis do mesmo tipo. No
problema apresentado anteriormente, nós podemos utilizar um vetor de 50 posições para
armazenar os nomes dos 50 alunos.

Matriz (array multi-dimensional) é um vetor de vetores. No nosso problema, imagine uma matriz
para armazenar as 4 notas de cada um dos 50 alunos. Ou seja, um vetor de 50 posições, e em
cada posição do vetor, há outro vetor com 4 posições. Isso é uma matriz.

Cada item do vetor (ou matriz) é acessado por um número chamado de índice.

Podemos ver na imagem acima que cada posição do vetor é identi cado por um número
(chamado de índice), no caso da matriz são dois números (um na vertical e um na horizontal).
Tomando o exemplo apresentado anteriormente, vamos implementar o algoritmo utilizando o
Visualg (http://www.dicasdeprogramacao.com.br/linguagem-de-programacao-para-iniciantes/).
Nele, vamos usar algumas estruturas básicas já apresentadas aqui, tais como A estrutura de
repetição PARA (http://www.dicasdeprogramacao.com.br/estrutura-de-repeticao-para/) e a
estrutura de decisão SE-ENTÃO-SENÃO (http://www.dicasdeprogramacao.com.br/estrutura-de-
decisao-se-entao-senao/).

https://www.fuctura.com.br/recife/quero-revisar-logica-de-programacao/ 18/23
12/09/2020 .:. Apostila de Lógica de Programação | Fuctura Tecnologia - Treinamento oficial, parceiro do Porto Digital, IBM e Linux LPI

Repare que os  arrays  (vetores ou matrizes) aliados a estrutura de repetição PARA é um ótimo
recurso para algoritmos que precisam de muitas variáveis do mesmo tipo.

Vídeo Aulas
Curso de  Algoritmos Computacionais
Aula 1: https://youtu.be/bkI93Nod_3I (https://youtu.be/bkI93Nod_3I)
Aula 2: https://youtu.be/KffKOebQawc (https://youtu.be/KffKOebQawc)
Aula 3: https://youtu.be/EMOcWuS0u3s (https://youtu.be/EMOcWuS0u3s)
Aula 4: https://youtu.be/AkiJB4zvdZE (https://youtu.be/AkiJB4zvdZE)

Curso Algoritmos Computacionais


Aula 1: https://youtu.be/bkI93Nod_3I (https://youtu.be/bkI93Nod_3I)
Aula 2: https://youtu.be/KffKOebQawc (https://youtu.be/KffKOebQawc)
Aula 3: https://youtu.be/EMOcWuS0u3s (https://youtu.be/EMOcWuS0u3s)
Aula 4: https://youtu.be/AkiJB4zvdZE (https://youtu.be/AkiJB4zvdZE)

Curso Estrutura de Seleção

https://www.fuctura.com.br/recife/quero-revisar-logica-de-programacao/ 19/23
12/09/2020 .:. Apostila de Lógica de Programação | Fuctura Tecnologia - Treinamento oficial, parceiro do Porto Digital, IBM e Linux LPI

Aula 1: https://youtu.be/_jWLHKTGm80 (https://youtu.be/_jWLHKTGm80)


Aula 2: https://youtu.be/jlOMFgNQI-o (https://youtu.be/jlOMFgNQI-o)
Aula 3: https://youtu.be/leUQfbwa0vI (https://youtu.be/leUQfbwa0vI)
Aula 4: https://youtu.be/MiNM1-HBAmU (https://youtu.be/MiNM1-HBAmU)
Aula 5: https://youtu.be/vS9a2BXgWq8 (https://youtu.be/vS9a2BXgWq8)
Aula 6: https://youtu.be/fdTIM4exzio (https://youtu.be/fdTIM4exzio)
Aula 7: https://youtu.be/GCIlUNKjr1E (https://youtu.be/GCIlUNKjr1E)

Boas Práticas de Programação


Aula 1: https://youtu.be/dNYmjEEzD04 (https://youtu.be/dNYmjEEzD04)

Estruturas de Repetição
Aula 1: https://youtu.be/8r_JFTwVa58 (https://youtu.be/8r_JFTwVa58)
Aula 2: https://youtu.be/R2GtlZIgPSU (https://youtu.be/R2GtlZIgPSU)
Aula 3: https://youtu.be/12BHuW82Rbc (https://youtu.be/12BHuW82Rbc)
Aula 4: https://youtu.be/OJ_WHFGc0fg (https://youtu.be/OJ_WHFGc0fg)
Aula 5: https://youtu.be/0v7SFyHrZMk (https://youtu.be/0v7SFyHrZMk)
Aula 6: https://youtu.be/JKlO6fLfcjs (https://youtu.be/JKlO6fLfcjs)
Aula 7: https://youtu.be/-gVBxDGdLww (https://youtu.be/-gVBxDGdLww)

(https://www.instagram.com/fucturatecnologia/)

(https://www.instagram.com/fucturatecnologia/)

Busca
Pesquise por notícias... 

Mais Lidas

Preparatório Gratuito (https://www.fuctura.com.br/recife/preparatorio-gratuito/)

Accenture abre mais de 500 vagas com home o ce


(https://www.fuctura.com.br/recife/accenture-abre-mais-de-500-vagas-com-home-o ce/)

https://www.fuctura.com.br/recife/quero-revisar-logica-de-programacao/ 20/23
12/09/2020 .:. Apostila de Lógica de Programação | Fuctura Tecnologia - Treinamento oficial, parceiro do Porto Digital, IBM e Linux LPI

Curso Chatbot IBM Gratuito (https://www.fuctura.com.br/recife/curso-chatbot-ibm-gratuito/)

São 40 vagas para programadores Java (https://www.fuctura.com.br/recife/vagas-abertas-na-


sefaz/)

Emprego ou projeto pessoal? (https://www.fuctura.com.br/recife/cursos-mais-procurados/)

Quer trabalhar no Porto Digital? (https://www.fuctura.com.br/recife/quer-trabalhar-no-porto-


digital/)

Parceria com Angola (https://www.fuctura.com.br/recife/parceria-com-angola/)

Aprovado na Accenture
Pedro Miqueles

Aprovado na Sefaz
Pedro Santa Rosa

Entre em contato agora


Nome: *

https://www.fuctura.com.br/recife/quero-revisar-logica-de-programacao/ 21/23
12/09/2020 .:. Apostila de Lógica de Programação | Fuctura Tecnologia - Treinamento oficial, parceiro do Porto Digital, IBM e Linux LPI

Email: *

Telefone: *

(__) _____.____

Onde Estuda/Trabalha:

Mensagem: *

Não sou um robô


reCAPTCHA
Privacidade - Termos

ENVIAR

Sobre Nós
 Sobre a Fuctura (https://www.fuctura.com.br/recife/sobre/)
 Contratar serviço (https://www.fuctura.com.br/recife/consultoria/)
 Salas para treinamento (https://www.fuctura.com.br/recife/reserva-de-salas)

Cursos
 Mais procurados (https://www.fuctura.com.br/recife/cursos)
 Notícias (https://www.fuctura.com.br/recife/noticias/)

Redes Sociais
 Facebook (https://www.facebook.com/fucturatecnologia)
 LinkedIn (https://www.linkedin.com/company/fuctura)
 Youtube (https://www.youtube.com/user/fucturatecnologia)

Fuctura
 Estamos contratando (https://www.fuctura.com.br/recife/oportunidades/)
 Fale Conosco (https://www.fuctura.com.br/recife/contato/)

https://www.fuctura.com.br/recife/quero-revisar-logica-de-programacao/ 22/23
12/09/2020 .:. Apostila de Lógica de Programação | Fuctura Tecnologia - Treinamento oficial, parceiro do Porto Digital, IBM e Linux LPI

 Provas O ciais LPI (https://www.fuctura.com.br/recife/prova-lpi/)

Fone: 81 3223.8348 () | 81 99624.0427 (https://api.whatsapp.com/send?


phone=558196240427)

"As empresas estão percebendo os benefícios do Software Livre e, a cada dia, mais empresas se unem a
este universo de possibilidades."

https://www.fuctura.com.br/recife/quero-revisar-logica-de-programacao/ 23/23