Buscar

2 - Apostila Algoritmos (1)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 49 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 49 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 49 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Sumário 
Apresentação da disciplina 32 
Introdução 4 
Exercícios Resolvidos 5 
Exercícios Propostos 7 
Lógica de Programação 7 
Proposição 10 
Lógica Booleana 11 
Exercícios Resolvidos 14 
Exercícios Propostos 14 
Diagrama de Bloco 15 
Exercícios Resolvidos 18 
Exercícios Propostos 20 
Expressões Algorítmicas 21 
Constantes e Variáveis 22 
Comando de Atribuição 24 
Estrutura Condicional 26 
Exercícios Resolvidos 29 
Exercícios Propostos 31 
Estrutura de Repetição 32 
Exercícios Resolvidos 37 
Exercícios Propostos 40 
Anexo I 42 
Scratch 42 
Criar Conta na Plataforma 43 
Criar e Compartilhar Produções 46 
 
 
 
 
Apresentação da disciplina 
Esta disciplina tem como objetivo ensinar a lógica utilizada na construção de 
programas de computadores. Esses programas de computadores são construídos 
por meio de algoritmos, que são o foco da disciplina. O conteúdo ministrado será 
dividido em 3 partes: 
 
1 Introdução: nesta primeira parte será discutido o conceito de algoritmo, lógica de 
programação e um pouco sobre a lógica booleana. Nela você irá escrever seus 
primeiros algoritmos. 
 
2 Diagrama de bloco: nesta parte você vai aprender uma forma mais estruturada 
para representar um algoritmo. Essa forma utiliza alguns símbolos que facilitam a 
leitura dos algoritmo. 
 
3 Expressões algorítmicas: aqui será onde você conhecerá estruturas mais 
complexas para criação de algoritmos, essas estruturas podem ser representadas 
nos diagramas de blocos ou em uma outra representação de algoritmo, que é o 
pseudocódigo. 
 
Bons estudos! 
 
 
 
 
Introdução 
A palavra algoritmo pode até 
não ser muito conhecida, mas, 
provavelmente você já executou um 
algoritmo. Este termo, apesar de não 
ser muito utilizado no dia a dia, 
refere-se a algo muito corriqueiro em 
nossas vidas. Todo programa de 
computador é composto de um 
conjunto de algoritmos. Mesmo 
ações como cozinhar um prato 
seguindo uma receita culinária ou 
resolver um problema do seu 
computador utilizando um tutorial 
são exemplos de situações em que 
você utiliza algoritmos. 
De acordo com o dicionário 
Michaelis1 
<http://michaelis.uol.com.br/moderno
-portugues/busca/portugues-
brasileiro/algoritmo/> um algoritmo é 
um conjunto de regras e operações e procedimentos, definidos e ordenados, usados 
na solução de um problema, ou de classe de problemas, em um número finito de 
etapas. Uma das primeiras formalizações do conceito de algoritmo aconteceu em 
1936, pela Máquina de Turing, de Alan Turing. 
 
A definição formal de algoritmo que utilizaremos nesta disciplina é a seguinte: 
Uma sequência finita de instruções, que devem ser executadas em um 
intervalo de tempo finito para alcançarem um objetivo. 
 
Embora muitos algoritmos sejam mais complexos que uma receita culinária, o 
conceito de algoritmo pode ser ilustrado por esse exemplo. Eles podem repetir 
passos ou necessitar de decisões até que a tarefa seja completada. Mesmo que um 
algoritmo seja corretamente executado, ele pode não resolver um problema se for 
feito incorretamente ou se não for apropriado ao problema. 
Algoritmo não é sinônimo de um programa de computador, ele, na verdade, 
representa os passos necessários para realizar uma tarefa. Sua implementação 
pode ser feita por um computador, por outro tipo de máquina ou mesmo por um ser 
humano. Dois algoritmos diferentes podem realizar a mesma tarefa usando um 
conjunto diferente de instruções em mais ou menos tempo. 
Abaixo vemos um exemplo de uma receita de bolo de liquidificador. Repare 
como este exemplo segue as definições de um algoritmo. 
http://michaelis.uol.com.br/moderno-portugues/busca/portugues-brasileiro/algoritmo/
http://michaelis.uol.com.br/moderno-portugues/busca/portugues-brasileiro/algoritmo/
http://michaelis.uol.com.br/moderno-portugues/busca/portugues-brasileiro/algoritmo/
 
 
 
 
Receita de bolo de liquidificador 
1. Coloque 3 ovos no liquidificador; 
2. Adicione 2 colheres de margarina no liquidificador; 
3. Adicione 1 copo de açúcar no liquidificador; 
4. Bata os ovos, o açúcar e a margarina no liquidificador por 1 minuto; 
5. Adicione 2 xícaras de farinha de trigo; 
6. Adicione 1 e 1/2 xícara de leite; 
7. Adicione 1 colher de fermento em pó; 
8. Bata a farinha, o leite e o fermento em pó com o restante da massa por 
mais 1 minuto no liquidificador; 
9. Unte a forma; 
10. Despeje a massa na forma untada; 
11. Preaqueça o forno por 5 minutos; 
12. Asse em forno médio (180° C) por 20 minutos. 
 
Ainda sobre a receita de bolo de liquidificador, podemos afirmar: 
● que ela possui 12 instruções, que é uma sequência finita de 
instruções; 
● que ela pode ser executada em um intervalo de tempo finito; 
● se executada corretamente, alcança o objetivo de se fazer um bolo. 
 
Exercício Resolvido 
1 – Escreva, na forma de um algoritmo, os passos que você utiliza para tomar 
banho. 
 
 
Entrar no banheiro; 
Despir; 
Ligar o chuveiro; 
Passar xampu; 
Esfregar o cabelo 
Enxaguar xampu; 
Ensaboar; 
Enxaguar; 
Pegar toalha; 
Secar; 
Vestir roupa limpa; 
 
 
 
