Você está na página 1de 23

Introdução à Algorítmos e Lógica de

Programação

Apresentação
É sem dúvida muito importante a programação em qualquer área, como na Engenharia, por isso, é
de supra necessidade compreender um pouco o mundo da programação. Nesta Unidade de
Aprendizagem, além de aprender o universo da programação, vocês terão os conceitos e a
oportunidade de compreender um pouco dessa área. Para isso, utilizaremos um software chamado
MATLAB, uma ferramenta que auxiliará no desenvolvimento de algoritmos.

Nesta Unidade de Aprendizagem, você vai estudar o conceito de lógica, o que é um algoritmo e
como está relacionado com a lógica. Também irá aprender a identificar e definir o que são tipos de
dados, operadores aritméticos, operadores relacionais, operadores lógicos, expressões aritméticas,
expressões relacionais e as regras de precedências entre os operadores.

Bons estudos.

Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados:

• Identificar os algoritmos e sua lógica de programação na solução de problemas, a


representação e os tipos de dados na construção de algoritmos.

• Aplicar os algoritmos e sua lógica de programação na solução de problemas.


• Operar de forma correta os tipos de dados e suas relações.
Infográfico
Em programação, os tipos de estruturas de controle disponíveis mudam de linguagem para
linguagem. Nessa visão, temos os fluxos de execução de algoritmos, o primeiro é a continuação da
execução em uma instrução após a outra instrução, como na estrutura sequencial. O segundo é a
execução de um bloco de código somente se uma condição é verdadeira, esta chamada de
estrutura de seleção. O terceiro é a execução de um bloco de código enquanto uma condição é
verdadeira, ou de forma a iterar uma coleção de dados, sendo esta chamada de estrutura de
repetição.

Acompanhe, no Infográfico a seguir, como esse conceito pode se inter-relacionar com essas
estruturas.
Conteúdo do livro
Neste capítulo, você verá sobre a introdução a algoritmos e à lógica de programação e alguns
conceitos, como fluxo e execução, com a estrutura sequencial, estrutura de seleção e de repetição,
além do conceito de lógica, o que são algoritmos, tipos de dados, operadores aritméticos,
relacionais, lógicos, precedência entre os operadores e expressões.

Leia o capítulo Introdução a Algoritmos e Lógica de Programação do livro Algoritmos e programação


que é base teórica desta Unidade de Aprendizagem.

Boa leitura.
ALGORITMO E
PROGRAMAÇÃO

Jeferson Faleiro Leon


Introdução a algoritmos
e lógica de programação
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:

 Criar, reconhecer, interpretar e aplicar os algoritmos e sua lógica de


programação na solução de problemas.
 Identificar, diferenciar e aplicar a representação e os tipos de dados
na construção de algoritmos e na solução de problemas.
 Operar de forma correta os tipos de dados e suas relações.

Introdução
Neste capítulo, você estudará o conceito de lógica, verá o que é um
algoritmo e como ele está relacionado com a lógica. Além disso, aprenderá
a identificar e definir o que são tipos de dados, operadores aritméticos,
operadores relacionais, operadores lógicos, expressões aritméticas e
expressões relacionais.

Conceitos de lógica de programação


A lógica não tem uma definição específica: inicialmente, era ligada à ma-
temática (lógica formal) e, atualmente, está relacionada a todas as áreas do
conhecimento humano.
Podemos relacionar a lógica com a “correção do pensamento”, pois uma de
suas preocupações é determinar quais operações são válidas e quais não são,
fazendo análises das formas e leis do pensamento. Como filosofia, ela procura
saber por que pensamos assim e não de outro jeito; como arte ou técnica,
ela nos ensina a usar corretamente as leis do pensamento (FORBELLONE;
EBERSPACHER, 2005).
2 Introdução a algoritmos e lógica de programação

Algoritmos
Para Forbellone e Ebersoacher (2005), algoritmo é um conjunto fi nito de
regras, bem defi nidas, que nos levam à solução de um problema em um
tempo fi nito. Segundo Berg e Figueiró (2002), algoritmo é a descrição de
um conjunto de ações que, obedecidas, resultam numa sucessão fi nita de
passos, atingindo o objetivo.
Para que se tenha um algoritmo, é preciso:

a) que se tenha um número finito de passos;


b) que cada passo esteja precisamente definido, sem possíveis ambiguidades;
c) que existam zero ou mais entradas;
d) que existam uma ou mais saídas;
e) que exista uma condição de fim, sempre atingida em tempo finito, para
quaisquer entradas.

Os algoritmos são criados e reconhecidos por sua lógica de programação.


