Buscar

Introdução a Algoritmos e Lógica de Programação

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 14 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 14 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 14 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

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 defi nição específi ca: 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). 
C01_Algoritmos_Progr_Introducao.indd 1 04/05/2018 17:05:03
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ção2
C01_Algoritmos_Progr_Introducao.indd 2 04/05/2018 17:05:03
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 
3Introdução a algoritmos e lógica de programação
C01_Algoritmos_Progr_Introducao.indd 3 04/05/2018 17:05:04
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ção4
C01_Algoritmos_Progr_Introducao.indd 4 04/05/2018 17:05:04
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
5Introdução a algoritmos e lógica de programação
C01_Algoritmos_Progr_Introducao.indd 5 04/05/2018 17:05:04
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 
valor de x seja negativo, positivo pu nulo.
Sinal (-44) = -1
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ção6
C01_Algoritmos_Progr_Introducao.indd 6 04/05/2018 17:05:05
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
7Introdução a algoritmos e lógica de programação
C01_Algoritmos_Progr_Introducao.indd 7 04/05/2018 17:05:05
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ção8
C01_Algoritmos_Progr_Introducao.indd 8 04/05/2018 17:05:06
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 
necessitaser 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
9Introdução a algoritmos e lógica de programação
C01_Algoritmos_Progr_Introducao.indd 9 04/05/2018 17:05:06
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 A e B
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ção10
C01_Algoritmos_Progr_Introducao.indd 10 04/05/2018 17:05:06
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.
11Introdução a algoritmos e lógica de programação
C01_Algoritmos_Progr_Introducao.indd 11 04/05/2018 17:05:06

Continue navegando