Você está na página 1de 47

Fundamentos de lógica de programação

- Introdução a lógica de programação

A lógica de programação é uma habilidade fundamental para qualquer pessoa que


deseje se aventurar no mundo da programação. É o alicerce sobre o qual a
construção de programas e soluções de software é feita.

A lógica de programação pode ser definida como a capacidade de organizar e estruturar


pensamentos de forma lógica, a fim de resolver problemas e criar algoritmos. Ela está
presente em todas as etapas do desenvolvimento de software, desde a análise e o
planejamento até a implementação e depuração de código.

Aprender lógica de programação é essencial para se tornar um(a) programador(a):

1. *Resolução de problemas:

A lógica de programação é a base para a resolução de problemas complexos. Ela

permite que você analise um problema, divida-o em partes menores e crie

soluções algorítmicas eficientes.

1. *Compreensão de algoritmos:

Os algoritmos são a essência da programação. Ao dominar a lógica de

programação, você será capaz de compreender e criar algoritmos eficientes, o

que é essencial para o desenvolvimento de software de qualidade.

2. Melhor organização do código:

A lógica de programação ajuda a organizar o código de forma lógica e

estruturada. Isso facilita a manutenção e o entendimento do código por você e

por outros desenvolvedores.

1. Aprendizado de linguagens de programação:


Ao compreender os fundamentos da lógica de programação, você será capaz de

aprender e dominar diferentes linguagens de programação com mais facilidade.

A lógica é a base comum entre todas as linguagens e, uma vez dominada, você

poderá se adaptar a qualquer uma delas.

2. Pensamento lógico:

A lógica de programação também desenvolve o pensamento lógico, que é uma

habilidade valiosa não apenas na programação, mas em várias áreas da vida. O

pensamento lógico ajuda a tomar decisões racionais, resolver problemas de

forma estruturada e analisar situações de maneira crítica.

É uma habilidade que pode ser adquirida e aprimorada com dedicação e prática.
Com uma base sólida em lógica de programação, você estará preparado(a) para
enfrentar desafios cada vez mais complexos no mundo da programação.

Fundamentos da lógica de programação: conceitos básicos e estruturas de controle

Os fundamentos da lógica de programação são compostos por conceitos básicos e


estruturas de controle. Vamos explorar cada um deles:

1. Variáveis:

As variáveis são espaços de memória usados para armazenar informações. Elas

podem ser números, textos, booleanos, entre outros tipos de dados. As variáveis

são fundamentais para a manipulação e o armazenamento de dados em um

programa.

2. Operadores:

Os operadores são símbolos que realizam operações matemáticas, lógicas e de

comparação. Eles são usados para manipular os valores das variáveis e realizar

cálculos. Alguns exemplos de operadores são: + (adição), – (subtração), *


(multiplicação), / (divisão), && (E lógico), || (OU lógico), == (igualdade), !=

(diferente), entre outros.

3. Estruturas de controle:

As estruturas de controle permitem que você controle o fluxo de execução de um

programa. As estruturas básicas são: condicionais (if-else), laços de repetição (for,

while) e estruturas de decisão (switch-case). Elas permitem que você tome decisões,

repita a execução de um bloco de código e realize diferentes ações com base em

condições específicas.

4. Funções:

As funções são blocos de código que podem ser reutilizados em diferentes partes

de um programa. Elas recebem parâmetros de entrada, realizam uma sequência

de instruções e retornam um valor. As funções ajudam a organizar o código,

tornando-o mais modular e legível.

Veja neste artigo as principais informações sobre a Lógica de Programação, seus

conceitos, usos e aplicações. E tudo isso é muito importante para o aprendizado de

algoritmo, uma sequência de instruções que visa resolver problemas práticos do dia a

dia ou de grandes corporações, auxiliando em resultados de pesquisas e muitos outros

tipos de soluções lógicas. Se formos pensar, veremos que tudo o que fazemos é um

algoritmo, é um procedimento que recebe uma entrada e envia uma saída. Não só no

computador, mas na vida. Podem existir vários algoritmos diferentes para resolver o

mesmo problema. Em resumo, o algoritmo é como uma receita de bolo, ou seja, um

conjunto de instruções para a realização de uma tarefa específica.


Lógica de Programação

O objetivo deste artigo é mostrar como a lógica de programação facilita o raciocínio


na construção e entendimento do algoritmo, mostrando que ele está muito mais presente
em nosso cotidiano do que imaginamos. Na computação o algoritmo é essencial.

À princípio, um algoritmo nada mais é do que uma receita que mostra passo a passo os
procedimentos necessários para resolução de uma tarefa. Ele não responde a pergunta:
"o que fazer?", mas sim "como fazer". Em termos mais técnicos, um algoritmo é uma
sequencia lógica, finita e definida de instruções que devem ser seguidas para resolver
um problema ou executar uma tarefa. Embora não percebemos, utilizamos algoritmo de
forma intuitiva e auto diariamente quando executamos tarefas comuns, passando
totalmente despercebido, porém estando presente o tempo todo, como é o caso de trocar
uma lâmpada.

Tradicionalmente a Lógica tem sido estudada para orientações filosóficas e


matemáticas. Na computação, ela é utilizada para representar problemas e para obter
suas soluções.

A lógica de programação e a construção de algoritmos são conhecimentos


fundamentais para programar. Construído o algoritmo, você pode, então, codificar seu
programa de computação em qualquer linguagem.

Etapas da Lógica de Programação

Nossa metodologia é constituída por 5 etapas: a primeira compreende o que é um


algoritmo, mostrando que é uma seqüência de instruções finita e ordenada de forma
lógica para a resolução de uma determinada tarefa ou problema. Além de mostrar
exemplos de algoritmos instruções de montagem, receitas, manuais de uso, etc.

A segunda etapa mostrará exemplos de constantes e variáveis e aprofundando mais


sobre o assunto (sendo dado que não sofre nenhuma variação durante todo o algoritmo).

A terceira etapa falará sobre os operadores aritméticos que são empregados com muita
freqüência em programação. É com o seu uso (muitas vezes da combinação de vários
deles) é que são feitas as tarefas mais comuns de processamento de dados.

A quarta etapa será exemplificada através de comandos de estruturas básicas,


demonstrando que todo algoritmo como um todo é um bloco de instruções, então deve
ser delimitado pelos comandos início e fim.

A pesquisa utilizada através dos livros relacionados na bibliografia, como também as


pesquisas feitas através da internet nos levaram a identificar o tema principal do
trabalho, como também analisar todos os algoritmos básicos utilizados nos programas
de computação utilizados em nosso dia a dia.

Estudo de caso

Dificuldades no ensino-apredizagem de algoritmos e lógica de programação

A tarefa de desenvolvimento de algoritmos está intimamente relacionada com as


habilidades de resolver problemas e descrever processos de resolução de problemas.
Essas habilidades colocam em funcionamento atividades cognitivas conceituais, de
raciocínio, compreensão e representação. A competência para resolver problemas vai
muito além da capacidade de buscar soluções em um repertório de soluções pré-
definido. Por isso, podemos observar que muitos alunos são capazes de reproduzir
algoritmos prontos, mas são incapazes de efetuar modificações para adequá-los a
pequenas alterações nas condições do problema e, também, não conseguem
minimamente começar o desenvolvimento de um algoritmo para resolver problemas
considerados fáceis do ponto de vista de estruturas lógicas envolvidas. Essas
observações são indícios de dificuldades com a resolução de problemas em si, com o
entendimento do problema e o delineamento dos passos para resolvê-lo.

Dificuldades e desafios de natureza Didática

Existem dificuldades que não são particulares do aluno ou do professor, mas são
inerentes à disciplina de Algoritmos em si ou ao ensino geral. Entre elas são:

 O grande número de alunos


 Dificuldade do professor em compreender a lógica do aluno: uma vez