Exercícios Propostos 
1. Escreva, na forma de um algoritmo, os passos para trocar uma lâmpada. 
2. Escreva, na forma de um algoritmo, os passos para trocar um pneu furado. 
3. Escreva, na forma de um algoritmo, os passos para calcular a média de dois 
números. 
4. Escreva, na forma de um algoritmo, a receita de seu prato favorito. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de programação 
 
 
 
A Lógica de Programação é a técnica de desenvolver algoritmos para atingir 
determinados objetivos. Sendo assim, se você resolveu os exercícios propostos na 
seção anterior, você já está utilizando a lógica para construir algoritmos. 
 
Todo mamífero é um animal 
Todo cão é um mamífero 
Logo, todo cão é um animal 
 
 
Mas a Lógica é utilizada em diversas áreas como, por exemplo, na área da 
Matemática, onde seu objetivo é investigar a veracidade de suas proposições. 
Assim, podemos dizer que a lógica é a arte de bem pensar, é um produto da 
 
coerência e da racionalidade. Uma de suas preocupações é determinar quais 
operações são válidas ou não, fazendo análises das formas das leis do 
pensamento. Sempre que pensamos, a lógica está presente. Desde as tarefas mais 
simples como por exemplo: 
 
A gaveta está fechada. 
O papel está dentro da gaveta. 
Logo, preciso abrir a gaveta para pegar o papel. 
 
Existem muitos jogos que exploram a lógica, assim, vamos indicar alguns 
para deixar vocês bem afiados em problemas de lógica. 
O primeiro é o dos missionários e os canibais, nele você tem que ajudar os 
três missionários e os canibais a atravessarem para a outra margem do rio. Mas os 
canibais comem os missionários, em qualquer uma das margens do rio, quando 
estiverem em maior número que os missionários. O jogo pode ser encontrado no 
seguinte endereço http://www.testesdeqi.com.br/jogos/padres-e-canibais/. 
 
No site https://rachacuca.com.br/logica/problemas/ você encontra vários 
jogos de lógica, em diversos níveis de dificuldade. 
 
 
 
 
 
 
 
Aqui fica um desafio para você: resolver o Teste de QI de Einstein, que 
pode ser encontrado no site https://rachacuca.com.br/teste-de-einstein/. 
 
http://www.testesdeqi.com.br/jogos/padres-e-canibais/
https://rachacuca.com.br/logica/problemas/
https://rachacuca.com.br/teste-de-einstein/
https://rachacuca.com.br/teste-de-einstein/
 
Proposição 
 
Willard Van Orman Quine afirma que toda proposição é uma frase, mas 
nem toda frase é uma proposição; e que uma frase é uma proposição apenas 
quando admite um dos dois valores lógicos: verdadeiro ou falso. 
 
Uma proposição lógica é uma sentença declarativa, seja ela expressa de 
forma afirmativa ou negativa, à qual podemos atribuir um valor lógico verdadeiro ou 
falso. É importante ressaltar que nem toda sentença é uma proposição, uma 
proposição também pode ser expressapor símbolos. Observe as seguintes 
sentenças: 
 
1. Tenha um bom dia! 
2. Minas Gerais fica no Brasil. 
3. Poços de Caldas fica em Minas Gerais. 
4. Quantas horas são? 
5. Poços de Caldas fica no Pará. 
6. 1+1=2 
7. 5+7=10 
8. Leia atentamente. 
 
 A sentença número 1 não é considerada uma proposição pois não tem um 
valor verdadeiro ou falso. Já a sentença número 2 é uma proposição de valor 
verdadeiro, bem como a sentença de número 3. A sentença de número 4 não pode 
receber um valor verdadeiro ou falso, logo não é uma proposição. No entanto a 
sentença de número 5 é uma proposição de valor falso. As sentenças número 6 e 7 
são proposições, mas a de número 6 é verdadeira e a 7 falsa. 
 
 
 
Lógica Booleana 
 A lógica booleana, também conhecida por álgebra booleana, foi idealizada 
por George Boole, tendo suas primeiras publicações em 1854. Ela trabalha com 
variáveis que podem assumir dois valores: verdadeiro ou falso. Nela o F representa 
falso e V representa verdadeiro. Em algumas representações computacionais, 
esses valores são mapeados por 0 e 1, onde F=0 e V=1. 
 Veremos três operadores utilizados na lógica booleana: E, OU e NÃO. É 
comum encontrar esses operadores sendo usados em inglês: AND, OR e NOT; e 
também existe uma notação em símbolos: ⋀, ⋁ e ⌐. 
A operação lógica E, que pode ser representada pelo símbolo ⋀, verifica se 
as duas variáveis de entrada são verdadeiras. A saída da operação E é verdadeira 
apenas quando ambas entradas são verdadeiras. Abaixo temos a tabela verdade da 
operação E. 
 
⋀ 0 1 
0 0 0 
1 0 1 
 
A operação lógica OU, que pode ser representada pelo símbolo ⋁, verifica se 
ao menos uma das duas variáveis de entrada são verdadeiras. A saída da operação 
OU é verdadeira se, no mínimo, uma das entradas for verdadeira. Abaixo temos a 
tabela verdade da operação OU. 
 
 
⋁ 0 1 
0 0 1 
1 1 1 
 
A operação lógica NÃO, que pode ser representada pelo símbolo ⌐, inverte o 
valor da entrada. Diferente das outras duas operações, o NÃO tem apenas uma 
entrada e uma saída. A saída da operação NÃO é o inverso da sua entrada. Abaixo 
temos a tabela verdade da operação NÃO. 
 
⌐ 0 1 
 1 0 
 