Segundo Forbellone e Eberspacher (2005), a lógica está relacionada à coerência
e à racionalidade; lógica de programação é a racionalização dos processos
formais da programação de computadores e algoritmo é a sequência de passos
que visam atingir um objetivo bem definido.
Os algoritmos podem ser visualizados por meio de um fluxograma
convencional ou por meio de um fluxograma do tipo Chapin. Forbellone
e Eberspacher (2005) fornecem um exemplo básico da diferença entre
ambos e destacam que há uma série de vantagens e desvantagens para cada
um desses fluxogramas. Por exemplo, o fluxograma convencional é mais
fácil de desenhar e é previsto em etapas, enquanto o fluxograma Chapin
pode compactar as perguntas de F e V ou S e N em somente um bloco,
sendo considerado mais técnico e formal. Na Figura 1, você pode observar
essas diferenças.
Introdução a algoritmos e lógica de programação 3

Figura 1. Fluxograma convencional e fluxograma Chapin.


Fonte: Forbellone e Eberspacher (2005).

Tipos de dados (primitivos)


Para entender os tipos primitivos, voltemos nossa atenção para um conceito
muito importante: a informação. Antes disso, vamos entender o que é um
4 Introdução a algoritmos e lógica de programação

dado? Dados são códigos que constituem a matéria-prima da informação, ou


seja, é a informação não tratada que ainda não apresenta relevância.
A informação é constituída pelos dados tratados – o resultado do processa-
mento de dados são as informações. As informações têm significado e podem
contribuir no processo de tomada de decisões.
Os dados podem ser classificados conforme seu tipo e os principais serão
descritos a seguir.

Tipos numéricos
 Inteiros: é um número que não possui casas decimais; por exemplo, a
idade de uma pessoa ou uma quantidade de itens num estoque.
 Real: é um número que possui casas decimais, ou seja, é um número
fracionário; por exemplo, a altura de uma pessoa ou o peso de um
determinado produto.

Tipos alfanuméricos
 Literal ou String: são os textos, que podem conter letras, números e
caracteres especiais. Não são utilizados para cálculos.

Tipos lógicos
 Booleano: é um dado que só pode conter 2 informações (verdadeiro
ou falso).

Expressões
Expressões, no sentido matemático, são representações simbólicas de sequ-
ências de operações a serem feitas sobre determinados operandos visando a
obtenção de um resultado. Necessitam-se de dois tipos de expressões para a
elaboração de algoritmos: expressões aritméticas e expressões lógicas.
Introdução a algoritmos e lógica de programação 5

Expressões aritméticas
Expressões aritméticas são aquelas cujos operadores são aritméticos e cujos
operandos são constantes e/ou variáveis do tipo numérico (inteiro ou real).

Operadores aritméticos

Soma +

Divisão /

Quociente da divisão inteira Div

Radiciação //

Subtração -

Multiplicação ·

Resto da divisão inteira Mod

10 div 3 = 3 10 mod 3 = 1 3 div 5 = 0


25 div 5 = 5 25 mod 5 = 0 3 mod 5 = 3
6 Introdução a algoritmos e lógica de programação

Funções matemáticas

Função Descrição Exemplo

sqr (x) Quadrado de x (x2) sqr (4) = 16

sqrt (x) Raiz quadrada de x ( ) sqrt (25) = 5

sen (x) Seno de x sen (90) = 1

cos (x) Cosseno de x cos (90) = 0

tg (x) Tangente de x tg (45) = 1

int (x) Parte inteira de x int (23,49) = 23

frac (x) Parte fracionária de x frac (23,49) = 49

pot (x,y) X na potência y (xy) pot (3, 2) = 9

abs (x) Valor absoluto de x abs ( -39) = 39

Sinal (x) Fornece o valor –1, +1 ou zero conforme o Sinal (-44) = -1


valor de x seja negativo, positivo pu nulo.

Precedência entre os operadores

Os operadores de mesma precedência na tabela são resolvidos da esquerda


para a direita, na ordem que aparecerem na expressão.
Introdução a algoritmos e lógica de programação 7

5+9+7+8/4
5 + 9 + 7 + 2 = 23

1-4·3/6-2·3
1-4·3/6-8
1 - 12 / 6 - 8
1 - 2 - 8 = -9

3 · 2 - 4 / 2 + abs (5 - 3 · 5) / 2
3 · 2 - 4 / 2 + abs (5 - 15) / 2
3 · 2 - 4 / 2 + abs (-10) / 2
3 · 2 - 4 / 2 + 10 / 2
9 - 4 / 2 + 10 / 2
9 - 2 + 5 = 12

Expressões lógicas
Expressões lógicas são aquelas cujos operadores são lógicos e/ou relacionais
e cujos operandos são relações e/ou constantes e/ou variáveis de tipo lógico.
O resultado de uma expressão lógica sempre é uma constante lógica (F - falso
ou V - verdadeiro).

Operadores relacionais

= Igual <> Diferente

> Maior >= Maior ou igual

< Menor <= Menor ou igual