desenvolvido o raciocínio lógico, torna-se difícil pensar as soluções de outra
forma. Como consequência o professor tem dificuldade em compreender a
lógica individual de cada aluno que os leva a construir soluções equivocadas de
algoritmos. Isso acaba tomando mais tempo do professor em correções e
requer mais cautela na elaboração de provas e projetos
 Turmas heterogêneas: sempre há diferença de experiência e ritmo de
aprendizagem entre os alunos de uma turma. Tornar a aula interessante para
ambos os grupos é sempre um desafio. Além disso, mesmo os alunos
aparentemente com o mesmo nível têm estilos distintos de raciocínio que são
tão individuais como uma assinatura
 Ambiente de realização das provas: a realização das provas é normalmente
onde o aluno percebe a diferença entre observar e fazer. Isto é determinante
na disciplina onde muitos alunos têm a sensação de estar entendendo tudo,
mas não percebem sua incapacidade de iniciar um algoritmo sozinho.
 Pouca procura dos monitores ou tutores da disciplina: os alunos com
dificuldades de aprendizagem procuram muito pouco a ajuda dos monitores ou
tutores da disciplina.
 Ausência de bons materiais: existem muitos livros de algoritmos, mas
geralmente estes apresentam o conteúdo com o conteúdo com nível muito alto
ou de forma sucinta, tornando difícil para o aluno iniciante aprender.
 Alunos desorientados na escolha do curso: muitos alunos não têm a visão
correta sobre o perfil do curso e acabam descobrindo isso durante a disciplina.
 Problemas com os recursos computacionais dos laboratórios: Tem muitos
computadores sem funcionar ou desatualizados. Isso é um grande problema
para os que necessitam ter uma abordagem prática.

FUNDAMENTOS DE LÓGICA DE PROGRAMAÇÃO

Introdução

Lógica

A lógica é o uso do raciocínio na busca da melhor solução para um problema ou

situação.

Lógica é uma área da Filosofia dedicada à reflexão sobre formas de raciocínio

(que podem ser diferentes).

A lógica define o encadeamento de ações mais coerentes para chegar a um

objetivo.

Exemplos:

 a Matemática é baseada em princípios lógicos;

 o computador é uma invenção lógica — sequência de instruções/comandos

lógicos

 programas de computador — utiliza a lógica como princípio mais importante

em seu desenvolvimento — todo aplicativo deve ser desenvolvido de forma

racional, com sequências lógicas, coerentes e eficazes de instruções.


Principal competência do profissional da área de Informática é a capacidade de

raciocínio lógico.

Programação é baseada em raciocínio lógico.

A lógica de programação é uma teoria, que pode ser aplicada a qualquer

linguagem de programação. A lógica é requisito básico para aprender

programação e facilita aplicação.

Sequências Lógicas

Sequências lógicas: incluem as instruções (o que deve ser feito, uma

instrução equivale a um comando) e a ordem em que as instruções devem ser

realizadas (quando). O objetivo da sequência lógica é encontrar um resultado

ou uma solução para um problema.

Sequências lógicas são etapas a serem realizadas para atingir um objetivo.

São os passos executados para conseguir solucionar um problema.

Instruções: regras para situações específicas. São as ações da sequência lógica:

informações, ordens ou comando que indicam o que deve ser feito. Cada ordem

de uma sequência lógica é uma instrução (observe que uma ordem isolada não

configura um processo completo).

Programa: sequência lógica de instruções, com um objetivo final a ser

atingido. Um programa é uma sequência lógica de instruções organizadas

para manipular informações inseridas pelo usuário.


Programas de computadores — sequências lógicas com instruções bem definidas,

permitem interatividade (inserção de informações e realização de tarefas).

Lógica de Programação: cumpre o papel de desenvolver a habilidade de criar

sequências lógicas de instruções, padronizadas e registradas. Permite comunicar

a terceiros o raciocínio lógico empregado na resolução de problemas. Propicia

pensamento estruturado.

Algoritmos

Criação de algoritmos necessita estruturação do raciocínio lógico. O algoritmo é

a sequência ordenada de passos.

Sequências lógicas devem ser construídas e registradas de forma padronizada.

Uso de regras e padrões na construção de sequências lógicas.

Desenvolvedor de programas e aplicativos: soluções lógicas para problemas de

clientes, por meio da elaboração de algoritmos, criados para resolução de um

problema. Regras e padrões permitem que algoritmos sejam compreendidos por

outras pessoas da área e de outras áreas. O algoritmo é a proposta estruturada de

solução, e não a solução em sim; o programa ou aplicativo é a solução

propriamente dita.

Algoritmos, além da área da informática, também estão presentes em situações

cotidianas: manuais de instruções, receitas, tutoriais, bulas de remédios, passo-

a-passo.
Em informática, algoritmos têm mesmos princípios que os utilizados em outros

contextos:

 linguagem clara e concisa;

 encadeamento lógico de instruções;

 objetivo claro.

Maior importância do algoritmo é facilitar o entendimento das soluções

propostas por outras pessoas.

O algoritmo não é a solução de um problema, a solução do problema é dada pelo

programa e o algoritmo é o projeto deste programa.

Algoritmo é a descrição detalhada das etapas que devem ser percorridas pelo

programa para se chegar a uma solução. Tem início, meio e fim e um objetivo

claro do que deve ser alcançado.

Algoritmo: conjunto de regras e procedimentos lógicos perfeitamente definidos


que levam à solução de um problema por meio de um número finito de etapas.

Quando um programa não funciona corretamente, houve algum problema na

estruturação do algoritmo.

Programas, Aplicativos ou Softwares

Programas, Aplicativos ou Softwares: programas são algoritmos

codificados em determinada linguagem de programação. As linguagens de

programação sofrem mudanças ao longo do tempo, mas a lógica por trás dos

algoritmos, não!
Aplicativos são programas específicos que buscam resolver um problema a

partir de dados informados pelo usuário. Cada aplicativo tem uma função

específica. Exemplos: editor de textos, editor de tabelas, GPS, troca de

mensagens, etc.

Programas só resolvem situações previamente definidas. Assim, programar

é prever situações e tomar decisões para alcançar determinado objetivo.

Solução de um problema começa com a descrição clara e precisa do problema.

Em seguida, deve-se estabelecer uma sequência de passos automática e

repetitiva para a solução do problema; esta sequência é o algoritmo.

Objetivos de um programa: Softwares funcionais e estáveis têm sequência

lógica perfeita. Cada algoritmo foi desenvolvido para obter a melhor solução

possível. Lógica aplicada é clara e concisa, ou seja, possui menor tempo de

processamento. Os resultados são corretos e entregues com rapidez e eficiência

Sucesso do programador: aperfeiçoamento da lógica, raciocínio lógico e

crítico.

Quatro Etapas para o Desenvolvimento de um Programa


(Software):

1. Estudo do problema — análise do problema e do contexto, identificação

da situação (características e soluções possíveis).

2. Estruturação do algoritmo — estruturação da proposta de solução do

problema, por meio de um projeto de programa (que é o próprio algoritmo).

3. Desenvolvimento do código (programação) — escrita do algoritmo a

partir de regras e padrões de uma linguagem de programação específica,


exemplo de linguagens mais comuns: C, C++, C#, Java, PHP, VB, Python,

Ruby. Codificação do algoritmo.

4. Implantação da solução — implantação do programa para solução de

problemas em situações reais.

Para desenvolver um programa é preciso saber, primeiro, o que precisa ser feito

e, depois, como isso será feito. A lógica trata do planejamento (o que) e a

linguagem trata da execução (como).

Três Formas de Representar Algoritmos:

Registro e construção dos algoritmos, em informática, podem ser feitos de várias

maneiras:

1. Descrição narrativa;

2. Diagrama de blocos (fluxograma);