Nos operadores matemáticos como +, -, * e / existe a precedência, as 
operações de multiplicação e divisão são resolvidas antes das operações de soma e 
subtração. Os operadores booleanos também têm uma precedência definida, as 
operações NÃO são executadas primeiro, seguidas pelas operações E, e depois as 
operações OU. Como na matemática, podemos utilizar os parênteses ( ) para 
modificar essa ordem. 
 
 
Durante a escrita de algoritmos, também iremos nos deparar com outros 
operadores, os operadores relacionais. A notação escolhida para esses operadores 
durante esta disciplina é um pouco diferente da notação padrão, comumente 
utilizada na Matemática. Futuramente, quando você começar escrever programas 
em linguagens de programação como C ou Java, verá que essa é a notação 
utilizada nessas linguagens. A lista dos operadores relacionais que utilizaremos é: 
 
= Igual 
> Maior 
< Menor 
>= Maior ou igual 
<= Menor ou igual 
! = Diferente 
 
 Esses operadores podem ser agrupados de forma a representarem 
expressões booleanas, essas expressões têm um resultado V ou F, de acordo com 
os valores de suas variáveis. Alguns exemplos de expressões: 
 
1. idade <= 18 
2. ano ! = 2017 
3. valor > 200 
4. idade >= 65 OU tempoServico >= 35 
5. nota >= 60 E frequencia >= 75 
6. valor > 50 OU peso < 2 
 
 Podemos ler estas expressões da seguinte forma: 
 
1. Idade menor ou igual a 18 anos. 
2. Ano diferente de 2017. 
3. Valor maior que R$200. 
4. Idade maior ou igual a 65 anos ou tempo de serviço maior ou igual a 35 anos. 
5. Nota maior que 60 e frequência maior que 75%. 
6. Valor maior que R$50 e peso menor que 2kg. 
 
 Essas expressões podem ser utilizadas em algoritmos para verificar se uma 
pessoa é menor de idade, se o ano é diferente do ano atual, se o valor de um 
produto é maior de 200 reais, se um funcionário já está apto para aposentar, se a 
nota e a frequência de um aluno é suficiente para que ele seja aprovado e se o valor 
e o peso de um pedido se encaixa na promoção de frete grátis. 
 
 
 
Exercícios Resolvidos 
1. Escreva um algoritmo no qual você digita o ano de nascimento e ele te 
informa quantos anos você tem ou vai fazer neste ano. 
 
Digite seu ano de nascimento. 
Calcule 2017 - o ano de nascimento digitado. 
Escreva na tela do computador o valor calculado. 
 
2. Qual o valor esperado nas seguintes operações: 
a. 18 < 25 
b. 18 < 18 
c. 27 >= 27 
d. NÃO V E F 
e. NÃO (V E F) 
f. V OU F 
 
a. Verdadeiro 
b. Falso 
c. Verdadeiro 
d. Falso 
e. Verdadeiro 
f. Verdadeiro 
 
 
Exercícios Propostos 
1. Escreva um algoritmo que receba 4 números inteiros, calcule e mostre a 
soma desses números. 
2. Faça um algoritmo que receba 3 notas, calcule e mostre a média aritmética 
entre elas. 
3. Faça um algoritmo que receba o salário de um funcionário, calcule e mostre o 
novo salário, sabendo-se que este sofreu um aumento de 25%. 
4. Faça um algoritmo que calcule e mostre a área de um triângulo. Sabe-se que: 
Área = (base * altura) /2 
5. Faça um algoritmo que calcule e mostre a área de um círculo. Sabe-se que: 
A = 𝛑 * R2 e 𝛑 = 3,1415 
6. Faça um algoritmo que receba o preço de um produto, calcule e mostre o 
novo preço, sabendo-se que este sofreu um desconto de 10%. 
 
 
Diagrama de Bloco 
 
 
Existem diversas formas para se representar um algoritmo, os tipos mais 
utilizados de algoritmos são: 
 
● Descrição Narrativa: o algoritmo é escrito em linguagem natural (língua 
portuguesa). 
● Fluxograma ou Diagrama de Blocos: o algoritmo é escrito utilizando símbolos 
gráficos predefinidos. 
● Pseudocódigo ou Portugol: o algoritmo é escrito utilizando regras 
predefinidas. Neste caso, a passagem do algoritmo para a linguagem de 
programação é quase imediata. 
 
 
 Até o presente momento, estamos utilizando apenas a descrição narrativa de 
algoritmos, porém, essa forma tem uma desvantagem, ela é ambígua se tomamos 
como base a definição de algoritmo “Uma sequência finita de instruções, que devem 
ser executadas em um intervalo de tempo finito para alcançarem um objetivo”. Ao se 
utilizar a descrição narrativa, podemos interpretar as instruções de forma 
equivocada, não alcançando assim o objetivo do algoritmo. 
 Nesta seção iremos estudar como fazemos algoritmos utilizando diagrama de 
blocos, conhecidos também como fluxogramas. Posteriormente, na seção 
expressões algorítmicas, iremos aprender um pouco mais sobre o pseudocódigo. 
O diagrama de blocos utiliza uma sequência de símbolos com significado 
bem definido, portanto, sua principal função é facilitar a visualização dos passos de 
um processamento, evitando que as instruções sejam interpretadas de forma 
equivocada. 
 
 
Nome Símbolo Função 
Terminal 
 
Indica o início e o fim do 
algoritmo. 
Transição 
 
Indica o sentido do fluxo 
de dados. 
 
Processamento 
 
Utilizado para indicar 
cálculos e atribuições de 
valores. 
 
Entrada de Dados 
 
 
Indica a entrada de dados 
através do teclado. 
 
 
Exibir 
 
Mostra informações ou 
resultados. 
 
Decisão 
 
Indica que uma tomada 
de decisão será feita e 
que o fluxo de transição 
poderá ser alterado. 
Repetição 
 