8 Introdução a algoritmos e lógica de programação

2 · 4 = 24 / 3 = 8
V

2 + (8 – 7) > = 3 · 6 - 15
2 + 1 > = 18 - 15
3>=3
V

Operadores lógicos

Símbolo Função

E Conjunção

Ou Disjunção (não-exclusiva)

Não Negação

O operador lógico E é utilizado quando dois ou mais relacionamentos lógicos


de uma determinada condição necessitam ser verdadeiros. O operador lógico
E faz com que somente seja executada uma determinada operação se todos as
condições mencionadas forem simultaneamente verdadeiras, gerando, assim,
um resultado lógico verdadeiro.

SE (NÚMERO > = 20) E (NÚMERO < = 90)


Então, escrever “Número válido no intervalo”
Se NÃO, escrever “Número inválido, não está no intervalo”
Fim-SE
Introdução a algoritmos e lógica de programação 9

O operador lógico OU é utilizado quando pelo menos um dos relaciona-


mentos lógicos (quando houver mais de um relacionamento) de uma condição
necessita ser verdadeiro. O operador lógico OU faz com que seja executada
uma determinada operação se pelo menos uma das condições mencionadas
gerar um resultado lógico verdadeiro.

SE (SEXO = ‘Masculino’) OU (SEXO = ‘Feminino’)


Então, escrever “O seu sexo é válido”
Se não, escrever “O seu sexo é inválido”
Fim-SE

O operador lógico NÃO é utilizado quando se necessita estabelecer que


uma determinada condição dever ser não verdadeira ou deve ser não falsa.
O operador lógico NÃO se caracteriza por inverter o estado lógico de uma
condição, isto é, inverte o resultado lógico da condição.

Algoritmo prog1

Var
A, B, C, X: Inteiro

Início
Ler (X, A, B)

SE NÃO (X > 5)
Então C: = (A + B) · X
Se não C: = (A – B) · X
Fim-SE
Escrever (C)

Fim
10 Introdução a algoritmos e lógica de programação

Tabelas verdade
Tabela verdade é o conjunto de todas as possibilidades combinatórias entre os
valores de diversas variáveis lógicas, as quais se encontram em apenas duas
situações, e um conjunto de operadores lógicos.

Operador E

A B AeB

V V V

V F F

F V F

F F F

Operador OU

A B A ou B

V V V

V F V

F V V

F F F

Operador NÃO

A A não B

V F

F V
Introdução a algoritmos e lógica de programação 11

Prioridades
Entre operadores lógicos:

Entre todos os operadores:

BERG, A.; FIGUEIRÓ, J. Lógica de programação. 3. ed. Canoas: Ed. ULBRA, 2002.
FORBELLONE, A. L. V.; EBERSPACHER, H. F. Lógica de programação: a construção de
algoritmos e estruturas de dados. 3. ed. São Paulo: Pearson, 2005.

Leituras recomendadas
CHAPRA, S. C. Métodos numéricos aplicados com MATLAB® para engenheiros e cientistas.
3. ed. Porto Alegre: AMGH, 2013.
OLIVEIRA, A. B.; BORATTI, I. C. Introdução à programação de algoritmos. Florianópolis:
Visual Books, 2004.
SOUZA, M. A. F. et al. Algoritmos e lógica de programação. 2. ed. São Paulo: Cengage,
2012.
Dica do professor
A importância de aprender programação passa pela compreensão de um problema, entender o que
é um dado, uma informação, os tipos de dados (alfanuméricos, numéricos e boolenos), operadores
(aritméticos, relacionais e lógicos) e expressões (aritméticas, relacionais e lógica).

Nesta Dica do professor, faço o convite para que você mergulhe nos estudos de algoritmos e
compreenda ainda mais o conteúdo que está estudando.

Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Na prática
Vamos resolver um problema prático de um saltador de bungee jumping.

Se um saltador de bungee jumping vai pular de um penhasco, qual é a velocidade final no período
de queda livre, a fim de que se possa determinar o comprimento e a resistência da corda.

Acompanhe, na imagem a seguir, como resolver esse problema.


Aponte a câmera para o
código e acesse o link do
conteúdo ou clique no
código para acessar.
Saiba +
Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor:

Por que todos deveriam aprender a programar?


No link a seguir, você verá pessoas famosas falando sobre como programação é algo muito legal, e
que mais escolas deveriam ensinar programação para seus alunos.

Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.

Lógica e programação
No link a seguir, você terá acesso a um vídeo que apresenta uma introdução sobre o que é e por
que a lógica é indispensável para quem deseja entrar no mundo da programação.

Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.

Primeiro Algoritmo - Curso de Algoritmos


No link a seguir, você terá acesso a uma videoaula que aborda sobre algoritmos de uma forma
simples e intuitiva.

Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.

Você também pode gostar