3. Linguagem estruturada (pseudocódigo).

1. DESCRIÇÃO NARRATIVA

É a forma mais simples de criar algoritmos e a mais próxima da linguagem

comum. Ex: receita culinária que descreve o que precisa ser feito de forma clara e

na ordem correta, utilizando a linguagem cotidiana. Bastante utilizado em

manuais de instruções, bulas de remédios, etc.

Regras para desenvolver algoritmos:

1. Ser direto — frases curtas, simples e com apenas um verbo;

2. Ser detalhista — descrever, com detalhes, todos os passos necessários;

3. Ser lógico — encadear ações na ordem em que devem acontecer;


4. Ser objetivo — menor número de passos até objetivo proposto (não pular

passos importantes);

5. Ser claro — evitar ambiguidades; expressões e palavras com duplo sentido;

6. Ser compreensível — instruções devem ser compreendidas por profissionais

de outras áreas;

7. Ser crítico — leitura crítica do algoritmo, buscar melhorar escrita e

encadeamento lógico.

2. DIAGRAMA DE BLOCOS OU FLUXOGRAMA

Técnica intermediária que emprega formas geométricas e frases curtas para

descrever um processamento — método padronizado que esquematiza o

algoritmo: define a entrada, o processamento e a saída de dados;

Método gráfico de representação de algoritmos. Passos lógicos são representados

de forma padronizada — definição de uma sequência de símbolos, com

significados bem definidos. Principal função do diagrama é a fácil visualização

dos passos de um processamento.

Uso padronizados dos símbolos e das palavras. Ex: retângulo representa uma

ação; losango expressa uma condição (uma dúvida ou pergunta).

Fluxogramas permitem representar soluções de processos complexos com pouca

escrita, em que cada ação, instrução ou processamento é descrito

resumidamente utilizando um símbolo geométrico. Representam o fluxo do

processamento.

Padrão de utilização das principais formas geométricas:


1. Terminal — indica ponto de início ou fim de uma sequência lógica;

2. Verificação, condição ou decisão (losango) — indica ponto de teste

(verdadeiro ou falso) ou ponto de tomada de decisão (sim ou não). Uma

entrada e duas saídas — uma saída para cada situação ou resposta.

3. Seta de fluxo — indica sentido do fluxo de informações e instruções. Conecta

todos os símbolos do diagrama.

4. Ação ou processamento (quadrado ou retângulo) — indica

ação/processamento de qualquer tipo.

5. Entrada e saída de dados — utiliza símbolos que indicam entrada

(leitura/captura de dados) ou saída (gravação/apresentação da informação)

de dados.

6. Conector (círculo) — indica ponto a partir do qual o algoritmo ou

processamento irá continuar em outro lugar, onde repetirá mesmo símbolo

(com número ou letra comum). Dá continuidade entre duas partes de um

mesmo processo descrito em locais separados.

Simbologia padrão do Fluxograma


Fluxograma representa passos a serem realizados por um software, por exemplo.

3. LINGUAGEM ESTRUTURADA (PSEUDOCÓDIGO)

É a forma mais detalhada e mais próxima dos códigos de programação. Deve-se

escrever as sequências lógicas de instruções e processamentos. As estruturas

lógicas aparecem na sequência em que devem ser executadas. Requer a utilização

de mais comandos escritos. Usa termos encadeados e organizados, semelhantes

às linguagens de programação, mas não exige conhecimento prévio de nenhuma

linguagem. A elaboração do algoritmo pode ser mais demorada, mas facilita

programação posterior em linguagem específica, simplificando o processo.

O pseudocódigo é uma técnica que organiza os algoritmos em blocos formados

por comandos escritos. Permite tradução quase direta para qualquer linguagem

de programação.

Não possui estrutura complexa e rígida e não exige ambiente especial de edição

(as sintaxes em linguagem específica, sim). É útil para elaborar projetos de

programas.

Comandos:

 Leia — inserção ou captura de dados

 Escreva — exibição de dados.

Declarações:
 variáveis — variáveis são espaços em memória para guardar um tipo de dado

ou informação; esses espaços devem receber nomes únicos, com referência

exclusiva.

 expressões aritméticas

Tipos de dados:

 literais (caracteres): alfanumérico, string, literal, cadeia. Deve estar entre

aspas (ex: “Jana”). Não é possível fazer cálculos com uma variável declarada

como dado literal. Mesmo que a variável armazene números, será

considerada alfanumérica, portanto, indisponível para cálculos.

 numéricos: inteiros (positivos ou negativos) ou reais (inclui números

fracionados — separador é o ponto e não a vírgula)

 lógicos (dados booleanos): dois valores condicionais para tomada de decisão.

Ex: V ou F; sim ou não; 0 ou 1.

Constantes e Variáveis:

 Constantes: todo valor fixo que não se altera durante execução do

programa. Podem ser numéricas, literais ou lógicas.

 Variáveis: representam endereços da memória RAM que armazena

temporariamente valores e informações. Esses endereços têm nome e

conteúdo; o conteúdo é manipulado a cada vez que o nome da variável é

mencionada. Armazenam qualquer tipo de dados. Necessário definir nome

simbólico para identificação da variável, o tipo de dado a ser recebido e um

valor inicial. A criação de variáveis ocorre no momento de codificação do

programa — um nome simbólico é atribuído a um determinado endereço da

memória RAM.
 Regras de nomeação de variáveis: inicia com uma letra; não tem

espaços em branco; não tem caracteres espaciais (exceção sublinhado).

Devem ser declaradas no início dos algoritmos e programas.

Exemplo: o algoritmo deve começar com a definição do nome de identificação

(primeira linha). Em seguida, deve-se declarar as variáveis (var é uma palavra

reservada).
Algoritmo <nome_do_algoritmo>
// <explicação resumida do que a rotina irá fazer>
Var
<declaração das variáveis e do tipo de informação que
elas receberão>
Início
<instruções e processamentos encadeados de forma lógica>
Fim

Exemplo:
ALGORITMO Livro {definição do nome do programa}
VAR
CodigoDoLivro: inteiro {Nome da Variável: Tipo da
variável}
Titulo, Autor, Editora: literal {declaração de variáveis,
todas como literal}
CodigoDoLivro = 0
INICIO
Escreva "Este é um programa em pseudocódigo que exibe na
tela os dados de um livro"
Escreva "Digite o código do livro"
Leia CodigoDoLivro
Escreva "Digite o título do livro"
Leia Titulo
Escreva "Digite o autor do livro"
Leia Autor
Escreva "Digite a editora do livro"
Leia Editora
Escreva "O código do livro é", CodigoDoLivro
Escreva "O título do livro é", Titulo
Escreva "O autor do livro é", Autor
Escreva "A Editora do livro é", Editora
FIM
Lembrando que leia refere-se à inserção ou captura de dados e escreva refere-

se à exibição de dados.

Teste de Mesa

Rotina elaborada em um algoritmo deve ser verificada para saber se o

encadeamento lógico está correto. Simula-se o funcionamento e eficiência do

código para resolução do problema, geralmente por meio de uma tabela de teste..

Teste é realizado com objetivo de verificar se instruções e processamentos estão

corretos e são eficientes.

Realizado manualmente, com leitura e realização de cada instrução

Regras de padronização dos Pseudocódigos

1. Todo algoritmo inicia-se com Algoritmo: NomedoAlgoritmo

2. Início e fim do programa limitados pelos marcador Início e Fim.

3. Variáveis declaradas no início do algoritmo, linha abaixo do marcador Var.

Formato NomeVariável: tipo da variável

4. Nomes das variáveis não podem iniciar com número, não podem ter espaço

em branco, nem caracteres especiais. Diferenciam maiúsculas e minúsculas.

5. Palavras reservadas: Início, Fim, Var, Se, Senão.