Utilizado para indicar que 
um conjunto de blocos 
poderá ser executado 
repetidamente. 
 
 
 Os blocos de decisão e repetição serão discutidos com mais detalhes na 
seção expressões algorítmicas. Abaixo apresentamos alguns exemplos de 
diagramas de bloco. 
 
 Diagrama de bloco com algoritmo para chupar uma bala. 
 
 
 
 
 Diagrama de bloco com algoritmo que soma dois números. 
 
 
Os diagramas acima foram feitos na ferramenta “lucidchart” e estão 
disponíveis para visualização no seguinte endereço 
https://www.lucidchart.com/invitations/accept/669e6e7d-6b9b-4bd6-a09c-f837786edcf1. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
https://www.lucidchart.com/invitations/accept/669e6e7d-6b9b-4bd6-a09c-f837786edcf1
https://www.lucidchart.com/invitations/accept/669e6e7d-6b9b-4bd6-a09c-f837786edcf1
 
Exercícios Resolvidos 
 
 
1. Faça um diagrama de blocos com algoritmo com as atividades que você faz 
logo que acorda pela manhã.
 
 
 
2. Faça um diagrama de blocos para calcular a média de 4 notas. 
 
Exercícios Propostos 
1. Escreva, na forma de um fluxograma, um algoritmo com os passos que você 
utiliza para tomar banho. 
 
2. Escreva, na forma de um fluxograma, um algoritmo com os passos para 
trocar uma lâmpada. 
 
3. Escreva, na forma de um fluxograma, um algoritmo com os passos para 
trocar um pneu furado. 
 
4. Escreva, na forma de um fluxograma, um algoritmo que receba 4 números 
inteiros, calcule e mostre a soma desses números. 
 
5. Escreva, na forma de um fluxograma, um algoritmo que receba o salário de 
um funcionário, calcule e mostre o novo salário, sabendo-se que este sofreu 
um aumento de 25%. 
 
6. Escreva, na forma de um fluxograma, um algoritmo que calcule e mostre a 
área de um triângulo. Sabe-se que: Área = (base * altura)/2. 
 
7. Escreva, na forma de um fluxograma, um algoritmo que calcule e mostre a 
área de um círculo. Sabe-se que: A = 𝛑 * R2 e 𝛑 = 3,1415 
 
8. Escreva, na forma de um fluxograma, um algoritmo que receba o preço de 
um produto, calcule e mostre o novo preço, sabendo-se que este sofreu um 
desconto de 10%. 
 
 
 
Expressões Algorítmicas 
 
 
 Nesta seção iremos escrever os algoritmos na forma de fluxograma, como 
visto anteriormente, e também iremos utilizar uma nova notação: o pseudocódigo. 
 
Para escrever o pseudocódigo devemos seguir algumas regras: 
● Todo algoritmo começa com a palavra “início”; 
● Todo algoritmo termina com a palavra “fim”; 
● Toda instrução termina com “ponto e vírgula”; 
● Todo texto que segue os caracteres “//” não será interpretado como 
instruções, esse texto é conhecido como comentário; 
● Não serão utilizados caracteres especiais como ç, ã, é, entre outros; 
● O comando “leia” espera que o usuário digite algo no teclado; 
● O comando “escreva” imprime o conteúdo entregue a ele na tela; 
 
 
 
1 
2 
3 
4 
5 
início 
 
escreva (“Esse é meu primeiro algoritmo em pseudocódigo!”); 
 
fim 
 
 No exemplo acima temos um programa que escreve “Esse é meu primeiro 
algoritmo em pseudocódigo!” na tela do computador. 
 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
início 
 
inteiro número; 
 
//esse é outro exemplo em pseudocódigo 
 
leia (número); 
 
escreva (número); 
 
fim 
 
 Nesse exemplo temos um programa que lê um número do teclado e escreve 
o número digitado na tela. 
Constantes e Variáveis 
 
Uma variável é um dado armazenado em computador. Esse dado é chamado 
de variável porque o valor contido nesse espaço de memória do computador varia 
com o tempo, não é um valor fixo. Como bem sabemos, nosso computador utiliza 
memória para armazenar dados de forma temporal e essa memória é utilizada 
também pelos nossos programas para armazenar essas variáveis. Quando 
declaramos uma variável em um programa, estamos separando um espaço na 
memória para armazenar o valor dessa variável durante execução do programa. 
 
 
 
 
Vamos transcrever esse fluxograma que soma dois números em um 
programa utilizando pseudocódigo. 
 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
início 
 
inteiro número1; 
inteiro número2; 
inteiro soma; 
 
leia (número1); 
leia (número2); 
 
soma <- número1 + número2; 
 
escreva (soma); 
 
fim 
 
 Desta forma declaramos 3 variáveis neste programa, são elas: número1, 
número2 e soma. Elas são do tipo inteiro e são declaradas pelos comandos das 
linhas 3, 4 e 5. O comando da linha 7 e 8 faz com que os número1 e número2 sejam 
lidos do teclado e armazenados na memória do computador. O comando escreva, 
da linha 12, faz com que o valor que se encontra dentro dos parênteses seja 
impresso na tela. 
 Os valores dos número1 e número2 lidos do teclado ficarão armazenados 
nas variáveis enquanto nenhum outro valor for digitado para eles, ou enquanto o 
programa estiver em execução. Isso significa 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 para que outros programas 
possam usá-lo. 
Uma constante pode ser considerada uma variável que não tem seu valor 
alterado. Uma constante também reserva um espaço de memória para o tipo de 
dado que será manipulado. Entretanto, uma constante armazenará um valor único, 
um valor que não mudará durante o programa. 
 Um exemplo legal do uso de uma constante é o uso do número 𝝅, vamos 
supor que você precise trabalhar com esse número calculando a área de dois 
círculos. Você pode declará-lo como uma constante e utilizá-lo diversas vezes sem 
medo de que seu valor seja alterado durante a execução do seu programa. 
 
