Buscar

6-desenvol-algoritmos-tipos-dados-iii

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

Desenvolvimento 
de algoritmo – 
Tipos de dados III
 
SST
Pereira, Fernanda Helena Rosa
Desenvolvimento de algoritmo – Tipos de dados III
 / Fernanda Helena Rosa Pereira 
Ano: 2020
nº de p.: 13
Copyright © 2020. Delinea Tecnologia Educacional. Todos os direitos reservados.
Desenvolvimento de 
algoritmo – 
Tipos de dados III
3
Apresentação
Nessa unidade, discutiremos os tipos de dados e o desenvolvimento de algoritmos, 
levando em consideração os operadores que são necessários para que se possa 
acrescentar, diminuir e comparar os valores. 
Assim, iremos aprofundar o conceito frente aos tipos de operadores existentes no 
mercado hoje. Para tal, aprenderemos sobre os operadores aritméticos (recebem 
resultados numéricos), relacionais (comparam valores) e lógicos (que conferem a 
lógica de verdadeiro ou falso). 
Dentro dos operadores lógicos, também serão discutidos os de conjunção, de 
disjunção inclusiva, os de negação e o teste de mesa. 
Operadores
Os operadores são os elementos disponíveis para que possamos 
acrescentar (incrementar), diminuir (decrementar) e comparar 
valores dentro do algoritmo. São classificados em três tipos: 
aritméticos, relacionais e lógicos, conforme as seções seguintes. 
(CORMEN et al., 2012)
Curiosidade
Operadores aritméticos e operadores 
relacionais
Os operadores aritméticos existem para receber resultados numéricos; para 
tanto, são considerados: subtração, adição, divisão, multiplicação e, também, a 
exponenciação.
4
Existe uma simbologia que deve ser seguida para cada operador:
Simbologia de operadores aritméticos
Operador Simbologia a ser utilizada
Adição +
Subtração -
Divisão /
Multiplicação *
Exponenciação **
Fonte: Elaborado pela autora (2018).
Esta simbologia é utilizada tanto na elaboração de algoritmos, quanto em 
linguagens de programação. Ela é considerada universal, ou seja, caso não utilize 
essa simbologia, seu código não funcionará. Algumas linguagens de programação 
podem utilizar os operadores aritméticos de forma particular, por exemplo: o 
operador aritmético de exponenciação em Python é a função “POW”.
Ao se utilizar operadores aritméticos, uma sequência deve ser considerada. Em 
diversos algoritmos ou, se não, em sua maioria, uma expressão aritmética poderá 
ter mais de um operador aritmético. 
Para isso, existe uma sequência de hierarquia que deve ser 
seguida, fazendo com que seu cálculo tenha o resultado correto.
• 1º - ( ) Parênteses;
• 2º - ** Exponenciação;
• 3º - * ou / Multiplicação ou Divisão;
• 4º - + ou - Subtração ou Adição. 
Atenção
5
A ordem listada acima deve ser impreterivelmente seguida. Veja o seguinte 
exemplo:
2 + 10 * 2 ** 2 – 2 = 40
Esta expressão possui quatro operadores aritméticos: se a conta for feita iniciando no 
primeiro operador (2 + 10) e assim por diante, o resultado não será 40, mas 574 (que 
é um resultado incorreto!). Vejamos mais alguns exemplos para melhor fixação.
(2 + 10) * 2 + 10 / 2 = 29
10 / 2 + 3 * 2 = 11
5 / 2 – (7 / 2) + 1 = 0
Operadores relacionais são elementos utilizados para a comparação entre dois 
valores ou caracteres. Vale salientar que sempre é retornado um valor lógico 
(verdadeiro ou falso), perante a condição colocada.
Os elementos que representam operadores relacionais são:
Operadores relacionais e sua simbologia
Elemento Simbologia a ser utilizada
Igual a =
Diferente de <>
Maior que >
Menor que <
Maior ou igual que >=
Menor ou igual que <=
Fonte: Elaborado pela autora (2018).
Suponhamos que X receba o valor 10 e Y receba o valor 5:
X10
A 5
6
Utilizando os operadores relacionais, as respostas serão as seguintes:
Exemplo de utilização de operadores relacionais
Condição Resposta
X >= Y Verdadeiro / Sim
Y=X Falso / Não
X<>Y Verdadeiro / Sim
Y <= X Verdadeiro / Sim
X < Y Falso / Não
Y > X Falso / Não
Fonte: Elaborado pela autora (2018).
Os operadores relacionais são fundamentais ao elaborar um algoritmo, pois eles 
delimitam a execução de código associados a condições lógicas.
Um exemplo do dia a dia bem simples, para compreensão, é: tenho dois irmãos, 
Caroline e Estevão. Caroline tem 24 anos e mede 1,78; Estevão tem 24 anos e 
mede 1,80. 
Concluímos que, quando se tratar de altura, Caroline é menor que 
Estevão e Estevão é maior que Caroline. Em se tratando de gênero, Estevão tem 
sexo diferente de Caroline. E por fim, ao observar a idade, Caroline é igual a Estevão.
Operadores lógicos, operador lógico 
de conjunção, operador lógico de 
disjunção inclusiva, operador lógico 
de negação e teste de mesa
Os operadores lógicos seguem também a forma de condição verdadeiro ou falso; 
contudo, ao contrário dos operadores relacionais, eles testam mais de uma 
condição ao mesmo tempo, tornando, portanto, os testes mais complexos.
7
Os operadores lógicos são subdivididos em três: operador lógico de conjunção, 
operador lógico de disjunção inclusiva e operador lógico de negação, que serão 
explicados a seguir. 
O operador lógico de conjunção utiliza a terminação E/AND e impõe que todas a 
condições comparadas sejam verdadeiras. (FORBELLONE; EBERSPÄCHER, 2005)
Para melhor entendimento, faremos uso da tabela de verdade:
Expressão avaliada: Condição 1 E Condição 2 = Resultado do Teste
Tabela de verdade, utilizando o operador lógico E
Tabela de verdade utilizando o operador lógico e
CONDIÇÃO 1 CONDIÇÃO 2 RESULTADO
VERDADEIRO VERDADEIRO VERDADEIRO
VERDADEIRO FALSO FALSO
FALSO VERDADEIRO FALSO
FALSO FALSO FALSO
Fonte: Elaborado pela autora (2018).
A tabela verdade nos mostra como podemos utilizar a condição E/ AND. Veja, no 
exemplo a seguir, um trecho de um algoritmo que mostra a utilização dessa condição.
Algoritmo com a condição E/AND
Fonte: Elaborada pela autora (2018).
8
O algoritmo anterior (Figura) mostra a função SE, comparando duas condições: a > 
b E b < a - nesse caso, o algoritmo entraria na primeira função SE, pois, o resultado 
da comparação entre os dois será verdadeiro; caso o resultado fosse falso, ele 
entraria no bloco SENÃO. 
O operador lógico de disjunção inclusiva utiliza a terminação OU/ OR, impondo 
que apenas uma das condições comparadas seja verdadeira. (FORBELLONE; 
EBERSPÄCHER, 2005)
Expressão avaliada: Condição 1 OU Condição 2 = Resultado do Teste
Tabela de verdade utilizando o operador lógico OU
Tabela de verdade utilizando o operador lógico ou
CONDIÇÃO 1 CONDIÇÃO 2 RESULTADO
VERDADEIRO VERDADEIRO VERDADEIRO
VERDADEIRO FALSO VERDADEIRO
FALSO VERDADEIRO VERDADEIRO
FALSO FALSO FALSO
Fonte: Elaborado pela autora (2018).
A tabela verdade nos mostra como podemos utilizar a condição OU/OR. Veja, no 
exemplo a seguir, o mesmo trecho do algoritmo utilizado com a condição E.
9
Algoritmo com a condição OU/OR
Fonte: Elaborada pela autora (2018).
Foi feita uma pequena mudança no algoritmo, quando utilizamos a condição E. 
A função SE está comparando as duas seguintes condições: a < b OU b > a. O 
resultado da comparação entre as duas condições será falso, pois ambas deram 
o resultado negativo. Nesse caso, o algoritmo iniciaria sua execução dentro do 
SENÃO.
O operador lógico de negação utiliza a terminação NÃO/NOT, que nega qualquer 
condição que está sendo comparada. 
Tabela de verdade utilizando o operador lógico NÃO
Tabela de Verdade utilizando o operador lógico NÃO
CONDIÇÃO RESULTADO
Verdadeiro Falso
Falso Verdadeiro
Fonte: Elaborado pela autora (2018).
A tabela da verdade (Quadro) nos mostra que, em qualquer opção, ela inverte a 
condição para seu valor oposto, isto é, se a condição é verdadeira, ela se torna falsa; 
e se falsa, vira verdadeira. A seguir, está o mesmo exemplo utilizado anteriormente 
com as modificações necessárias para a condição NÃO/NOT:
10
Algoritmo com a condição NÃO/NOT
Fonte: Elaborada pela autora (2018).
O proposto anteriormente (Figura) nos mostra uma abordagem diferente: nesse 
caso, não estamos comparando duas condições, mas apenas uma, NÃO (a < b), a 
não é menor que b, sendo assim, seguindo a tabela de verdade da operaçãoNÃO, a 
condição passa a ser verdadeira, sendo que o algoritmo iniciará sua execução no 
primeiro bloco SE-ENTÃO. 
É importante ressaltar que, nesta unidade, a intenção não é aprender funções (a 
função SE foi inserida nos exemplos, pois se trata de uma função autoexplicativa e 
para melhor entendimento dos operadores lógicos e relacionais).
O teste de mesa consiste, basicamente, em fazer a compilação visual de um 
algoritmo. Existem programas nos quais se pode escrever os algoritmos e mostrar, 
automaticamente, na hora da execução, onde está o erro. 
Apesar dessa facilidade, ainda não há nada mais representativo do que o teste 
de mesa. Se ele se chama “teste de mesa”, siga a nomenclatura à risca: debruce-
se sobre a mesa, com papel, caneta e muita atenção. Isso te ajudará a entender 
exatamente o que está acontecendo com o código. (RITA, 2009)
Caso algo esteja errado, você encontrará os bugs do algoritmo e entenderá o que 
está acontecendo em cada linha de comando. Um dos exemplos de algoritmo já 
11
utilizado será reproduzido para melhor compreensão de como é feito o teste de 
mesa:
Algoritmo para exemplificar o teste de mesa
Fonte: Elaborada pela autora (2018)
Existem diversas formas de fazer um teste de mesa, por isso, é preciso 
experimentar várias maneiras para decidir qual é a melhor para sua compreensão. 
De qualquer modo, entender cada linha do código parece ser o mais relevante, no 
momento, sobretudo para quem está aprendendo.
No quadro a seguir, há três partes, sendo que na primeira o usuário poderá digitar 
seus comandos; veja o que o sistema processará e o que será mostrado:
12
Exemplo de teste de mesa
TESTE DE MESA – DADOS CADASTRAIS
ENTRADA PROCESSAMENTO SAÍDA
Karina - -
46 - -
1000.00 - -
- 1000.00 – 10.00 = 990.00 -
- - Karina
- - 46
- - 990.00
Fonte: Elaborado pela autora (2018).
Nesse caso, o algoritmo é básico, mas não veja como: 
“pra que vou fazer um teste de mesa de um algoritmo tão simples?”. Lembre-se 
que, para se chegar ao domínio de qualquer técnica, o treino é necessário, e não 
funcionará se iniciado do topo, pois é no chão que se fixa qualquer estrutura.
No caso da aprendizagem de algoritmo, precisamos começar do básico para chegar 
ao avançado com excelência. 
Fechamento
Estudamos nessa unidade os diferentes operadores existentes: operadores 
aritméticos, que são aqueles que recebem resultados numéricos, e os operadores 
relacionais, utilizados para comparação entre dois valores ou caracteres.
Já os operadores lógicos conferem a condição de verdadeiro ou falso, e também 
testam mais de uma condição ao mesmo tempo. Por fim, o teste de mesa busca 
fazer uma compilação visual de um algoritmo.
13
Referências
CORMEN, T. H. et al. Algoritmos: teoria e prática. 3. ed. Rio de Janeiro: Elsevier, 2012.
FORBELLONE, A. E.; EBERSPÄCHER, H. F. Lógica de programação: a construção de 
algoritmos e estruturas de dados. 3. ed. São Paulo: Pearson, 2005.
RITA, S. Treinamento em Lógica de Programação: Desenvolva projetos de software 
com mais eficiência e aprimore códigos e programas já existentes. São Paulo: 
Digerati Books, 2009.

Outros materiais