6. Leia recebe dados do usuário (captura) — é a entrada de dados.

7. Escreva exibe dados ao usuário — é a saída de dados.

8. Textos são colocados entre aspas — é a representação universal de valor

literal ou string.

9. Comentários devem ser inseridos entre chaves {} ou iniciados com duas

barras // (mais comum, pois não confunde com agrupamentos)

Operadores
Operadores aritméticos:

 soma +

 subtração -

 multiplicação *

 divisão /

 exponenciação ** ou ^

Operadores relacionais:

 > maior que

 < menor que

 >= maior ou igual

 <= menor ou igual

 = igual a (obs: é um sinal de atribuição, para associar valores. Não é um sinal

de igualdade)

 <> ou # ou != diferente de

Operadores lógicos (ou booleanos): obrigatoriamente, tem-se um situação

de decisão condicional do tipo SE, então; SENÃO.

 E — conjunção

 OU — disjunção não exclusiva

 XOU — disjunção exclusiva (lê-se “ou exclusivo”)

 NÃO — negação

Resumo: a instrução indica o modo que a máquina (computador) deve

operar. O algoritmo é a sequência lógica das etapas a serem realizadas para


alcançar um objetivo final; é uma descrição detalhada destas etapas que devem

ser percorridas para chegar a uma solução. A padronização permite que

diferentes profissionais possam compreender o algoritmo ou a codificação.

A codificação do programa é a escrita do algoritmo a partir de regras e padrões

de uma linguagem de programação específica.

Não é aconselhável codificar o programa antes de desenvolver o algoritmo.

O roteiro para desenvolvimento de um programa segue os seguintes

passos:

problema → solução → algoritmo → codificação → programa → resultado final

2. ESTRUTURAS DE CONTROLE DE FLUXO

Controle de fluxo de um programa — direcionamento do fluxo de processamento

dos dados.

Escolha da estrutura de controle de fluxo deve ser a mais simples possível — com

menor tamanho de código. Sempre deverá realizar o teste de mesa.

Estrutura Sequencial

Sequência de instruções — linhas de comando sucessivas com um único fluxo

possível de processamento — limitado pelos marcadores INÍCIO e FIM.

Representadas por fluxogramas ou pseudocódigos.


Estrutura sequencial — Fluxograma

Estrutura de Seleção

Estruturas de seleção ou estruturas de decisão — são estabelecidos caminhos

diferentes de instruções — sequências de ações podem ser executadas ou não,

dependendo de uma ou mais condições.

Dependendo do contexto de utilização, podem ser aplicadas três tipos de

estruturas de seleção: simples, composta ou múltipla

Simples

 Marcadores: SE, ENTÃO e FIM SE

 if — decisão condicional simples — testa uma condição antes de executar

instruções
 Para situações em que se testa uma única condição ou variável — se

verdadeira, executa um comando; se resultado é falso, não há ação a ser

executada.

 Há um teste e um grupo de ações que ocorrem apenas se a resposta for

verdadeira.

 Apenas um caminho de encadeamento lógico


SE CONDIÇÃO = V --> AÇÃO
SE CONDIÇÃO = F --> NÃO HÁ AÇÃO

Estrutura de seleção simples com marcadores:


SE <CONDIÇÃO> ENTÃO
comandos executados se condição for verdadeira
FIM SE

Composta

 Marcadores: SE, ENTÃO, SENÃO e FIM SE

 if-else — decisão condicional composta

 Para situações em que se testa uma única condição ou variável — se

verdadeira, executa um comando; se falsa, executa outro comando.

 Há um teste e dois grupos de ações — um grupo ocorre a condição é

verdadeira; outro se a condição é falsa. Há dois caminhos diferentes pré

determinados.

 Apenas dois caminhos de encadeamento lógico


SE CONDIÇÃO = V --> AÇÃO 1
SE CONDIÇÃO = F --> AÇÃO 2

Estrutura de seleção composta com marcadores:


SE <CONDIÇÃO> ENTÃO
comandos executados se condição for verdadeira
SENÃO
comandos executados se condição for falsa
FIM SE

Múltipla
 Para situações em que se testa várias vezes uma condição ou variável.

Situações mais complexas. Também para situações em que o teste de uma

variável depende do teste de outra variável.

 Resultado de cada teste define conjunto de comandos.

 Mais de dois caminhos de encadeamento lógico

Estrutura de seleção múltipla composta encadeada:

 Marcadores: SE, ENTÃO, SENÃO e FIM SE.

 Na prática, usa-se várias vezes o recurso “SE”, um dentro do outro. Também

chamado “Se” aninhado ou “Se” encadeado.


SE <CONDIÇÃO> ENTÃO
comandos executados se PRIMEIRA condição é verdadeira
SENÃO
SE <CONDIÇÃO> ENTÃO
comandos executados se SEGUNDA condição é verdadeira
SENÃO
comandos executados se SEGUNDA condição é falsa
FIM SE
FIM SE

Estrutura de seleção múltipla FAÇA CASO:

 Marcadores: FAÇA CASO, CASO, OUTRO CASO, FIM CASO

 Esta solução, em geral, exige menos linhas de comando — algoritmo mais

claro que o “se encadeado”


FACA CASO
CASO <CONDIÇÃO>:
comandos executados se condição é verdadeira
CASO <CONDIÇÃO>:
comandos executados se condição é verdadeira
CASO <CONDIÇÃO>:
comandos executados se condição é verdadeira
OUTRO CASO:
comandos executados se todos os casos mapeados
retornam "falso"
FIM CASO
3. ESTRUTURAS DE REPETIÇÃO

Necessárias às rotinas (repetitivas) de programação — permitem otimizar

códigos quando uma ou mais ações devem ser realizadas várias vezes.

Cria blocos de repetição até que uma condição se torne verdadeira ou por um

número predeterminado de vezes.

Repetição automática: por número predeterminado de vezes, até que o usuário

encerre o processo ou até que a condição seja alcançada.

Estruturas de repetição

Também chamados laços de repetição. Permitem programar o loop de blocos

de instrução — parâmetros são estabelecidos previamente no algoritmo.

Controle do número de vezes que a estrutura será repetida:

 Contador fixo — cria uma variável para contar número de vezes que a

sequência será repetida. Repetição é encerrada quando contador atinge valor

preestabelecido.
contador = contador + 1
 Flag de resposta (sinalização do usuário) — pergunta ao usuário se

rotina deverá ser executada novamente — resposta é armazenada em

um flag de resposta (variável). O loop é interrompido pelo usuário.


resp = "Deseja continuar <s/n>?"

 Flag predeterminado (sinalização predeterminada) — usuário

encerra o loop quando quiser, a partir de uma palavra predeterminada; ou

quando uma condição específica é satisfeita.


"Digite nome ou FIM para sair"
//controle do loop é o nome; processamento continuar até que
"FIM" seja digitado.

Dois recursos para construção das estruturas de repetição:

 ENQUANTO…FAÇA (WHILE) — funciona com contador fixo e

sinalizações (usuário ou predeterminada). Indica início do loop e tem uma

condição como parâmetro (condição de parada) — o loop apenas se

encerra quando a condição retorna um valor lógico FALSO (se a verificação

inicial retorna valor F, o loop nem é iniciado).


Outros marcadores: FAÇA…ENQUANTO (DO…WHILE) ou REPITA…ATÉ QUE

A estrutura de repetição só é executada enquanto a condição é verdadeira — se a

condição é falsa, a rotina de repetição é encerrada.


ENQUANTO <condição> FAÇA
comando a serem repetidos
FIM ENQUANTO

Estrutura de repetição — ENQUANTO…FAÇA

OBS.: Se a condição inicial da estrutura é falsa, a rotina de repetição não é

executada. Se a variável não muda de valor, a rotina de repetição entra