1 
2 
3 
4 
início 
 
real raio1; 
real raio2; 
 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
real area1; 
real area2; 
constante real pi <- 3.14159265359; 
 
leia (raio1); 
leia (raio2); 
 
area1 <- pi * raio1 * raio1; 
area2 <- pi * raio2 * raio2; 
 
escreva (area1); 
escreva (area2); 
 
fim 
 
Uma constante chamada pi foi declarada no início do algoritmo, na linha 7, 
com o valor 3.14159265359 e usada para realizar operações de cálculo de área. 
Esse valor de pi não pode ser alterado durante o programa por estar definido como 
sendo uma constante. 
Lembre-se que 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 fixos que 
você utilizará em seu programa e variáveis são valores que podem variar durante o 
tempo de execução do seu programa. 
Sempre que formos declarar as variáveis em nossos programas, devemos 
escolher identificadores relevantes. Um identificador é o nome que damos às 
nossas constantes e variáveis. Uma dica boa para vocês é que procurem dar nomes 
de variáveis o mais próximo possível do problema que estão resolvendo. Desse 
modo fica muito mais fácil manipular e, principalmente, dar manutenção em um 
programa assim do que em um programa que você não sabe o que os nomes das 
variáveis significam. 
 
Comando de Atribuição 
 
 Quando uma variável é declarada, ela não contém nada, caso ela contenha, 
normalmente é o que chamamos de lixo de memória. A partir da atribuição, a 
variável passa a armazenar valor atribuído a ela. Depois de ter um valor atribuído, a 
variável pode ser utilizada em qualquer expressão, inclusive como parte de 
expressões em atribuições para outras variáveis. 
 
 
 Assim, a cada variável ou constante criada, temos que atribuir um valor 
conforme a sequência lógica do algoritmo. Quando fizermos um cálculo, por 
exemplo, o resultado deve ser atribuído a uma variável. Para isso adotaremos como 
sinal de atribuição uma seta <- para a esquerda, indicando para onde vai ficar 
armazenado o resultado dos cálculos. Sempre que nos referirmos a uma variável, 
estamos nos referindo ao seu conteúdo. Assim, podemos fazer cálculos usando os 
nomes das variáveis. 
 
1 
2 
3 
4 
5 
6 
7 
8 
9 
início 
 
inteiro x; 
x <- 100; 
escreva (x); 
x<- x + 1; 
escreva (x); 
 
fim 
 
 No pseudocódigo acima temos um exemplo simples de atribuição na linha 4. 
Se formos acompanhar a variável x, ela é declarada na linha 3, e o valor 100 é 
atribuído a ela na linha 4. A linha 6 é um pouco mais complexa para ser 
interpretada, devemos tomar um pouco de cuidado para conseguirmos o resultado 
correto. O valor inicial de x é de 100 e foi atribuído na linha 4, ao executarmos a 
linha 6 temos o valor 1 adicionado ao valor de x e armazenado em x. Assim temos 
que, à partir da linha 6, x passa a valer 101. Logo, ao executarmos completamente o 
algoritmo representado acimateremos dois números impressos na tela do 
computador 100 e 101. 
 
 
Estrutura Condicional 
 
 
 
Comandos de Controle de Programa são comandos que você pode usar em 
seus programas para direcionar o fluxo de execução. Um comando de controle de 
programa é, então, um comando que desvia de uma parte do programa, executa 
determinada ação, e volta para o fluxo normal de execução. O que acontece é que o 
programa principal está sendo executado e então, ao chegar em uma linha que 
contém um comando de controle, o controle do programa passa a não ser mais do 
programa principal, mas sim desse bloco de código que está sendo executado. 
O primeiro comando de controle que iremos conhecer é o de decisão, 
conhecido como desvio condicional. O que estudaremos nesta seção é chamado de 
 
SE, em português, também conhecido como IF, em inglês. O comando de desvio 
condicional faz exatamente o que o próprio nome diz, desvia o programa pela 
avaliação de uma condição. Além do comando SE, temos o comando ESCOLHA 
(SWITCH) e o SE SENÃO (IF ELSE). 
O comando SE (IF) deve ser utilizado sempre quando precisamos analisar 
uma situação e decidir o que vamos fazer em seguida. Ele funciona mais ou menos 
assim: se tal condição for verdadeira, faça tal coisa. Já o comando SE SENÃO (IF 
ELSE) funciona com uma segunda cláusula: Se tal condição for verdadeira, faça tal 
coisa, caso contrário, faça outra coisa. 
 
 No fluxograma, o comando de controle é representado por um losango. Onde 
o fluxo é dividido em dois novos fluxos, a direção que o algoritmo vai seguir 
depende do resultado da expressão que se encontra dentro do losango de decisão. 
 
 
 
No fluxograma acima temos um exemplo clássico do comando SE SENÃO. 
Nesse exemplo são solicitadas duas notas, é calculada a média dessas notas e a 
situação do estudante é apresentada como “reprovado” caso a média seja menor 
que 6 e “aprovado” se a média for maior ou igual a 6. O pseudocódigo do algoritmo 
fica da seguinte forma: 
 
1 
2 
3 
4 
5 
6 
7 
8 
9 
1
0 
1
1 
1
início 
 
inteiro nota1; 
inteiro nota2; 
inteiro media; 
 
leia (nota1); 
leia (nota2); 
 
media <- (nota1+ nota2) / 2; 
 
SE media >= 6 ENTÃO 
 escreva (“Você foi aprovado!”); 
SENÃO 
 
2 
1
3 
1
4 
1
5 
1
6 
1
7 
1
8 
 escreva (“Você foi reprovado!”); 
FIMSE 
 
Fim 
 
 O pseudocódigo apresenta como novidade o comando SE SENÃO, a sintaxe 
