Você está na página 1de 10

LÓGICA DE PROGRAMAÇÃO

APLICADA A MECATRÔNICA
Unidade 4 - Construção de algoritmos

GINEAD
Unidade 4

Todos os direitos reservados.

Prezado(a) aluno(a), este material de estudo é para seu uso pessoal,


sendo vedada, por quaisquer meios e a qualquer título, a sua
reprodução, venda, compartilhamento e distribuição, sujeitando-se os
infratores à responsabilização civil e criminal.

Apresentação
Algoritmo é um conjunto de regras e procedimentos lógicos bem definidos que
são aplicados a um conjunto de dados com o intuito de obter a solução de um
problema. Para diferentes tipos de problema existe um tipo de algoritmo e cada um
deles possui a sua própria estrutura, que inclui diferentes variáveis, identificadores
e operações. Compreender a construção de um algoritmo é um passo fundamental
para a sua utilização.

4.1 Construção de algoritmos


Sabendo a definição de um algoritmo, pode-se compará-lo a um roteiro ou até a uma
receita de bolo, onde existem instruções que te indicam com o que e como realizar
determinadas tarefas para cumprir um objetivo. Quando alguém reproduz uma
receita de bolo, é necessário conhecer e saber quais ingredientes utilizar, o que fazer
primeiro, o que vem depois e como o processo finaliza até chegar ao bolo pronto.
Figura 1: Receita de bolo

Fonte: Plataforma Deduca (2020).

2
Pensando em um algoritmo propriamente dito, é preciso pensar nas instruções que
você vai dar para o computador realizar, identificar qual o seu problema e o que
se deseja obter. Se o seu problema, por exemplo, for não saber quem é o melhor
jogador de basquete da galera, é possível utilizar os seus dados, provenientes de
uma tabela de cestas marcadas nas últimas três partidas, para então resolver dois
subproblemas: somar os pontos das partidas e ordenar o resultado total de cada
um dos jogadores.

4.1.1 Conceitos essenciais para a criação de um


algoritmo
Os dados, que são elementos básicos para a funcionalidade de um algoritmo,
possuem diferentes tipos, sendo os mais comuns os tipos numéricos (inteiros e reais),
lógicos e de caracteres. Os dados inteiros são aqueles constituídos por números
inteiros positivos ou negativos; os reais também são numéricos, mas podem possuir
números fracionários e decimais; já os dados lógicos são utilizados para representar
duas únicas alternativas possíveis, com “sim/não” ou “verdadeiro/falso”; por fim, os
dados de caracteres são aqueles que contém sequências alfanuméricas.

Cada conjunto de dados é armazenado em uma variável, que possui um


identificador único. Além disso, cada variável possui um tipo único e armazena um
valor por vez, que pode mudar durante a execução do algoritmo. Para somar três
valores de João, na tabela abaixo, as variáveis “Partida1” são iguais a 3, 3 e 5. Ao
avançar para a linha seguinte, são assumidos novos valores.

Na tabela abaixo existem seis variáveis, e o identificador correspondente a cada


uma está na primeira linha. “Nome” é uma variável que armazena dados do tipo
caracteres. Já “Altura” armazena números reais, enquanto “Partida1, 2 e 3”, números
inteiros. “Total” também armazena inteiros, que foram obtidos a partir de uma
expressão aritmética utilizando um operador aritmético de soma.

Curiosidade
Expressões aritméticas são aquelas expressões utilizadas para, através
de números inteiros ou reais, obter um novo valor a partir de operadores.

3
Quadro 1: Tabela de quantidade de cestas acertadas no basquete

Nome Altura Partida 1 Partida 2 Partida 3 Total


Marisa 1.83 2 4 6 12

João 1.17 3 3 5 11

Ricardo 1.80 6 4 1 11

Lucas 1.67 5 2 0 7

Juliana 1.69 2 0 5 7

Fonte: Elaborado pela autora (2020).

Os operadores aritméticos são símbolos utilizados para comparar, incrementar ou


decrementar dados. No caso das expressões aritméticas são utilizados operadores
aritméticos, correspondentes a operações matemáticas como soma (+), subtração
(-), multiplicação (*), divisão (/), exponenciação (**) e resto de divisão (%). A forma
de estruturar os dados e operadores pode mudar de acordo com a linguagem de
programação, mas conceitualmente representam as mesmas coisas.

Para outros tipos de dados além dos numéricos também existem operadores, como
os relacionais, lógicos e literais. O operador relacional é aquele através do qual é
possível comparar caracteres e números retornando geralmente um valor lógico.

Os operadores lógicos trabalham apenas em cima de dados booleanos (verdadeiro/


falso);

Os operadores literais são menos conhecidos e utilizados, mas podem ser


necessários em alguns processos como a criação de um identificador de projetos
baseado em sequências alfanuméricas.