em loop infinito, pois os valores não são atualizados.

 PARA PRÓXIMO (FOR NEXT) — funciona apenas com contador fixo.

Atribuição do valor inicial no início da estrutura faz com que a rotina se

repita até encontrar a palavra PRÓXIMO, o comando é executado até que o

o valor final atenda à condição determinada.


PARA <VAR=valor_inicial ATÉ <valor_final> [PASSO <N>]
comandos a serem repetidos
PRÓXIMO
4. SUBALGORITMOS

São blocos (pequenos) de códigos dentro do algoritmo principal. Facilitam

entendimento do código, detecção de erros e manutenção do sistema. O

algoritmo principal deve convocar o subalgoritmo, caso contrário, ele é ignorado.

Na prática, maioria dos algoritmos é formada por inúmeros subalgoritmos

(funções e procedimentos).

Dois tipos de subalgoritmos:

 funções: executam tarefas e sempre retornam um resultado (resposta);

 procedimentos: executam tarefas mas não retornam resultados.

Diferença entre funções e procedimento está no “RETORNO”:


FUNÇÃO <nome> (parâmetros)
INÍCIO
//declara variáveis locais
//bloco de código
//RETORNO
FIMFUNÇÃO

Procedimento não tem retorno:


PROCEDIMENTO <nome> (parâmetros)
INÍCIO
//declara variáveis locais
//bloco de código
FIMPROCEDIMENTO

Variáveis locais e globais:

Algoritmo tem uma área reservada para declaração de variáveis.


 variáveis locais: usadas apenas no subalgoritmo; usada apenas em função

ou procedimento específico.

 variáveis globais: usadas em qualquer parte do algoritmo ou

subalgoritmos.

A lógica de programação é uma das habilidades mais


importantes para um desenvolvedor. Sem entender a
lógica, o programador estará sempre fadado a copiar e
colar sem compreender realmente todo o processo por
trás do que ele está fazendo. Ao construir um algoritmo
ou qualquer projeto, se não tiver essa habilidade
desenvolvida, pode surgir um grande problema.
Portanto, não dominar a lógica da programação é uma
enorme limitação para uma pessoa desenvolvedora.

O que é lógica de programação


A lógica de programação é uma maneira de organizar
pensamentos que possuem raciocínio lógico humano de
forma que as máquinas entendam o que esta sendo dito.
Vamos simplificar!
Digamos que você vá fazer um bolo! Você pesquisa uma
receita, e nela contém o passo a passo para o bolo ficar
pronto e gostoso, certo? O mesmo vale para a
programação! Os desenvolvedores usam “receitas” para
que a máquina entenda perfeitamente o que deve ser
feito, chamamos isso de algoritmo. Mas calma que
vamos falar sobre esse assunto daqui a pouco!
Portanto, a lógica de programação é o modo como se
escreve instruções a uma máquina, ou seja, a
organização coerente das instruções para que um
objetivo seja alcançado.
É como uma língua normal, um grupo de palavras com
significados que fazem o computador assimilar cada
comando e função, e dessa forma, executá-los.

É preciso entender que o computador não pensa da


mesma forma que nós e não é inteligente o suficiente
para saber o que precisa ser feito sem que seja dito de
maneira clara e objetiva. Sendo assim, organizar as
informações com objetividade e ordem adequada é
essencial para que a ação seja executada corretamente.
Onde ela é utilizada?
Todo e qualquer sistema computacional foi escrito com
uma linguagem de programação específica utilizando a
lógica de programação. Seja para fins empresariais ou
pessoais, todo software precisa dessa lógica para ser
projetado.
A lógica de programação está presente em tudo que
envolve tecnologia de alguma maneira, como programas
de computador, jogos e aplicativos para celular.

Lógica tradicional x lógica de


programação
Até aqui já entendemos que a lógica de programação é
uma forma de traduzir nossos pensamentos para os
computadores compreenderem e dessa forma poderem
desempenhar tarefas com eficiência e eficácia. Mas
vamos um pouco mais a fundo nesse assunto!
A lógica não é recente. Antes de haver a lógica de
programação, a lógica tradicional já existia há muito
tempo, sendo explorada por pensadores e filósofos muito
importantes, como Aristóteles. O objetivo principal da
lógica é transformar o nosso pensamento em algo
organizado e compreensível.
A lógica busca ilustrar a forma como as pessoas
pensam de uma maneira concreta, e ela faz isso
transformando o pensamento em sentenças baseadas
em um sistema linguístico, a partir disso podemos testar
se são verdadeiras ou falsas nos baseando em nossa
experiência pessoal. Veja:
Se alguém diz “Vai chover” a nossa reação é constatar,
então olhamos para o céu e verificamos que não há
nuvens. Mas sabemos que para chover, é necessário
haver nuvens. Então podemos tirar algumas conclusões.
1. Para chover, é necessário que haja nuvens.
2. Não há nuvens no céu.
3. Se não há nuvens, não vai chover.
4. Se não vai chover, a sentença dita é falsa.
A lógica de programação funciona exatamente da
mesma forma. Porém, ao contrário de nós que usamos
nossas experiências pessoas para constatar algo, os
computadores não são capazes de coletar informações e
aprender por conta própria, sem a ajuda do programador
ele não será capaz de olhar para o céu e concluir se irá
ou não chover, pois, da mesma forma, ele não sabe que é
necessário haver nuvens no céu para que chova sem que
isso seja ensinado a ele. E ele só será capaz de fazer
isso por conta própria se usarmos os algoritmos para
ensiná-lo.
Vamos falar dele agora?

Algoritmos e lógica de programação


O que são algoritmos?

Definindo de maneira bem simples e básica, um


algoritmo é um passo a passo. Lembra da receita de bolo
que comentamos ali em cima? É exatamente isso! O
algoritmo é um conjunto de instruções formado por um
número finito de passos. Porém, para que os dados
sejam processados e a máquina possa executar a tarefa,
é necessário usar uma linguagem de programação.
Vamos ver um exemplo de algoritmo:

Como já dito, as informações em um algoritmo não


podem ser redundantes, tampouco subjetivas, elas
precisam ser muito claras e detalhadas para que a
máquina consiga compreender e executar corretamente.
Veja um algoritmo para fritar batatas:
Inicio

 Pegar as batatas
 Pegar uma faca
 Descascar as batatas com a faca
 Cortar as batatas em tiras
 Pegar uma panela
 Colocar no fogão
 Colocar óleo dentro da panela
 Acender o fogo do fogão
 Esperar o óleo esquentar
 Colocar as batatas para fritar
 Aguardar o tempo ideal até que as batatas estejam fritas
 Remover as batatas-fritas da panela
 Servir as batatas
Fim

Simples e didático, não é? Isso é um


algoritmo! Perceba que a sequência correta e definida
das ações é importante para que a tarefa seja executada
corretamente, pois não poderíamos descascar as
batatas depois de fritar.
Tipos de algoritmo

Existem três formas de representar um algoritmo na


programação:

 Descrição narrativa: forma mais simples e próxima da


sua língua nativa para escrever um código. Funciona
como a receita do bolo dita anteriormente, com
instruções detalhadas do passo a passo;
 Fluxograma: mostra o passo a passo de uma maneira
mais visual, utilizando elementos gráficos;
 Pseudocódigo: é a forma mais próxima de escrever um
código que se assemelha a estrutura das linguagens de
programação.
Qual a diferença entre algoritmos e lógica de programação?