dele está melhor representada abaixo. O código entre <> deve ser substituído no 
código final. Utilizamos letras maiúsculas apenas para enfatizar a sintaxe, o uso de 
letras minúsculas não muda a forma com que o código abaixo é entendido. A 
sequência de comandos 1 é executada caso a condição seja verdadeira e 
sequência de comandos 2 é executada apenas se a condição for falsa. 
 
SE <condição> ENTÃO 
 <sequência de comandos 1> 
SENÃO 
 <sequência de comandos 2> 
FIMSE 
 
 Caso um fluxo de ações não seja necessário quando a condição é falsa, 
pode-se usar o comando SE de forma mais simples, sem a cláusula SENÃO, 
conforme exemplificado abaixo. 
 
SE <condição> ENTÃO 
 <sequência de comandos> 
FIMSE 
 
Exercícios Resolvidos 
1. Faça um fluxograma e escreva o pseudocódigo de um algoritmo que leia as 
quatro notas bimestrais de um aluno e informe se ele foi aprovado, está em 
recuperação ou foi reprovado. As condições são as seguintes: 
➢ para ser aprovado, a média deve ser maior ou igual a 6; 
➢ para estar em recuperação, a média deve ser menor que 6 e maior ou 
igual a 4; 
➢ para ser reprovado, a média deve ser menor que 4. 
 
 
 
 
 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
início 
 
inteiro nota1; 
inteiro nota2; 
inteiro nota3; 
inteiro nota4; 
inteiro media; 
 
leia (nota1); 
leia (nota2); 
leia (nota3); 
leia (nota4); 
 
media <- (nota1+ nota2 + nota3 + nota4) / 4; 
 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
 
SE media >= 6 ENTÃO 
 escreva (“Você foi aprovado!”); 
SENÃO 
SE media >= 4 ENTÃO 
 escreva (“Você está em recuperação!”); 
SENÃO 
 escreva (“Você foi reprovado!”); 
FIMSE 
FIMSE 
 
Fim 
 
 
Exercícios Propostos 
 
1. Faça um fluxograma e escreva o pseudocódigo de um algoritmo que verifique 
se uma pessoa pode ou não votar. 
2. Faça um fluxograma e escreva o pseudocódigo de um algoritmo que leia o 
peso de uma pessoa, a altura, e calcule o índice de massa corpórea(IMC). 
Mostre o resultado na tela. Fórmula para calcular o IMC: peso dividido por 
altura ao quadrado. O algoritmo deve informar se a pessoa está com o peso 
ideal, com sobrepeso ou abaixo do peso ideal para sua altura. 
3. Faça um fluxograma e escreva o pseudocódigo de um algoritmo que leia as 
quatro notas bimestrais de um aluno, sua porcentagem de presença e 
informe se ele foi aprovado, está em recuperação ou foi reprovado. As 
condições são as seguintes: 
➢ para ser aprovado, a média deve ser maior ou igual a 6 e a frequência 
maior ou igual a 75%; 
➢ para estar em recuperação, a média deve ser menor que 6, maior ou 
igual a 4 e a presença maior que 75%; 
➢ para ser reprovado, a média deve ser menor que 4 ou a presença ser 
menor que 75%. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Estrutura de Repetição 
 
Seguindo com os comandos de controle que iremos conhecer, teremos as 
estruturas de repetição. Essas estruturas são responsáveis pela iteração do fluxo do 
código. A palavra 1iteração é bastante utilizada dentro da informática e significa 
repetição. Essas estruturas apresentam um laço, também chamado loop, onde no 
fluxo de execução do código retorna para a estrutura de tomada de decisão. 
Existem diferentes estruturas de repetição, nesta apostila iremos conhecer duas 
delas: 
 
● o PARA, conhecido como FOR, em inglês; 
● o ENQUANTO, conhecido como WHILE; 
 
O comando PARA é uma opção a ser utilizada sempre que você precisar 
repetir um bloco de comandos. Mas cuidado, todo laço de estruturas de repetição 
deve ser repetido um número finito de vezes, isto é, a repetição deve ter um fim, 
caso contrário, o seu programa não chegará a um resultado. Na programação, 
quando o programa entra nessa repetição infinita é dado o nome de loop infinito. 
Resumindo, se não tiver um fim definido, aqueles comandos ficarão executando 
eternamente, o programa ficará travado sem apresentar nenhum resultado, na 
maioria das vezes, o loop infinito ocorre por um erro de lógica. 
 Por isso deve haver uma forma de controlar e contar quantas vezes o PARA 
foi executado, isto é, precisamos de um contador que incrementa um valor chamado 
de contador. No pseudocódigo apresentado, esse incrementador fica implícito, mas 
em outras linguagens de programação esse contador é implementado de forma 
explícita. 
No fluxograma, a estrutura de repetição é representada por um hexágono. 
Onde o fluxo é dividido em dois novos fluxos, a direção que o algoritmo vai seguir 
depende do resultado da expressão que se encontra dentro do hexágono de 
decisão. Uma das direções é um laço que retorna para o próprio hexágono, o outro 
fluxo possível é fluxo sequencial do algoritmo. 
 
Colocar como glossário na lateral da página: 
1
 Iteração - na programação, é o processo de repetição de uma ou mais ações. 
 
 
 
 
A estrutura PARA repete a execução do bloco em um número definitivo de 
vezes, pois ela possui limites fixos. Devemos utilizar essa estrutura quando se sabe 
de antemão o número de vezes que o laço deverá ser repetido. Abaixo temos um 
exemplo em um fluxograma. 
 
 
 
 
 