Saiba mais
Com o avanço da programação, surgiram algoritmos dignos de filmes
de ficção científica. Algoritmos genéticos auto-organizáveis foram
aplicados a robôs para induzi-los a criar soluções em caso de mudanças
no ambiente. O robô móvel foi controlado por uma Rede Neural
Artificial. Disponível em: http://www.scielo.br/scielo.php?script=sci_
arttext&pid=S0103-17592007000100002.

4
4.2 Tipos de algoritmos
Apesar da lógica de programação ser, de certa forma, universal, os algoritmos
podem ser representados e estruturados de diferentes maneiras. Algumas das
formas de representação são descrição narrativa, pseudocódigo e fluxograma.
Quanto a estrutura, podem ser sequenciais condicionais e de repetição.

Na descrição narrativa, os algoritmos são escritos como um texto simples. Embora


de fácil entendimento, é pouco usado porque é preciso escrever de forma muito
detalhada para dar instruções precisas e sem margem de erro.

Pseudocódigo, também conhecido como portugol, é caracterizado pela riqueza de


detalhes e similaridade com a escrita propriamente dita do algoritmo, sem perder a
simplicidade. Por isso, é um dos métodos mais aceitos e utilizados.

O fluxograma também é bastante utilizado e, de certa forma, é intermediário entre as


anteriores. Mesmo rica em detalhes, essa representação não possui uma estrutura
tão similar ao algoritmo computacional. Geralmente utiliza elementos geométricos
interligados, como na figura a seguir.

Figura 2: Representação de um fluxograma

Fonte: Plataforma Deduca (2020).

5
Para que o computador seja capaz de executar o algoritmo seguindo todas as
regras estabelecidas, algumas estruturas devem ser implementadas de acordo com
o que se deseja fazer. A estrutura sequencial é a mais simples e será abordada no
próximo tópico. Há estruturas mais elaboradas como a condicional e de repetição.
Caso deseje realizar um cálculo apenas se uma condição anterior for verdadeira,
é necessário seguir uma estrutura condicional (ex.: Se “Maria foi à escola hoje” é
verdadeiro, soma-se +1 ao número de presenças).

A estrutura de repetição (loop) é utilizada para repetir um comando até a condição


pré-determinada ser satisfeita. Se você deseja exibir uma imagem 10 vezes, cria-se
um contador que inicia em 0 e a cada vez soma-se +1. Quando o valor for igual a 10,
a imagem deixará de ser mostrada.

4.3 Algoritmos sequenciais

Atenção
O algoritmo de estrutura sequencial é um conjunto de instruções
executadas em uma sequência linear. A definição de algoritmo no início da
unidade é um exemplo sequencial: ‘entrada → processamento → saída’.

Em um algoritmo completamente sequencial não existem pontos de decisão


(estrutura condicional) ou pontos de retorno (estrutura de repetição). Embora seja
simples, muitos algoritmos são escritos utilizando apenas essa estrutura.

Para exemplificar, pense que você precisa fazer um relatório sobre características
de temperatura, pressão e agitação de um reator e para cada variável existem dois
sensores, de forma que é preciso tirar a média deles. Os dados de entrada são os
valores de medição obtidos dos sensores (temp1, temp2, pre1, pre2, agi1 e agi2); e
os dados de saída são as médias. Assim:

6
ALGORITMO Media_de_sensores
variáveis: temp1, temp2, pre1, pre2, agi1, agi2, med_temp, med_pre, med_agi:
REAL
INICIO
Ler temp1;
Ler temp2;
med_t = (temp1 + temp2)/2;
Ler pre1;
Ler pre2;
med_p = (pre1 + pre2)/2;
Ler agi1;
Ler agi2;
med_a = (agi1 + agi2)/2;
Escrever (“Médias de temperatura, pressão e agitação:”, med_t,
med_p, med_a)
FIM

7
Fechamento
A partir do momento em que você aprende a lógica de programação, é capaz
de desenvolver algoritmos com instruções precisas para solucionar problemas.
Ao compreender como os dados, variáveis e operadores funcionam, é possível
transformar a sua linguagem natural em uma linguagem que possa ser interpretada
pela máquina. Criar e estruturar um algoritmo sequencial pode ser o primeiro passo
para a criação de algoritmos funcionalmente eficazes.

8
Palavras-chave
Algoritmos, algoritmos sequenciais, tipos de algoritmos.

9
Referências
ALMEIDA, M. Curso essencial de lógica de programação. Universo dos Livros
Editora, 2008.

CORMEN, T. H. et al. Algoritmos: teoria e prática. Rio de Janeiro, GEN LTC, v. 3,


2012.

MEDINA, M.; FERTING, C. Algoritmos e programação: teoria e prática. Novatec


Editora, 2006.

10

Você também pode gostar