A lógica de programação é a
estruturação de conceitos e regras que servem para
orientar a execução do algoritmo, o algoritmo, por sua
vez, é a receita, ou seja, o passo a passo claro, objetivo
e lógico que instruem as ações para a execução de
uma determinada tarefa. Ainda parece confuso? Então
vamos usar mais exemplos!
Se você quer ensinar alguém a resolver uma certa
operação matemática, você usará a lógica tradicional e
guiará essa pessoa através de um passo a passo, ou
seja, um algoritmo. Mas se você for ensinar um
computador, você não usará lógica tradicional, e sim a
lógica de programação, e o algoritmo também estará lá
para dizer o passo a passo a máquina. Podemos dizer
que para qualquer tutorial usaremos algoritmo,
independe de serem ensinados a computadores ou não,
mas a lógica será diferente.
Para que serve lógica de programação
Ao longo de toda a história, a educação sempre foi
importante para o desenvolvimento humano, a principal
forma de aprendizado era através de pessoa para
pessoa. Atualmente, com a era da informação, a
principal maneira de se obter conhecimento é através
dos softwares, que são desenvolvidos por
programadores usando a lógica de programação.
Ela é utilizada para representar problemas e obter
soluções para eles. Dominar a lógica de programação e
a construção de algoritmos é fundamental para
programar. Depois de construir o algoritmo você poderá
codificar seu programa em qualquer linguagem através
da lógica de programação.
O que é preciso para aprender lógica de
programação?
Quem deseja aprender lógica de programação para
trabalhar com desenvolvimento precisa:

 Ter concentração;
 Entender de tecnologia;
 Ter facilidade em resolução de problemas;
 Ter organização.

Precisa gostar de matemática?


O ideal é iniciar pelas bases, e a matemática é uma
delas, se identificar com essa área vai tornar seu
aprendizado muito mais leve e prazeroso. Não
necessariamente você precisa ser um amante da
matemática, mas gostar vai facilitar muito o
entendimento.
Quanto tempo leva para aprender a lógica
de programação?
O tempo necessário para aprender lógica de
programação é relativo e depende cada pessoa, já que
devemos levar diversos fatores em consideração, como
ritmo de aprendizagem, quanto tempo você tem
disponível para estudar e como é a sua rotina.
Mas no geral, em média, as pessoas levam cerca de 6 a
8 meses para compreenderem a lógica de programação
de uma maneira mais abrangente, porém é preciso
continuar estudando constantemente para se aprofundar
e dominar cada vez mais essa habilidade.
Como praticar lógica de programação?
Antes de partir para um projeto grande ou complexo de
programação é indicado praticar. Você pode criar
pequenos jogos, sites ou ferramentas que sejam úteis no
seu dia a dia ou na vida dos seus amigos e familiares.
Lembre-se sempre que trabalhar com a lógica de
programação é um processo gradativo, você irá se
desenvolver cada vez mais, porém, aos poucos. Então
aproveite cada etapa do seu aprendizado para ampliar
seus conhecimentos.
Através da plataforma Udemy você pode realizar nosso
curso de Algoritmos e lógica de programação com
Python 3, nele você vai aprender:
 Lógica de programação do básico ao avançado, com
teoria e exercícios
 Resolver algorítimos dos mais simples aos mais
complexos
 Programar em Python do iníco até os recursos mais
avançados da linguagem
 Criar softwares em Python
Garantimos que é uma ótima oportunidade de praticar e
aprender lógica de programação!
Dicas para ajudar a desenvolver

Se mesmo com tudo o que dissemos até aqui, a lógica de


programação parece uma enorme pedra no caminho para
você se tornar desenvolvedor, saiba que não está só!
Muitas pessoas dizem que não importa o que façam ou
como façam, a linguagem de programação demora para
entrar na cabeça! Mas tem como desenvolver essa
habilidade de maneira prática e, quem sabe, até
divertida.

Separamos essas dicas para você:

Chame o seu cérebro para um desafio!

Force seu cérebro com desafios e quebra-


cabeças diariamente, dessa forma ele será estimulado
e passará a aceitar mais facilmente as informações.
Exercitar o cérebro fará com que ele fique cada vez
melhor, principalmente se tratando de lógica.
Organize os desafios e os quebra-cabeças por
dificuldade

Evite começar logo de cara resolvendo questões e


problemas complexos. Isso pode assustar e acabar
desanimando. Comece por coisas fáceis e suba aos
poucos para os mais difíceis, conforme você for
aprendendo vai descobrir algumas técnicas e isso
deixará tudo mais fácil.
Essa dica também serve para a sua carreira de
desenvolvedor!

Interpreto códigos de outros programadores

Tenha certeza que você não é a primeira pessoa a


passar por isso! Outros profissionais passaram pelos
mesmos problemas, mas com a experiência descobriram
formas de superar esses obstáculos. Analisar como
outros desenvolvedores constroem os códigos pode
oferecer algumas ideias úteis para você!
Não pule exercícios

Se você se propor a fazer cinco exercícios, tente fazer


todos os cinco. Não deixe para depois, pois você pode
acabar se esquecendo ou desistindo de fazer, e talvez
aqueles exercícios sejam justamente o que você precisa
para dar um passo a mais e você nem sabe disso!
Transforme um problema grande e complexo em
diversas partes menores

Em algum momento pode ser que você dê de cara com


um desafio que parecerá impossível de ser resolvido,
mas não entre em pânico. Tente dividi-lo em várias
pequenas partes e resolva cada uma delas
separadamente.
Colocar a mão na massa é importante, não se esqueça!

Se você estiver realizando um curso ou uma formação


em programação, procure colocar a mão na massa ao
ter uma aula ou tutoria. Somente ver outras pessoas
programando não fará com que você aprenda ou entenda
a fundo o que está acontecendo.
Nunca veja a resposta, descubra!

Ás vezes um desafio é tão complexo que bate uma


vontade enorme de procurar como resolvê-lo. A resposta
pode trazer algumas ideias, mas ver ela não te fará
exercitar a lógica. Tente insistir o máximo possível
antes de optar por ter a resposta em mãos.
Não pule a teoria

Nós sabemos que a prática é bem mais divertida! Mas é


a teoria que solidifica a base necessária para que a
prática seja possível. Portanto, se sentir que você não
tem fundamento suficiente para resolver uma questão,
volte uma casa! Retorne para a teoria e busque
aprender primeiramente ela.
Seja consistente

Tenha uma rotina consistente de aprendizado e


resolução de problemas, pois somente dessa maneira
você irá conseguir desenvolver a lógica de programação.
A prática constante leva à experiência e também à
perfeição!
Faça projetos

Junte tudo que você está aprendendo e se arrisque em


projetos fictícios. Somente arriscando-se em fazer algo
você vai se deparar com questões que nunca teria
imaginado.
Onde treinar a lógica de programação?

Você precisará de um editor de texto para escrever os


seus códigos com os recursos corretos e necessários
para isso.

Na internet existem algumas opções, mas os dois dos


mais populares entre desenvolvedores são: Notepad+
+ e o Visual Studio Code. Ambos você precisará baixar
e instalar em seu computador.

PENSAMENTO COMPUTACIONAL
O pensamento computacional não está, necessariamente, ligado a
computadores e à programação. Talvez você já tenha feito o uso de
tal habilidade, mesmo que de forma inconsciente.

Na verdade, o pensamento computacional é uma forma de pensar,


usando princípios da ciência da computação, para resolver problemas
de diversas áreas do conhecimento.

Quer entender o que esse conceito significa e como ensiná-lo na na


escola? Continue a leitura do artigo.

O que é pensamento computacional?


O pensamento computacional pode ser definido como uma habilidade
para resolver problemas e desafios de forma eficiente, assim como um
computador faria.

Essa resolução pode ou não envolver equipamentos tecnológicos,


mas a sua base é a exploração de forma criativa, crítica e estratégica
dos domínios computacionais.

Usar o pensamento computacional é ver um desafio ou problema,


refletir sobre ele, separá-lo em partes, resolver cada uma dessas
partes da maneira mais lógica e assertiva para depois chegar a um
resultado final.

“O Pensamento Computacional é uma distinta capacidade criativa,