Esse fluxograma utiliza a estrutura PARA com a finalidade de imprimir os 
números 1, 2, 3, 4, 5, 6, 7, 8, 9 e 10 na tela do computador. Ele utiliza a variável i 
para controlar a quantidade de repetições do laço, em que o valor de i é impresso 
na tela. Normalmente, a variável utilizada na estrutura de repetição tem o nome i, 
abreviação de iterador. O pseudocódigo desse algoritmo que imprime de 1 até 10 é 
o seguinte:1 
2 
3 
4 
5 
6 
7 
8 
9 
início 
 
inteiro i; 
 
PARA i DE 1 ATÉ 10 FAÇA 
escreva (i); 
FIMPARA 
 
fim 
 
A sintaxe básica do comando PARA, em pseudocódigo, é a seguinte: 
 
PARA <variável> DE <valor inicial> ATÉ <valor final> FAÇA 
 <sequência de comandos> 
FIMPARA 
 
Lembrando que as palavras-chave estão em letra maiúscula apenas para 
chamar mais atenção, ao escrever o pseudocódigo ela pode ser escrita com letras 
minúsculas também. 
Existe uma segunda forma para se escrever o comando PARA, nesta outra 
forma definimos o PASSO, que é o valor em que a variável i será incrementada, a 
sintaxe do comando PARA é a seguinte. 
 
PARA <variável> DE <valor inicial> ATÉ <valor final> PASSO <incremento> FAÇA 
 <sequência de comandos> 
FIMPARA 
 
 No pseudocódigo abaixo temos a representação de um algoritmo que 
imprime os números ímpares de 1 a 10. Assim ele irá imprimir os números 1, 3, 5, 7 
e 9. 
 
1 
2 
3 
4 
5 
início 
 
inteiro i; 
 
PARA i DE 1 ATÉ 10 PASSO 2 FAÇA 
 
6 
7 
8 
9 
 escreva (i); 
FIMPARA 
 
fim 
 
 
 Outra forma de iterar em um algoritmo é a utilização da estrutura 
ENQUANTO. Apesar dessa estrutura de repetição utilizar o símbolo de decisão no 
fluxograma, seu comportamento é bem diferente do comando SE, pois ele possui 
um laço em que o programa repete o fluxo de execução por uma quantidade de 
vezes definida pela lógica na programação. Assim como no PARA, é muito 
importante verificar a lógica utilizada neste comando, evitando que nosso algoritmo 
entre em loop infinito. 
 No comando ENQUANTO existe uma condição a ser analisada, essa 
condição é responsável pela repetição do laço ou pelo retorno ao fluxo principal do 
programa. O laço será repetido caso a condição seja V, caso a resposta da 
condição seja F, ele sai do laço de repetição e retorna para o programa principal. A 
condição é responsável pela quantidade de vezes que o laço de instruções será 
executado, assim, enquanto a condição for verdadeira, os comandos dentro do laço 
serão repetidos. A partir do momento que a condição se tornar falsa, ele sairá do 
while. A seguir temos o exemplo de um fluxograma que imprime os números de 1 a 
10 na tela do computador. 
 
 
 
 
 O pseudocódigo que executa esse fluxograma seria o seguinte: 
 
1 
2 
início 
 
 
3 
4 
5 
6 
7 
8 
9 
inteiro i; 
 
i <- 1; 
 
ENQUANTO i <= 10 FAÇA 
escreva (i); 
i <- i + 1; 
FIMENQUANTO 
 
fim 
 
 A sintaxe do comando ENQUANTO, em pseudocódigo, é a seguinte: 
 
ENQUANTO <condição> FAÇA 
 <sequência de comandos> 
FIMENQUANTO 
 
 Seguindo os exemplos anteriores, para imprimir os números ímpares 
utilizando a estrutura do enquanto precisamos apenas controlar o incremento do i de 
forma diferente. 
É importante ressaltar que no uso do PARA o incremento é feito de forma 
automática, no uso do ENQUANTO é de responsabilidade de quem cria o algoritmo 
incrementar o valor do i para que o algoritmo seja executado de forma correta. A 
seguir temos o pseudocódigo que utiliza o ENQUANTO para imprimir os números 1, 
3, 5, 7 e 9. 
 
1 
2 
3 
4 
5 
6 
7 
8 
9 
início 
 
inteiro i; 
 
i <- 1; 
 
ENQUANTO i <= 10 FAÇA 
escreva (i); 
i <- i + 2; 
FIMENQUANTO 
 
fim 
 
Exercícios Resolvidos 
1. Faça um fluxograma e escreva o pseudocódigo de um algoritmo que mostre 
todos os números pares entre 0 a 100 utilizando o comando PARA. 
 
 
 
1 
2 
3 
4 
5 
6 
7 
8 
9 
início 
 
inteiro i; 
 
PARA i DE 0 ATÉ 100 PASSO 2 FAÇA 
 escreva (i); 
FIMPARA 
 
fim 
 
 
 
2. Faça um fluxograma e escreva o pseudocódigo de um algoritmo que mostre 
todos os números pares entre 1 a 100 utilizando o comando ENQUANTO. 
 
 
 
1 
2 
3 
4 
início 
 
inteiro i; 
 
 
5 
6 
7 
8 
9 
i <- 2; 
 
ENQUANTO i <= 100 FAÇA 
escreva (i); 
i <- i + 2; 
FIMENQUANTO 
 
fim 
 
 
Exercícios Propostos 
1. Faça um fluxograma e escreva o pseudocódigo de um algoritmo que mostre 
todos os números pares entre 1 a 100. 
2. Faça um fluxograma e escreva o pseudocódigo de um algoritmo que mostre 
todos os números múltiplos de 5 entre 1 a 1000. 
3. Escreva um fluxograma que imprima na tela os números de 0 até um número 
digitado pelo usuário. 
 
 
 
 
 
Parabéns! 
 
Agora que você terminou nossa disciplina, você pode treinar mais suas 
habilidades de construir algoritmos na internet. No Anexo I é apresentado o Scratch, 
uma ferramenta visual para a programação que permite a criação de jogos e 
animações, junto você encontra um grupo de pessoas compartilhando suas 
criações. Disponível no endereço https://scratch.mit.edu/. 
Caso você queira iniciar a produção de programas de computadores 
escrevendo código temos a linguagem VisualG. Ela é baseada no portugol, que é 
uma forma estruturada do português muito similar ao pseudocódigo, visto nas 
seções anteriores. Com o VisualG você pode escrever programas seguindo a 
mesma lógica de programação utilizada em linguagens bem poderosas e modernas, 
com a vantagem de escrever o código em português. Para quem quer aprender 
mais sobre VisualG, indico o site http://visualg3.com.br/ e o site 
http://www.apoioinformatica.inf.br/produtos/visualg/linguagem. 
 
 
https://scratch.mit.edu/
http://visualg3.com.br/
http://www.apoioinformatica.inf.br/produtos/visualg/linguagem
 
Anexo I - Scratch 
 
 
O Scratch é uma linguagem de programação visual de uso livre e gratuito 
desenvolvida pela universidade americana MIT (Massachusetts Institute of 
Technology). Por não exigir conhecimento prévio de outras linguagens de 
programação, ela é indicada para crianças e iniciantes na programação. Com ela 
pode-se criar histórias animadas, jogos e outras aplicações interativas. O acesso à 
plataforma do Scratch pode ser feito no seguinte endereço: https://scratch.mit.edu/. 
Página inicial do Scratch 
 
A linguagem utiliza uma sintaxe comum a muitas linguagens de 
programação, por isso é uma ótima forma de se aprender a programar. Cada bloco 
da linguagem contém um comando em separado, que pode ser agrupado seguindo 
as regras da linguagem. 
Junto com a plataforma do Scratch existe uma comunidade voltada para a 
aprendizagem de programação por meio de projetos compartilhados. Os fóruns de 
discussão do Scratch em português podem ser encontrados no seguinte endereço 
https://scratch.mit.edu/discuss/20/. Além do fórum, alguns tutoriais estão disponíveis 
no endereço https://scratch.mit.edu/tips. 
Abaixo temos o exemplo de um código que faz com que o ator do programa, 
que por padrão é um gato, dê 10 passos, diga “Olá!” e dê um miado toda vez que a 
tecla espaço for pressionada. 
https://scratch.mit.edu/
https://scratch.mit.edu/discuss/20/
https://scratch.mit.edu/tips
 
Exemplo de código produzido no Scratch 
 
 
 
Criar conta na plataforma 
 Aqui temos um tutorial passo a passo de como criar uma conta na plataforma 
do Scratch. Para iniciar seu cadastro, clique no link “Aderir ao Scratch” na página 
inicial da plataforma. 
 
 
 
 
Na tela que surgiu, você deve digitar um nome de usuário no primeiro campo, 
no segundo campo você deve digitar uma senha e no terceiro você deve confirmar a 
senha digitada. 
 
 
 Na segunda tela do cadastro, você deve colocar seu mês e ano de 
nascimento, marcar seu gênero e o país que reside. 
 
 
 
 Na tela seguinte você deve colocar seu e-mail e confirmar seu endereço de 
e-mail. Caso queira receber e-mails sobre o Scratch você deve marcar a última 
opção. 
 
 
 
 
 Pronto! Se você seguiu esse algoritmo de forma correta, agora você já é um 
membro da comunidade do Scratch e pode criar e compartilhar seus programas do 
Scratch. 
 
 
 
 Aproveite a plataforma para treinar sua lógica de programação e criar jogos e 
animações. Não se esqueça de marcar sua produção na categoria IFSULDEMINAS 
e MEDIOTEC para que possamos acompanhar o que nossos alunos estão criando. 
 
Criar e Compartilhar produções 
 Após clicar no botão “criar”, do Scratch, devemosmodificar a linguagem 
escolhida para a construção dos algoritmos. Para escolher a linguagem, basta clicar 
no símbolo do globo, ao lado do logo do Scratch em laranja no canto superior 
esquerdo da tela. 
Uma dica que eu dou para você é que tente utilizar o Scratch em inglês, caso 
você tenha algum conhecimento sobre a língua inglesa. A maioria das linguagens 
de programação utilizada atualmente no mercado de trabalho é em inglês, então, 
aprender a programar no Scratch em inglês facilitará bastante o entendimento de 
outras linguagens de programação. 
 
 
 
Para compartilhar algo feito no Scratch, você deve clicar no botão 
“compartilhar”, que fica no canto superior direito da tela, assim você será 
redirecionado para outra página, onde adicionará informações sobre o programa 
que deseja compartilhar. 
 
 
 
Essa é a página onde você poderá adicionar informações sobre o programa 
que está compartilhando. Nela você pode informar as instruções, notas e créditos 
sobre o seu programa. É muito importante preencher esses campos quando publicar 
suas produções no Scratch, assim as pessoas irão saber quem fez e como utilizar o 
programa que você criou. 
 
 
 
 
Esse exemplo utilizado é uma “Animação do Avião” bem simples que criei 
para exemplificar o uso do Scratch, ela pode ser acessada no endereço 
https://scratch.mit.edu/projects/154670370/. 
Deixo aqui também um jogo criado por um aluno do IFSULDEMINAS durante 
a disciplina de Algoritmos. O nome do jogo é “Don't drown” e foi criado pelo aluno 
Jean Melo como trabalho final da disciplina de Algoritmos, do curso Técnico em 
Informática. O jogo está disponível no endereço 
https://scratch.mit.edu/projects/89156548/ e mostra um pouco do que pode ser 
criado na plataforma. 
 
 
 
 
 
 
 
 
 
 
 
 
https://scratch.mit.edu/projects/154670370/
https://scratch.mit.edu/projects/89156548/

Continue navegando