crítica e estratégica humana de saber utilizar os fundamentos da
Computação, nas mais diversas áreas do conhecimento, com a
finalidade de identificar e resolver problemas, de maneira individual ou
colaborativa, através de passos claros, de tal forma que uma pessoa
ou uma máquina possam executá-los”

Christian Brackmann, doutor em Informática na Educação

Quatro pilares do pensamento computacional


Podemos dividir o pensamento computacional em quatro pilares:

1. Decomposição
Dividir o desafio em problemas menores para facilitar a compreensão.

2. Abstração
Reconhecer o que é mais importante na situação-problema e deixar
de lado o que não for essencial.

3. Reconhecimento de padrão
Identificar as repetições e similaridades dos problemas para auxiliar na
resolução;

4. Algoritmo
Propor uma ordem ou uma sequência de passos para resolver o
problema.

Qual é a importância do pensamento


computacional para a escola?
O pensamento computacional é uma das competências digitais que a
escola deve desenvolver junto aos estudantes, conforme a Política
Nacional de Educação Digital, sancionada em janeiro de 2023.
Para além de ser usado em situações cotidianas, o pensamento
computacional é muito importante na escola, pois, por meio dele, as
crianças aprendem a pensar de forma crítica e passam a revisar o que
produzem. Quando bem aplicado, os alunos passam a resolver
situações com base nos quatro pilares do pensamento computacional,
notando padrões e chegando a conclusões de maneira lógica.

Como já citamos anteriormente, essa habilidade não está


necessariamente ligada à programação, mas sim a princípios que
auxiliam a resolver problemas. Portanto, o pensamento computacional
auxilia na construção do conhecimento em diversas áreas, uma vez
que o pensamento lógico fomenta o aprendizado de qualquer
disciplina.

O pensamento computacional também apoia o ensino de programação


e robótica educacional, preparando os estudantes para as profissões
do futuro, com uso intensivo de tecnologias.
Competências e habilidades trabalhadas no
pensamento computacional:
O pensamento computacional desenvolve diversas competências e
habilidades essenciais na Educação 5.0, como:

 raciocínio lógico;
 trabalho em grupo;
 criatividade;
 análise de dados;
 gestão de projetos;
 programação;
 codificação.

Como desenvolver o pensamento


computacional na escola?
Assim como as outras competências digitais, o pensamento
computacional é uma competência interdisciplinar e, por isso, pode ser
trabalhada de diversas formas na escola:

Em horário específico ou como projeto transversal


Ele pode ser desenvolvido em um horário específico, dentro de um
componente curricular (como Matemática ou Informática) ou em
projetos transversais, como o clube de robótica.

Essa decisão compete à equipe de gestão escolar, levando em conta o


calendário escolar e o tempo de permanência dos alunos na escola.
Presencialmente ou à distância
Falando em tempo de permanência na escola, o pensamento
computacional pode ser trabalhado em atividades presenciais ou à
distância, dependendo da estratégia da instituição.

No modelo de ensino híbrido, que é uma tendência cada vez mais forte
no segmento educacional, é normal que as escolas ampliem o tempo
de estudo dos estudantes com conteúdos online.
Neste caso, é necessário adotar uma plataforma de aprendizagem
com foco em resolução de problemas, Matemática e computação,
como o Pense+.
Com ou sem máquinas
O pensamento computacional também pode ser trabalhado com ou
sem o uso de máquinas. Na segunda opção, os estudantes utilizam
atividades impressas de decomposição, abstração, reconhecimento de
padrões e codificação.

Enquanto o método desplugado é mais acessível e uma maneira mais


simples de ensinar princípios computacionais, o método plugado é o
mais recomendado para a aprendizagem de programação.
Além disso, o trabalho direto com softwares, hardwares e aplicativos
tende a despertar maior interesse dos estudantes.

Soluções do Educacional que trabalham


pensamento computacional
Quer ajuda para inserir o pensamento computacional na sua escola?
O Educacional possui quatro soluções que fortalecem o pensamento
computacional. Conheça cada uma delas abaixo:
Suíte Educacional
A Suíte Educacional é uma plataforma educacional completa que reúne
mais de 30 aplicações de diversas áreas, incluindo pensamento
computacional, robótica, codificação e resolução de problemas.
A plataforma atende escolas públicas e privadas de todos os níveis da
Educação Básica, da Educação Infantil até o Ensino Médio.

LEGO® Education
A LEGO® Education é uma solução que fortalece a aprendizagem de
STEAM (Ciências, Tecnologia, Engenharia, Artes e Matemática) e o
pensamento computacional, com kits formados por blocos de
construção e peças eletrônicas programáveis.
As atividades da LEGO® Education são contextualizadas com
histórias lúdicas baseadas na vida real. Assim, elas incentivam a
criatividade, a resolução de problemas e a aprendizagem significativa.
Essa solução também atende todas as etapas da Educação Infantil,
Ensino Fundamental e Ensino Médio.

Tivy
O Tivy é uma solução para o ensino inicial de programação e
pensamento computacional, usando peças de fácil conexão e
atividades intuitivas. Seu público-alvo são estudantes do 1º ao 5º ano
do Ensino Fundamental.
O kit do Tivy é composto por peças de montagem, atuadores,
sensores, placas de programação micro:bit, material de apoio para os
professores e formação para docentes.

Inventura
Já o Inventura é um roteiro completo de experiências educacionais
que une programação, cultura maker e pensamento computacional. A
solução é destinada a estudantes do 4º ao 9º ano do Ensino
Fundamental de escolas públicas e privadas.
Ao contratar o Inventura, a escola recebe placas de programação
micro:bit, sensores, atuadores, livro com atividades para os alunos,
material de apoio para os professores e uma plataforma digital para
registro de atividades e acompanhamento dos estudantes.

Para obter mais informações sobre essas soluções de apoio ao


pensamento computacional, entre em contato com um dos consultores
do Educacional, Ecossistema de Inovação e Tecnologia.

O que é prototipagem? Prototipagem é a etapa do processo de desenvolvimento que


consiste em fazer um protótipo do que se está criando. Em termos práticos, prototipar
é criar uma versão modelo do produto final de um projeto voltado para a etapa de
aprovação e validação.

Qualquer trabalho que envolve o desenvolvimento de uma solução para um


cliente, passa necessariamente por uma etapa importantíssima
chamada validação.
A validação é a etapa em que aquilo que foi desenvolvido até então é avaliado,
podendo ser aprovado ou reprovado pelo gestor responsável por aquele
projeto.

Em caso de uma validação negativa, tudo aquilo que já havia sido desenvolvido
precisa ser reavaliado, ou seja, ser corrigido e avaliado novamente.

Para impedir que essas etapas de avaliação e reavaliação se estendam e


gerem um grande volume de trabalho refeito, a etapa de prototipagem torna-
se fundamental no trabalho do desenvolvedor web.

No conteúdo de hoje, falaremos sobre o que é prototipagem, qual a


importância desta etapa e quais os tipos existentes de prototipagem.

O que é prototipagem?
Prototipagem é a etapa do processo de desenvolvimento que consiste
em fazer um protótipo do que se está criando.

Em termos práticos, prototipar é criar uma versão modelo do produto final de


um projeto voltado para a etapa de aprovação e validação.

Este modelo, ou protótipo, é usado para correções, ajustes e melhorias a


serem feitos antes do desenvolvimento da versão final do produto.

Qual a importância da prototipagem?


A prototipagem é importante porque evita que o trabalho de correção e
implementação de melhorias anterior ao lançamento mobilize mais tempo,
pessoas e recursos do que o necessário.

Inicialmente, é possível pensar que investir tempo na construção de um


protótipo antes do desenvolvimento da versão final do produto gera mais
trabalho do que simplesmente pular esta etapa, mas a verdade é que o efeito
pode ser justamente o oposto.

A versão final de um projeto envolve esforços e recursos que não são exigidos
pelo protótipo, um modelo mais simples desenvolvido exclusivamente para
validação.

Sendo assim, estipular todas as correções e melhorias já nesta etapa evita que
estes esforços mais rigorosos sejam aplicados duas, três ou até mais vezes,
dependendo da quantidade de correções a serem feitas. Isso economiza tempo
e, é claro, dinheiro.

Benefícios da prototipagem
Além da economia fundamental de tempo, recursos e esforços de toda a
equipe, listamos abaixo alguns dos benefícios mais substanciais da etapa
de prototipagem em desenvolvimento web.

Vamos lá?

Testar a funcionalidade

Toda aplicação web possui uma funcionalidade, ou seja, uma função a ser
desempenhada que gere determinado resultado para o seu usuário.

Essas funcionalidades precisam ser testadas e retestadas antes de serem


oferecidas ao usuário na versão final do produto e uma das maneiras mais
práticas de avaliá-las é através de um protótipo.

Testar a usabilidade

Além da funcionalidade de uma aplicação, a sua usabilidade também é um de


seus aspectos mais importantes.

Afinal, de nada adianta haver uma solução ideal se o usuário final não é capaz
de chegar a ela de maneira mais simples.

Estando a usabilidade diretamente relacionada a uma boa ou má experiência


de usuário, é importantíssimo que haja um protótipo para testá-la e aprimorá-
la.

Proporcionar feedbacks

A etapa de validação de um produto não envolve somente a equipe que está


desenvolvendo essa solução, mas também o cliente, com quem deve ser
estabelecido um canal de comunicação fluido e eficiente.

Um protótipo é capaz de facilitar essa comunicação, proporcionando a


oportunidade de feedbacks serem levados e trazidos com mais rapidez,
reduzindo o tempo de testes.
Reduzir riscos

Colocar uma aplicação ou um produto no ar é uma ação que envolve riscos


para todos os lados, para quem investiu no desenvolvimento dessa aplicação e
para quem a desenvolveu.

Sendo assim, é preciso reduzir ao máximo os riscos para que a aceitação do


produto seja a melhor possível. Para isso, o primeiro passo é mapeá-los e
avaliá-los em um protótipo.
Diminuir investimento

Quando falamos sobre o desenvolvimento de uma solução para web, seja ela
grande ou pequena, estamos falando também de um grande volume de
recursos financeiros. Equipe, ferramentas, softwares e etc.

Quanto mais tempo a versão final de um produto demorar para ficar pronta,
mais recursos serão investidos. Uma vez que um protótipo pode reduzir esse
tempo, ele também é um importante elemento de economia financeira.

Quais são os tipos de prototipagem?


Existem diferentes tipos de prototipagem disponíveis. Alguns, mais adequados
a determinados tipos de soluções, enquanto outros se adequam melhor a
outras.

Confira abaixo os três tipos mais populares do mercado. São


eles papel, volume e encenação.

Papel

O protótipo de papel é o bom de velho desenho a lápis ou caneta. Possui


baixa fidelidade, mas são o pontapé inicial ideal na hora de começar a planejar
um projeto.

Um wireframe desenhado a mão, por exemplo, é um exemplo de protótipo de


papel.

Volume

O protótipo de volume, por outro lado, possui maior fidelidade estética e é


feito para compartilhamento entre as partes envolvidas, por isso é comumente
um modelo digital.

Apesar da alta fidelidade estética, não possui nenhuma funcionalidade,


portanto não é o ideal para a validação de funções.

Encenação

Como uma evolução do protótipo de volume, o protótipo de


encenação também possui alta fidelidade estética, mas inclui também
funcionalidades e oferece uma experiência de usabilidade muito próxima da
que será experimentada pelo usuário final do produto.

Quais as variações de contextualidade?


Quando um protótipo é enviado para validação, as pessoas que farão os testes
necessários — os testers — são divididas em diferentes grupos.
A configuração e separação desses grupos, ou categorias, é
chamada contextualidade e é importante para a definição do tipo de protótipo
que será desenvolvido e de que modo a testagem será executada.

Em seguida, você poderá conhecer as quatro principais contextualidades


existentes no mercado.

Restrita

A prototipagem restrita é aquela especialmente utilizada quando é necessária


uma alta confidencialidade com relação a aplicação que está sendo
desenvolvida.

Nesta modalidade, somente pessoas ligadas ao desenvolvimento do projeto


podem testá-lo e todo o ambiente é rigorosamente controlado, evitando o
vazamento de informações, opiniões e conclusões dos testes.

Total

Já a prototipagem total é aquela em que qualquer usuário identificado como


público-alvo pode testar o modelo oferecido.

Aqui, o ambiente é aquele semelhante ao que a versão final do produto será


utilizada, sendo o mais fiel possível a como a aplicação será utilizada pelo seu
público.

Geral

A prototipagem geral amplia ainda mais o conceito da prototipagem total, onde


não há ambiente controlado e nem restrição de vazamento.

O diferencial aqui é que, ao contrário da prototipagem total, em que só pessoas


identificadas como o público-alvo do produto realizam os testes, na
prototipagem geral qualquer pessoa pode fazê-lo, independentemente de se
encaixar no segmento ideal.

Parcial

A prototipagem parcial é aquela que o teste é mais específico, sendo feito ou


com o público final ou no ambiente final.
Em artigos anteriores, nós já falamos sobre a importância de se realizar protótipos antes
do desenvolvimento do jogo em si.

Uma das técnicas que podem nos auxiliar nesse sentido, principalmente nos estágios
iniciais de projeto é a dos protótipos em papel (paper prototyping).

Vamos conhecer a técnica, os prós e contras, as recomendações e exemplos de uso.

O que é prototipagem em papel?

A prototipagem de papel é uma técnica de protótipo de baixa fidelidade, ou seja, ela não
está tão próxima do produto final. Claro, pensando no meio digital, ele está em papel,
não em um protótipo de software (alta fidelidade).

Ela é usada principalmente pela informalidade, rapidez de protótipo, correção e


simulação, e também porque muitos problemas já podem ser resolvidos antes mesmo de
um protótipo de alta fidelidade.

Essa técnica só acontece com a simulação do uso dela, pois muitas pessoas
confundem wireframes (diagrama de interfaces) com esse tipo de prototipagem. O
primeiro só demonstra e organiza a interface. Já o paper prototyping, realmente trata
das interações, ou seja, do uso propriamente.

Também é importante ressaltar que ela não preza pela beleza, mas pela clareza e
organização no que diz respeito ao funcionamento daquele recurso. Vejo muita gente
que diz não fazer a técnica por não saber desenhar. Porém, isso não é necessário.

Considero também uma ótima forma de se aprender na produção de jogos analógicos.


Afinal, o desenvolvimento deles se assemelha a isso.

Quais as vantagens e desvantagens da prototipagem


em papel para jogos digitais?
As vantagens em se usar essa técnica são as seguintes:
 Facilidade de modificação, pois borracha e lápis resolvem tudo e inclusive podemos fazer a
modificação facilmente na hora da simulação;
 Rapidez, pois basta papel, lápis e borracha para montar as estruturas;
 Não necessita de conhecimentos técnicos em programação, por exemplo. Isso, para um
designer gráfico, é ótimo, pois já trata de muitos problemas de interação antes mesmo de ir ao
código-final;
 Prevenção de erros antes mesmo do código-final do jogo;
 Pode-se simular o jogo em si, com adaptações, já que é em papel, para verificar se o seu
conceito é divertido e interessante. Nesse sentido, os jogos analógicos e seus formatos de
mecanismos são uma boa escola para simulação dessa parte;
 Custos baixos devido a simplicidade dos materiais;
 Serve como documentação do jogo, pois muitos detalhes de como irão funcionar já vão estar
claros ali mesmo.

Você também pode gostar